赞
踩
1. 什么是感受野?
通常感受野只全局的理解。
卷积神经网络中,越深层的神经元看到的输入区域越大,如下图所示,kernel size 均为3×3,stride均为1,绿色标记的是Layer2 每个神经元看到的区域,黄色标记的是Layer3 看到的区域,具体地,Layer2每个神经元可看到Layer1 上 3×3 大小的区域,Layer3 每个神经元看到Layer2 上 3×3 大小的区域,该区域可以又看到Layer1 上 5×5 大小的区域。
所以,感受野是个相对概念,某层feature map上的元素看到前面不同层上的区域范围是不同的,通常在不特殊指定的情况下,感受野指的是看到输入图像上的区域。
参考:彻底搞懂感受野的含义与计算
如何理解CNN中的感受野(receptive-field)以及如何计算感受野?
2. 什么是feature map?
feature map是经过卷积核卷积之后得到的map上融合前一个图像的特征。feature map的数量就是卷积核的数量,有多少个卷积核(滤波器),就会经过卷积产生多少个feature map。
3. 卷积的3种模式
full mode: 从filter核image刚相交开始做卷积
same mode: pad so that output size is the same as the input size
valid mode: no padding
图示参考:卷积的三种模式full, same, valid以及padding的same, valid
4. (1)nn. Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0,dilation=1, groups=1, bias=True, padding_mode= ‘zeros’ )
参考链接:Pytorch学习笔记(二):nn.Conv2d()函数详解
(2)卷积操作中对padding的计算
5. Conv1d/Conv2d/Conv3d
PyTorch:学习conv1D,conv2D和conv3D
简要解释什么是Conv1d,Conv2d,Conv3d
Pytorch学习笔记(二):nn.Conv2d()函数详解
6. nn.BatchNorm2d和nn.MaxPool2d
Pytorch学习笔记(三):nn.BatchNorm2d()函数详解
Pytorch学习笔记(四):nn.MaxPool2d()函数详解
BatchNorm2d原理、作用及其pytorch中BatchNorm2d函数的参数讲解(这个讲解得好)
PyTorch踩坑指南(1)nn.BatchNorm2d()函数(这个讲解得好)
7. 激活函数
Leaky ReLU是ReLU函数的一种变形,是一种专门设计用于解决Dead ReLU问题的激活函数。使用0.01的小值来初始化神经元。inplace=True
,对原变量覆盖,没有通过中间变量,直接覆盖原变量的值,这样节省内存。
参考:PyTorch | 激活函数(Sigmoid、Tanh、ReLU和Leaky ReLU)
pytorch中nn.LeakyReLU()函数?
nn.LeakyReLU()函数的参数inplace参数的意义是什么?为什么在GAN训练中,将其设为FALSE 和 TRUE 差异很大!
PyTorch------nn.ReLU(inplace = True)详解
Top-1 Accuracy 和Top-5 Accuracy
ImageNet大概有1000个分类,模型预测某张图片时,会给出1000个按概率从高到低的类别排名。
Top-1 Accuracy是指排名第一的类别与实际结果相符的准确率;Top-5 Accuracy是指排名前五的类别包含实际结果的准确率。
参考:常见的Top-1和Top-5有什么区别?(有例子解释)
图像分类和目标检测
图像分类:只需要判断输入的图像中是否包含感兴趣物体
目标检测:需要在识别图片中目标类别的基础上,还要精确定位到目标的具体位置,并用外接矩形框标出。
目标检测基础知识介绍
锚框 or 先验框
在众多经典的目标检测模型中,均有先验框的说法,有的paper(如Faster RCNN)中称之为anchor(锚点),有的paper(如SSD)称之为prior bounding box(先验框),实际上是一个概念。
科普:目标检测Anchor是什么?怎么科学设置?[附代码]
怎么理解anchor?
什么是anchor-based 和anchor free?
终于知道anchor框为啥这样设计了
看目标检测入门查询的资料
神经网络模型保存下载model.state_dict()等用法和功能
pytorch系列8 --self.modules() 和 self.children()的区别
目标检测网络训练的大致流程
Pytorch中,动态调整学习率、不同层设置不同学习率和固定某些层训练的方法
不同层设置不同的学习率
目标检测的常用数据处理方法!
参考博客-Datawhale
单阶段、双阶段、anchor-based、anchor-free这四者之间有什么联系吗?
单阶段、双阶段、anchor-based、anchor-free 4者的联系应该分成两个并行维度来讲。
单阶段和双阶段划分依据是是否存在显式的 roi 特征提取过程,典型的双阶段算法是 faster rcnn,其包括 RPN 和 RCNN 两个模块,RPN 模块负责提取 ROI,然后通过 roipool 或者 roialign 进行 roi 特征切割提取,最后在输入到 RCNN 中进行识别和定位。如果没有显式 roi 提取过程则认为是单阶段算法,例如典型的 yolo、retinanet 等等。一般而言,双阶段算法精度高但是速度慢一些,单阶段精度稍微低一点但是速度容易优化到比较快,但是随着算法的发展,两者的界限越来越模糊,两者结合的也有例如带 refine 阶段的 reppoints,可以认为是 1.5 阶段。
而 anchor-based、anchor-free 是从是否需要显式定义先验 anchor 角度区分,如果需要定义 anchor 那么就是 anchor-base,目前主流算法大部分都是这个类型,例如 faster rcnn、retinanet 和 yolo 等等;而 anchor-free 是从 2019 年开始慢慢流行,其最大优势是不需要设置麻烦且有重大影响的 anchor,输出是对每个输出特征图上点进行分类和定位建模,参数稍微少一些,更加容易理解,典型算法是 fcos、atss 和 sabl 等等。
1.训练与推理阶段
训练阶段
训练阶段:是神经网络在输入数据,通过数据和对应标签不断调整权重的过程,即生成模型的过程。
推理阶段
推理阶段:当网络训练完毕后(权重不更新),输入数据后神经网络对其进行处理(比如输入猫的图片,神经网络将图片分类为猫),即模型开始工作进行预测。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。