概述
机器学习的三个要素:
- 输入数据点;例如,如果你的任务是为图像添加标签,则这些数据点可能是图像
- 预期输出的示例;例如,对于图像标记任务来说,预期输出可能是“猫”“狗”之类的标签
- 衡量算法效果好坏的方法;这一衡量方法是为了计算算法的当前输出和预期输出的差距。衡量结果是一种反馈信号,用于调节算法的工作方式,这个调节的过程就是我们所说的学习。
机器学习和深度学习的核心问题就在于有意义的变换数据,即学习输入数据的有用表示。
机器学习的技术定义:在预先定义好的可能性空间中,利用反馈信号的指引寻找输入数据的有用表示。
深度学习强调从连续的层中进行学习,这些层对应于越来越有意义的表示,可以将深度学习看作多级信息蒸馏操作,信息穿过连续的过滤层,其纯度越来越高(即对任务的帮助越来越大)。
用三张图理解深度学习的工作原理
我们知道,机器学习是找到将输入数据映射到目标结果的规则,而深度学习是通过一系列的数据变换(层)来实现输入数据到目标结果的映射。在深度学习中,每层的变换由一组权重来进行实现。因此,学习的意思就是为神经网络的所有层找到一组权重值,使得该网络能够将每个示例输入与其目标正确地一一对应。
但问题时,我们的神经网络有很多层,然后每层有很多的神经元。那么如何为每个神经元选择合理的参数呢?这就首先需要知道输出值和预期值之间的差距,衡量输出值和预期值之间的距离的函数叫做神经网络的损失函数,也叫做目标函数。损失函数的输入是网络预测值和真实目标值,然后计算出一个距离值,衡量该网络在这个示例上的效果好坏。
我们的目标是找到输入数据的合理表示,因此需要对不合理的效果进行调整。深度学习的基本技巧是利用这个距离值作为反馈信号来对权重值进行微调,以降低当前示例对应的损失值。这种调节有优化器(optimizer)完成,它实现了反向传播算法,这是深度学习中的核心算法。
因此深度学习的完整工作原理如下:
- 对神经网络的权重随机赋值,由于是对输入数据进行随机的变换,因此跟预期值可能差距很大,相应地,损失值也很高;
- 根据损失值,利用反向传播算法来微调神经网络每层的参数,从而较低损失值;
- 根据调整的参数继续计算预测值,并计算预测值和预期值的差距,即损失值;
- 重复步骤2,3,直到整个网络的损失值达到最小,即算法收敛。
深度学习优点
机器学习技术(浅层学习)仅将输入数据变换到一两个连续的表示空间,通常使用简单的变换,这通常无法得到复杂问题所需要的精确表示。因此,人们必须竭尽全力让输入数据更适合这些方法来处理,也必须手动为数据设计好表示层,这个过程叫做特征工程。
深度学习的优点在于它在很多问题上都变现出更好的性能,并且简化了问题的解决步骤,因为它将特征工程完全自动化。利用深度学习,你可以一次性学习所有特征,而无须自己手动设计。这极大地简化了机器学习工作流程,通常将复杂的多阶段流程替换为一个简单的、端到端的深度学习模型。
深度学习的变革性在于,模型可以在同一时间共同学习所有表示层,而不是依次连续学习(这被称为贪婪学习)。通过共同的特征学习,一旦模型修改某个内部特征,所有依赖于该特征的其他特征都会相应地自动调节适应,无须人为干预。
深度学习从数据中进行学习时有两个基本特征:第一,通过渐进的、逐层的方式形成越来越复杂的表示;第二,对中间这些渐进的表示共同进行学习,每一层的变化都需要同时考虑上下两层的需要
最后
以上就是含蓄西牛为你收集整理的深度学习工作原理的全部内容,希望文章能够帮你解决深度学习工作原理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复