原文标题:SwinOCSR: end-to-end optical chemical structure recognition using a Swin Transformer

代码:GitHub - suanfaxiaohuo/SwinOCSR

2022年7月1日发表,华东理工大学的李洪林团队。使用Swin transformer作为backbone,提取图像特征,并引入Transformer,将提取到的的化学信息转换为DeepSMILES

光学化学结构识别(OCSR)将化合物的化学结构信息转换为机器可读的格式。化学结构通常是图像格式,如JPEG、PNG和GIF。早期方法通常使用基于规则的方法来识别分子图,这些方法有一定缺点(如当分子图包含模糊或不常见的表示时,基于规则的系统将变得难以解释)一个基于规则的系统的各种识别组件是相互依赖的,这使得进一步的改进极其难以实现。

OCSR任务的两个主要挑战是化学结构中复杂的化学模式和长依赖的化学表示。

一、模型

1、Backbone

健壮的backbone对于OCSR任务很重要。

分子图像被分割为不重叠的patches,patch大小为4×4。线性embeddding层将该原始值特征投影到192维,并使用Swin-tranformer基本块提取特征信息(由W-MSA和SW-MSA模块组成)

为了构建一个序列作为编码器输入,强化空间维度的特征,得到一个表示化学结构信息的序列Sb

2、Transformer Encoder

由positional encoding和六个标准的transformer encoder层组成(多头注意力+ MLP+残差结构)

3、Transformer Decoder

由position decoder、六个标准的transformer decoder、MLP层和softmax层组成

二、数据集

850万份的PubChem结构(1-850万份的PubChem索引),并获得了6,987,630个独特的SMILES。基于这些SMILES,构建了一个包含500万个分子的数据集,它由四类分子数据组成,每种分子数据包含125万个分子。

Token: c, 6,), C,=, O, N, S, l, s, 5, B, r, n,[, H,+,], %, 1, 0, /, \, R, F, #, 4, (, 9, -, @, L, 3, 8, 2, ’, G, a, 7,Z,., P, t, Y, o, A, X, i, J, q, x, Q, m, b, d, E, w, I, V, z, e, M,,,D, K, p, v, h, y, u, g, k, T, W, U, f.

三、训练

每类别以18:1:1的比例随机分训练、验证和测试。

四个指标来定量评估:准确性,Tanimoto、BLEU和ROUGE

batch-size = 256,(224×224像素)。Adam优化器,初始学习率为5e−4,embedding维数为256。backbone网络和transformer网络分别对学习速率调度器使用余弦衰减和step衰减。损失函数采用标准交叉熵(CE)损失

1、backbone对比实验

三种backbone训练CE损失曲线如图9。模型(使用Swin transformer为骨干)的损失值小于ResNet50、EfcientNet-b3,说明模型具有更快的收敛速度。

这里对比Resnet50是Image2SMILES的backbone,EfficientNet是DECIMER1.0的backbone。已经发过,链接如下:

Image2SMILES:Chemistry Methods | Image2SMILES+: Transformer-Based Molecular Optical Recognition Engine_羊飘的博客-CSDN博客

DECIMER1.0:2021J Cheminform | DECIMER 1.0+: deep learning for chemical image recognition using transformers_羊飘的博客-CSDN博客

在所有情况下的准确性和BLEU评分方面仍然优于其他两种(ResNet-50、EfficientNet-B3)模型。

2、损失对比实验

使用CE损失作为损失函数时,token分布影响了模型的性能。因此采用MFL(multi-label focal loss)

在测试集上的性能。显然,使用MFL的损失函数在四个指标上都优于CE。

Token分布:

Multi-label focal loss:

αi为第i类的加权因子,第γ类为focusing parameter。

四、性能实验

1、分析SwinOCSR对不同分子类别的预测性能。分别根据准确性对测试集中的四个数据类别进行了评价:

第1类和第2类低于第3类和第4类。这表明SwinOCSR在有取代基的数据上表现稍好。其原因是取代基将在分子图中被明确地重现。

2、分析DeepSMILES字符串长度的预测性能,将测试集的DeepSMILES字符串划分为以下长度范围:[1,25]、[26,50]、[51,75]、[76,100]分析范围内的精度作为性能指标。

DeepSMILES越长,模型需要解码的时间就越多,而且发生错误的可能性就越大。

SwinOCSR在[1,75]时保持稳定,在[76,100]时略有下降。SwinOCSR适应DeepSMILES字符串长度的变化。即使在最低范围的[76,100],仍然94.76%的准确率,这表明它具有对具有长DeepSMILES串的大分子的识别能力。

3、真实数据集,构建了一个小的真实出现的test集,并在该测试集上进行了实验。小的真实世界测试包括100张图像及其相应的手动标记的SMILES。结果如表6所示。模型达到了25%的准确率,并且模型在真实世界的测试集上的性能并不令人满意。

在真实测试集上的性能不佳可能是由以下三个因素造成的:

(1)从文献中得到的图像比较模糊,而CDK生成的图像更清晰。

(2)从文献中得到的图像更复杂,而CDK生成的图像更规则。

(3)虽然典型的分子SMILES确保了分子独特的SMILES表征,但对于特定的分子却没有独特的化学结构表征。在通过不同的化学程序生成图像时,有很多种图像样式。一些压缩结构公式,如NH,默认以CDK生成的图像展开,而其他压缩结构公式,如NO、二氧化氮、CF3、甲基等,默认不展开,所以如果改变了相应的样式,图像将会被更改。

五、总结

端到端化学结构图像识别方法,即SwinOCSR,该方法可以直接识别原始的化学结构图,而无需制定人工特征。与现有的以cnn为骨干的方法相比,它获得了98.58%的高准确率、优越的性能和收敛速度快。它在识别长序列方面也表现良好,特别是在识别含有取代基的化学结构方面。实验结果表明,SwinOCSR可以单独提取化学结构的关键特征,并捕获化学结构图与DeepSMILES之间的对应关系。

在未来,将扩展数据集,包括尽可能多的低分辨率和复杂的化学结构风格。

J Cheminform2022 | SwinOCSR+:基于Swin Transformer的end-to-end光学化学结构识别相关推荐

  1. 【CV】SwinIR:使用 Swin Transformer 进行图像恢复

    论文名称:SwinIR: Image Restoration Using Swin Transformer 论文下载:https://arxiv.org/abs/2108.10257 论文年份:ICC ...

  2. nnFormer (Not-aNother transFORMER): 基于交叉Transformer结构的3D医疗影像分割网络

    关注公众号,发现CV技术之美 文章链接:https://arxiv.org/abs/2109.03201 开源代码和模型:https://github.com/282857341/nnForme ▊  ...

  3. Swin Transformer升级版来了!30亿参数,刷榜多项视觉任务,微软亚研原班人马打造...

    视学算法报道 编辑:杜伟.陈萍 微软亚洲研究院升级了 Swin Transformer,新版本具有 30 亿个参数,可以训练分辨率高达 1,536×1,536 的图像,并在四个具有代表性的基准上刷新纪 ...

  4. 《预训练周刊》第29期:Swin Transformer V2:扩大容量和分辨率、SimMIM:用于遮蔽图像建模的简单框架...

    No.29 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 本期周刊,我们选择了10篇预训练相关的论文,涉及图像处理.图像屏蔽编码.推荐系统.语言模型解释.多模态表征.多语言建模.推 ...

  5. 当Swin Transformer遇上DCN,效果惊人!

    来源:机器之心 Transformer 近来在各种视觉任务上表现出卓越的性能,感受野赋予 Transformer 比 CNN 更强的表征能力.然而,简单地扩大感受野会引起一些问题.一方面,使用密集注意 ...

  6. 【知乎热议】如何看待swin transformer成为ICCV2021的 best paper?

    编辑:深度学习技术前沿 转载请注明来源,谢谢! [导读]今年ICCV2021, 在所有被接收的论文中,来自中国的论文数量占比最高,达到了 43.2%,约为第二位美国(23.6%)的两倍.中国学者凭借S ...

  7. 超越Swin Transformer!谷歌提出了收敛更快、鲁棒性更强、性能更强的NesT

    [导读]谷歌&罗格斯大学的研究员对ViT领域的分层结构设计进行了反思与探索,提出了一种简单的结构NesT,方法凭借68M参数取得了超越Swin Transformer的性能. 文章链接:htt ...

  8. 【深度学习】Swin Transformer结构和应用分析

    [深度学习]Swin Transformer结构和应用分析 文章目录 1 引言 2 Swin Transformer结构 3 分析3.1 Hierarchical Feature Representa ...

  9. Swin Transformer对CNN的降维打击

    一.前言 一张图告诉你Transformer现在是多么的强!几乎包揽了ADE20K语义分割的前几名! 该文章详细解读Swin-transformer的相关内容以及高明之处.看完学不会,你在评论区打我! ...

最新文章

  1. 开始接触QM(Quality Management)
  2. 确认对话框ConfirmDialog和选择对话框OptionDialog
  3. 脑机接口可以实时从脑电波中重建人脑中的图片?
  4. Android中Activity总结
  5. 机器学习第三篇:详解朴素贝叶斯算法
  6. P4336-[SHOI2016]黑暗前的幻想乡【矩阵树定理,容斥】
  7. VisualVM远程连接Linux服务器通过jstatd方式监控JVM内存状态
  8. 【数据仓库】数据仓库设计前如何粗估所需的存储空间大小?
  9. 从外部访问Kubernetes集群中的应用
  10. 家庭用计算机音响,7.1声道THX家庭影院音箱摆位计算器
  11. 别踩白块儿游戏代码html,别踩白块儿.html · 知足常乐大哥哥/not-step-on-white-block - Gitee.com...
  12. 计算机网络应用基础总结,(完整版)计算机网络应用基础高教版对口高考复习资料总结...
  13. 阿里云RDS的内存一直增加
  14. 关于apapche aurora rpm包
  15. Android 音视频编解码 MediaCodec
  16. WordPress独立下载页面插件
  17. 使用WebGL绘制流动虚线
  18. 《蟋蟀的xss淫荡教程之如何劫持OSC用户账号》
  19. 入侵检测——nbtscan(扫描篇)
  20. 基于Android Studio的记账类app开发

热门文章

  1. 培养管理时间的好习惯
  2. JavaScript-ECMA5严格模式,以及JavaScript-ECMA5严格模式新增数组方法
  3. 安装ubuntu成功后不能重启(nomodeset)躺坑记录acpi int3400:00:Unsupported event
  4. Unity粒子特效图文翻译
  5. 在js中用图片显示当前时间
  6. Computex 2017:浦科特发布M9Pe硬盘,64层堆栈3D NAND闪存
  7. MySQL索引之全文索引(FULLTEXT)之In boolean mode
  8. gatling搭建与使用
  9. CGAL WLOP(加权局部最优投影)简化算法
  10. 2021-09-01[ZJCTF 2019]NiZhuanSiWei