Taobao 开发板商城 whaosoft aiot http://143ai.com 天皓智联 视觉合集
##图神经网络
一种基于广义模板的图神经网络,用于准确的有机反应性预测
化学反应性的可靠预测仍属于知识渊博的合成化学家。通过使用人工智能使这一过程自动化可以加速未来数字实验室的合成设计。虽然几种机器学习方法已显示出可喜的结果,但大多数当前模型都偏离了人类化学家基于电子变化分析和预测反应的方式。
在这里,韩国科学技术院(KAIST)的研究人员提出了一种化学驱动的图神经网络,称为 LocalTransform,它基于广义反应模板学习有机反应性,以描述反应物和产物之间电子配置的净变化。(竟然是棒子推出的...... 在这里鄙视一下)
所提出的概念大大减少了反应规则的数量,并展示了最先进的产品预测准确性。除了通用反应模板的内置可解释性外,该模型的高分准确度相关性允许用户评估机器预测的不确定性。
该研究以「A generalized-template-based graph neural network for accurate organic reactivity prediction」为题,于 2022 年 9 月 15 日发布在《Nature Machine Intelligence》。
预测有机反应结果是化学中的一个基本问题。基于有机化学的成熟直觉,化学家现在能够设计实验来制造用于不同目的的新分子。但是,它需要经验丰富的专业化学家来准确预测化学反应的结果。为了进一步帮助有机化学家并在数字化学时代实现全自动发现,智能机器智能可以准确预测有机反应的结果,可以大大加快新分子的设计过程。
最近,已经提出了几种基于机器学习的方法来预测有机反应结果,但仍然需要改进的反应预测模型才能达到足够的准确性,与普通有机化学家相当或更好。特别是,由于几种基于模板的方法的覆盖范围和可扩展性问题,科学家们提出了使用基于序列的模型或基于图的模型的无模板方法。
无模板方法中使用的方法可以进一步分为基于序列和基于图的方法。在基于序列的方法中,由 Schwaller 团队开发的 Molecular Transformer 及其变体被开发用于通过使用语言翻译模型将给定反应物的简化分子输入线输入系统(SMILES)翻译成产物。
在基于图的方法中,ELECTRO(an electron path prediction model) 和 MEGAN(Molecule Edit Graph Attention Network)以自回归方式预测来自反应物的产物,而 WLDN(Weisfeiler-Lehman Difference Network)、Symbolic 和 NERF(Non-autoregressive Electron Redistribution Framework)通过直接预测产物中键或电子的最终状态来预测从给定反应物中获得的产物。
虽然目前大多数高效反应预测方法都是无模板的,但是之前基于模板的方法通常性能较低;这并不是因为使用了从数据集中提取的预定义反应规则,而是因为在模板中包含了太多详细信息,因此提取的模板的覆盖率和可伸缩性较低。
尽管之前这些方法在公共反应数据集上表现出一定的准确性,但当前最先进的方法仍然以机械方式预测有机反应的结果,要么翻译化学语言,要么按顺序编辑分子图。相比之下,知识渊博的化学家通常通过识别反应中心并应用所学化学知识(例如命名反应)来预测有机反应性来预测反应产物。
在这里,KAIST 的研究人员设计了广义反应模板(GRT),一种仅描述基于原子映射的反应前后原子构型的局部变化但没有特定原子类型或官能团信息的反应模板,并提出一种名为 LocalTransform 的基于图的机器智能来预测反应产物。
LocalTransform 通过识别反应中心以及要应用的 GRT 来预测反应结果。它通过全局注意力机制学习根据局部化学环境和选择性识别反应原子。
最终反应转化由反应模板分类器预测,该分类器为预测的化学反应中心建议最可能的 GRT。LocalTransform 在预测有机反应性方面的三个重要突破:
1、提议的 GRT 在化学上是直观的和通用的。提取的 GRT 可以描述所有测试反应的 99.7%,而前 100 个最流行的反应模板可以描述所有训练反应的 94.6%,从而解决了以前基于模板的方法的覆盖率和可扩展性问题。
2、研究人员展示了 LocalTransform 有前景的 top-k 产品预测精度,与以前基于图的方法相比有显著改进。
3、由于该模型是一种基于分类的方法,具有很强的分数-准确度相关性,它使用户能够理解不确定性并信任机器的预测。 whaosoft aiot http://143ai.com
尽管该模型中的预测分数非常高,但对实验中几个「错误」预测示例的案例研究表明,有可能进一步检查这些数据以进行额外的管理。该方法的准确性在很大程度上受到反应映射的质量以及数据集中反应的多样性和丰富性的限制。
因此,研究人员期望未来可以通过使用更大的数据集和高质量的原子映射方法(如 Mappet 或 RXNMapper)来进一步改进模型。凭借 LocalTransform 的几个优点,研究人员设想如果在数据集中提供相应的元数据,该模型或可用于预测副产物和反应产率。
论文链接:https://www.nature.com/articles/s42256-022-00526-z
##又一个新框架
号称仅用微调的「成本」,达到预训练的「全能」
如何将现有的图像 - 文本多模态大模型(例如 OpenAI CLIP)用于视频内容理解,是一个非常实用且具有前景的研究课题。它不仅可以充分挖掘图像大模型的潜力,还可以为视频大模型的设计和研究铺平道路。
在视频内容理解领域,为节省计算 / 数据开销,视频模型通常 「微调」图像预训练模型。而在图像领域, 最近流行的语言 - 图像预训练模型展现了卓越的泛化性,尤其是零样本迁移能力。那么人们不禁要问:能否有一种视频模型兼顾「微调」 的高效和 「语言 - 图像预训练」的全能?答案是可以!
为解决此问题,来自微软的研究者提出了将语言 - 图像预训练模型拓展到通用视频识别的方法,在建模时序信息的同时,利用类别标签文本中的语义信息。该方法在 Kinetics-400/600 数据集上分别取得了 87.7% 和 88.3% 的 Top-1 分类准确率,计算量仅为ViViT 和 Video Swin的十几分之一,并且在 few-shot 和 zero-shot 评测上大幅领先其它方法。代码已开源。
-
论文链接:https://arxiv.org/pdf/2208.02816.pdf
-
代码链接:http://aka.ms/X-CLIP
下图 1 为吞吐量和计算量对比的展示。
总的来说,这项工作的亮点包括如下:
-
无需海量视频 - 文本数据:直接将预训练的语言 - 图像模型在下游视频数据集微调,而非从零使用视频 - 文本预训练;
-
利用标签中的语义信息:在视频识别任务中,抛弃了传统离散标签,充分利用每个类别标签中的语义信息并提升了性能;
-
方法简单、高效且通用:无缝衔接至不同的语言 - 图像模型,可用于多种数据分布场景,如全样本、少样本和零样本。
至于视频分类的效果,与其他方法相比,X-CLIP 可用于零样本识别,即用户自定义候选标签,实现对视频内容更精准的描述:
图 2 动作:三只狗在拉雪橇。
图 3 动作:在水池上灌篮。
图 4 动作:更换车轮。
研究动机
最近,语言 - 图像预训练模型(Language-image pretrained models)在计算机视觉领域引起了极大关注。它使用更广泛的文本信息作为监督,打破了传统模型学习固定视觉概念的范式。受益于此,其展示出了强大的迁移能力和泛化能力,在全样本、少样本和零样本分类上取得了卓越的成绩。
现在是一个短视频爆发的时代,现实世界中丰富的概念更是难以被一个固定的封闭集所定义。于是,研究人员和从业人员也希望有一个泛化能力强大的视频模型,能在不同的数据分布场景和不同的概念环境中表现优异。这样的模型会助力于现实世界的许多应用,比如自动驾驶、视频标签、安防监控等。同样,由于视频的获取成本通常更加高昂,少样本和零样本的识别能力也被期待。
但是,如果直接模仿语言 - 图像预训练,使用视频 - 文本预训练会带来以下两个问题:
-
数据困境:需要数以亿计的视频 - 文本数据,但是大量的数据是难以获得的;
-
计算困境:视频的训练通常需要数倍于图像的计算资源,这些资源消耗通常无法承受。
有鉴于此,研究者考虑探索如何将预训练的语言 - 图像模型中的知识迁移到视频领域,而非从零预训练一个语言 - 视频模型。与图像相比,视频增加了时间的维度;与传统视频识别框架相比,研究者引入了文本信息。
因此,研究者需要解决两个关键问题:
-
如何在语言 - 图像预训练模型中建模视频的时序信息?
-
如何利用视频类别标签中的文本信息?
方法概览
针对第一个问题,研究者提出了 Cross-frame Communication Transformer 和 Multi-frame Integration Transformer 模块,在预训练模型中引入时序信息;对于第二个问题,研究者提出了 Video-specific Prompting 机制,用于产生视频自适应的提示信息,充分地利用了类别标签中的文本信息。方法整体框架图如下图 5 所示。
本文中,研究者提出了一种简单高效的视频编码器。该编码器由两部分组成,即 Cross-frame Communication Transformer(CCT)和 Multi-frame Integration Transformer(MIT)。为了避免联合时空建模的高计算量,整体上,CCT 采用各帧独立编码的计算方式。
具体地,对每一帧编码时,动态地生成各自的 message token(如图 6(a)中彩色的圆形部分),携带所在帧的信息,再通过 Cross-frame Fusion Attention 交换不同帧的 message token 携带的信息,弥补了时序信息的缺失。具体地,如图 6(a)所示,在 CCT 的每一个 block 中,我们在 cls token 上施加线性变化得到 message token,每帧的 message token 通过 Cross-frame Fusion Attention(CFA)交换信息,
随后,每一帧的 message token 再回归到所属帧。通过 Intra-frame Diffusion Attention,每一帧内的 spatial tokens 在建模空间信息的同时,吸收了来自 message token 的全局时序信息,
最后,每一帧的 spatial tokens 再经过 FFN 进一步编码信息。为了进一步提升性能,研究者在 CCT 产生的每帧的特征上,额外使用一层 Multi-frame Integration Transformer(MIT)(如图 5)聚合每一帧的信息,产生视频最终的表达。
Cross-frame Fusion Attention 和 MIT 是额外添加的模块并使用随机初始化。Intra-Frame Diffusion Attention 和 FFN 对应于预训练 Vision Transformer 中的 self-attention 和 FFN 部分。值得注意的是,因为帧数(message tokens 的数量)远小于 spatial tokens 的数量,所以 Cross-frame Fusion Attention 和一层 MIT 的计算量远小于 Intra-frame Diffusion Attention, 这样便以较小的计算代价建模了全局的时序信息。
利用标签的语义信息:视频自适应的提示学习
针对第二个问题,提示学习(Prompt learning)主张为下游任务设计一种模板,使用该模板可以帮助预训练模型回忆起自己预训练学到的知识。比如, CLIP[4] 手动构造了 80 个模板,CoOp[5]主张构造可学习的模板。
研究者认为,人类在理解一张图片或视频时,自然地会从视觉内容中寻找有判别性的线索。例如有额外的提示信息「在水中」,那么「游泳」和「跑步」会变得更容易区分。但是,获取这样的提示信息是困难的,原因有二:
-
数据中通常只有类别标签,即「跑步」、「游泳」、「拳击」等名称,缺乏必要的上下文描述;
-
同一个类别下的视频共享相同的标签信息,但它们的关键视觉线索可能是不同。
为了缓解上述问题,研究者提出了从视觉表征中学习具有判别性的线索。具体地,他们提出了视频自适应的提示模块,根据视频内容的上下文,自适应地为每个类别生成合适的提示信息。每个视频的自适应提示模块由一个 cross-attention 和一个 FFN 组成。令文本特征当作 query,视频内容的编码当作 key 和 value,允许每个类别的文本从视频的上下文中提取有用的提示信息作为自己的补充。
最后,使用学习到的提示信息来丰富原本文本信息的表示,使得其具有更强的判别性。
实验结果
研究者在全样本(Fully-supervised)、少样本(few-shot)和零样本(zero-shot)上验证了方法的性能。
在 Kinetics-400 上的实验如下表 1 所示,可以看出 X-CLIP 在 FLOPs 更小的情况下领先于其它方法,这得益于提出的视频编码器的高效性。当和其它使用互联网(Web)规模数据预训练的模型比较时,本文的方法依然有性能优势,这归功于该方法充分挖掘和利用了预训练语言 - 图像模型中的表达能力。
下表 2 展示了少样本情况下的性能,和经典的使用离散标签监督的方法相比,使用文本信息可以大幅提升性能。研究者在消融实验中证明了性能增益更多来自于文本的使用,而非更强的预训练模型。
下表 3 展示了在零样本情况下,提出的方法依然有效。这种显著的改进可以归因于所提出的视频 - 文本学习框架,该框架利用大规模的视觉 - 文本预训练和视频自适应的提示学习。
研究者在消融实验中展示了每个模块的作用,分析了文本信息的必要性,探索了不同数据分布下应该训练哪个分支,比较了不同的 prompts 方法。
参考文献
[1] Arnab, A., Dehghani, M., Heigold, G., Sun, C., Luˇ ci´ c, M., Schmid, C.: Vivit: A video vision transformer. In: ICCV. 2021
[2] Bertasius, G., Wang, H., Torresani, L.: Is space-time attention all you need for video understanding? In: ICML, 2021
[3] Liu, Z., Ning, J., Cao, Y., Wei, Y., Zhang, Z., Lin, S., Hu, H.: Video swin transformer. In CVPR, 2022.
[4] Radford, A., Kim, J.W., Hallacy, C., Ramesh, A., Goh, G., Agarwal, S., Sastry, G., Askell, A., Mishkin, P., Clark, J., et al.: Learning transferable visual models from natural language supervision. In ICML, 2021
[5] Zhou, K., Yang, J., Loy, C.C., Liu, Z.: Learning to prompt for vision-language models. arXiv preprint arXiv:2109.01134 (2021)
# CNN网络结构的发展
本文介绍了十五种经典的CNN网络结构。
CNN基本部件介绍
1. 局部感受野
在图像中局部像素之间的联系较为紧密,而距离较远的像素联系相对较弱。因此,其实每个神经元没必要对图像全局进行感知,只需要感知局部信息,然后在更高层局部信息综合起来即可得到全局信息。卷积操作即是局部感受野的实现,并且卷积操作因为能够权值共享,所以也减少了参数量。
2. 池化
池化是将输入图像进行缩小,减少像素信息,只保留重要信息,主要是为了减少计算量。主要包括最大池化和均值池化。
3. 激活函数
激活函数的用是用来加入非线性。常见的激活函数有sigmod, tanh, relu,前两者常用在全连接层,relu常见于卷积层
4. 全连接层
全连接层在整个卷积神经网络中起分类器的作用。在全连接层之前需要将之前的输出展平
经典网络结构
1. LeNet5
由两个卷积层,两个池化层,两个全连接层组成。卷积核都是5×5,stride=1,池化层使用maxpooling
2. AlexNet
模型共八层(不算input层),包含五个卷积层、三个全连接层。最后一层使用softmax做分类输出
AlexNet使用了ReLU做激活函数;防止过拟合使用dropout和数据增强;双GPU实现;使用LRN
3. VGG
全部使用3×3卷积核的堆叠,来模拟更大的感受野,并且网络层数更深。VGG有五段卷积,每段卷积后接一层最大池化。卷积核数目逐渐增加。
总结:LRN作用不大;越深的网络效果越好;1×1的卷积也很有效但是没有3×3好
4. GoogLeNet(inception v1)
从VGG中我们了解到,网络层数越深效果越好。但是随着模型越深参数越来越多,这就导致网络比较容易过拟合,需要提供更多的训练数据;另外,复杂的网络意味更多的计算量,更大的模型存储,需要更多的资源,且速度不够快。GoogLeNet就是从减少参数的角度来设计网络结构的。
GoogLeNet通过增加网络宽度的方式来增加网络复杂度,让网络可以自己去应该如何选择卷积核。这种设计减少了参数 ,同时提高了网络对多种尺度的适应性。使用了1×1卷积可以使网络在不增加参数的情况下增加网络复杂度。
Inception-v2
在v1的基础上加入batch normalization技术,在tensorflow中,使用BN在激活函数之前效果更好;将5×5卷积替换成两个连续的3×3卷积,使网络更深,参数更少
Inception-v3
核心思想是将卷积核分解成更小的卷积,如将7×7分解成1×7和7×1两个卷积核,使网络参数减少,深度加深
Inception-v4结构
引入了ResNet,使训练加速,性能提升。但是当滤波器的数目过大(>1000)时,训练很不稳定,可以加入activate scaling因子来缓解
5. Xception
在Inception-v3的基础上提出,基本思想是通道分离式卷积,但是又有区别。模型参数稍微减少,但是精度更高。Xception先做1×1卷积再做3×3卷积,即先将通道合并,再进行空间卷积。depthwise正好相反,先进行空间3×3卷积,再进行通道1×1卷积。核心思想是遵循一个假设:卷积的时候要将通道的卷积与空间的卷积进行分离。而MobileNet-v1用的就是depthwise的顺序,并且加了BN和ReLU。Xception的参数量与Inception-v3相差不大,其增加了网络宽度,旨在提升网络准确率,而MobileNet-v1旨在减少网络参数,提高效率。
6. MobileNet系列
V1
使用depthwise separable convolutions;放弃pooling层,而使用stride=2的卷积。标准卷积的卷积核的通道数等于输入特征图的通道数;而depthwise卷积核通道数是1;还有两个参数可以控制,a控制输入输出通道数;p控制图像(特征图)分辨率。
V2
相比v1有三点不同:1.引入了残差结构;2.在dw之前先进行1×1卷积增加feature map通道数,与一般的residual block是不同的;3.pointwise结束之后弃用ReLU,改为linear激活函数,来防止ReLU对特征的破环。这样做是因为dw层提取的特征受限于输入的通道数,若采用传统的residual block,先压缩那dw可提取的特征就更少了,因此一开始不压缩,反而先扩张。但是当采用扩张-卷积-压缩时,在压缩之后会碰到一个问题,ReLU会破环特征,而特征本来就已经被压缩,再经过ReLU还会损失一部分特征,应该采用linear。
V3
互补搜索技术组合:由资源受限的NAS执行模块集搜索,NetAdapt执行局部搜索;网络结构改进:将最后一步的平均池化层前移并移除最后一个卷积层,引入h-swish激活函数,修改了开始的滤波器组。
V3综合了v1的深度可分离卷积,v2的具有线性瓶颈的反残差结构,SE结构的轻量级注意力模型。
7. EffNet
EffNet是对MobileNet-v1的改进,主要思想是:将MobileNet-1的dw层分解层两个3×1和1×3的dw层,这样 第一层之后就采用pooling,从而减少第二层的计算量。EffNet比MobileNet-v1和ShuffleNet-v1模型更小,进度更高。
8. EfficientNet
研究网络设计时在depth, width, resolution上进行扩展的方式,以及之间的相互关系。可以取得更高的效率和准确率。
9. ResNet
VGG证明更深的网络层数是提高精度的有效手段,但是更深的网络极易导致梯度弥散,从而导致网络无法收敛。经测试,20层以上会随着层数增加收敛效果越来越差。ResNet可以很好的解决梯度消失的问题(其实是缓解,并不能真正解决),ResNet增加了shortcut连边。
10. ResNeXt
基于ResNet和Inception的split+transform+concate结合。但效果却比ResNet、Inception、Inception-ResNet效果都要好。可以使用group convolution。一般来说增加网络表达能力的途径有三种:1.增加网络深度,如从AlexNet到ResNet,但是实验结果表明由网络深度带来的提升越来越小;2.增加网络模块的宽度,但是宽度的增加必然带来指数级的参数规模提升,也非主流CNN设计;3.改善CNN网络结构设计,如Inception系列和ResNeXt等。且实验发现增加Cardinatity即一个block中所具有的相同分支的数目可以更好的提升模型表达能力。
11. DenseNet
DenseNet通过特征重用来大幅减少网络的参数量,又在一定程度上缓解了梯度消失问题。
12. SqueezeNet
提出了fire-module:squeeze层+expand层。Squeeze层就是1×1卷积,expand层用1×1和3×3分别卷积,然后concatenation。squeezeNet参数是alexnet的1/50,经过压缩之后是1/510,但是准确率和alexnet相当。
13. ShuffleNet系列
V1
通过分组卷积与1×1的逐点群卷积核来降低计算量,通过重组通道来丰富各个通道的信息。Xception和ResNeXt在小型网络模型中效率较低,因为大量的1×1卷积很耗资源,因此提出逐点群卷积来降低计算复杂度,但是使用逐点群卷积会有副作用,故在此基础上提出通道shuffle来帮助信息流通。虽然dw可以减少计算量和参数量,但是在低功耗设备上,与密集的操作相比,计算、存储访问的效率更差,故shufflenet上旨在bottleneck上使用深度卷积,尽可能减少开销。
V2
使神经网络更加高效的CNN网络结构设计准则:
输入通道数与输出通道数保持相等可以最小化内存访问成本
分组卷积中使用过多的分组会增加内存访问成本
网络结构太复杂(分支和基本单元过多)会降低网络的并行程度
element-wise的操作消耗也不可忽略
14. SENet
15. SKNet
#
-------