AIDD-人工智能药物设计-化学自然语言引导的扩散式类药分子编辑:DiffIUPAC的魔法之旅

news2025/1/16 14:44:27

J. Pharm. Anal. | 化学自然语言引导的扩散式类药分子编辑:DiffIUPAC的魔法之旅

AIDD药研.

制药工程和生命科学背景,重点关注于计算机辅助药物设计(CADD)/药物筛选、分子动力学模拟MD,兽药信息学VetInformatics,数据库分享,RNA/蛋白质结构预测。

亲爱的读者们,今天让我们一起踏上一段充满魔法与科学的旅程,探索化学自然语言与人工智能如何联手,开启药物发现的新篇章。想象一下,化学家们就像拥有了哈利·波特的魔法棒,可以用人类的语言直接“召唤”出全新的分子。这一切都要归功于一个名为 DiffIUPAC 的神奇模型。

一、背景:化学界的“语言障碍”

在化学世界里,我们有几种主要的“语言”,它们在不同的应用场景下发挥着重要作用:

  • 化学自然语言(IUPAC 名称):这是化学家用于命名化合物的正式语言,类似于人类的母语,易于理解和修改,能够描述化合物的详细结构信息,方便交流和沟通。
  • 化学语言(SMILES 字符串):这是计算机理解的“代码语言”,方便机器处理,但对于人类来说,就像在读外星文字。SMILES(简洁分子输入线性表记法)通过字符描述分子的结构,适用于机器学习和化学信息学应用。
  • SMARTS 语言:SMARTS 是 SMILES 的扩展,允许化学家表达分子模式的匹配规则,常用于子结构搜索和相似性比较,支持复杂的查询和模式匹配。
  • Sybyl Line Notation(SLN):SLN 是一种描述分子和反应的灵活语言,支持更复杂的分子描述和属性注释,通常用于分子数据库和化学信息管理系统。
  • InChI(国际化学标识符):InChI 基于 IUPAC 标准的文本标识符,能够唯一地描述分子的结构。与 SMILES 相比,InChI 更标准化,适合用于数据库存储和分子查找。

这些语言在化学信息学领域中各有用途。IUPAC名称更贴近人类语言,而SMILES、SMARTS、InChI等则更适合计算机处理和化学库的搜索。DiffIUPAC的主要涉及IUPAC名称和SMILES字符串之间的转换,但其潜力也可以扩展到其他化学语言的互相转换中图1。

图片

图1.同一分子的IUPAC名称和SMILES 之间的差异的视觉表示

然而,这些语言之间的“翻译”一直是个难题。传统的生成模型主要关注分子的 2D 或 3D 结构,对序列(语言)级别的研究较少。而 IUPAC 名称虽然更接近人类语言,但直接用于深度学习模型却存在挑战。

二、DiffIUPAC:魔法翻译器的诞生

为了破解这个难题,研究人员提出了 DiffIUPAC,一个基于 IUPAC 名称引导的条件扩散模型,能够将化学自然语言转换为化学语言(SMILES 字符串)。这就像给化学家们配备了一个实时翻译器,可以将他们的想法直接传达给计算机。

1. 模型原理:从噪声中提取信号

DiffIUPAC 基于 扩散模型,而扩散模型是近年来生成式深度学习中的一颗新星。不过,大多数基于扩散的分子生成模型都侧重于二维图形或三维几何图形的建模,对分子序列扩散模型的研究有限。

DiffIUPAC 的工作原理类似于在一幅模糊的图像中逐渐清晰地呈现出细节:

  • 正向扩散过程:将真实的 SMILES 字符串逐步加入随机噪声,直到变得无法识别。
  • 逆向扩散过程:模型学习如何从噪声中一步步去除噪声,恢复出原始的 SMILES 字符串。

通过这种方式,DiffIUPAC 能够从 IUPAC 名称出发,生成对应的 SMILES 字符串。

2. 模型优势:双语精通,灵活编辑

  • 捕捉语义规则:DiffIUPAC 成功地学习了 IUPAC 名称和 SMILES 字符串之间的语义规则,能够准确地进行转换。
  • 可控的分子编辑:用户可以在 IUPAC 名称中指定要修改的部分(用“*”替代),模型会根据这些提示生成新的分子,这在先导化合物优化中非常实用。
  • 生成多样的类药分子:在指定的约束下,DiffIUPAC 能够生成具有不同骨架的多样化类药分子,拓展了药物设计的可能性。

三、方法:从数据准备到模型训练

1. 数据准备与分词

研究人员从 PubChem 数据库获取了大量的分子数据,包括 IUPAC 名称和 SMILES 字符串。经过清洗和筛选,得到符合类药性要求的高质量数据集。

为了处理序列数据,他们设计了一个 基于规则的 IUPAC 分词器,将 IUPAC 名称分解为片段、官能团、亚结构等元素。对于 SMILES 字符串,采用了基于字符的分词方式。

2. 模型架构

DiffIUPAC 采用了 编码器-解码器 Transformer 架构图2,结合了扩散模型的优势:

  • 正向扩散过程:将 SMILES 字符串嵌入到向量空间,逐步加入高斯噪声,直到变成纯随机噪声。
  • 逆向扩散过程:利用 IUPAC 名称作为条件,模型学习如何从噪声中逐步去噪,恢复出 SMILES 字符串
  • 图片
  • 图2.DiffIUPAC 架构
  • (A)分子编辑过程中的预训练、微调和约束。(B)IUPAC命名为条件输入,使用编码器-解码器 Transformer 架构的SMILES 的条件扩散模型。

3. 模型训练

通过最小化真实数据分布与模型生成分布之间的差异,研究人员使用大规模的数据集对模型进行了训练。为了提高效率,他们在高性能计算环境中完成了训练过程。

1. 模型的输入与核心思想
  • 输入形式

    • • 输入为 IUPAC 名称,目标是生成对应的 SMILES 字符串
  • 正向扩散过程

    • • 对真实样本添加逐渐增加的随机高斯噪声,使其过渡到随机分布。
  • 反向扩散过程

    • • 学习参数化的去噪分布,通过逐步采样将纯随机噪声还原为真实的 SMILES 字符串。
  • 训练目标

    • • 最小化观察数据分布的 负对数似然(NLL),以提升生成样本的保真度。
    • • 目标是优化模型对真实数据特征的再现能力。
2. 关键技术点
  • 优化策略

    • • 使用 反向传播的随机梯度下降(SGD) 来最小化变分下限。
  • 时间步嵌入

    • • 将时间步长信息嵌入到噪声样本中,帮助模型区分扩散过程的不同阶段。
    • • 为每个阶段设计定制化的去噪策略,提高了生成的细节精度和整体保真度。
3. 硬件与软件环境
  • 硬件配置

    • • 系统:Ubuntu Linux 20.04 LTS
    • • CPU:Intel Xeon Platinum 8352M @ 2.30 GHz
    • • 内存:228 GB
    • • GPU:单块 NVIDIA A100 80GB
  • 软件环境

    • • 编程语言:Python 3.8
    • • 深度学习框架:PyTorch 1.10.0
4. 模型性能与潜在优势
  • 生成保真度

    • • 通过优化负对数似然和时间步嵌入,有效提高了从随机噪声重建真实 SMILES 字符串的保真度。
    • • 对每一阶段的去噪策略进行了细化,确保了生成结果的可靠性和准确性。
  • 可扩展性

    • • 利用扩散模型的灵活性,可以推广到其他分子生成任务。
  • 高效性

    • • 在 NVIDIA A100 GPU 的加速下,实现了快速的模型训练,满足了大规模分子数据的学习需求。
5. 优化方向与挑战
  • 模型复杂性

    • • 时间步长嵌入的加入虽然提升了性能,但可能增加了模型复杂性,需要额外计算资源。
  • 数据分布偏差

    • • 模型对真实数据分布的拟合效果依赖训练数据的质量和多样性。
  • 推理效率

    • • 反向扩散过程需要多步迭代采样,可能对实时生成任务带来挑战。

训练通过结合扩散模型和时间步长嵌入策略,成功提升了 IUPAC 到 SMILES 转换的生成保真度。硬件和软件环境的高性能支持了模型的高效训练,但在实际应用中,需要进一步优化推理效率以应对更广泛的任务场景。


4. 基线方法

研究人员将 DiffIUPAC 与以下基线方法进行了比较:

1. C5T5
  • 方法概述:C5T5 使用 IUPAC 名称作为分子表示,通过变体条件 Transformer 训练一个自监督的预训练 T5 模型,以实现有机分子的控制生成。

  • 过程

      1. 首先生成新的 IUPAC 名称。
      1. 然后将其转换为 SMILES 字符串。
2. TransAntivirus
  • 方法概述:TransAntivirus 通过连接两个变体条件 Transformer 模型,根据 IUPAC 名称生成 SMILES 字符串。
3. iupacGPT
  • 方法概述:iupacGPT 使用 IUPAC 名称作为分子表示,基于 GPT-2 化学自然模型开发轻量级的分子生成和性质预测模型。
4. DiffSeqMol
  • 方法概述:DiffSeqMol 以 SMILES 字符串作为分子表示,提出了基于扩散模型的分子序列到序列生成模型。

四、结果与讨论:魔法的力量

1. 模型性能评估

研究人员使用了一系列指标对 DiffIUPAC 的性能进行了评估,并与其他模型进行了比较:

  • 有效性(Validity):生成的分子中,有效分子的比例。
  • 新颖性(Novelty):生成的分子中,不在训练集中的比例。
  • 多样性(Diversity):生成分子的结构多样性。
  • Fréchet ChemNet Distance(FCD):评估生成分子与参考集在化学特征上的相似性。

表1.训练后采样 SMILES 字符串的有效性、唯一性、新颖性、FCD 和 IntDiv

ModelValidUnique@1kUnique@10kNoveltyFCD/TestIntDiv
C5T50.9910.9930.9930.9899.1960.894
TransAntivirus0.9990.9990.9990.99910.9470.895
iupacGPT0.6561.0000.9990.9988.3790.889
DiffSeqMol0.9011.0000.9950.9718.1980.857
DiffIUPAC0.9981.0001.0000.99920.5090.872
  • FCD: Fréchet ChemNet Distance
  • IntDiv: Internal Diversity
  • SMILES: Simplified Molecular Input Line Entry System

结果显示表1,DiffIUPAC 在这些指标上均优于基于 IUPAC 名称的深度分子生成模型(C5T5、TransAntivirus 和 iupacGPT)和基于 SMILES 的扩散模型 DiffSeqMol,尤其在捕捉两种化学语言的语义规则方面表现突出。

2. 可控的分子生成

案例一:功能基团编辑

以一种用于癌症免疫治疗的分子 DKY709 为例,其 IUPAC 名称为:

3-[6-(1-benzylpiperidin-4-yl)-3-oxo-1H-isoindol-2-yl]piperidine-2,6-dione

如果我们希望替换其中的 “piperidine-2,6-dione” 部分,可以将其屏蔽为 “*”:

3-[6-(1-benzylpiperidin-4-yl)-3-oxo-1H-isoindol-2-yl]*

**
**

图片

图3.输入编辑过的IUPAC后,模型生成的分子图解

DiffIUPAC 的操作

  • 输入:屏蔽后的 IUPAC 名称。
  • 生成:模型根据输入,生成新的 SMILES 字符串,其中被屏蔽的部分被替换为各种可能的官能团。
  • 结果分析:如图3生成的分子中,指定的子结构保持不变,被屏蔽的部分被化学上可行的官能团替换。这种精确控制分子特定部分的能力,对于化学家在先导化合物优化中的官能团修饰非常有用。

代表性结构

  • • 研究人员展示了多种生成的分子结构,体现了模型在官能团替换上的多样性。

3. 类似物设计

案例二:BCL-xL 抑制剂 A-1331852
  • 背景:A-1331852 是一种通过阻断蛋白-蛋白相互作用(PPI)诱导肿瘤细胞凋亡的抑制剂。

  • 操作步骤

    • 屏蔽 IUPAC 名称的特定部分:例如,将 “(1,3-苯并噻唑-2-基氨基甲酰基)” 和 “[1-(1-金刚烷基甲基)-5-甲基吡唑-4-基]” 屏蔽为 “*”图4A。
    • 生成新分子:利用 DiffIUPAC 生成 3,000 个有效分子。
    • 筛选相似分子:通过 Tanimoto 相似度,筛选出 674 个与原始分子相似的分子。
    • 虚拟筛选:使用分子对接,筛选出 549 个对接评分高于 A-1331852 的分子。
    • 类药性评估:使用 QEPPI 评估,最终有 368 个分子表现出更好的类药性和对接评分。
  • 图片

  • 图4.(A) 输入屏蔽的IUPAC 名称 A-1331852 以生成类药物类似物。(B) Bcl-xL 与 A-1331852 抑制剂的对接姿势,以及 A-1331852 物理化学性质的雷达图。© Bcl-xL 与生成的类似物的对接姿势,以及物理化学性质的雷达图。氢键显示为蓝色虚线。π-阳离子相互作用显示为灰色虚线。

  • 结果分析

    • 对接分析:选取了一个对接表现优异的分子,发现其与 BCL-xL 的结合更为紧密,形成了额外的氢键和相互作用图4B-C。
    • 雷达图分析:显示生成的命中化合物具有更好的 PPI 靶向类药特性,具备进一步实验评估的潜力图4B-C。

4. 连接子设计

案例三:Menin-MLL 抑制剂 Ziftomenib

片段药物发现(FBDD) 是一种引导化合物发现和优化的常用策略,通过优化连接片段来提升分子的性质和亲和力。

  • 操作步骤

    • 屏蔽连接子部分:将 Ziftomenib 的 IUPAC 名称中的连接子部分屏蔽为 “*”图5A
    • 生成新分子:采样了 1,000 个有效分子。
    • 筛选相似分子:筛选出 572 个与 Ziftomenib 结构相似的分子。
    • 虚拟筛选:在对接筛选中,10 个新分子的对接得分优于 Ziftomenib。
    • 类药性评估:通过 QEPPI 评估,有 7 个化合物的类药性评分超过了 Ziftomenib。
  • 结果分析

    • 对接分析:生成的命中化合物在 Menin 结合位点表现出增强的相互作用图4B-C。
    • 雷达图分析:显示其具备良好的类药性和 PPI 靶向性图4B-C。
    • ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=data%3Aimage%2Fsvg%2Bxml%2C%253C%253Fxml%20version%3D’1.0’%20encoding%3D’UTF-8’%253F%253E%253Csvg%20width%3D’1px’%20height%3D’1px’%20viewBox%3D’0%200%201%201’%20version%3D’1.1’%20xmlns%3D’http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg’%20xmlns%3Axlink%3D’http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink’%253E%253Ctitle%253E%253C%2Ftitle%253E%253Cg%20stroke%3D’none’%20stroke-width%3D’1’%20fill%3D’none’%20fill-rule%3D’evenodd’%20fill-opacity%3D’0’%253E%253Cg%20transform%3D’translate(-249.000000%2C%20-126.000000&pos_id=img-70vJwr1P-1733502203740)’ fill=‘%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
    • 图5.(A) 输入Ziftomenib的屏蔽IUPAC以生成连接子。(B) Menin与Ziftomenib的对接姿势,以及Ziftomenib理化性质的雷达图。© Menin与生成的化合物的对接姿势,以及理化性质的雷达图。氢键显示为蓝色虚线,卤键显示为黄绿色虚线,π-阳离子相互作用显示为灰色虚线。

这些结果表明,新生成的连接子在克服 PPI 药物发现挑战方面具有显著潜力。


五、小编观点:开启了化学魔法的新篇章

这项研究就像给化学家们发放了一把“翻译器魔杖”,能将化学自然语言(IUPAC 名称)转换为化学语言(SMILES),并根据指定的规则进行受控的分子编辑。只需屏蔽 IUPAC 名称中的某个部分,DiffIUPAC 就能生成新的分子——就像点菜一样,想要哪个官能团,就给你生成哪个!

相比那些只能基于 SMILES 的模型,DiffIUPAC 更适合人类化学家进行局部调整,让我们可以用“化学母语”高效地进行分子设计和优化。这为早期的先导化合物设计提供了无限的可能性。

当然,DiffIUPAC 虽然强大,但也不是万能的,尤其在涉及生物相互作用的复杂计算和实验步骤时,仍需要更多的后续工作。但就捕捉 IUPAC 名称和 SMILES 之间的规则以及实现受控编辑来说,DiffIUPAC 表现得相当出色!


六、未来展望:通往化学 AI 的魔法之路

未来,期待更多炫酷的方法加入,比如将 强化学习3D/4D 结构数据 结合起来,实现从 IUPAC 名称直接生成复杂的三维结构,帮我我们体验真正的化学魔法!

将更多维的数据和方法结合,有望满足多目标药物优化和设计需求。结合 3D/4D 分子结构数据,将实现从 IUPAC 名称到 3D 结构的分子或材料设计。这不仅会加速药物发现的进程,还将开启化学与人工智能融合的新纪元。


七、结语

DiffIUPAC 的出现,为化学家们提供了一个强大而灵活的工具,让我们能够以更直观的方式探索分子世界。这不仅是技术的进步,更是思维方式的革新。期待在不久的将来,我们能见证更多这样的“化学魔法”,共同推动科学的前沿发展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2256587.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务器数据恢复—硬盘掉线导致热备盘同步失败的RAID5阵列数据恢复案例

服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障&#…

2024年12月HarmonyOS应用开发者基础认证全新题库

注意事项:切记在考试之外的设备上打开题库进行搜索,防止切屏三次考试自动结束,题目是乱序,每次考试,选项的顺序都不同 更新时间:2024年12月3日 这是基础认证题库,不是高级认证题库注意看清楚标…

docker修改并迁移存储至数据盘

文章目录 前言一、操作步骤(需要root权限)1. 查看磁盘占用,查看当前docker目录占用的空间2. 查看正在运行的容器,并停止容器及服务3. 拷贝数据、修改配置(关键步骤)4. 加载配置,启动服务及容器 …

n的阶乘(c++)

#include<stdio.h> int jiecheng(int n) { if(n1||n0) { return 1; } return(n*jiecheng(n-1)); } int main(void){ int n 0; printf("请输入您要计算的数字\n"); scanf("%d",&n); printf("%d\n",jiecheng(n)); return 0; }

MyBatis系列之自定义TypeHandler实现字段加密解密

文章目录 前言一、TypeHandler接口二、实现总结 前言 今天简单介绍利用MyBatis的TypeHandler接口实现字段的加解密。 字段的加密和解密&#xff0c;实现方式确实有好几种。比如&#xff0c;在业务层实现、在数据库层面实现等等&#xff0c;但是这些相对来说&#xff0c;耦合性…

C总结(C语言知识点,深化重难点)

C语言 1.使用C语言的7个步骤2.ASCII码3.提高程序可读性的机巧4.如何使用多种整形5.打印多种整形6.课移植类型&#xff1a;stdint.h和inttypes.h7.浮点数常量8.浮点值的上溢和下溢9.使用数据类型11.常量和C预处理器12.转换说明的意义12.1转换不匹配13.副作用和序列点14.数组简介…

JavaScript编写css自定义属性

一、自定义属性 是在 CSS 中定义的变量&#xff0c;以 --开头。它们可以存储颜色、尺寸、字体等任何 CSS 值&#xff0c;并且可以在整个文档中重复使用。 :root {--primary-color: #3498db;--font-size: 16px; }body {color: var(--primary-color);font-size: var(--font-siz…

【机器学习】任务十一:Keras 模块的使用

1.Keras简介 1.1 什么是Keras&#xff1f; Keras 是一个开源的深度学习框架&#xff0c;用 Python 编写&#xff0c;构建于 TensorFlow 之上。它以简单、快速和易于使用为主要设计目标&#xff0c;适合初学者和研究者。 Keras 提供了高层次的 API&#xff0c;帮助用户快速构…

02_Node.js模块化

02_Node.js模块化 知识点自测 以下代码运行的结果是多少&#xff1f; const arr [10, 20, 30] const result arr.map(val > val 1).reduce((sum, val) > sum val, 0) console.log(result) A&#xff1a;60 B&#xff1a;63 <details><summary>答案</…

故障识别 | GADF-CNN-SSA-XGBoost数据分类预测/故障识别(Matlab)

故障识别 | GADF-CNN-SSA-XGBoost数据分类预测/故障识别&#xff08;Matlab&#xff09; 目录 故障识别 | GADF-CNN-SSA-XGBoost数据分类预测/故障识别&#xff08;Matlab&#xff09;分类效果基本描述程序设计参考资料 分类效果 基本描述 格拉姆角场差&#xff08;GADF&#…

OPenCV 图片局部放大

m_image cv::imread("C:/Code/JPG/1.jpg");if (m_image.empty()) return;cv::imshow("原始图像", m_image); // TODO: 在此添加控件通知处理程序代码int width m_image.cols;int height m_image.rows;// 确定要放大的区域&#xff08;这里是图像中心部分…

【C++】变长参数

文章目录 1. 定义&#xff1a;2. C代码示例:2.1 实现方式一&#xff1a;2.2 实现方式二&#xff1a;2.3 实现方式三&#xff1a; 3. 总结3.1 使用...语法&#xff1a;3.2 使用 std::initializer_list3.3 使用变长模板参数&#xff08;Variadic Templates&#xff09; 1. 定义&a…

内网穿透 natapp安装与使用

前言 NATAPP是一款基于ngrok的内网穿透工具。以下是对NATAPP的详细概述&#xff1a; 基本概念 定义&#xff1a;内网穿透&#xff08;NAT穿透&#xff09;是一种技术&#xff0c;它允许具有特定源IP地址和端口号的数据包能够绕过NAT设备&#xff0c;从而被正确地路由到内网主机…

TPAMI 2023:When Object Detection Meets Knowledge Distillation: A Survey

摘要 目标检测&#xff08;Object Detection&#xff0c;OD&#xff09;是计算机视觉中的一项关键任务&#xff0c;多年来涌现出了众多算法和模型。尽管当前 OD 模型的性能有所提升&#xff0c;但它们也变得更加复杂&#xff0c;由于参数规模庞大&#xff0c;在工业应用中并不…

怎么样能使Ubuntu的文件浏览器显示当前目录的路径,而不是只显示一个文件名?

默认情况下Ubuntu的文件浏览器是只显示当前目录的目录名的&#xff0c;这很不便我们查看路径或直接利用路径进行定位&#xff0c;那么怎么样能使Ubuntu的文件浏览器显示当前目录的路径呢&#xff1f; 两种方法&#xff1a; 第1种-临时方法 按下快捷键 Ctrl L&#xff0c;导航…

Uniapp Android SpringBoot3 对接支付宝支付(最新教程附源码)

Uniapp Android SpringBoot3 对接支付宝支付&#xff08;最新教程附源码&#xff09; 1、效果展示2、后端实现2.1 引入支付宝SDK依赖 pom.xml2.2 配置 application.yml2.3 支付宝相关代码2.3.1 AlipayConfig.java2.3.2 ZfbPayConfig.java2.3.3 支付接口2.3.4 支付回调处理接口&…

阿里云ECS服务器域名解析

阿里云ECS服务器域名解析&#xff0c;以前添加两条A记录类型&#xff0c;主机记录分别为www和&#xff0c;这2条记录都解析到服务器IP地址。 1.进入阿里云域名控制台&#xff0c;找到域名 ->“解析设置”->“添加记录” 2.添加一条记录类型为A,主机记录为www&#xff0c…

【MySQL】mysql服务器架构

目录 1、背景2、mysql服务器架构解释3、总结 1、背景 简单理解一下mysql的服务器架构。 2、mysql服务器架构解释 mysql的架构图如下&#xff1a; 主要分为三部分&#xff1a;客户端、服务端、存储引擎。接下来我们来解释一下各个部分&#xff1a; 客户端 用来连接mysql服务…

BERT模型的输出格式探究以及提取出BERT 模型的CLS表示,last_hidden_state[:, 0, :]用于提取每个句子的CLS向量表示

说在前面 最近使用自己的数据集对bert-base-uncased进行了二次预训练&#xff0c;只使用了MLM任务&#xff0c;发现在加载训练好的模型进行输出CLS表示用于下游任务时&#xff0c;同一个句子的输出CLS表示都不一样&#xff0c;并且控制台输出以下警告信息。说是没有这些权重。…

基于LSTM的A股股票价格预测系统(torch) :从数据获取到模型训练的完整实现

1. 项目简介 本文介绍了一个使用LSTM&#xff08;长短期记忆网络&#xff09;进行股票价格预测的完整系统。该系统使用Python实现&#xff0c;集成了数据获取、预处理、模型训练和预测等功能。 这个代码使用的是 LSTM (Long Short-Term Memory) 模型&#xff0c;这是一种特殊的…