第1周-深度学习概论

今天,愚人节。开始学习吴恩达的deep learning课程!!(这个不是愚人节节目)因为学费还是有点贵,所以打算在网易云课堂看对应的免费课程,只是这样就没法交作业批改了。因此作业这块会去看看别人博客里记录的作业内容,自己完成后对比一下别人的结果就好。哇,省了一大笔钱,真好。

接下来的三周学习为第一课——神经网络与深度学习。

简单概念

“深度学习”指的是训练神经网络,并且神经网络的规模比较大。依旧是房价预测的例子:
image.png

可以看到右下角,我们可以称其为最简单的神经网络结构,即单神经元网络(single neural network)。
image.png

更大一点的神经网络,则将这些神经元进行堆叠,得到大一点的神经网络。仍然以房价预测为例,假设我们不仅知道size,还知道bedroom的数量,邮编(zip code / posted code),wealth等等,得到以下神经网络:
image.png

其中x是神经网络的输入,而y则是输出,中间节电成为隐藏结点。画成更简洁的形式如下:
image.png

给定足够的训练数据(x,y)(training examples),那么神经网络非常擅长于计算从X到Y的精准映射函数(figuring out functions that accurately map from x to y)。

监督学习

简单例子:神经网络在在线网络(online ad)取得了很大成功,同样的也是计算机视觉、语音识别、机器翻译、无人驾驶等领域有着巨大应用。
image.png

因此我们需要机智且正确的选择X和y,才能解决我们特定的问题。房地产和在线广告,用的是相对标准的神经网络;图像邻域则常用卷积神经网络(CNN);对于序列数据,如音频含有时间成分(一维时间序列),语言,经常使用RNN;而无人驾驶(计算机视觉,radar)则需要更多复杂的神经网络。RNN非常适合用来处理一维序列数据(包含时间成分)。部分网络结构如下:
image.png

结构化数据和非结构化数据的区分:
image.png

为什么深度学习会兴起

普通机器学习无法处理大规模数据,而如今我们已经获得了海量数据,因此需要使用深度学习来进行大型训练。如以下例子:
image.png

因此我们说,“规模”不断推动着神经网络的进步,这里的“规模”既指神经网络本身的规模(更多的隐藏层结点,更多的权重和连接),也指数据规模。符号标记:(X,y)训练数据,m表示数据集规模。当数据集较小时,一般比较手工设计组件(hand engineer feature),如SVM表现上更好。因此在此图左侧,每个算法的性能定义得并不明确,更多取决于设计细节;只有在大数据邻域,我们可以看到神经网络稳定超越其他算法。

image.png

除了有数据规模的扩大和计算能力的增强,我们的算法也不断得到优化。如上图中举例Sigmoid函数和ReLu函数,因为Sigmoid函数在后半段的梯度接近0,因此会导致学习速度减慢(梯度下降法),因此通过改变激活函数为ReLu,可以使梯度下降的速度加快。

在实现神经网络时,迭代速度对效率影响很大,因此计算速度的提升有利于提高迭代速度。

本部分的学习内容

image.png

第一周作业

十道选择题,这里就不贴了。记录一些关键点:

  1. 一个表现很好的深度学习模型,并不是仅靠经验就能立马找到的。虽然经验很重要,但要找到一个表现很好的模型,都需要尝试,修复,不断完善的一个过程。
  2. 一个团队如果能更快的用代码实现想法,或者写出来的代码(算法)更好,或者科学家研究出了更优秀的算法,上述循环过程都会更短,从而提高效率。
  3. Leaky ReLu:
    image.png
  4. 激活函数相关:
    image.png
  5. RNN相关:
    image.png
    选择AC。此题考查我们对RNN(循环神经网络)的了解。RNN在语音识别,语言建模,翻译,图片描述等问题上已经取得一定成功。它是一种监督学习,比如输入数据英文,标签为法文。RNN 可以被看做是同一神经网络的多次赋值,每个神经网络模块会把消息传递给下一个,所以它是链式的,链式的特征揭示了 RNN 本质上是与序列和列表相关的,所以它在解决sequence上是毫无问题的。要说哪个完全比另一个强,基本都是错的。