【笔记】一天搞懂深度学习

ML ≈ Looking for A function


【笔记】一天搞懂深度学习

THREE STEPS FOR DL

1.define a set of function

2.goodness of function

3.pick the best function

  • 第一步定义方法 - 神经网络。

深度学习顾名思义是指多层的神经网络。对于神经网络的计算能力可以理解为通过一层层Layer的计算归纳,逐步的将抽象的原始数据变的具体。以图片识别为例,输入是一个个像素点,经过每层神经网络,逐步变化成为线、面、对象的概念,然后机器有能力能够识别出来。


【笔记】一天搞懂深度学习

  • 第二步,评估方法的优劣。

Loss function是用于评估方法优劣,通常我们用学习出来的参数对测试数据进行计算,得出对应的预测(y)然后和真实的测试数据的目标值(t)进行比对,y和t之间的差距往往就是Loss。那么评估一个算法的好坏,就是要尽可能的降低Loss。

  • 第三步,如何获得最佳的学习方法

获得最佳的学习是采用梯度下降算法,作者也提到梯度下降算法存在局部最优解的问题。人们往往认为机器无所不能,实际上更像是在一个地图上面拓荒,对周边一无所知。神经网络计算梯度的算法是反向传播算法,简称BP。

WHY DEEP?

其原因和電子電路一樣,我們可以使用簡單的邏輯閘(and,or,not)去組成複雜的電路。優點是參數的量會減少,也就是更有效率。

RECIPE OF DL

1.选择合适的Loss function:使用Cross Entropy效果要优于Mean Square Error

2.Mini-batch: 每次训练使用少量数据而不是全量数据效率更高

3.Activation Function:使用ReLU替代Sigmoid可以解决梯度消失的问题,可以训练更深的神经网络

4 Adaptive Learning Rate:可以随着迭代不断自我调整,提高学习效率

5.Momentum: 可以一定程度上避免陷入局部最低点的问题


【笔记】一天搞懂深度学习

VARIANTS OF NEURAL NETWORKS

1.CNN

通常情况下,一个CNN包含多次的卷积、池化,然后Flatten,最终再通过一个深度神经网络进行学习预测。CNN在图像、语音识别取得非常好的成绩,核心的想法在于一些物体的特征往往可以提取出来,并且可能出现在图片的任何位置,而且通过卷积、池化可以大大减少输入数据,加快训练效率。


【笔记】一天搞懂深度学习

2.RNN

RNN的想法是可以将hidden layer的数据存储下来,然后作为输入给下一个网络学习。这种网络的想法可以解决自然语言中前后词语是存在关联性的,所以RNN可以把这些关联性放到网络中进行学习。


【笔记】一天搞懂深度学习

NEXT WAVE

1.Supervised Learning

2.Reinforcement Learning

通过奖励机制强化学习,并且做出相应的动作.

3.Unsupervised Learning


后记:

小时候,看过动画片——神奇宝贝,对于拥有自己的宠物精灵很是向往。AI也是如此,不同的模型适合不同的问题,需要有足够的经验。我们手中可以拥有很多AI球,但具体用哪个解决问题,需要作为训练师的我们足够睿智。


参考文献:

【1】【286页干货】一天搞懂深度学习

【2】 一天搞懂深度學習課後心得

【3】 大牛的《深度学习》笔记,Deep Learning速成教程