Uni-Mol: A Universal 3D Molecular Representation Learning Framework

Uni-Mol: 一个通用的三维分子表示学习框架

 ICLR 2023

Uni-Mol 论文:Uni-Mol: A Universal 3D Molecular Representation Learning Framework | OpenReview

  Uni-Mol 代码::GitHub - dptech-corp/Uni-Mol: Official Repository for the Uni-Mol Series Methods

官方视频解析:Uni-Mol 分子3D表示学习框架和预训练模型 | 郑行(深势科技)| 青年科学半月谈_哔哩哔哩_bilibili 


预训练模型正在席卷 AI 领域。从大规模无标注数据中提取表征信息,再在小范围标注的下游任务上进行监督学习,正在成为很多领域的事实解决方案。NLP 中有 BERT、GPT-3,CV 中有 ViT,而这样的模式如何助力药物设计,也一直都是人们密切关注的问题。药物分子与图片、语言文字的不同之处在于,“什么是最好的分子表征”依旧是一个人们未能形成共识的问题。主流分子预训练模型均从一维序列或二维图结构出发,但分子结构本身是在三维空间中表示的。能否直接从三维信息出发构建预训练模型、获得更好的分子表征,是一个重要而有意义的问题。

深势科技团队又发布了首个三维分子预训练模型 Uni-Mol。Uni-Mol 直接将分子三维结构作为模型输入,而非采用一维序列或二维图结构。从三维信息出发的表征学习让 Uni-Mol 在几乎所有与药物分子和蛋白口袋相关的下游任务上都超越了 SOTA(state of the art),也让 Uni-Mol 得以能够直接完成分子构象生成、蛋白-配体结合构象预测等三维构象生成相关的任务,并超越现有解决方案。

01 Uni-Mol框架

图1. Uni-Mol框架示意图。

▲ Uni-Mol由两个模型组成:一个是由2.09亿分子三维构象训练的分子预训练模型;一个是由3百万候选蛋白口袋数据训练的口袋预训练模型。这两个模型独立用于不同的任务,在蛋白质-配体结合任务上两个都用。

图2. Uni-Mol模型架构。
 

左图:整体预训练架构,包括输入和预训练设计的任务;

中间:模型结构,包括模块连接和3D结构编码;

右图:模型基本单元,包括表征以及更新过程

1.1 处理3D空间信息的Transformer

1.1.1 旋转平移不变的空间位置编码

由于 Transformer 有置换不变性,它在没有位置编码的情况下无法区分输入的具体位置,而且位置编码需要在全局旋转和平移的情况下保持不变。不同于基于离散值的位置编码,分子的 3D 信息,即三维空间中的坐标是连续值。要保证它对旋转和平移的不变性,类似相对位置编码,深势科技团队简单地使用所有原子对的欧氏距离,融合分子图中边的类型,之后经过高斯核函数得到位置编码,形式上可以表达成如下公式:

其中为通道数,为原子对,为原子对之间的欧氏距离,为边类型,为高斯核函数,其参数为。注意这里边类型不是化学键类型,它只与原子对的原子类型有关。是一个仿射变换,参数为和,它在原子对的欧氏距离和其对应的边类型之间建立联系。

1.1.2 原子对表征

通常 Transformer 只维护 Token(原子)级别的表征,在微调时的下游任务中也会调用它。然而由于分子的空间位置信息是在原子对级别上编码的,Uni-Mol 模型中也维护原子对表征,以便更好地学习分子的 3D 表征。具体实现中,原子对表征的初始化是上面提到的空间位置编码。之后为了更新原子对表征,深势科技团队通过自注意力机制中多头的 Query-Key 的乘积,进行原子到原子对的通信。形式上,原子对的更新可以表达成如下公式:

其中 是原子对表征, 是 attention heads 的数目, 是隐藏层维度, 是投影矩阵。

此外,为了利用原子表征中的三维信息,作者还引入了原子对到原子的通信,将原子对表征作为自注意力机制的 bias 项,可表示成如下公式:

1.1.3 具有SE(3)等变性的coordinate head

通过 3D 空间位置编码和原子对表征,Uni-Mol 可以学习到一个不错的分子 3D 表征。但它仍然缺乏直接输出坐标的能力,而这在 3D 空间任务中是必不可少的。为此,模型中加入了一个简单的 SE(3)-等变 head。按照 EGNN 的思路,SE(3)- 等变 head 的设计可以表示为:

其中为分子中的原子数目,是模型层数,是输入坐标,是投影矩阵。

1.2 预训练任务设计

1.2.1 预训练数据集

为了利用大规模无标签数据进行预训练,深势团队自己构造了两个大规模的有机小分子和蛋白口袋 3D 结构数据集。通过统一的预训练模型框架,结合有效的预训练任务策略,在大规模分布式集群上进行了预训练模型的训练。

分子预训练数据集是基于多个可购买分子数据集构造。经过归一化和去重,数据集包含大约 1900 万个分子,共 2.1 亿的 3D 分子构象。通过使用 rdkit 结合分子力场优化,高效生成分子构象。每个分子随机生成 10 个构象。由于某些分子 rdkit 生成 3D 构象失败,因此还额外对每一个分子生成了一个 2D 构象(基于分子图)帮助预训练

蛋白质口袋预训练数据集来自于蛋白质数据库(RCSB PDB [http://www.rcsb.org])。库中有 180K 的结晶真实蛋白 3D 结构。为了构造合理的用于预训练的候选口袋数据,深势团队首先通过补全蛋白侧链和极性氢来进行蛋白准备,然后使用口袋检测工具 Fpocket 检测蛋白质上的潜在药效性口袋,同时保留了其中的水分子,通过上述方法,深势团队构造一个由 320 万个候选蛋白口袋组成的 3D 构象数据集。

1.2.2 自监督策略

与 BERT 类似,Uni-Mol 中也使用了对原子掩码的预测任务。对于每个分子/口袋,通过添加了一个特殊的原子 [CLS],其坐标是所有原子的中心,用 [CLS] 的表征代表整个分子/口袋的表征。然而,由于 3D 空间位置编码是有化学键信息泄露的,模型很容易依据相互间的距离推测出被掩盖的原子类型。因此单独对于原子掩码进行预测并不能帮助模型学习有用的信息。

为了解决这个问题同时又能从 3D 信息中学习,Uni-Mol 设计了一个基于 3D 坐标的去噪任务。具体实现中,对于被掩盖的 15% 的原子,给坐标同时加入 [-1Å , 1Å] 的均匀分布噪声,之后模型根据被污染的坐标计算出来空间位置编码。这样一来,对于原子掩码的预测任务就不再可有可无。此外,这里还加入了两个额外的任务单元来直接对于原子坐标进行预测:

1)还原被掩盖的原子间欧氏距离 基于原子对表征,预测被掩盖的原子对的欧氏距离。

2)直接预测被掩盖的原子坐标 通过设计合理的结构,从而保证模型更新对于平移、旋转具有等变性(SE(3) 等变性),去直接预测被掩盖的原子的正确坐标。

两个预训练模型都使用了上述的自监督任务帮助训练,由于蛋白口袋与许多药物设计任务直接相关,作者认为在候选蛋白质口袋数据上的预训练可以提高与蛋白质-配体结构及相互作用有关的任务的表现。图2是整个预训练框架的说明。

02 实验

2.1 分子性质预测

首先在备受 AI 从业者关注的分子性质预测任务上进行了实验。实验使用的 15 个数据集均来自于 MoleculeNet,划分方式上对齐了之前的工作,采用了骨架划分。从结果上来看,Uni-Mol 在 14/15 个数据集上取得 SOTA,尤其是在 3D 结构强相关的回归任务上,例如水化自由能(ESOL,FreeSolv),亲脂性( Lipo),物化性质(QM 系列)上面相对于之前的 SOTA 平均有 21% 的效果提升!

2.2 分子构象生成

分子构象生成是指使用计算机程序预测和模拟分子的空间构造和排列方式。它基于分子力学和量子化学原理,通过对分子的电子结构、力学和热学性质的计算,以预测一定的分子构象。

这些预测有助于研究分子之间的相互作用,从而帮助合成新的物质,设计新的药物以及理解分子之间的化学反应。分子构象生成也可以应用于研究蛋白质结构和蛋白质与药物的相互作用

区别于以往的分子构象生成 baseline,Uni-Mol 是对 RDKit 生成的构象进行优化,在评价 AI 模型生成构象多样性的指标 Coverage 和精度指标 Matching 上,Uni-Mol 基本上全面超越现有的 baseline。

同时深势科技团队也提出对于该领域,目前使用的公开数据集主要关注低能的真空、水相模拟构象,而缺少真实的和蛋白结合的药效构象,因此分子构象生成的数据标准也是未来一个很重要的研究方向。

2.3 口袋性质预测

可药性,即候选蛋白质口袋与特定分子配体产生稳定结合的能力,是候选蛋白质口袋最关键的性质之一。由于有标签的数据很有限,这项任务非常具有挑战性。例如常用的 NRDLD 数据集,只包含 113 条数据。因此,除了 NRDLD 之外,作者还构建了一个回归数据集,用于模型性能测试。在表 4 中可以看到,Uni-Mol 表现卓越。

 2.4 蛋白质-配体结合位点预测

图3. 蛋白质-配体结合位点预测模型框架,

▲ 编码器使用两路预训练Uni-Mol分表表征分子和口袋,解码器使用同样结构的随机初始化的Uni-Mol

蛋白质-配体结合的预测是药物设计中最重要的任务之一。Uni-Mol 结合了分子和口袋预训练模型来学习基于距离矩阵的评分函数,之后对复杂的构象进行采样和优化。在基准数据集上,作者使用 CASF-2016 作为测试集,使用 PDBbind General set 作为训练集,并且和测试集进行了去重,确保结果的可泛化性。

在 docking power 和 binding pose 两项评估结合最关键的指标上,Uni-Mol 均表现非常出色,在打分函数 docking power 测评上超越了一系列主流的 docking 工具以及 AI based 打分函数模型,更令行业兴奋的是,在最为直接的 binding pose 预测能力上面,对于 CASF-2016 基准数据集(RMSD<2.0 一般认为是可接受的 pose 预测结果)预测的准确结合构象的比例超过目前主流的 docking 工具约 35%,这无疑是巨大的飞跃。

03 总结

深势科技的研究员们希望通过建立统一的分子预训练框架,能够方便药物研发相关的从业人员高效精准的对于关注的具体下游任务能做到统一的建模,此外对于蛋白分子结合预测这一核心问题的探索,也预期着 Uni-Mol 能发挥巨大的潜力。作者同时也提到多个潜在的研究方向:

1. 更好的交互机制,如何将两个预训练模型放在一起进行微调。在当前版本的 Uni-Mol 中,预训练口袋模型和预训练分子模型之间的交互很基础,这块认为有较大的改进空间;

2. 更大的 Uni-Mol 模型。增大预训练模型往往能带来可观的提高,因此,用更多的数据来训练一个更大的 Uni-Mol,也是很值得探索的;

3. 更多高质量的 benchmark。尽管在 AI 模型在药物设计领域已经有很多应用,但高质量的公开数据集一直比较少,许多公开数据集并不能满足现实世界的需求。相信高质量的 benchmark 将成为整个领域的灯塔,并大大加速药物设计的发展。


Automatic Screen-out of Ir(III) Complex Emitters by Combined Machine Learning and Computational Analysis

结合机器学习和计算分析,自动筛选出Ir(III)复合发射体

Automatic Screen-out of Ir(III) Complex Emitters by Combined Machine Learning and Computational Analysis | Materials Chemistry | ChemRxiv | Cambridge Open Engage

Uni-Mol 性能优越、模型泛化能力强,在小分子性质预测、蛋白靶点预测和蛋白-配体复合物构象预测等任务上都超越之前方法。同时,我们成功把Uni-Mol应用在了例如材料设计等更多领域,并取得了优异成果。

​Uni-Mol 在各类任务上都表现优异,超越之前的最好方法。图中内部灰色区域为之前的最好方法的效果,外部多种颜色区域描述的是是Uni-Mol在多种任务上超出之前最好方法的百分比。

二、Uni-Mol Universe更多的应用场景

1. Uni-Mol for QSAR

QSAR定量构效关系(Quantitative Structure-Activity Relationship)的缩写,是一种基于化合物结构预测化合物的生物活性和生化性质的计算方法。该方法通过将分子结构与其物理、化学性质及生物活性相关联,然后构建一个模型,以期该模型可以预测新的化合物的生物活性。QSAR在药物设计、环境毒理学和农药研究等领域中得到广泛应用

Uni-Mol based Auto-QSAR (Uni-QSAR) 是一套基于Uni-Mol模型开发的自动化分子属性预测工具,可供专业领域相关人员使用。我们对目前主流的QSAR工具在TDC ADMET Group Benchmark上的测评结果进行了比较。TDC(Therapeutics Data Commons)是哈佛医学院主导开发的一个基准平台,其中ADMET包含了药物小分子的吸收、分布、代谢、排泄和毒性五个方面的指标。这些因素对药物的疗效和安全性有着至关重要的影响。在药物研发过程中,需要对药物的ADMET特性进行评估和优化,以提高药物的成功率,减少不良反应的发生。Uni-QSAR在这些任务上表现出了非常优异的效果。通过结合Uni-Mol和高效的自动化工作流,用户不需要关注模型细节,无需调参,即可自动化地进行特征构造和筛选。同时,Uni-QSAR也考虑到了样本不平衡性和预测任务类型的多样化(分类、回归、多任务学习、缺失值训练等等),用户只需要关注自己的任务本身。

Uni-QSAR的内测版本已经成功地应用于国际知名的快速消费品牌Top3之一,表现出了优秀的预测能力。在多个数据库中,预测的准确性都有明显提升,超过了其他方案。该项目已经完成了首轮交付,并且正在探索未来的合作空间。同时,Uni-QSAR也即将上线Hermite®药物计算设计平台,敬请期待。

2. Uni-Mol for Materials

Uni-Mol在材料领域也积累了不少的应用和案例,以下我们会选取MOF和OLED两个经典案例分别阐释Uni-Mol的通用性和预测能力的扩展

MOF材料是一种由金属离子或者簇合物和有机配体组成的多孔晶体材料,对MOF材料的气体吸附研究具有重要的理论和实际意义,例如,可以用于环境污染控制、能源储存和转换、化学催化等领域。

基于Uni-Mol,我们设计训练了一个跨体系的模型Uni-MOF,可以对不同的气体(甚至未知的气体)、在不同的环境下面(温度、压强等)进行预测,其结果也大幅超越了之前单体系模型。这种建模思路也非常契合目前大火的ChatGPT,可以认为我们是在MOF吸附领域实现了大一统模型,具体细节可以关注我们即将发布的论文。

我们也把Uni-Mol成功拓展到OLED Ir(III) 体系的大规模虚拟筛选上面,用于搜索性能更好的OLED发光材料

OLED Ir(III)体系一种基于有机发光二极管(OLED)技术的发光材料体系,其中使用了含铱(Ir)的荧光材料。这种体系具有高效、低功率消耗、高亮度和高稳定性等优点,因此在电子显示领域有广泛的应用。其中,Ir(III)配合物材料具有较高的荧光效率和发光寿命,可以用于制备高效的红、绿、蓝光发射器件。OLED Ir(III)体系在智能手机、平板电脑、电视、汽车仪表盘等领域都有着广泛的应用前景。

通过利用Uni-Mol强大的预测能力,我们可以极大地降低额外的计算成本,同时高通量的筛选迭代也能够进一步提高模型的预测效果(如下图左图所示)。这种大模型训练和QM小规模计算相互迭代的思路也将成为材料研发的一种新型范式。从下图右图所示的结果可以看出,Uni-Mol 也满足了OLED材料的筛选基本要求,例如需要光色尽可能纯和plqy尽可能大。

更多细节,请参阅我们在 ChemRxiv 上的预印本文章:Automatic Screen-out of Ir(III) Complex Emitters by Combined Machine Learning and Computational Analysis | Materials Chemistry | ChemRxiv | Cambridge Open Engage

除了MOF和OLED,Uni-Mol还可应用于更多的材料设计任务。由于篇幅所限,无法一一描述,期待不同背景的研究者与我们一起探索Uni-Mol的潜力。

三、Uni-Mol讲解教程及在线Notebook 体验 

关于Uni-Mol详细的原理讲解,可以关注青年科学论坛上的报告(报告详见:Uni-Mol 分子3D表示学习框架和预训练模型 | 郑行(深势科技)| 青年科学半月谈_哔哩哔哩_bilibili),报告中使用深势科技推出的科学计算平台上的Bohrium Notebook展示了如何将Uni-Mol快速地应用在分子性质预测的任务上。

在Bohrium Notebook 上,我们准备了一系列基于Uni-Mol的封装好的软件库,与开源版本不同的是,这些小工具和软件包更加适配于应用层,环境和软件包都是内置安装好的,同时接口也进行了二次开发,可扩展性更高。用户只需要关注其具体的数据和应用。同时我们也持续收集用户的反馈,进行开发迭代。大家可以点击下面的链接直接进行体验测试:

3.1 分子属性预测案例

Bohrium,Bohrium Notebook可以自动地加载运行环境,通过几行代码即可对于自己的数据任务进行训练、预测,生成自己的属性预测工作流。

3.2 Uni-Mol Docking案例

Bohrium,Bohrium Notebook目前仅展示了对于CASF-2016的docking结果,大家可以自由选取靶点和对应的配体分子,然后进行docking,后续会开放更多的功能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python:《寻找整数》

问题描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 有一个不超过 1017 的正整数 n&#xff0c;知道这个数除以 2 至 49 后的余数如下表所示&#xff0c;求这个正整数最小是多少。 运行限制 最大运行时间&#xff1a;…

辉煌优配|人民币将可直接买港股 多家港股公司申请 增设人民币柜台

3月以来&#xff0c;多家港股公司发布公告称&#xff0c;已正式提交有关增设人民币货台的请求。这意味着港交所力推的港股“港币-人民币双货台形式”进入实质性推进阶段&#xff0c;离岸人民币行将迎来愈加丰富的出资标的。 多位业内人士表明&#xff0c;树立双货台形式是港交所…

Java设计模式(十七)—— 组合模式

组合模式的定义如下&#xff1a;将对象组合成树形结构以表示“部分-整体”的层次结构&#xff0c;让用户对单个对象和组合对象的使用具有一致性。 适用组合模式的情景如下&#xff1a; 希望表示对象的“部分—整体”层次结构希望用户用一致方式处理个体和组合对象一、问题的提…

这是一篇能够教会你运营阿里巴巴国际站的文章

对于很多跨境人来说&#xff0c;运营真的是一个让人头疼的大事情。不知道要从哪个方面下手&#xff0c;不知道要往哪方面努力等等问题都是很常见的&#xff0c;所以今天龙哥就解剖一下阿里巴巴国际站的运营方法&#xff0c;简单地给大家讲一下要掌握哪些方面的知识。运营这条路…

【数据结构篇C++实现】- 哈希表

文章目录&#x1f680;一、哈希表的原理精讲&#x1f6a2;&#xff08;一&#xff09;概念&#x1f6a2;&#xff08;二&#xff09;常见哈希函数的构造方法1.直接定址法2.数字分析法3.平方取中法4.除留余数法5.随机数法&#x1f6a2;&#xff08;三&#xff09;哈希冲突与处理…

web服务器—nginx

一、nginx介绍Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理服务器&#xff0c;也是一个 IMAP/POP3/SMTP 代理服务器。和apache一样&#xff0c;都是web服务器软件&#xff0c;因为其性能优异&#xff0c;所以被广大运维喜欢。又因…

【python】【protobuf】逆向还原protobuf结构

文章目录一、前言二、示例三、python demo一、前言 在很多场景&#xff0c;都有一个需求&#xff1a; 得到了一个编码后的protobuf数据&#xff08;比如竞品调研的的数据包&#xff09;&#xff0c;需要逆向还原其proto结构文件。 有3种方案去做这件事情&#xff1a; 从编码入…

Linux常用文件管理命令

Linux常用文件管理命令 目录Linux常用文件管理命令前言常用命令练习题创建文件夹题目代码复制题目代码移动题目代码删除题目代码系列操作题目代码前言 本文将讲解我们在使用Linux操作系统时经常需要使用的命令&#xff0c;也可以当成是一篇笔记的记录&#xff0c;当然光看这些…

Ubuntu安装交叉编译器gcc

1.创建文件并把压缩包复制到文件夹下 2.解压到文件夹下 先找到放置的目录 也可以直接找到文件夹右键-在终端打开 通过-C选项指定解压后的目标目录 tar -jxvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.bz2 -C /opt 注意:输入文件名时可以Tab键自动补齐 输入…

计算机网络中端到端与点到点的区别

计算机网络中端到端与点到点的区别 数据传输的可靠性是通过数据链路层和网络层的点对点和传输层的端对端保证的。端到端与点到点是针对网络中传输的两端设备间的关系而言的。 在一个网络系统的不同分层中&#xff0c;可能用到端到端传输&#xff0c;也可能用到点到点传输。如…

限流、熔断、服务降级

在分布式系统中&#xff0c;如果某个服务节点发生故障或者网络发生异常&#xff0c;都有可能导致调用方被阻塞等待&#xff0c;如果超时时间设置很长&#xff0c;调用方资源很可能被耗尽。这又导致了调用方的上游系统发生资源耗尽的情况&#xff0c;最终导致系统雪崩。 举例&a…

[Vulfocus解题系列]Spring WebFlow 远程代码执行漏洞(CVE-2017-4971)

简介 Spring WebFlow 是一个适用于开发基于流程的应用程序的框架&#xff08;如购物逻辑&#xff09;&#xff0c;可以将流程的定义和实现流程行为的类和视图分离开来。在其 2.4.x 版本中&#xff0c;如果我们控制了数据绑定时的field&#xff0c;将导致一个SpEL表达式注入漏洞…

科大奥瑞物理实验——声速的测量

实验名称&#xff1a;声速的测量 1. 实验目的&#xff1a; &#xff08;1&#xff09;了解超声波的发射和接收方法。 &#xff08;2&#xff09;加深对振动合成、波动干涉等理论知识的理解。 &#xff08;3&#xff09;掌握用驻波法和相位法测声速。 2. 实验器材&#xff1a…

如何挖掘用户需求的真正动机?关键是4大因素

需求分析实质是挖掘用户内心真正的目标&#xff0c;并转化为产品需求的过程。而用户需求是用户基于自身角度提出的表层需求&#xff0c;这些需求往往有用户期望的产品功能指向。而在产品功能指向的背后&#xff0c;暗藏着潜在的用户动机&#xff0c;这是用户真正希望解决的核心…

【尚硅谷】Java数据结构与算法笔记13 - 图

文章目录一、图的基本介绍1.1 为什么要有图1.2 图的举例说明1.3 图的常用概念二、图的表示方式2.1 邻接矩阵2.2 邻接表三、图的快速入门案例四、图的遍历4.1 深度优先遍历 DFS4.1.1 基本思想4.1.2 算法步骤4.1.3 图示4.2 广度优先遍历 BFS4.2.1 基本思想4.2.2 算法步骤4.2.3 图…

【机器学习】P8 过拟合与欠拟合、正则化与正则化后的损失函数和梯度下降

过拟合与欠拟合、正则化与正则化后的损失函数和梯度下降过拟合与欠拟合过拟合与欠拟合直观理解线性回归中 过拟合与欠拟合逻辑回归中 过拟合与欠拟合过拟合与欠拟合的解决办法过拟合解决方案欠拟合解决方案包含正则化的损失函数正则化线性回归损失函数正则化逻辑回归损失函数包…

java爬虫利器Jsoup的使用

对于长期使用java做编程的程序猿应该知道&#xff0c;java支持的爬虫框架还是有很多的&#xff0c;如&#xff1a;ebMagic、Spider、Jsoup等。今天我们就用Jsoup来实现一个小小的爬虫程序&#xff0c;Jsoup作为kava的HTML解析器&#xff0c;可以直接对某个URL地址、HTML文本内容…

焦虑真的好吗 过度的焦虑存在哪些影响

日常常见的焦虑情绪真的好吗&#xff1f;焦虑是我们七情中的一种正常情绪表现&#xff0c;我们生活当中很多因素都可能会导致我们产生焦虑的情绪表现&#xff0c;如一场考试、一次挑战、一个活动等等。这种焦虑情绪的产生并不是一件坏事&#xff0c;相反&#xff0c;焦虑情绪的…

ROS学习笔记(零):ROS与机器人概述

ROS学习笔记&#xff08;零&#xff09;&#xff1a;ROS与机器人概述ROSROS的起源ROS的特点ROS架构设计机器人机器人的定义机器人的组成执行机构驱动系统传感系统控制系统ROS ROS的起源 ROS&#xff08;Robot Operating System&#xff09;是一个广泛使用的机器人操作系统&…

Python图片相册批处理器的设计与实现批量添加图片水印、批量命名等功能

课题研究使用Python语言开发一个包含批量添加图片水印、批量命名等功能的图片批处理程序&#xff0c;功能模块大概包含以下模块&#xff1a; &#xff08;1&#xff09;首页模块&#xff1a;首页是整个软件的初始页面&#xff0c;包含用户登录、注册、关于本软件等功能&#xf…