CS231N斯坦福计算机视觉公开课笔记

 p6 可视化卷积神经网络: 导向反向传播让轮廓更明显,找到识别最大的原始图像

p9 : CNN 网络工程的实践技巧,,3*3 卷积,步长为1 ,padding =1 使得feature map 维度不变。

两个3*3 替换一个5*5 ,感受野相同,可以减少参数,非线性变换的次数增多。

输入H*W*C,C是通道数,要C个卷积核,卷积核大小是7*7,参数是7*7*C*C,3个3*3 来代替,参数是3*3*C*C

乘法运算量: feature map 元素数* 每次卷积感受野数量: (H*W*C)*(7*7*C),3个3*3 的乘法运算量是3*(H*W*C)*(3*3*C)

1*1 卷积: 跨通道的信息交流,降维和升维。降维: filter 的个数变少就行,升维: filter 的个数变多

CS231N斯坦福计算机视觉公开课笔记_第1张图片

 

好处: 减少参数数量,前面的参数1*1*C*C/2 +3*3*C/2*C/2+1*1*C/2*C,后面的(3*3*C)*C

1*3 和3*1 可以提取长宽不同方向的不同信息

 

2 如何高效地计算卷积?

将卷积运算变成矩阵乘法,矩阵乘法可以被高度优化加速,有很多现成算法和工具包。

CS231N斯坦福计算机视觉公开课笔记_第2张图片

每个感受野拉成一列,移动多少个就得到多少列, filter 拉成行向量,两个相乘,

CS231N斯坦福计算机视觉公开课笔记_第3张图片

CS231N斯坦福计算机视觉公开课笔记_第4张图片

3 快速傅里叶变换来进行卷积

两个函数的卷积=两个函数傅里叶变换之后逐元素乘积。

原始的矩阵相乘: 遍历行+列+元素点乘 O(N3) 时间复杂度,strassen 算法 可以降低到O(N2.81) 

总结: 三个加速矩阵运算的秘籍: 卷积变成矩阵乘法,变成傅里叶变换的方法,加速矩阵乘法。

p10 迁移学习

自己数据较小时,修改输出分类的层,冻结模型前面层的结构和权重; 数据较大的时候,多往前训练几层。

MibileNets : group 卷积核Depthwise seprable  卷积,大大减少参数量。

NASNet : 强化学习判断哪种神经网络最优。

ROC: 要计算特异性和灵敏度,specificity和sensitivity

平移不变性来自于下采样和池化

p11 google 不同卷积核得到的摞起来,但是太厚了,pooling 层是不会改变通道数的,和其他的filter 得到的摞在一起就越来越厚,要放1*1 的卷积来减少通道数,降维或升维,跨通道信息交融,减少参数量,增加模型深度提高非线性表示能力。

CS231N斯坦福计算机视觉公开课笔记_第5张图片

SENet: 自适应学习得到每个channel的权重

p12 :GPU和CPU: CPU 读取数据,GPU 训练

p17:卷积神经网络是沿时间维度的权值共享

长期记忆是贯穿整个时间轴,通过加法来更新,所有没有梯度累乘爆炸的问题,短期记忆是每个神经元的输出,也同时被喂到了下一个神经元作为输入

你可能感兴趣的:(项目-深度学习,神经网络,深度学习)