24-AlexNet
动手学深度学习李沐
AlexNet
1.历史
1.1 2000 流行的机器学习方法——SVM,核方法
- 核方法替代了之前的神经网络网络方法,SVM对于调参不敏感,现在也有一些应用
- 本质上是特征提取,具体的方法是选择核函数来计算,把特征映射到高纬空间,使得他们线性可分
- 经过核函数计算之后,原问题可以转化为凸优化问题,这是2006年左右的研究热点
核方法有很多漂亮的定理,有很好的数学解释性
2010年左右,深度学习才兴起
1.2 2000计算机视觉主要方法——几何学
- 首先还是对图片进行特征抽取
- 希望把计算机视觉问题描述成几何问题,建立(非)凸优化模型,可以得到很多漂亮的定理。
- 可以假设这是一个几何问题,假设这个假设被满足了,可以推出很好的效果
1.3 2010计算机视觉的热点问题——特征工程
- 特征工程就是怎么抽取一张图片的特征,因为直接输入一张图片效果非常的差
- 特征描述子:SIFT,SURF
1.4 硬件的发展奠定了深度学习的兴起
- 数据的增长,硬件的计算能力奠定了人们对于方法的选择
1.5 ImageNet(2010)
AlexNet赢得了2012年ImageNet竞赛冠军
本质上是一个加强版的LeNet,更深更大
AlexNet主要改进措施:
- dropout(正则)
- ReLu(梯度更大)
- MaxPooling(取最大值,梯度相对增大)
影响:计算机视觉方法论的改变,从人工提取特征过渡到CNN学习特征
2.AlexNet架构
- 网络代码
net = nn.Sequential( |
- 更多细节
- 激活函数从sigmoid变成Relu,减缓梯度消失
- 隐藏全连接层后加入了丢弃层(2个4096之后加入了dropout)
- 数据增强,将一张图片进行变化,选取多个位置、光照之类的。
- 复杂度对比
- 参数个数增加,每次更新数据增加
3.总结
- AlexNet 是更大更深的LeNet,10x参数个数,260x计算复杂度
- 新加入了dropout,relu,maxpooling,数据增强
- 标志着新一轮神经网络热潮开始了
4.QA
- 问题大部分都在问如何炼丹,炼丹的理论,为啥炼丹的步骤要这样不哪有?
- 老师说这个确实不好理解,只能从自己的角度去尝试解释
- 数据增强了,但是效果还不如之前的,为啥?
- 太正常了,属于超参数没调好
- 为啥LeNet不属于深度卷积神经网络?
- 为了包装现在的产品,更好卖(确实是这么回答的),这个我们研究者需要学习,好好宣传自己的产品
- 网络要求输入的size是固定的,实际使用的时候图片不一定是要求的size,怎么处理?
- 如果是大的图片,在保持长宽比的情况下,把短边压成输入的size,然后在新的图片中随机抠出来几张图片(要求和网络输入一致)进行预测。效果上不会有太大的影响