当前位置:网站首页>2022 ICLR | CONTRASTIVE LEARNING OF IMAGE- AND STRUCTURE BASED REPRESENTATIONS IN DRUG DISCOVERY
2022 ICLR | CONTRASTIVE LEARNING OF IMAGE- AND STRUCTURE BASED REPRESENTATIONS IN DRUG DISCOVERY
2022-06-13 04:21:00 【发呆的比目鱼】
CONTRASTIVE LEARNING OF IMAGE- AND STRUCTURE BASED REPRESENTATIONS IN DRUG DISCOVERY

CLOOME:一个基于多模态对比学习的分子表征工具
本文章是约翰·开普勒林茨大学Ana Sanchez-Fernandez 团队最新发表在ICLR 2022,其主要内容:此前,对比学习方法CLIP和CLOOB就已经证明,当在多个模态数据上进行训练时,学习到的表征可以高度迁移到大量不同的任务中去。在药物发现领域,分子图像和化学结构是类似的多模态数据集,目前还没有在这两者上做对比学习的工作,这种方法在标签成本高昂的药物发现领域极具研究价值。因此该工作从易获取的分子显微图像和结构入手,提出一种基于CLOOB(Contrastive Leave One Out Boost)的新的对比学习方法——CLOOME(Contrastive Leave One Out Boost for Molecule Encoders)。通过对分子活性预测任务进行线性探测,证明了该方法可迁移表征的能力,此外,这种表征同样可以用于生物异构的替代任务。
方法
该工作从分子的显微图像和化学结构数据对中对比学习分子的表征,以获得高度可迁移的分子编码器(如图1所示)。CLOOME相比于传统分子编码器或手工提取分子特征,其最大的创新在于能在没有活性分子数据的输入或者人工先验知识的情况下优化分子的表征。
训练数据由N对扰动分子细胞显微镜图像和分子化学结构组成: { ( x 1 , z 1 ) , . . . ( x n , z N ) } \{(x_1,z_1),...(x_n, z_N)\} { (x1,z1),...(xn,zN)}。假设自适应图像编码器 h x ( . ) h^x(.) hx(.)和自适应结构编码器 h z ( . ) h^z(.) hz(.)可以将图像和化学结构分别映射到 e m b e d d i n g x n = h x ( x n ) embedding x_n=h^x(x_n) embeddingxn=hx(xn)和 z n = h z ( z n ) z_n=h^z(z_n) zn=hz(zn)。如图1(a),将堆叠的显微图像的embeddings(即经过图片编码器编码后的特征)记为 X = ( x 1 , . . . x N ) X=(x_1,...x_N) X=(x1,...xN),经过结构编码器的embeddings记为 z = { z 1 … , z N } z=\{z_1…,z_N\} z={ z1…,zN}。对比学习的目标旨在提高匹配对的相似度,降低不匹配对的相似度。该目标通常通过最小化InfoNCE损失以最大化嵌入的相互信息来实现:
L i n f o N C B = − 1 N ∑ i = 1 N I n e x p ( τ − 1 x i T z i ) ∑ j = 1 N e x p ( τ − 1 x i T z j ) − 1 N ∑ i = 1 N l n e x p ( τ − 1 x i T z i ) ∑ j = 1 N e x p ( τ − 1 x j T z i ) L_{infoNCB}=-\frac{1}{N}\sum_{i=1}^{N}{In \frac{exp(\tau^{-1}x^T_iz_i)}{\sum^N_{j=1}exp(\tau^{-1}x^T_iz_j)} -\frac{1}{N}\sum_{i=1}^{N}{ln \frac{exp(\tau^{-1}x^T_iz_i)}{\sum^N_{j=1}exp(\tau^{-1}x_j^Tz_i)}}} LinfoNCB=−N1i=1∑NIn∑j=1Nexp(τ−1xiTzj)exp(τ−1xiTzi)−N1i=1∑Nln∑j=1Nexp(τ−1xjTzi)exp(τ−1xiTzi)
但使用这种InfoLoss容易过度呈现部分特征,而其他特征被忽略。因此本工作以CLOOB为基础进行对比学习的优化。
CLOOB方法。首先从存储的图像嵌入 U U U和结构嵌入 V V V中检索图像嵌入和结构嵌入, U x i U_{x_i} Uxi, U z i U_{z_i} Uzi;分别表示图像检索到的图像嵌入和结构嵌入,与CLOOB类似,利用modern Hopfield 网络进行检索:
U x i = U s o f t m a x ( β U T x i ) V x i = V s o f t m a x ( β V T x i ) U z i = U s o f t m a x ( β U T z i ) V z i = V s o f t m a x ( β V T z i ) U_{x_i} = U softmax(\beta U^Tx_i) \\ V_{x_i}=V softmax(\beta V^Tx_i) \\ U_{z_i}=U softmax(\beta U^Tz_i) \\ V_{z_i}=V softmax(\beta V^Tz_i) \\ Uxi=Usoftmax(βUTxi)Vxi=Vsoftmax(βVTxi)Uzi=Usoftmax(βUTzi)Vzi=Vsoftmax(βVTzi)
然后,将InfoLOOB损失作为目标函数:
显微镜图像编码器显微图像与自然图像存在着些许差异,比如染色会影响图像通道数,本文所有实验都采用5个输入通道的ResNet-50作为编码器,并将显微镜图像缩小到320*320。
分子结构编码器 CLOOME使用基于描述符的全连接网络。此外,经过了适当池化操作的图神经网络、消息传递神经网络或基于序列的神经网络都能作为结构编码器。
结果

图 2. 检索任务结果示例。给定一张显微图片,CLOOME能从数个分子结构中检索到与显微图片对应的分子结构(图中蓝色框为匹配到的分子结构)。CLOOME可用于提取可对处理过的细胞产生类似生物效应的分子,即生物异构体。
边栏推荐
- 记录一次排查问题的经过——视频通话无法接起
- Redis
- CTFSHOW SQL注入篇(211-230)
- SCM: introduction to Modbus communication protocol
- Redis
- Tree array explanation
- Webpack system learning (VIII) how contenthash can prevent browsers from using cache files
- Online audio adjustment technology summary
- Redis数据持久化
- How to use debounce in lodash to realize anti shake
猜你喜欢

1.4.2 Capital Market Theroy
![[flutter problem Series Chapter 67] the Solution to the problem of Routing cannot be jumped again in in dialog popup Using get plug - in in flutter](/img/59/0d95619ee3bba1f8992d90267d45c2.png)
[flutter problem Series Chapter 67] the Solution to the problem of Routing cannot be jumped again in in dialog popup Using get plug - in in flutter

Common encryption and decryption function encapsulation - AES encryption and decryption

Single chip microcomputer: a/d differential input signal

How to use debounce in lodash to realize anti shake

CTFSHOW SQL注入篇(211-230)

高等数学(第七版)同济大学 习题1-3 个人解答

Real time question answering of single chip microcomputer / embedded system

【自动化测试】关于unittest你需要知道的事

第007天:go语言字符串
随机推荐
How to use debounce in lodash to realize anti shake
Redis hyperloglog cardinality statistics algorithm
【LeetCode】860. Change with lemonade (2 brushes for wrong questions)
knife4j aggregation 2.0.9支持路由文档自动刷新
120. 三角形最小路径和-动态规划
出现Could not find com.scwang.smart:refresh-layout-kernel:2.0.3.Required by: project :app 无法加载第三方包情况
Single chip microcomputer: a/d differential input signal
Principle and control program of single chip microcomputer serial port communication
VGA display based on de2-115 platform
Dagger2学习之Module的应用(二)
重读经典:《End-to-End Object Detection with Transformers》
Analysis of the implementation principle of an open source markdown to rich text editor
XOR prefix and +map maintenance
【Flutter 問題系列第 67 篇】在 Flutter 中使用 Get 插件在 Dialog 彈窗中不能二次跳轉路由問題的解决方案
MCU: pcf8591 hardware interface
Knife4j aggregation 2.0.9 supports automatic refresh of routing documents
Single chip microcomputer: main index of a/d (analog-to-digital conversion)
Google Chrome browser reports an error: net:: err_ BLOCKED_ BY_ CLIENT
Time format method on the official demo of uniapp
Unity Shader 学习 004-Shader 调试 平台差异性 第三方调试工具