人工智能、机器学习与深度学习的关系
人工智能定义:努力将通常由人类完成的智力任务自动化。
机器学习:
定义
深度:指一系列连续的表示层。数据模型中包含多少层,这被称为模型的深度。
学习:寻找更好数据表示的自动搜索过程。
假设:空间机器学习算法在寻找变换时仅仅是遍历一组预先定义好的操作。
技术:在预先定义好的可能性空间中,利用反馈信号的指引来寻找输入数据的有用表示。
学习三要素
1.输入数据点。例如,你的任务是语音识别,那么这些数据点可能是记录人们说话的声音文件。如果你的任务是为图像添加标签,那么这些数据点可能是图像。
2.预期输出的示例。对于语音识别任务来说,这些示例可能是人们根据声音文件整理生成的文本。对于图像标记任务来说,预期输出可能是“狗”“猫”之类的标签。
3.衡量算法效果好坏的方法。这一衡量方法是为了计算算法的当前输出与预期输出的差距。衡量结果是一种反馈信号,用于调节算法的工作方式。这个调节步骤就是我们所说的学习。
目的作用
利用机器学习,人们输入的是数据和从这些数据中预期得到的答案,系统输出的是规则,这些规则随后可应用于新的数据,并使计算机自主生成答案。
机器学习经常用于处理复杂的大型数据集(比如包含数百万张图像的数据集,每张图像又包含数万个像素),用经典的统计分析(比如贝叶斯分析)来处理这种数据集是不切实际的。因此,机器学习(尤其是深度学习)呈现出相对较少的数学理论(可能太少了),并且是以工程为导向的。
机器学习模型都是为输入数据寻找合适的表示——对数据进行变换,使其更适合手头的任务(比如分类任务)。
工作原理
将输入(比如图像)映射到目标(比如标签“猫”),这一过程是通过观察许多输入和目标的示例来完成的.
机器学习和深度学习的核心问题在于有意义地变换数据,换句话说,在于学习输入数据的有用表示(representation)——这种表示可以让数据更接近预期输出。表示这一概念的核心在于以一种不同的方式来查看数据(即表征数据或将数据编码)
深度学习
定义
是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续的层中进行学习,这些层对应于越来越有意义的表示。(包括分层表示学习和层级表示学习)
浅层学习:往往是仅仅学习一两层的数据表示(其他机器学习方法的重点)
技术定义:学习数据表示的多级方法。
神经网络:通过学习神经网络得到现代深度学习的数十个甚至上百个连续的表示层,这些表示层全都是从训练数据中自动学习的。(神经网络的结构是逐层堆叠的)
训练循环:一开始对神经网络的权重随机赋值,因此网络只实现了一系列随机变换,其输出结果和理想值相去甚远,损失值也很高。
训练好的网络:随着网络处理的示例越来越多,权重值也在向正确的方向逐步微调,损失值也逐渐降低。将这种循环重复足够多的次数(通常对数千个示例进行数十次迭代),得到的权重值可以使损失函数最小。具有最小损失的网络,其输出值与目标值尽可能地接近。
神经网络损失函数(损失函数)的任务:想要控制神经网络的输出,就需要能够衡量该输出与预期值之间的距离,输入是网络预测值与真实目标值(即你希望网络输出的结果),然后计算一个距离值,衡量该网络在这个示例上的效果好坏(见图 1-8)。
内容
一个深度神经网络可能包含数千万个参数。找到所有参数的正确取值可能是一项非常艰巨的任务,特别是考虑到修改某个参数值将会影响其他所有参数的行为。
深度学习模型不是大脑模型,你可以将深度网络看作多级信息蒸馏操作:信息穿过连续的过滤器,其纯度越来越高(即对任务的帮助越来越大)。
神经网络中每层对输入数据所做的具体操作保存在该层的权重(weight)中,其本质是一串数字。用术语来说,每层实现的变换由其权重来参数化(parameterize,见图 1-7)。权重有时也被称为该层的参数(parameter)。在这种语境下,学习的意思是为神经网络的所有层找到一组权重值,使得该网络能够将每个示例输入与其目标正确地一一对应。
深度学习的基本技巧是利用这个距离值作为反馈信号来对权重值进行微调,以降低当前示例对应的损失值(见图 1-9)。这种调节由优化器来完成,它实现了所谓的反向传算法,这是深度学习的核心算法。
特征
1.通过渐进的、逐层的方式形成越来越复杂的表示。
2.对中间这些渐进的表示共同进行学习,每一层的变化都需要同时考虑上下两层的需要。