深度学习中的数学:优化和极值
科技术语中一个最有趣的变化是机器学习(ML)的含义。早在1980年代,机器学习指的仅仅是知识专家系统和深度学习(DL)中的AI工具。如今,由于计算机性能的大幅提升,我们可以从用于商业智能的算法中发现更多有关数据的信息,并且随着机器学习含义的扩展,这些算法能够和以前的技术相结合。了解在具体的情况下训练和部署深度学习系统为什么要增加复杂性是很有用的,本文描述了优化的基本概念以及解释深度学习为商业理解(business understanding)所增加的内容。
从数学的角度来说,优化就是在一些函数中寻找最大或者最小值。例如,商业中讨论最多的一个概念就是利润最大化。我们可以创建出包含所有的成本、材料、生产、分配、管理费用等,还有价格的数学公式。有了成本和价格,那么就能够用这一公式计算出最大利润。
这些固定公式就带来了极大值和极小值的问题。当人们选定了一个数据集或者范围,他们可以使用基于经验的偏差来人为地限制问题的潜在条件。当讨论在有限数据集中发现的最大值时,数学家将其定义为局部极大值。下图中显示的局部极小值也是如此:下图中的红点显示的是局部极小值,而更多的数据集显示它在这些数据集中并不是最小的。
当考虑一些新信息模型复杂性的时候,还会存在更多的问题。由于从理论上来说,更大的数据集是局部的,当应用到优化问题的时候,深度学习也会出现一些问题。训练深度学习系统的一个主要方法被称为随机梯度下降(如果你对数学不感兴趣,那你就不需要了解),或者SGD。每一个模型训练运行的结果决定了在下一次运行中如何调整算法的参数。这个问题在于SGD会受到局部极小值和极大值的影响。
因此人们认为深度学习系统不适合更加复杂和广义的优化问题,但是可以使用其它的方法和算法,并且它们的复杂性让这些方法和算法出现在机器学习的现代定义中。
不是所有的优化都是局部的,但是能够一些解决问题
本文的第一部分描述了为什么深度学习系统在应用到更加广义的优化中会出现问题,其次是为什么很多的深度学习系统仍然要管理优化问题?答案很简单:通常局部极小或者极大不仅足够好,而且要好于全局极小值或者极大值。
这一原理最明显的例子是不断增加的全局推荐引擎。几乎每个电商网站都会在用户浏览一个单独的商品时,例举出他们可能感兴趣的产品。这些推荐就是一个优化问题,因为网站拥有者希望向用户推荐他们最可能购买的商品。
临近吃饭时间,那么就举一个关于食物的例子。想象一下,用户想要浏览网上百货商店网页,并浏览可以购买不同种类的面包圈页面。全局优化或许会注意到很多购买面包圈的用户也会购买熏鲑鱼,因此,当用户将面包圈加入购物车时,熏鲑鱼也会出现在同一页面上。
但是问题在于用户之间的差异性。这个百货商店网站注意到浏览网页的用户IP在纽约,然后这一模型就显示面包圈和熏鲑鱼之间的关联性更高。
不过问题在于这个用户或许以前登陆过这个网站。以往的购买历史显示这位用户并未购买熏鲑鱼,而是购买了豆腐,以及在之前购买了素食品牌的乳制品替代奶油乳酪。
全局极大值表明我们应该为每一位浏览面包圈的用户推荐熏鲑鱼,但是局部极大值认为另外可能还有用户更想要购买的素食产品。在这一情境下,即购买产品的可能性方面,局部极大值比全局极大值更加重要。
使用大型数据集训练的深度学习系统的强大之处并非在于它能够处理全局优化,而事实正好相反,即深度学习系统能够对局部极小值和极大值进行微调。从整体普遍性到具体个人喜好,深度学习系统能够提供定制化的产品。
在很多的优化问题中,局部优化也会存在风险。深度学习系统尚不适合解决这些问题。在商业中,让数据科学家更加感到欣慰的是,在更加有限的局部极大值或者极小值中能够进行更多的优化。这也是如今的人们对深度学习系统如此感兴趣的原因。
原文作者:David A. Teich
编译:信息化观察网
往期精选
围观
热文