学习目标
Understand multiple foundational papers of convolutional neural networks
Analyze the dimensionality reduction of a volume in a very deep network
Understand and Implement a Residual network
Build a deep neural network using Keras
Implement a skip-connection in your network
Clone a repository from github and use transfer learning
Case studies
classic networks:
lenet-5:用的是avg pool并没有用padding 有了现在的卷积神经网络的雏形。paper里面的实现是有non-linear在pooling之后.相比现在的cnn,参数量特别小,网络也简单。但是,也有相似之处,比如随着网络的加深,feature map size越来越小,channel越来越多。现在的话,是多个conv之后pool,他是一个conv,一个pool.论文中的实现是在pool后面加非线性,而且是sigmoid or tanh if read this paper ,only focus on 2 和 3 section
alexnet : input 227×227×3
similar to lenet 但是大很多 60 m parameters . 用的relu
论文上,由于当时的硬件限制,用的两个GPU,怎样在两个gpu联合训练,花了一些篇幅介绍
LRN 层 ,现在没怎么用,思想是在channel间做normalize ,但是似乎没什么效果
vgg-16: simplify architecture 非常的对称 也非常简单 quite uniform都是3×3 的filter,feature map 变成原来的一半,channel个数就变成原来的一倍 参数量 138million vgg-16用的多一些
读paper建议 alexnet-vgg-lenet lenet比较难一点 前两个自己都看过,有时间翻翻lenet
resnet:
address 梯度消失和梯度爆炸
之前的main path 就是一层连一层的的residual block: skip connection/short cut
copy 参数 from al,然后和zl+2 相加,最后 a(l+2) = g(al +z(l+2))
stack this block to 组建网络
plain network 随着网络加深,训练误差会先减小然后增加
why resnet work ?
其实在正则化后,一定程度上 a(l+2)是可以等于a(l)的,所以不会hurt 网络的 ability
Networks in Networks and 1x1 Convolutions
why 1x1 filter