NlpFoundation
1、基础如何将计算机不认识的文本特征转化为数字特征
常见的特征分类有类别特征(categorical feature)和数值特征(numeric feature)。 类别特征一般是有限集合, 没有大小之分, 是并列权重。数值特征如:年龄, 工资等, 有数值大小之分。计算机只能处理数值型特征,因此需要将非数值特征转化为计算机能识别的数字, 如下表中的gender和nationality。gender为二元特征, nationality为多元的类别特征。
国籍表示成1-197之间的整数(全球大概有197个国家), 但这些整数只是一个类别, 它们之间无法比较大小, 因为这些整数只是类别而已, 并不是真正的数值, 所以需要对国籍做one-hot Embedding。需要注意的是我们这里用数字表示的类别特征从1开始, 因为0要用来保留未知或缺失的国籍,数据库中经常会有缺失数据, 这些缺失的国籍就用0来表示。
对于性别, 用0表示女性, 1表示男性。
上面提到, 1-197只代表一个类别, 它们之间无大小之分, 因此需要对国籍进一步做one-hot Embedding。
类别特征转化数字流 ...
RepVGG
简介VGG网络是2014年牛津大学提出的, 在2014到2016年, VGG网络可以说是当时很火并广泛应用的backbone, 后面由于新网络的提出, 精度上VGG比不上ResNet, 速度和参数数量VGG比不过MobileNet等轻量级网络, 慢慢的VGG开始淡出人们的视线, 当VGG已经被大家遗忘时, 2021年清华,旷视等机构共同基础了RepVGG网络。
论文中, 作者提到了structural re-parameterization technique方法,即结构重参数化。实际上就是在训练时, 使用一个类似ResNet-style的多分支模型,而推理时转化成VGG-style的单路模型。 如下图, B表示RepVGG训练时采用的网络结构, 而在推理时采用图(C)的网络结构。
RepVGG Block详解其实关于RepVGG模型就是在不断堆叠Rep VGG Block。下面介绍一下RepVGG Blocks中的结构, 如下图针对训练时采用的RepVGG Block结构。其中(a)是进行下采样stride=2时使用的RepVGG Block结构,图(b)是正常的(strid ...
YOLOX
简介前面讲介绍过yolov5, 这里再来介绍YOLOX, YOLOx是旷视科技在2021年发表的一篇论文, 当时对标的网络就是YOLOv5。YOLOx从YOLOv5中引入如下三点:decoupled head, anchor-free以及advanceed label assigning strategy(SimOTA)。
在自己的项目中YOLOv5和YOLOx到底如何选择呢, 如果你的数据集分辨率不是很高, 比如640x640, 二者都可以试试, 如果你的图像分辨率很高, 比如1280x1280, 那么建议使用yolov5, 因为yolov5官方仓库提供了更大尺度的预训练权重, 而YOLOx当前只有640x640的预训练权重。
网络结构下图是根据源码绘制的YOLOX-L网络结构, 因为它是基于YOLO v5构建的, 所以Backbone以及PAN部分和YOLO v5是一模一样的, 注意这里说的YOLO v5对应的是tag:v5.0版本, 而我们之前的yolov5对应的是tag:v6.1版本, 所以在backbone部分有细微区别。
yolox与yolo v5在结构上有什么 ...
FCOS
简介论文原文:论文原文)
在之前的一些目标检测网络中, 比如Faster RCNN, SSD, yolov2~v5都是基于Anchor进行预测,即在原图上生成一堆密密麻麻的Anchor Boxes, 然后网络基于这些Anchor去预测它们的类别、中心点偏移量以及宽高缩放因子得到网络预测输出的目标, 最后通过NMS(no-max-suppression非极大值抑制)即可得到最终预测目标。针对基于Anchor网络存在的问题, 原作者总结如下四点:
1、检测器的性能和Anchor的size以及aspect ratio相关, 比如在RetinaNet中改变Anchor(论文中说这是个超参数hyper-parameters)能够产生约4%的AP变化, 也就是说Anchor需要设置的合适才可以。
2、一般Anchor的size和aspect ratio( 宽度/高度 的比值)都是固定的, 所以很难处理哪些形状变化很大的目标(比如一本书横着放于竖着放久不一样)。而且迁移到其他任务中时,如果新的数据集目标和预训练数据集中的目标形状差别很多, 一般需要重新设计Anchor。
3、为了达到更高的召回率 ...
HRNet
简介论文原文: 论文原文)
HRNet是由中国科学技术大学和亚洲微软研究院在2019年共同发表的, 这篇文章中的HRNet(High-Resolution Net)是针对2D人体姿态估计任务提出的, 并且该网络主要针对单一人体姿态估计。人体姿态估计主要应用在人体行为识别、人机交互、动画制作等。
主要由两种深度学习方法处理Human Pose Estimation任务。
1、基于regression的方式, 即直接预测每个关键点的位置坐标
2、基于heatmap的方式, 即针对每个关键点预测一张热度图(预测出现在每个位置上的分数)
HRNet下图是根据源码绘制的HRNet-w32的模型结构简图, 文章中还提到了HENet-w48版本, 二者的区别在于每个模块所采用的通道个数不同, 网路的整体结构都一样, 而该论文的核心思想就是不断地去融合不同尺度上的信息, 也就是论文中说的Exchange Blocks。
从上图可以看出,HRNet首先通过两个卷积核大小为3x3步距为2的卷积层(后面接着BN以及ReLU)共下采样了4倍, 然后通过Layer1模块, 这里的Layer1其实和之前 ...
Mask_R-CNN
简介Mask R-CNN是2017年发表的文章, 一作是何恺明, 该论文也获得了ICCV 2017年最佳论文奖。并且网络提出后,又霸榜了MS COCO的各项任务,包括目标检测、实例分割以及人体关键点检测任务。
Mask R-CNN是在Faster R-CNN的基础上增加了一个用于预测目标分割Mask的分支(即可预测目标的Bounding Boxes信息、类别信息以及分割Mask信息)
Mask R-CNN不仅能够同时进行目标检测与分割, 还能很容易扩展到其他任务, 比如预测人体关键点信息。
Mask R-CNN的结构也很简单, 就是通过RoIAlign(在原Fast R-CNN中是RoIPool)得到RoI基础上并行添加一个Mask分支(小型的FCN), 见下图,之前Faster R-CNN是在RoI基础上接上一个Fast R-CNN检测头,即图中class, box分支, 现在又并行了一个Mask分支。
注意带和不带FPN结构的Mask R-CNN在Mask分支上略有不同, 对于带有FPN结构的Mask R-CNN它的class, box分支和Mask分支并不是共用一个R ...
YoloV5
简介YOLOv5项目的作者是Glenn Jocher并不是原Darknet项目的作者Joseph Redmon。并且这个项目至今都没有发表过正式的论文。YOLOV5仓库早在2020年5月就已创建, 如今已迭代多个版本。本文是针对V6.1版本展开的, 下表是V6.1版本中贴出的关于不同大小模型以及输入尺度对应的mAP、推理速度、参数数量以及理论计算的FLOPs。
Model
size
mAPval
mAPval
Speed
Speed
Speed
params
FLOPs
pixels
0.5:0.95
0.5
CPU b1(ms)
V100 b1(ms)
V100 b32(ms)
(M)
@640 (B)
YOLOv5n
640
28
45.7
45
6.3
0.6
1.9
4.5
YOLOv5s
640
37.4
56.8
98
6.4
0.9
7.2
16.5
YOLOv5m
640
45.4
64.1
224
8.2
1.7
21.2
49
YOLOv5l
640
49
67.3
430
10.1
2.7
46.5
109.1
YOLOv ...
Yolov4
简介论文原文:
yolov1原文)
yolov2原文)
yolov3原文)
yolov4原文)
YOLOV4是2020年AlexEY Bochkovskiy等人发表在CVPR上的一篇文章, 并不是Darknet的原始作者Joseph Redmon发表的, 但这个工作已经被Jose Redmon大佬认可了。如果将YOLOV4和原始的YOLOV3相比较确实有很大的提升, 但和Utralytics版的YOLOV3 SPP相比提升确实不大, 但毕竟Ultralytics的YOLOv3 SPP以及YOLOv5都没有发表过正式的论文, 所以这里先聊聊Alexey Bochkovskit的YOLOV4。
YOLOv4的亮点
阅读原论文,会发信啊作者就是将当年所有的常用技术罗列了一遍,然后做了一堆消融实验。网络结构
在论文3.4章节中介绍了YOLOV4网络的具体结构
Backbone: CSPDarknet53
Neck: SPP, PAN
Head: YOLOv3
相比之前的yolov3, 改进了以下Backbone, 在Darknet53中引入了CSP模块(来自CSPNet)。在Neck部 ...
Grad-CAM
1、简介论文原文: Grad_CAM
对于常用的深度学习网络(例如CNN, 普遍认为是个黑盒, 可解释性并不强), 它为什么会这么预测, 它的关注点在哪里, 我们并不知道, 很多科研人员想方设法的探索其内在的联系, 也有很多相关的论文。 这篇Grad-CAM并不是最新的论文, 但是很有参考意义。通过Grad-CAM我们能够绘制出如下的热力图(对于给定类别, 网络到底关注哪些区域)。Grad-CAM(Gradient-weighted Classes Activation Mapping)是CAM(Class Activation Mapping)的升级版, Grad-CAM比CAM更具一般性。但CAM比较致命的问题是需要修改网络结构并重新训练, 而Grad-CAM完美避开了这些问题, 本文不对CAM进行讲解。
Grad-CAM能够帮助我们分析网络对于某个类别的关注区域, 那么我们通过网络关注的区域能够反过来分析网络是否正确学习到正确的特征或者信息。例如, 作者训练了一个二分类网络, Nurse和Doctor, 如下图, 第一列是预测时输入的原图, 第二列是Biased model ...
ConvNeXt
1、简介论文原文: ConvNeXt)
自从Vit(Vision Transformer)在CV领域大放异彩, 越来越多的研究人员开始涌入Transformer中, 2021年在CV领域的文章绝大多数都是基于Transformer的, 比如2021年的ICCV的best paper (Swin transformer), 而卷积神经网络已经开始慢慢淡出舞台中央。 卷积网络要被Transformer取代 了吗, 也许会在不久的将来。2022年一份月, Facebook AI Research和UC Berkeley一起发表了一篇文章A ConvNet for the 2020s, 在文章中提出了ConVNeXt纯卷积神经网络, 它对标的就是2021年非常火的Swin Transformer, 通过一系列实验对比, 在相同的FLOPs下, ConvNeXt相比Swin Transformer拥有更快的推理速度以及更高的准确率, 在ImageNet 22k上ConvNeXt-XL达到了87.8%的准确率。
仔细阅读这篇文章, 你会发现ConvNeXt使用的都是现有的结构和方法, 无任何 ...