经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » 职业生涯 » 查看文章
读李宏毅《一天看懂深度学习》——Deep Learning Tutorial
来源:cnblogs  作者:Lynn0101  时间:2018/11/1 9:22:01  对本文有异议

大牛推荐的入门用深度学习导论,刚拿到有点懵,第一次接触PPT类型的学习资料,但是耐心看下来收获还是很大的,适合我这种小白入门哈哈。

原PPT链接:

 

 

 

(1)定义方法——神经网络

深度学习可以理解为多层的神经网络。神经网络的思想来源于对于人脑的生理上的研究,人脑由数亿个神经元组成,神经元通过轴突互相连接通信。神经网络和人脑类似,存在多个层级(layer),每个层级都有多个节点(神经元neuron),层级和层级之间相互连接(轴突),最终输出结果。

 

 

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

 

 

 

 

2.Why Deep?

很显然,神经网络的参数越多,预测能力就越好。那么如果是同样的参数情况下,为什么层级较多的表现会更好呢?

 

作者认为深度网络可以带来模块化的好处,模块化是从数据中自动学习的。随着网络的层级变多,神经网络会将像素元素逐渐归纳出一些基本的特征,进而变成纹理,进而变成对象。

3.Keras

TensorFlow or Theano的接口。

 

 

Lecture II:训练方法

经过神经网络训练之后会发现两种问题:

1.训练结果很差→重新选择训练方式

2.测试结果很差→(往往由于过拟合导致)重新定义方法

 1.优化训练方法的手段:

(1)Choosing proper loss

选择合适的Loss function,使用Cross Entropy(交叉熵)效果要优于Mean Square Error(均方差)。

(2)Mini-batch

每次训练使用少量数据而不是全量数据效率更高。

(3)New activation function

使用ReLU(线性整流函数)替代Sigmoid可以解决梯度消失的问题,可以训练更深的神经网络。网络不是越深越好。

(4)Adaptive Learning Rate

可以随着迭代不断自我调整,提高学习效率。

(5)Momentum

可以一定程度上避免陷入局部最低点的问题。

 

 

2.避免过度拟合的方法

(1)Early Stopping

使用cross validation的方式,不断对validation data进行检验,一旦发现预测精度下降则停止。

(2)Regularization(Weight Decay)

  参数正则化的一种方式。删除无用的联系。

(3)Dropout

通过随机去掉一些节点的连接达到改变网络形式,所以会产生出多种网络形态,然后汇集得到一个最佳结果。

(4)Network Structure

  如CNN等其他形态的网络。

 

 

--------------------------------------------未完待续----------------------------------------------