Convolutional Neural Networks:第二周
2018-02-24 21:45
148 查看
1. Classic Networks
第二周的课程首先介绍了几种经典的卷积神经网络模型:LeNet-5
AlexNet
VGG
1.1 LeNet-5
1.2 AlexNet
1.3 VGG-16
VGG模型把所有的卷积层和池化层的大小都固定了,因此结构简单,但是参数量巨大。2. ResNets
使用Residual block能够帮助训练非常深的模型。2.1 Residual block
将某层的输出跨过若干层直接喂给指定层作为输入的一部分。一般的神经网络模型随着层数到一定程度,训练误差反而会开始增大,如下图左下角所示;而ResNet能够避免该情况的产生,即层数越多,训练误差总是在下降。
2.2 Why do residual networks work?
ResNets能够保证下一层的预测效果至少不会比前几层差;而普通深度神经网络模型往往很难做到这点。2.3 ResNet 模型
模型例子:2.4 1x1Convolutions
1x1Convolutions将输入对象的相同位置的所有层的元素求和并乘以一个固定值。1x1Convolutions能够在不影响高、宽的情况下有效地改变原对象的层数。
2.5 Inception Network Motivation
为什么使用Inception Network?Inception Network将若干种卷积层和池化层的结果合并在一起,让算法自己去挑选合适的结构。
The problem of computational cost
增加一个常规卷积层,往往会使模型的参数量变得巨大。如下:
而在常规卷积层前添加一层1x1Convolutions,能够有效降低参数量(从120M到12.4M)。
2.6 Inception Network
Inception moduleInception Network
Inception Network 由多个Inception module组成。
3. 应用ConvNets的建议
3.1 积极使用开源程序
因为即使是一名优秀的博士生也很难完全从头重复文献中结果,也使用开源程序将大大节约时间3.2 迁移学习
从头训练一个模型常常耗时又费力,然而使用别人训练好的模型的权重作为你初始模型的权重,往往效果不错。当你的训练集样本较少时,尤其应当考虑迁移学习。如下:
当训练集样本较大时,可以考虑只冻结前面若干层。如下:
当训练集样本足够多时,可以考虑重新训练所有的权重,只是将初始权重设置为已有模型的权重。如下:
3.3 Data Augmentation
当训练集样本不够时,可以通过对已有图片进行变形来增加训练集样本量。Common augmentation method
Color shifting
3.4 State of Compute Vision
Data vs. hand-engineering当样本量足够多,可以只使用简单的算法,并且不需过多的手工处理特征;当样本量较少时,往往需要更多地手工处理特征。
吴老师认为相对于机器视觉任务的复杂度,现有的数量量还远远不够,因此对于大多数图像识别任务,仍然需要较多的hand-engineering.
Use open source code
注:如无特殊说明,以上所有图片均截选自吴恩达在Coursera开设的神经网络系列课程的讲义。
相关文章推荐
- Andrew Ng-Convolutional Neural Networks 第二周作业 Keras Tutorial
- Andrew Ng-Convolutional Neural Networks 第二周作业 Residual Networks
- Andrew Ng deeplearning.ai专项课程第四课Convolutional Neural Networks第二周笔记
- TensorFlow练习1: 编程实现一个简单的CNN, Convolutional Neural Networks
- Andrew Ng deeplearning.ai专项课程第四课Convolutional Neural Networks第三周笔记
- Deep Learning(深度学习)Convolutional Neural Networks卷积神经网络
- 回顾一些重要的CNN改进模型(你真的了解 Convolutional Neural Networks 么)
- tensorflow tutorials(七):用tensorflow实现卷积神经网络(Convolutional Neural Networks)
- 论文笔记之Diffusion-Convolutional Neural Networks
- Convolutional Neural Networks(CNN) 有关概念
- Voice Conversion using Convolutional Neural Networks 翻译
- ImageNet Classification with Deep Convolutional Neural Networks -- 解读
- 卷积神经网络(Convolutional Neural Networks,CNNS/ConvNets)
- Convolutional Neural Networks: Step by Step v2 参考答案
- Convolutional Neural Networks (卷积神经网络)
- 译《Notes on Convolutional Neural Networks》
- Convolutional neural networks(CNN) (二) Sparse Autoencoder Exercise
- Convolutional Neural Networks
- Convolutional Neural Networks卷积神经网络 Contents 一:前导 Back Propagation反向传播算法 网络结构 学习算法 二:Convolutional N
- Convolutional Neural Networks: Application