关注“FightingCV ”公众号
回复“ AI ”即可获得超100G人工智能的 教程
今年上半年,可谓是AI届最波澜壮阔的半年。
在急速发展的各类GPT甚至AGI的雏形背后,是持不同观点的两大阵营的人们。
一派认为,以ChatGPT为首的生成式AI非常强大,能带动一大波革命性的风潮,继续推进没有问题。
另一派认为,咱发展的有点太快了。不说禁止,也得停一停。而且道德方面,相匹配的约束也太少了。
而作为AI届的一位大拿,Yann LeCun对此却有不同看法。
LeCun表示,他对ChatGPT的表现并不感到惊讶,也不赞成暂停人工智能的研究。
「这可能会产生和预期相反的结果。」
他表示,人工智能作为人类智能的放大器,可能是新文艺复兴的起源。
ChatGPT这种大语言模型是「自回归」。AI接受训练,从一个包含多达14000亿个单词的语料库中提取单词,预测给定句子序列中的最后一个单词,也就是下一个必须出现的单词。
Claude Shannon在上个世纪50年代开展的相关研究就是基于这一原则。
原则没变,变得是语料库的规模,以及模型本身的计算能力。
LeCun表示,「目前,我们无法靠这类模型生成长而连贯的文本,这些系统不是可控的。比如说,我们不能直接要求ChatGPT生成一段目标人群是13岁儿童的文本。
其次,ChatGPT生成的文本作为信息来源并不是100%可靠的。GPT的功能更像是一种辅助工具。就好比现有的驾驶辅助系统一样,开着自动驾驶功能,也得把着方向盘。
而且,我们今天所熟知的自回归语言模型的寿命都非常短,五年算是一个周期,五年以后,过去的模型就没有人再会用了。
而我们的研究重点,就应该集中在找到一种是这些模型可控的办法上。换句话说,我们要研究的AI,是能根据给定目标进行推理和计划的AI,并且得能保证其安全性和可靠性的标准是一致的。这种AI能感受到情绪。」
要知道,人类情绪的很大一部分和目标的实现与否有关,也就是和某种形式的预期有关。
而有了这样的可控模型,我们就能生成出长而连贯的文本。
LeCun的想法是,未来设计出能混合来自不同工具的数据的增强版模型,比如计算器或者搜索引擎。
像ChatGPT这样的模型只接受文本训练,因此ChatGPT对现实世界的认识并不完整。而想要在此基础上进一步发展,就需要学习一些和整个世界的感官知觉、世界结构有关的内容。
而这些更复杂的内容并不是简单地通过阅读文本就能实现的,这才是未来几年的最大挑战之一。
对权力的渴望,是人类特有的。而AI并不会因为变得越来越强大就会具备这种渴望。
只有人类这个物种才知道如何制定法律,保障个体的行为不会过多损害共同利益。
OpenAI最初是一个开放的研究项目,现在已经关闭了。而OpenAI对其工作只字未提,这种情况的逆转在研究领域并不常见。
问题在于训练一个语言模型很昂贵,要花费几千万欧元,所以初创企业负担不起。
这也是微软与OpenAI合并的主要原因,需要集团共同的计算能力来改进其未来的模型。这也是为什么DeepMind和谷歌大脑最终还是合并了。
LeCun表示,最终在市场方面,开发者会走向一个开放平台的共同生态。如果只有少部分公司控制着这类技术,就糟糕了。
从历史上来看,不管是Facebook还是改完名的Meta,都在积极推动开放性的基础研究,比如LlaMa这个开源项目。
90年代初期,Sun Microsystems和Microsoft大打出手,争夺操作服务器的权力。要记住,所有能一直站稳脚跟的互联网技术都是开源的。
LeCun最后表示,目前,阻止这类开放的开源AI平台的关键,是法律上的问题。如果未来欧盟想要推动AI产业的结构化,那么这种类似的开源平台是必不可少的。
https://twitter.com/USBEKetRICA/status/1648597311843450881
目标检测已经有了长足的发展,总体来说根据阶段个数,可以划分为Two-stage(Faster RCNN)、one-stage(SSD) 或者E2E(DETR)。根据是否基于anchor先验,可以划分为anchor-based(Faster RCNN)、anchor-free(CornerNet)的方法。 本文主要从目标框位置优化的角度来介绍目标检测领域的相关工作。框位置优化主要可以分为以下几个方面
By XYWH,这是指通过优化与ground truth的中心点坐标值、宽和高的值来实现目标框位置的优化 By keypoint,这是指通过优化关键点的方式来找到目标框的位置 By LRBT,这是指通过优化与ground truth 四条边之间的距离的方式来实现目标框位置的优化 By IoU,这是指通过最大化与GT计算得到的IoU来优化目标框的位置 uncertainty,解决目标检测框真值的边界不确定性 01 Optimize by XYWH 定义 优化目标为预测bbox的中心点坐标(x,y)和宽高(width, height)与对应真值的差距尽可能的小。
接下来我们以Faster RCNN为例介绍该方法 。
思路 基于Anchor的先验,我们可以得知每个proposal的大概位置。考虑到利用Anchor的先验信息,作者使得预测框到anchor的距离和与子匹配的GT框到anchor的距离尽可能的相似。距离:XYWH的差值。
匹配方法 1、 代表 Proposali 和
的loU值; 大于指定阈值,代表和 之间具有匹配关系。
2、 对应最大loU的 Proposali ; 如第一步j没有得到任何匹配, 则在此步, i和j具备匹配关系。
优化公式
上述是Faster RCNN的优化目标函数, 我们的目标就是让 尽可能的逼近 ,之间的优化函数 可以选择L2, or L1 作者这里使用了 Smooth L1
Q&A 为什么是SmoothL1?
A: smooth L1 在 x 较小时,对 x 的梯度也会变小,而在 x 很大时,对 x 的梯度的绝对值达到上限 1,也不会太大以至于破坏网络参数。smooth L1 可以避开 L1 和 L2 损失的缺陷。
为什么要除 ?
A: 消除不同anchor大小带来的影响,相当于归一化
为什么w和h的优化要以log的形式进行?
A: target(H和W)是学习一个放缩的尺度,因此尺度值需要大于0,因此需要使用exp,对应的这里为log函数
02 Optimize by Keypoint 定义 优化目标为找到物体的两个关键点:左上点和右下点。核心为一个semantic segmentation问题。
接下来我们以Corner Net为例介绍该方法。
思路 不同于基于Anchor的方法,本方法需要先识别关键点在图中的位置。由于在pooling过程中会引入左边的误差,所以需要再针对每个关键点预测一个offset。
Q&A 如何训练和预测关键点?一个点一个pixel
A:作者使用2D Gaussian来生成,如下图所示,针对每个pixel,生成一个半径大小为r的圆形Gaussian分布。半径r的大小是自适应的。
半径r是通过下图所示的三种方式计算得到的最小值
若一个pixel对应了多个Gaussian分布的值,选择最大的。
如何根据top-left和bottom-right关键点两两组合形成最终的bbox?
A:作者提出针对每个keypoint 预测一个embedded vector,当top_left和bottom_left的embedded vector相似度大于一定阈值的时候则认为他们是描述的同一个bbox。则形成一个bbox
keypoint往往落在物体的外部,对应位置的特征可能不能很好表征物体,会增加识别关键点的难度。
A:作者提出了CornerPooling,其结构如下图所示
优化公式 综上所述,在该方式中,我们需要以下三个优化目标
1、关键点的分类,可以看成一个语义分割任务,作者采用了focal loss的变种,如下图所示
2、每个关键点的offset预测,每个关键点offset的真值如下式所示。作者采用smooth l1去优化
3、每个关键点的embedded vector预测,作者使用下式来优化embedded vector。让属于同一个物体的vector相似,不属于同一个物体的不相似
整体训练&推理流程 整个cornernet 的训练和推理流程如下图所示
03 Optimize by LRBT 上述基于关键点回归的方法有几个缺点 1、容易产生ghost bbox,这是由于tl br的embedded 相似度的确较高产生的 2、后处理的时候,若关键点较多,复杂度较高。为K^2的复杂度。 为了解决该问题,作者提出了基于LRBT的优化方式
定义 优化目标为物体的“中心点”距离四条边的距离
接下来我们以FCOS为例介绍该方法 。
思路 在feature map上找到每个“中心点”,针对每个中心点预测和他对应的框的四个值。
Q&A 1、如何定义“中心点”
A:我们需要找到特征图上每个location(pixel)和gt_bbox的匹配关系,然后将匹配到的gt_bbox作为真值。
匹配关系:
location落在某个gt_bbox内部,这里的落在内部可以直接的理解为落在内部,也可以替换成其他规则。例如真实中心的某个范围。 为了加速收敛,l、r、t、b应该在某一个范围内,如果不在这个范围内,就以为着应该由其他location来优化。例如,都应该在scale_factor的范围内 2、如何解决一个物体框可能包括了多个“中心点”
可以支持这种1对多的关系,一个物体框有多个中心点负责预测,后续通过NMS消除。
但是每个中心点的权重作者认为是不一样的,因为距离物体实际中心近的中心点其难度较低,应该就越准确,所有在NMS的时候权重应该高。所以作者多了一个branch来预测centerness,即用于评估每个中心点的难易程度。
3、如何解决一个中心点可能落在多个物体框内部
作者选择面积最小的bbox作为优化目标,其实也可以优化多个?
04 Optimize by IoU 上述基本都是基于距离的回归,但是我们最终的评价指标是IoU,所以我们优化的目标和我们最终评价的指标之间还存在一些差异。在下面的case中,第一行所有情况的L2loss都是一样的,但是IoU和GIoU是存在一定差异的。在第二行中,L1 Loss都是一样的,但是IoU 和 GIoU 也是不一样的。
为了解决上述的差异,作者提出了使用IoU作为我们的优化目标
定义 优化目标为使得预测框和真值框IoU最大,使用IoU 作为损失函数主要有以下两个优势
1. 优化目标和评价指标存在差异,Ln(L2, L1)范式优化和IoU优化并不完全等价,如上图所示。
2. IoU对目标物体的scale不敏感。
但是直接使用IoU Loss也存在如下两个问题
1. IoU值容易为0,且始终无法优化。
2. IoU无法辨识不同方式的对齐,比如方向不一致。
为了解决上述问题,作者提出了GIoU General IoU Loss
GIoU 定义公式如下所示,C是包含A和B的最小box。 当IoU(A, B)为0的时候,优化目标转化为让C与AUB之间的空隙尽可能小。即就是A和B尽可能靠近。
A = np.random.random([N, 4]) B = np.random.random([N, 4]) C = np.zero_like(A)C[:, :2] = np.min(A[:, :2], B[:, :2]) C[:, 2:] = np.max(A[:, 2:], B[:, 2:])
实验结果如下所示
DIoU Motivation
Distance IoU Loss 主要是为了解决如下两个问题
GIoU训练过程较慢,作者做的模拟实验见下图
GIoU 区分两个对象之间的对齐方式比较间接,仅通过引入C的方式来反应重叠的方式,不够直接。如下图所示。第二幅图展示来当GIoU一样的情况下,DIoU是不一致的(前提是,中心点重合的情况下认为拟合的最好)。
Contributions
提出了基于IoU Loss的一般性范式,这是我认为最大的贡献 提出了DIoU Loss,在IoU loss的基础上将central之间的距离作为惩罚项 在各个数据集和detector上都取得了不错的效果 Detail
范式:作为认为IoU loss应该优化的目标包括三个方面
作者基于上述的1&&2,提出了DIoU Loss,结合1&&2&&3提出了CIoU Loss(C is complete)
DIoU:定义如下所示,其中关键中心点之间距离的惩罚项的分子代表两个框中心点之间的欧式距离。分母是GIoU中矩阵C的对角线变长。分母起到了归一化的作用。
CIoU的定义如下所示,它在DIoU的基础上增加了对长宽比的惩罚项
05 Optimize by uncertainty Motivation 训练和测试两个阶段的,如上图所示,训练的时候单独优化classification score和IoU score,测试的时候将其相乘,然后会导致训练和测试的时候不一致。
测试的时候,进入NMS的是classification score乘IoU score,就会存在一种情况classification score较低,但是IoU score较高,然后使得负样本没有被过滤。这是因为IoU score并没有对负样本做优化,所有负样本的IoU score并不受控制,如下图所示。
Localization Quality Estimation (LQE) 是许多one-stage或者anchor-free方法改善效果的途径。LQE的常用方法见下图所示。
但是上述的方法会带来一定的不一致性1,它主要包括以下两点
Contribution1
为了解决上述的问题,作者提出使用Joint的方式来联合优化classification score和IoU score。即就是用同一个prediction值即代表classification score又代表IoU score
目前目标检测的标准框有时候会存在标注的不确定性(或噪声),如下图所示。而目前常用的bbox优化方式是优化Dirac分布(具体什么是Dirac分布后续会介绍)。
但是Dirac分布过于固定,不能解决uncertain的问题,因此有人提出了Gaussian 分布。
但是作者认为Gaussian分布过于理想,不能适应于复杂的现实情况。
Contribution2
因此,作者提出了不依赖于任何先验的潜在分布优化(underlying distribution)
Method Quality Focal Loss
在上一节,我们介绍了作者使用同一个prediction score来同时表示classification score和IoU score,那么优化该值的时候真值应该是什么呢?作者选择IoU值作为优化的真值,由于IoU是一个[0,1]之间的连续值。而传统的focal loss优化的目标是{0, 1}这样的离散值。因此该loss更加泛化一点(general)
Quality Focal Loss就是上述的更加泛化的FocalLoss,其定义如下所示
上述公式的后部分是展开形式的交叉熵,系数是adaptive的,当预测是和真值接近的时候,系数小,当远的时候系数大。
Distribution Focal Loss
在本节我们主要介绍以下何为Distribution,以及我们的Distribution Focal Loss。
先看为什么是Distribution?传统的BBox regression即就是直接优化两个值,让pred_w接近真值的w。
换个角度看,假设我们预测的值为pred_w, 我们直接优化pred_w接近w,那么我们就相当于让pred_w出现的概率是1.0。这即就是Dirac Distribution,其如下图所示。
也就是说我们最终的预测值是对所有y可能出现的值计算积分。也就如下公式所示。
接下来在看我们的Distribution Focal Loss, 有上式可知,上式是比Dirac更加泛化的形式。因此本文用上式来计算预测的y^。预测y^之前我们需要先清楚两点
连续值的积分是不好实现的,我们可以用离散值的求和来代替
有了上述两个条件,我们可以得到pred^的计算公式如下所示。
得到上述的y的预测值后,我们如何去优化呢?因为我们知道y^是接近y的,因此我们需要让int(y)和int(y)+1的prob最大。因此就可以对应下面的公式。
Discussion GIoU 是否必须? 根据总的Loss定义,我们发现GIoU貌似不是必须,因为通过 distribution focal loss也可以起到bbox优化的目的。因此我们做了对比实验,发现取消GIoU loss会带来小幅度的指标下降。 别的应用场景 数据分类(带有噪声)。针对每个类,我们将其拆分成N份(0., 0.1, 0.2, …, 1.0),分别预测每一份的概率,然后求和,即为最终该类别的概率。 distribution的意义 分布越陡峭,证明越确定,否则越不确定。 06 参考文献 1.Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[J]. arXiv preprint arXiv:1506.01497 , 2015. 2. Law H, Deng J. Cornernet: Detecting objects as paired keypoints[C]//Proceedings of the European conference on computer vision (ECCV). 2018 : 734 -750. 3. Tian Z, Shen C, Chen H, et al. Fcos: Fully convolutional one-stage object detection[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019 : 9627 -9636. 4. Rezatofighi H, Tsoi N, Gwak J Y, et al. Generalized intersection over union : A metric and a loss for bounding box regression[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019 : 658 -666. 5. Zheng Z, Wang P, Liu W, et al. Distance-IoU loss: Faster and better learning for bounding box regression[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2020 , 34 (07 ): 12993 -13000. 6. Li X, Wang W, Wu L, et al. Generalized focal loss: Learning qualified and distributed bounding boxes f
往期回顾
基础知识
【CV知识点汇总与解析】|损失函数篇
【CV知识点汇总与解析】|激活函数篇
【CV知识点汇总与解析】| optimizer和学习率篇
【CV知识点汇总与解析】| 正则化篇
【CV知识点汇总与解析】| 参数初始化篇
【CV知识点汇总与解析】| 卷积和池化篇 (超多图警告)
【CV知识点汇总与解析】| 技术发展篇 (超详细!!!)
最新论文解析
NeurIPS2022 Spotlight | TANGO:一种基于光照分解实现逼真稳健的文本驱动3D风格化
ECCV2022 Oral | 微软提出UNICORN,统一文本生成与边框预测任务
NeurIPS 2022 | VideoMAE:南大&腾讯联合提出第一个视频版MAE框架,遮盖率达到90%
NeurIPS 2022 | 清华大学提出OrdinalCLIP,基于序数提示学习的语言引导有序回归
SlowFast Network:用于计算机视觉视频理解的双模CNN
WACV2022 | 一张图片只值五句话吗?UAB提出图像-文本匹配语义的新视角!
CVPR2022 | Attention机制是为了找最相关的item?中科大团队反其道而行之!
ECCV2022 Oral | SeqTR:一个简单而通用的 Visual Grounding网络
如何训练用于图像检索的Vision Transformer?Facebook研究员解决了这个问题!
ICLR22 Workshop | 用两个模型解决一个任务,意大利学者提出维基百科上的高效检索模型
See Finer, See More!腾讯&上交提出IVT,越看越精细,进行精细全面的跨模态对比!
MM2022|兼具低级和高级表征,百度提出利用显式高级语义增强视频文本检索
MM2022 | 用StyleGAN进行数据增强,真的太好用了
MM2022 | 在特征空间中的多模态数据增强方法
ECCV2022|港中文MM Lab证明Frozen的CLIP 模型是高效视频学习者
ECCV2022|只能11%的参数就能优于Swin,微软提出快速预训练蒸馏方法TinyViT
CVPR2022|比VinVL快一万倍!人大提出交互协同的双流视觉语言预训练模型COTS,又快又好!
CVPR2022 Oral|通过多尺度token聚合分流自注意力,代码已开源
CVPR Oral | 谷歌&斯坦福(李飞飞组)提出TIRG,用组合的文本和图像来进行图像检索