深度学习概论

什么是神经网络

这里给出一个简单的例子。

给出房子的大小和实际价格,然后给出房子的大小,预测房子价格,如图
深度学习概论

使用回归思想可以解决这个问题。再添加一个约束:房子价格不能为负数。

这个过程可以使用下图表示:
深度学习概论
房子大小x是输入,房子价格y是输出,中间的圆圈是计算过程,在神经网络中表示一个神经元,神经元计算的结果要通过**函数,从而能够约束输出的数据满足一些条件,这里可以使用ReLU函数,能够保证y不为负数。

我们可以组合几个的神经元构成一个神经网络,如图:
深度学习概论
简单的神经网络包括输入层,隐藏层和输出层。输入层输入的是特征,比如在本例子中,影响房价的因素有房子的大小、卧房个数、邮政编码和地区富裕程度。由这些特征计算一些隐藏单元,隐藏单元可以赋予一些特别的意义,比如说这些特征可以计算房子可以住多少人,再由这些隐藏单元计算最终的输出结果。隐藏层可以有多层,每层可以有多个神经元,越是复杂的神经网络,隐藏单元越多。

用神经网络进行监督学习

使用神经网络可以进行监督学习,神经网络可以应用在许多领域。

  • 房价预测(使用简单的神经网络)
  • 广告推荐(使用简单的神经网络)
  • 图像识别(使用CNN)
  • 语言识别(使用RNN)
  • 语言翻译(使用RNN)
  • 自动驾驶(使用混合的神经网络)

监督学习的训练数据可以分为两种:结构化数据和非结构化数据。

  • 结构化数据如数据库数据,每种数据都有特定的含义,比如房子的大小。
  • 非结构化数据是原始数据,比如图像的像素,语音的音频数据。

为什么深度学习会兴起

原因由下图给出:
深度学习概论

在训练数据集较少的情况,各种学习算法的效果相差不大。当随着数据集的数量越来越大,各种学习算法的效果的差异就比较明显了。从上图可以看出,传统的学习算法(如SVM,回归)随着数据量的增大,表现效果趋于稳定,而神经网络越复杂,数据量越多,表现效果越好。从表现效果来看,深度学习算法肯定受欢迎。

还有其他的原因:

  • 数据量。以前的数据量不大,收集数据的成本高,限制了深度学习的发展。现在是大数据时代,数据已经不再是问题,而且收集数据的成本变底了。
  • 计算力。计算机发展很快,计算能力越来越高,使得学习的过程耗时减少。之前科研人员从想到一个idea到实现需要很长一个周期,可能要一个月,现在计算能力提升,可以几个小时或一天就能完成。
  • 算法。算法的更新使得深度学习的计算速度加快,加快训练速度。