个人心得:
1.更大的数据集(如ImageNet)可以帮助CNN训练至收敛。
2.适合的梯度下降函数(Relu)可以加速训练
3.GPU并行运算更加迅速
4.数据增广、批处理训练dropout、池化操作、LRN正则化可以减少过拟合
Alex小组训练了一个DCNN,由五个卷积层,一些max-pooling 层,三个全连接层组成,采用了GPU训练和"dropout"正则化,在ImageNet数据集上取得了很好的效果。
收集更大的数据集、建立更大的模型、使用更好的防止过拟合的方法可以改善目标识别任务的表现。
目标识别任务的复杂性意味着,即使是ImageNet这样的数据集也没法指定某一问题,因此我们的模型需要大量的先验知识,以补偿没有的数据。
可以通过调节深度和宽度控制CNN的能力,并且CNN可以对图像性质(统计数据的平稳性和像素的位置相关性)做出strong and mostly correct 的假设。
CNN具有更少的connection和参数,更容易训练(GPU可以帮助训练,大数据可以减少过拟合)。
Alex小组训练了最大的CNN,并且部署在GPU训练,发现了深度对CNN性能很重要。
ImageNet由不同分辨率图像组成,我们将图片调整成256*256,并且直接对RGB图像做训练。
网络共八层,5层卷积层,3层全连接。最后一层全连接输出到1000路softmax,softmax层在1000个类别上产生分布。ReLU作用于每个卷积和全连接层的输出。
1.conv1层:
注:输入应为2272273,否则算出输出维度不为55(有说舍弃小数,但一般设计时取整或用padding填充)。
Input的通道数 = kernel的通道数。
Output的channel数 = kernel的个数。
卷积层输出: W/H = (W - F + 2P)/S + 1 D2 = K
池化层输出: W/H = (W - F + 2P)/ S + 1 D2 = D1
**注:**为实现高宽减少一半,池化层也有padding
卷积操作:故输出为555596个像素层,使用双GPU并行训练,故分成两组,每组48个卷积核,则对应生成两组555548的像素层。像素层经过relu1单元的处理,生成激活像素层,仍为两组555548的像素层数据。
池化操作:这些像素层数据经过pooling运算,pooling运算 F = 3(kernel_size),s = 2。故池化后像素规模为两组272748像素层。
LRN操作: norm尺度为5*5
反向传播时,每个卷积核对应一个偏差值,即第一层的96个卷积核对应上层输入的96个偏差值。???
2.conv2层
???
3.conv3层
4.1数据增广
采用了两种数据增广形式,第一种是图像平移和垂直映射。
第二种是改变RGB通道强度。执行PCA
4.2Dropout
随机(本文为0.5)对神经元输出置0,神经网络结构发生了变化但仍共享权值。
SGD,初始化权值方法,并行训练方法
1.CNN对图片分类是有效的,目标不在图片中心也能识别
2.深度对CNN表现很重要
3.时序结构会提供许多有用的信息(Video?NLP?)
4.CNN可以对图像性质(统计数据的平稳性和像素的位置相关性)做出可靠并几乎正确的假设。
5.猜想:如果两个图片生成的特征激活向量的欧氏距离很小,可以说NN高层认为它们很相似。
使用此度量,可以实现较好的图像检索。
通过欧氏距离计算两个4096维度效率太低,可以使用自动编码压缩向量成二进制码。这比直接在原始像素上使用自动编码效果更好。因为在raw pixels上使用quto-encoder,没用到标签数据,只是检索有相似边缘模式(similar patterns of edges)的图像,却不管他们语义(semantically)上是否相似。即,抽取特征后,压缩计算相似度。
参考文章:https://zhuanlan.zhihu.com/p/1805948
https:///qq_24695385/article/details/80368618
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务