深度学习原理概述,带你一分钟秒懂深度学习
1. 深度学习与人工智能,机器学习之间的关系
人工智能包含机器学习,而深度学习又是机器学习的一个分支。接下来,我将循序渐进,带大家学习和掌握深度学习的工作原理。
2. 机器学习工作原理
如下图所示,在经典的程序设计中,我们输入的是规则(即程序)和需要处理的数据,系统输出的是答案(需要的结果)。而在机器学习中,我们输入的是数据和我们希望得到的答案(也就是所说的标签),系统输出的是规则。之后我们便可以利用这些规则应用于新的数据,然后得到我们想要的答案!
而为了得到我们所期望的“规则”,我们需要对机器学习系统进行训练。换句话说就是机器学习系统需要从数据中进行学习
。那系统是怎样进行“学习”的呢?带着这样的疑问,我们来进一步探究深度学习的原理。
3. 深度学习工作原理
深度学习是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续的 “层”(layer) 中进行学习。那么这里的“深度”具体该怎么理解呢?
3.1 何为“深度”?
“深度”指的并不是利用这种方法获取更加深层次的理解,而是指一系列连续的层
。数据模型中包含多少层,被称为模型的深度
。机器学习往往仅学习一两层数据表示。
深度学习算法学到的表示是什么样的呢?我们来看一个多层网络如何对数字图像进行变换,以便识别图像中所包含的数字。
3.2 神经网络如何对数据进行操作?或进行怎样的操作?
神经网络对输入数据的具体操作保存在该层的 “权重”(weight) 中,每层实现的变换由其权重来参数化。我们前面所说的学习
的意思就是为神经网络的所有层找到一组权重值
,使得该网络能够将输入与我们的目标输出一一对应。
3.3 告诉神经网络它的输出符不符合我们的胃口!
要想让神经网络知道它的输出是不是我们所期待的,我们就需要一个衡量标准来衡量该输出与预期值之间的距离
,我们也叫这个距离
为损失
。这是神经网络中损失函数(loss function)
的任务。损失函数也叫目标函数。
3.4 进行"学习"
利用我们得到的距离值(损失)作为反馈信号来进行参数微调,以降低当前的损失值。这个调节由优化器(optimizer)
来完成,它实现了所谓的反向传播(backpropagation)
算法,这也是深度学习的核心算法。
一开始对神经网络的权重是随机赋值的,然后经过不断的训练循环(training loop),不断微调权重,使得损失值越来越小,我们的精度也越来越高。这就得到了我们想要的深度学习模型~~~
这是一个简单的机制,一旦具有足够大的规模,将会产生魔法般的效果。
4. 深度学习发展现状
目前深度学习在很多领域都取得了巨大的突破,并且很多领域都是机器学习历史上非常困难的领域。
- 接近人类水平的图像分类
- 接近人类水平的语音识别
- 接近人类水平的手写文字转录
- 更好的机器翻译
- 更好的文本到语音转换
- 接近人类水平的自动驾驶
- …
希望通过本文大家可以对深度学习有一个概念,其实深度学习并不像我们所想象的那么那么那么遥远~~~。同时我也希望和大家一起在深度学习的海洋里徜徉,分享更多有趣的模型。同时也希望大家可以多多关注我,让我们一起进步,加油加油!!!
给大家安利一本贼好的书《Deep learning with python》~~~