人工智能(Artificial Intelligence,AI)是最宽泛的概念,是研发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。由于这个定义只阐述了目标,而没有限定方法,因此实现人工智能存在的诸多方法和分支,导致其变成一个“大杂烩”式的学科。机器学习(Machine Learning,ML)是当前比较有效的一种实现人工智能的方式。深度学习(Deep Learning,DL)是机器学习算法中最热门的一个分支,近些年取得了显著的进展,并替代了大多数传统机器学习算法。
区别于人工智能,机器学习、尤其是监督学习则有更加明确的指代。机器学习是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。这句话有点“云山雾罩”的感觉,让人不知所云,下面我们从机器学习的实现原理和实施方法两个维度进行剖析,帮助读者更加清晰地认识机器学习的来龙去脉。
机器学习的实现可以分成两步:训练和预测,类似于归纳和演绎:
机器学习的实施方法和人类科研的过程有着异曲同工之妙,下面以“机器从牛顿第二定律实验中学习知识”为例,帮助读者更加深入理解机器学习(监督学习)的方法论本质,即在“机器思考”的过程中确定模型的三个关键要素:假设、评价、优化。
(1)案例:机器从牛顿第二定律实验中学习知识
牛顿第二定律
牛顿第二定律是艾萨克·牛顿在1687年于《自然哲学的数学原理》一书中提出的,其常见表述:物体加速度的大小跟作用力成正比,跟物体的质量成反比,与物体质量的倒数成正比。牛顿第二运动定律和第一、第三定律共同组成了牛顿运动定律,阐述了经典力学中基本的运动规律。
在中学课本中,牛顿第二定律有两种实验设计方法:倾斜滑动法和水平拉线法,如下图所示:
相信很多读者都有摆弄滑轮和小木块做物理实验的青涩年代和美好回忆。通过多次实验数据,可以统计出如 表1 所示的不同作用力下的木块加速度。
a
观察实验数据不难猜测,物体的加速度𝑎和作用力𝐹之间的关系应该是线性关系。因此我们提出假设 𝑎=𝑤⋅𝐹,其中,𝑎代表加速度,𝐹代表作用力,𝑤是待确定的参数。通过大量实验数据的训练,确定参数𝑤
是物体质量的倒数(1/𝑚),即得到完整的模型公式𝑎=𝐹⋅(1/𝑚)。当已知作用到某个物体的力时,基于模型可以快速预测物体的加速度。如燃料对火箭的推力𝐹=10,火箭的质量𝑚=2,可快速得出火箭的加速度𝑎=5。
(2)如何确定模型参数?
上面这个案例演示一个有趣的机器学习的案例过程,但是其中一个关键点的实现尚未清洗,就是如何确定参数(w=1/m)(w=1/m)(w=1/m)?
确定参数的过程与科学家提示假说的方式类似,合理的假说可以最大化的解释已知的数据,如果未来观测到的数据不符合已有的假说理论,那么科学家就是需要重新提出新的假说。因此,模型的有效的基本条件是能够拟合已知的样本。这就是我们学习有效模型的实现方案。
上图中以H做为模型的假设,H是关于w和x的函数,表示为H(w,x)H(w,x)H(w,x),模型的优化目标是让模型的输出和数据的真实值尽量保持一致,其两者的差异程度用代价函数Loss Function来衡量(这个差异越小越好)。那么模型的优化过程就是在已知样本上,不断的减小Loss Function的值,使其收敛。
假设机器通过尝试答对(最小化损失)大量的习题(已知样本)来学习知识(模型参数w),并期望用学习到的知识所代表的模型H(w,x),回答不知道答案的考试题(未知样本)。最小化损失是模型的优化目标,实现损失最小化的方法称为优化算法,也称为寻解算法(找到使得损失函数最小的参数解)。参数www和输入xxx组成公式的基本结构称为假设。在牛顿第二定律的案例中,基于对数据的观测,我们提出了线性假设,即作用力和加速度是线性关系,用线性方程表示。由此可见,模型假设、评价函数(损失/优化目标)和优化算法是构成模型的三个关键要素。
机器学习就是一个拟合大公式:
本文来源于学习百度飞桨训练课程: