深度学习论文笔记(1):Overfeat-2019/03/02
1 Introduction
1.1 CNN的特点(与矩阵乘法相比):
(1) 权值共享(输入共享卷积核的权值)
(2) 稀疏交互(卷积核的参数远少于矩阵乘法所需的参数)
(3) 等变表示(平移不变性)。
1.2 end-to-end learning
传统的机器学习往往由多个独立的模块组成,比如在典型的自然语言处理中,包括分词、词性标注、句法分析、语义分析等多个独立的步骤,每一个步骤都是独立的任务。(非端到端)
端到端的学习是指,在训练过程中,从输入端(输入数据)到输出端会得到一个预测结果,与真实结果相比较会得到一个误差,这个误差会在模型中的每一层传递(反向传播),每一层的表示都会根据这个误差来做调整,直到模型收敛或达到预期的效果才结束。
1.3 ImageNet数据集的特点
目标大多处于图片的中心位置,感兴趣的物体在尺寸和位置上是多样的。
1.4 作者提出的观点
1.4.1 idea1
利用窗口滑动的方法应用卷积神经网络在图片的不同位置和缩放比例。
缺点: 视窗可能只包含物体的一部分(如狗头),而非整个物体 -> 导致能够进行目标分类,但是无法进行定位和预测。
1.4.2 idea2
对每一个视窗都进行物体分类,同时进行物体位置的预测和 bounding box的尺寸预测
1.4.3 idea3
积累每个位置和尺寸对应类别的置信度
2 视觉任务
2.1 分类(classification)
是什么(选取TOP5)
2.2 定位(localization)
对于TOP5种猜测,分别返回对应的bounding box(50%以上的覆盖率认为是正确的)
2.3 检测(detection)
在哪都有什么?
关于这三个任务的介绍可以查看这里。
在本论文中,分类和定位利用相同的数据集,检测由于物体比较小,需要额外的数据集。
3 分类任务
3.1 数据集
数据集采用ImageNet数据集(120万张图片,1000类)
3.2 网络结构
论文的网络结构和alexNet很类似,在网络设计和测试阶段的做法上做了一些改进。论文的网络分为两个版本,一个快速版,一个精确版。下图是精确版的网络结构图。其中Layer 1-5 为特征提取层,layer 6 – output为分类层。
网络结构 | 解释 |
---|---|
channels | 通道数,也就是卷积核的数量(如Layer1可以提取图像96个特征) |
Filter size | 卷积核的大小 |
Conv.stride | 进行卷积计算时的步长,每计算一次向下平移4,向右平移4(因此是4*4) |
Pooling size | 池化核的尺寸 |
Pooling stride | 进行池化时的步长,每计算一次向下平移2,向右平移2(因此是2*2) |
Zero-Padding size | 进行卷积计算时,在外围增加的0的个数 |
Spatial input size | 输入的原始图像大小 |
例: 由Layer 1 的输入 计算Layer 1 的输出,即Layer 2 的输入:
(221−7)/2+1=108(conv)(221-7)/2+1=108 (conv) (221−7)/2+1=108(conv)
(108−3)/2+1=36(max−pooling)(108-3)/2 +1=36(max-pooling)(108−3)/2+1=36(max−pooling)
因此Layer2的输入尺寸为36∗3636*3636∗36
根据CSDN上面相关分类的内容,alexNet与本论文的区别是:
- 该网络和alexNet类似,有几点不同,一是没有使用对比归一化,二是没有使用重叠的池化,三是stride的超参用2代替了4,大stride可以提升速度,减小精度。
- 该网络和alexNet最大的不同之处在于测试阶段使用了不同的方法来预测。
- alexNet在测试阶段对256 * 256的图像做裁剪(四个角落和中间)和水平翻转,得到5 * 2 也就是10张227*227的图像,然后送进网络里面得到10个结果求平均来进行预测。这样的做法有两个问题,裁剪时可能忽略了图像的一些区域,以及10张图像有很多重叠部分导致了冗余计算。
- 该网络的测试阶段,用到了多尺度的,滑动窗口的方法(实验最多输入了6个不同尺度的图像)。这也是论文最大的创新点。
3.3 训练过程
权重初始化选择随机标准差为0.01的高斯分布,利用随机梯度下降法,动量为0.6,学习率最开始初始化为0.05,在30,50,60,70,80轮迭代时学习率缩减为0.5倍。
DropOut(第6层、第7层)是在训练过程中随机丢弃网络上一部分的参数,防止过拟合。
3.4 多尺度识别(Classification)
用到了FCN和offset max-pooling的相关原理。点击此处跳转其他人的解析
alexNet采用多视角投票以提升识别效果,利用固定的10张图像(四个角落+一个中间并进行水平翻转)结果取平均值。
alexNet缺点: 这种方法在视角重叠时进行了重复计算,会忽略掉图像中的很多细节。而且单一大小的图像也会影响效果。
Overfeat的改进方法: 采用多尺度识别的方法——在采用上述方法训练完成后,向网络输入不同尺寸的相同图片测试。
- 其中C为对应的channel数
- 将测试集中的图片进行尺寸变化,形成如上图所示的6个尺寸,并进行水平翻转,这样会得到12张图。
- 对于Layer 5 post-pool为进行offset max pooling 后 得到 3 * 3个 5 * 5的图像(以第一行为例)
- 在最后的Classifier map size,对于不同的尺寸会产生不同尺寸的输出,以Scale 1为例,最后会生成3∗3∗C3 *3* C3∗3∗C的输出,此时取3∗33*33∗3中最大的数作为这一个图片的输出。所以12个图片最后会得到12个长度为C的向量,将12个向量取平均向量,取TOP1-5,作为输出的类别。
4 定位
(1) 将最后的分类层改成回归问题。即保留Layer1-5,在Layer5池化层后接回归网络即可进行定位,回归网络相关参数如下图所示。
(2) 损失函数为bounding box 与真实标注的box之间的欧式距离(l2距离)进行训练。
(3) 以Scale2为例,Layer5输出的是6 * 7的图,通过回归网络的卷积后,得到2 * 3个位置信息(2 * 3个box),在回归网络的Layer 3中有四个channels分别代表bounding box 的四个点的位置
4.1 累计预测求bounding box
对于回归网络得到的一系列bounding box,该论文不是通过传统的非极大值抑制,而是使用了累积预测的方法。
其中match_score(b1,b2)match_score(b1,b2)计算的是两个box中点的距离和交集区域的面积之和,当它大于某个阈值时算法停止,box_merge(b1∗,b2∗)计算的是两个box坐标的平均值。通过合并具有高置信度的box来得到最终预测。这种方法可以淘汰那些低置信度以及低连续(多个box相差很远)的类别,会更加鲁棒。
5 总结
根据这篇论文我了解到CNN的一些基础知识,以及当时进行目标检测的一般方法。其中比较难的地方是卷积输入输出的计算,以及卷积参数个数的确定。
深度学习论文笔记(1):Overfeat-2019/03/02相关推荐
- [深度学习论文笔记]医学图像分割U型网络大合集
[深度学习论文笔记]医学图像分割U型网络大合集 2015 U-Net: Convolutional Networks for Biomedical Image Segmentation (MICCAI ...
- [深度学习论文笔记]Multi-phase Liver Tumor Segmentation with Spatial Aggregation
Multi-phase Liver Tumor Segmentation with Spatial Aggregation and Uncertain Region Inpainting [深度学习论 ...
- [深度学习论文笔记]Pairwise Learning for Medical Image Segmentation
[深度学习论文笔记]Pairwise Learning for Medical Image Segmentation 医学图像分割的成对学习 Published: October 2020 Publi ...
- [深度学习论文笔记]使用多模态MR成像分割脑肿瘤的HNF-Netv2
HNF-Netv2 for Brain Tumor Segmentation using multi-modal MR Imaging 使用多模态MR成像分割脑肿瘤的HNF-Netv2 Publish ...
- [深度学习论文笔记]UNETR: Transformers for 3D Medical Image Segmentation
UNETR: Transformers for 3D Medical Image Segmentation UNETR:用于三维医学图像分割的Transformer Published: Oct 20 ...
- [深度学习论文笔记]A Tri-attention Fusion Guided Multi-modal Segmentation Network
A Tri-attention Fusion Guided Multi-modal Segmentation Network 一种三注意力融合引导的多模态分割网络 Published: 2 Nov 2 ...
- 【深度学习论文笔记】DeCAF: A Deep Convolutional Activation Feature for Generic Visual Recognition
时间:2014/7/29 10:00 论文题目:DeCAF: A Deep Convolutional Activation Featurefor Generic Visual Recognit ...
- [深度学习论文笔记DoDNet: Learning to segment multi-organ and tumors from multiple partially labeled datasets
DoDNet: Learning to segment multi-organ and tumors from multiple partially labeled datasets DoDNet:学 ...
- [深度学习论文笔记]Modality-aware Mutual Learning for Multi-modal Medical Image Segmentation
Modality-aware Mutual Learning for Multi-modal Medical Image Segmentation 多模态医学图像分割中的模态感知互学习 Publish ...
- [深度学习论文笔记]Multimodal CNN Networks for Brain Tumor Segmentation in MRI
Multimodal CNN Networks for Brain Tumor Segmentation in MRI: A BraTS 2022 Challenge Solution MRI中用于脑 ...
最新文章
- 计算机应用基础试题事业单位,机关事业单位技术工人计算机应用基础知识复习题...
- 中台创业潮起,你中台创业了吗?
- 几本国外著名反演书籍(高清版资源)
- 【算法学习笔记】二叉树的基本操作实现和应用举例,根据先序与中序遍历建立二叉树的实现
- 取后端数据_用 Flask+Axios 实现前后端数据通信:查询动森鱼类价格
- 在SAP Cloud Platform ABAP编程环境里打印系统变量
- 推荐轻量级MySQL数据库管理工具 Adminer
- 吴恩达机器学习学习笔记第三章:机器学习中的线性代数
- 计算机系统访问控制的功能,访问控制是为了限制访问主体对访问客体的访问权限,从而使计算机系统在合法范围内使用的安全措施,以下关于访问控制的叙述中,()是不正确的 - 信管网...
- leetcode(226)—— Invert Binary Tree(Python/C++)
- Linq 入门系列 [Take,Skip,TakeWhile,SkipWhile]篇
- FFT为什么要加窗函数?
- 中国古代亲属称谓家谱总览
- 即时热榜——月薪3W+自媒体人的必备神器
- 格林威治标准时间和协调世界时
- 计算机教学反思杂文,教学反思或随笔
- Java程序员的重启人生-3.Java基础碾压
- 精通CSS+DIV网页样式与布局--页面背景
- 修改Oracle序列值
- input框不能输入的几种方式