浙大机器学习课程-13-深度学习-卷积神经网络ALexNet

浙大机器学习课程-13-深度学习-卷积神经网络ALexNet
浙大机器学习课程-13-深度学习-卷积神经网络ALexNet
Relu函数:如果神经元个数设置得非常多,误差向前传的时候,或者说每一个神经元都有一个**值的话,用sigmoid和tanh是不好的,Relu函数在大于0时取原来的值,小于0时取0,导致的结果是每一层里面小于0的地方全部变成0了,这样,每一层里面,每一次运行的时候,**的神经元个数大致是一半左右(假定大于0和小于0的概率差不多)对于某一层神经元有很多层的情况,每一次值训练一半的数据,可以相对有效地控制收敛的速度(不至于每一次改变所有的值)使得收敛性变得更好
Relu函数大于0时斜率为1,可以避免sigmoid和tanh的梯度没有办法传得很深远的影响。

AlexNet是首次在神经网络中使用ReLu函数
浙大机器学习课程-13-深度学习-卷积神经网络ALexNet

平均池化和最大池化下,后向传播算导数怎么算呢

①平均池化
假设池子的大小是8*8,后向传播时梯度为 梯度值/64,平均到每一个格子里面
②最大池化
在后向传播时,直接把梯度传给最大值的地方,其他地方的梯度全写0(赢者通吃)

为什么MaxPooling有效果呢

在最大池化的过程中,做了两个操作,一是降采样,二是求所有值得最大值,求最大值是非线性操作
同时最大池化让池化层**的神经元变少,提升收敛速率
在卷积神经网络里面,最大池化基本上是通用的方法

浙大机器学习课程-13-深度学习-卷积神经网络ALexNet浙大机器学习课程-13-深度学习-卷积神经网络ALexNet随机丢弃与最大池化和 Relu本质上差不多,都是使有限的神经元被**,使得训练流程可控,不会出现同时改变所有的参数, 每一次只改变一部分参数
做随机丢弃,网络结构是不确定的,相当于同时训练一大堆不确定的网络,最后取平均值

浙大机器学习课程-13-深度学习-卷积神经网络ALexNet水平翻转:一只猫原来往右跑,翻转之后往左跑,猫还是那个猫,图却不是那个图了
浙大机器学习课程-13-深度学习-卷积神经网络ALexNetNvidia就这样火了。。。。。
浙大机器学习课程-13-深度学习-卷积神经网络ALexNet