1【吴恩达深度学习课程:神经网络和深度学习】深度学习概论-笔记

注:这篇文章是我之前发布在简书上的,听说CSDN博客换了编辑器,就过来试一试。

深度学习(Deep Learning)直观来讲是训练规模很大的神经网络(neural network)

什么是神经网络

例一:房价预测

如图,已知面积和房价对应的六组数据,可以用一个一条直线进行拟合。由于房价不可能为0,所以拟合曲线的开始部分为0。

该模型是一个单神经元网络,可看成一个简单的神经网络,如下图所示,

该模型的作用是对房屋面积(size)进行线性计算,取不小于0的值,得到预测的房屋价格(price)。

其中,该拟合曲线称为ReLU函数,即开始为0,后来为线性的函数。全称是Rectified Linear Unit(修正线性单元)

例二:多特征的房价预测

多个神经元可以组合形成较大规模的神经网络,如下图所示。


单一神经元堆叠形成了较大的神经网络。其中的每个小圆圈都可能是一个ReLU函数。

对于图3中的神经网络,当我们输入x(四个特征时),神经网络自动进行预测,得到y(输出)。

其中,输入的特征成为输入层,中间的神经元叫做“隐藏单元”,如下图所示:


从某种意义上来说,给够足够的x,y,神经网络可以计算从x到y的精准映射函数。

使用神经网络进行监督学习(Supervised learning)

在监督学习中,给定输入x,习得一个函数,映射到输出y。

神经网络的应用前景很广阔,如图5所示:


应用前景包括,房价预测,广告投放,计算机视觉,语音识别,机器翻译,无人驾驶等。

从这些广阔的应用场景中也可以看出,如何选择好的x和y,也很重要。

结构化数据(structured data)与非结构化数据(unstructured data):结构化数据指数据库中的数据,数据的每个特征都有清晰的定义。非结构化数据指原始数据(如图片和文本)中的特征不明确(如像素和单词)。

为什么深度学习会兴起

神经网络已经出现了几十年了,为什么最近几年才兴起呢?下图展示了数据量与各个算法性能的关系。


可以看到,传统算法(红色曲线)的性能刚开始增加,随着数据量的增加,其性能也进入了平台期。因为这些模型无法处理海量数据。

当手机的数据量远大于传统的机器学习算法能发挥作用的规模时,神经网络就显示出了其有效性。

可以看出,想要获得高性能的算法模型,有两点要求:

  1. 训练一个大规模的神经网络。
  2. 需要大量数据(大规模数据)

可以说,“大规模”一直在推动着深度学习的进步。

符号约定:
m:表示训练集的规模,或者说,样本的规模

当数据规模不大时,算法性能可能取决于你手工设计的组件的性能(可能此时SVM的性能要优于神经网络)。当数据规模很大时,神经网络才领先于其他算法。

除了数据规模和计算能力的提升,算法方面的创新,也对深度学习的进步贡献巨大。

如,激活函数从sigmoid到ReLU的改进(图7):


sigmoid函数在输入很大或很小时,梯度会接近于0。使用梯度下降法时,当梯度趋于0,参数更新缓慢,学习也变化缓慢。

而对于ReLU函数,当输入为正时,梯度始终为1,不会趋于0,当输入为负时,梯度始终为0.能够使使用梯度下降法时,运行更快。



阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页