cs231n: 第二讲

转载请注明:http://blog.csdn.net/c602273091/article/details/54235146

训练过程

整个训练网络的过程可以用下图表示:
这里写图片描述

这个课程会把以上四个部分逐个击破,而且还加入不少调参的trick。

接下来就将组个叙述各个部分。
这里写图片描述

激活函数

Sigmoid

这里写图片描述

这里写图片描述

这种激活函数有三个缺点:
1、饱和的神经元不再更新权值。可以看到横轴很大之后梯度接近于0;
2、这个函数不是以0为中心,在进行求导的时候单方向传递出错概率较大。
3、exp计算复杂度高。

tanh

这里写图片描述

这种方法计算复杂度比较低,然后是以0为中心。但是有个缺点,在横轴较大以后,梯度接近于0,不再更新。

ReLU

感觉就是multi-class SVM。这个函数客服了以上的缺点。
这里写图片描述

但是x < 0之后,梯度为0. 所以权值初始化一般为正。
这里写图片描述

leaky ReLU

这里写图片描述

这种方法下,神经元不会die。
这里写图片描述

ELU

这里写图片描述

Maxout

这里写图片描述

这种方法很好,就是权重的数目是原来的两倍。存储和计算都有比较大的问题。

所以总结一下实际上大家使用的时候都是:
使用ReLU。偶尔尝试Leaky ReLU / Maxout / ELU,tanh就比较少了。sigmoid就基本没用。

数据预处理

数据预处理之后,可以使得整个数据计算的时候计算量减少或者是集中在0附近。

一般有PCA、白化、归一化等等。在图片处理的时候,是把每个通道的值减去该通道所有像素的平均值或者是所有通道所有像素的平均值。

权值初始化

1、可以随机初始化。
2、看下面的文献,各种技巧:
这里写图片描述

批归一化

这个在语音识别的MFCC里面也见到过。就是去噪。
这里写图片描述

归一化之后还要恢复:
这里写图片描述

这里写图片描述

以上截图来自于cs231n课程的ppt。
该课程的课程主页是: http://cs231n.stanford.edu/syllabus.html
课程的视频在: https://www.youtube.com/watch?v=g-PvXUjD6qg&list=PLlJy-eBtNFt6EuMxFYRiNRS07MCWN5UIA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值