为何机器学习难以“工程化”?


在传统软件开发中,以团队多人合作方式 , 寻求“高效协同”和“质量可控”,让项目的质量、进度、成本都在可控范围内,这就是“工程化”能力 。反过来讲,当一个项目不够工程化的时候,实际上有两种情况 。
【为何机器学习难以“工程化”?】

为何机器学习难以“工程化”?

文章插图
第一种是依赖于个体活动,不需要与其他人一起协同合作的时候,那么其实它就是一个弱工程化体现 。“其实大家也能够反思一下,哪怕是对于应用开发,团队里有些个人可能他会更强调自己个人贡献和个人活动,而疏忽了团队之间交互,其实这也是一种弱工程化的体现 。虽然其实不是说我们做应用开发,就一定全部是工程化的 , 但当它是弱协同、强个体的时候,那么就一定是缺少工程化的体现 。”
第二种是启发性的探索活动 。工程化的活动是指我们已经知道要去什么地方,这件事情可能之前大家干过 , 或者是知道行业里面有其他人实行过 , 我们只要依照步骤和方法把它拆解成小的步骤和方式就一定可以一样完成 。而所谓启发式的探索活动是指我们其实不知道事情怎么实现,不知道事情完成的大概过程温柔序 , 我们需要不停的试错和探索,乃至还不能确定是不是能达成终究目标 。我们就认为这类情况不是一个可以完全工程化的过程,是一种弱工程化的体现 。
那么机器学习就是一个非常典型的非工程化的场景,由于它极大的依赖于数据科学家的个人能力 , 过程也充满了探索 。机器学习需要在数据上不断地进行实验和探索 。就算深度学习已经降低了对特点工程的要求,但是对 hyper parameter 的调整,到底选择多少层网络,采取一个什么样的网络架构等等 , 都主要是依赖于科学家的个人经验 。
关于本次为何机器学习难以“工程化”?的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴 。