“深度学习”指的是训练神经网络,那么神经网络到底是什么呢?
什么是神经网络
我们还是从一个预测的例子开始。
我们有关于房屋尺寸和价格的样本集,我们想要通过这个样本来预测房屋的价格。我们可以通过线性回归来解决这个问题。
但我们知道房屋的价格不可能为负数,所以我们对这个函数稍作修改,使其不为负数,如下图所示。
这个函数我们称为 ReLU(线性整流函数,Rectified Linear Unit, ReLU) 函数
这就可以看做是一个几乎是最简单的神经网络了。
我们把它换一个形式画出来,如下图所示。
我们把 房屋面积 size 作为神经网络的输入,中间的圆圈我们将它称为一个独立的神经元,房屋的价格为神经网络的输出。这个神经网络完成了上面图中的功能,神经元的作用就是输入面积,完成线性运算,取不小于 0 的值,最后输出房屋的预测价格。
我们可以将神经元想象成乐高积木,我们将神经元堆叠起来可以形成更大的神经网络。我们来可一个例子。
如下图所示,决定房屋价格的有很多因素,我们将其进行组合,例如房屋大小和房间数量可以组成 可容纳的家庭人数,邮政编码决定了一个房屋高度步行化的程度,还有地区的富裕程度一起决定了学校的质量,而这些综合起来影响了房屋的价格。
注:高度步行化是指可通过步行在较短的时间内到达目的地,如车站,商场,学校,医院等地。
这样我们就有了一个四个输入的神经网络。
监督学习
到目前为止,几乎所有由神经网络创造的经济价值都基于一种机器学习,我们称之为监督学习。
这里是监督学习的一些例子。
输入(x) | 输出(y) | 应用 |
---|---|---|
房屋特征 | 价格 | 房地产 |
广告,用户信息 | 是否点击广告(0/1) | 在线广告 |
图像 | 类别(1–1000) | 图形分类 |
音频 | 文本描述 | 语音识别 |
英文 | 中文 | 机器翻译 |
图像,雷达信息 | 其它车的位置 | 自动驾驶 |
神经网络可以处理结构性数据和非结构性数据,下面是一些例子。
为什么深度学习会兴起?
深度学习的兴起很大程度上可以说是由规模驱动的。
从上图中可以看出,当数据规模逐渐增大时,传统的机器学习算法的表现保持不变,而神经网络随着规模的增大效果越来越好。
在上图的左边,即数据量过小时,此处机器学习算法的优劣很难明确,算法的好坏更取决于手工设计组件的技能,以及算法处理的细节。
神经网络的发展初期是由数据和算力驱动的,但渐渐的,在算法上也出现了很大的创新(很大一部分是加速了计算)。比如说,激活函数 由 sigmoid 函数变成了 ReLU 函数。在 sigmoid 函数的两端,导数趋近于零。如果应用梯度下降算法那么速度将非常慢,而 ReLU 函数就解决了这一问题。