整理 | 郭露
出品 | CSDN(ID:CSDNnews)
对于软件工程师而言,机器学习(ML)的前提在于需要数据要足够真实。但事实上即使数据来源真实,软件工程师仍会面临许多问题,例如机器学习的门槛高、软件操作的难度大、系统维护困难等等,下面详细介绍了工程师在开发过程中所面临的问题。

机器学习作为人工智能的一大分支,指的是机器通过分析大量数据进行学习。目前机器学期依旧处于研究阶段,并且人们可能需要花大量的时间了解如何通过机器学习完成最基本的事情。
例如在图像分类中,必须:
对于软件工程师来说,只有通过数据探索和管理的软件才能可视化数据、对数据进行详细的分析、查找数据样本并调试数据等。除此之外,软件工程师还需要使用软件才能跟踪实现并生成模型,而主动学习和发现标记错误等过程需要与ML模型进行交互。因此即使了解了机器学习也依旧需要掌握各种不同的软件才能处理数据,这无疑增加了使用机器学习的成本。
除了ML的概念和软件的使用,软件工程师依旧需要学习云基础架构相关知识,以便:
软件工程师需要负责系统维护,并且对系统进行调整,维护由多个部分拼接在一起的大型系统。维护不仅适用于软件和基础架构,还适用于需要迭代最新技术的ML。
机器学习、软件、基础架构和系统维护四个部分成为了开发ML功能的巨大障碍。而软件的意义在于是降低障碍,开发人员则需要解决以前甚至没有考虑过的问题。只有克服这些障碍才能更好地通过ML进行软件开发。
【参考资料】
https://www.nyckel.com/blog/ml-too-hard-for-software-developers/