蛋白质界的 ChatGPT:AlphaFold1 论文必备知识,不会有人还不知道吧

阿尔法fold2人工智能 阿尔法折叠2(AlphaFold 2)是由DeepMind团队开发的人工智能系统,它能够根据蛋白质的氨基酸序列预测蛋白质的三维结构。AlphaFold 2在蛋白质结构预测领域取得了革命性的突破,其预测结果的准确性被认为与实验测定的结构相当接近甚至更好。这一成就在2020年的CASP14(Critical Assessment of Structure Prediction)比赛中得到了验证,AlphaFold 2获得了出色的表现,赢得了该竞赛的冠军。 阅读详情
AI摘要

AlphaFold2是一个开创性的算法,成功预测了大量蛋白质的三维结构,极大地推动了药物开发和生物学研究。通过深度学习和残差距离分布图,该模型能精确预测蛋白质结构,其准确度在TM-score上表现优异,对理解生命科学和疾病治疗具有深远影响。

你知道 AlphaFold2 吗?它真正解决了蛋白质三维结构预测的算法困境,堪称蛋白质界的 chat-GPT4,甚至它的意义不是 chat-GPT4 所能够匹敌的。它为世界疾病治疗药物开发以及探究生物生命之谜提供了通向天神的一条道路,未来是生物的世纪!AlphaFold2再登Nature,从业者都懵了:人类98.5%的蛋白质,全都被预测了一遍,现在,它已经公开了超两亿个蛋白质预测的三维结构,免费无偿提供,让我们感谢这一开源精神。当然,我们也可以先了解AF1,从最开始,到后来的改变!

Alphafold 论文目录结构

在这里插入图片描述

1-3:介绍 Alphafold 的完成背景与其他模型的优势,以及取得的成就

4-5:介绍 Alphafold 的基本思路,预测核心部件(卷积神经网络)以及梯度程序的思路

6-10:介绍 Alphafold 第一阶段的输出——残基距离分布图,以及第二阶段梯度下降程序效果

11-14:说明了核心部件对应的卷积神经网络的输入特征说明,以及选择一些输入因素的原因

15-23:搭建蛋白质可微几何模型以及梯度下降处理的思路及其效果

23-27:Alphafold 对 T0986s2 蛋白质的预测,达到 TM 分数 0.8,展示了神经网络的输入如何影响最终的预测

残差

残差,是指实际观察值与回归估计值的差。残差分析就是通过残差所提供的信息,分析出数据的可靠性、周期性或其它干扰。残差图的分布趋势可以帮助判明所拟合的线性模型是否满足有关假设。残差有多种形式,上述为普通残差。为了更深入地研究某一自变量与因变量的关系,人们还引进了偏残差。以某种残差为纵坐标,其它变量为横坐标作散点图,即残差图,它是残差分析的重要方法之一。需分析具体情况,探索合适的校正方案,如非线性处理,引入新自变量,或考察误差是否有自相关性。

蛋白质相似性度量

蛋白质结构相似性通常通过RMSD(均方根偏差)分数、GDT(全局距离测试)分数和模板建模分数(TM-score)来衡量。

参考:蛋白质结构相似性与TM评分= 0.5有多显著? |生物信息学 |牛津学术 (oup.com)

RMSD

两种蛋白质结构的最佳叠加后所有等效原子对的均方根偏差(RMSD),然而,由于结构中的所有原子在计算中的权重相等,RMSD的主要缺点之一是,当RMSD值很大时,它对局部结构偏差比对全局拓扑更敏感。例如,即使核心部分的全局拓扑相同,如果尾部或某些环具有不同的方向,则两种蛋白质结构的RMSD可能很高;仅根据 RMSD 值,这无法与两个结构具有完全不同的拓扑的情况区分开来。很少使用到。

越高越不相似

TM-scores

TM评分是评估蛋白质结构拓扑相似性的指标。它使用Levitt-Gerstein权重计算所有残基对。TM 分数对全局拓扑比局部变化更敏感。此外,由于它采用蛋白质大小依赖性量表来归一化残基距离,因此随机蛋白质对的TM评分的大小与蛋白质大小无关
请添加图片描述

其中L是目标蛋白的长度,Lali是两种蛋白质中等效残基的数量。d i 是两个结构之间等效残基的第 i 对的距离,取决于叠加矩阵;“max”表示确定使公式(1)中的总和最大化的最佳叠加矩阵的过程。规模论坛定义为标准化 TM 评分,即随机蛋白质对的平均 TM 评分的大小与蛋白质的大小无关。

TM 分数保持在 (0, 1) 中,值越高表示相似性越强。

GDT 分数

GDT 分数被广泛用于社区范围的CASP和CAFASP实验,以评估蛋白质结构预测的建模准确性,随机结构对的GDT和MaxSub评分的大小与蛋白质长度具有幂律依赖性(Zhang和Skolnick,[2004](javascript:😉),这使得分数的绝对值意义不大。它还有一个缺点,即相关蛋白质的相似性在很大程度上取决于它们的长度

在大约 90 分的情况下,我们就可以认为从一串氨基酸序列转发成蛋白质折叠出的三维结构问题大部分已经得到解决,在 2020 年前的相关比赛中,从来没有超过 90,甚至是 60。GDT 分数意味着实际三维结构和生成的三维结构的全局距离分数。也可以说是预测结构和真实蛋白质结构相似度的度量值,如下:

image-20230412230608937

而使用 Alpha fold 测试 2018 年的数据,可以达到将近 60。

越高越相似。

lDDT分数(局部距离差测试)

基于刚体叠加的GDT评分无法解释多结构域蛋白中相对结构域取向的变化,需要分别比较每个结构域。

氨基酸缩写表

请添加图片描述

同源序列的共变异可推断哪些氨基酸残基是接触

同源序列(homologous sequences)

同源序列可以用**相似性(similarity)**来度量。注意,**同一性(identity)**指两条序列完全相同。

残基(Residue):

氨基酸之间的氨基和羧基脱水成键,氨基酸由于其部分基团参与了肽键的形成,剩余的结构部分则称氨基酸残基。也就是说在下图中,虚线框外的部分就是残基。

image-20230413200434661

PDB 数据库

Protein Data Bank(以下简称,PDB,https://www1.rcsb.org/)是当今全世界最具公信力的蛋白质数据库之一,每一条蛋白质都有唯一标识,称为PDBID(类似每个人都有自己的身份证号,唯一标识),比如PDBID为1F88的蛋白质在PDB中如下:

1f88

蛋白质结构

请添加图片描述

一级结构

蛋白质的1级结构指的是其氨基酸序列。在PDB中可以下到蛋白质的序列文件,如1F88的序列文件rcsb_pdb_1F88.fasta如下:
第一行记录了该蛋白的信息
第二行开始记录了该条蛋白质的序列,由一个个氨基酸构成。以这个1F88为例,序列中包含了348个氨基酸,说明1F88由348个氨基酸构成,所以1F88的长度为348。

一级结构-序列

3级结构就是空间结构。空间中每一个氨基酸集团由若干个原子构成。每一个原子都会有自己的唯一确定的三维坐标由(x,y,z)表示。

二级结构

蛋白质分子的二级结构(secondarystructure)通常是指蛋白质多肽链沿主链骨架方向的空间走向、规则性循环式排列,或某一段肽链的局部空间结构,即蛋白质的二级结构为肽链主链或一段肽链主链骨架原子的相对空间盘绕、折叠位置,它并不涉及氨基酸残基侧链的构象。

三级结构

蛋白质的三维结构

以1F88蛋白质为例,1F88的3级结构用文件1F88.pdb来描述。可在 pdb 数据库查看:

pdb数据库

请添加图片描述

在知道了每个原子的三维坐标后,我们可以在坐标系中,把每一个原子都标记出来,这样就得到了蛋白质的三维结构的空间图,如1F88序列经过PDB文件的坐标解析后,用Pymol软件打开可以看到他的结构如下:

pymol

蛋白质残基接触

空间中2个氨基酸集团的Ca原子(一般用Ca原子来计算接触)的空间距离小于8Å(Å是距离单位)的时候,我们认定这两个氨基酸是处于接触contact状态。简单讲,就是通过距离来判断是否接触,推断是否能够发生反应。

怎么计算两个氨基酸是否存在接触,以 1f88 为例:

if88.pdb

将pdb坐标文件中2个氨基酸集团中的CA原子分别取出来,然后用空间距离计算公式,计算一下结果便可以得知结果。

  1. MET_Ca的坐标为(x1,y1,z1)=44.718,-5.054,-26.911。ASN_Ca的坐标为(x2,y2,z2)=44.449,-4.763,-23.103。
  2. 代入空间中两点距离公式求这俩坐标之间的距离d。

得出结果为 d = 70.417122Å ,远远大于8Å的距离阈值要求。所以这俩氨基酸在空间中不接触。

CASP是二年一次的蛋白质结构预测竞赛,在CASP竞赛中,有专门的的一项就是接触预测竞赛。那么接触的意义是什么? 通俗的说,接触就是一种约束,有了约束,会决定蛋白质在空间中的空间结构(为什么蛋白质的螺旋往左边倾斜,不往右边倾,就是有一种约束在其中作用),而空间结构决定了蛋白质的功能。有了功能能为药物开发等提供研究基础等。所以对接触进行研究是极具意义的。

蛋白质接触矩阵

在知道什么是接触、接触如何计算之后,我们可以用矩阵的形式,来将一条蛋白质的接触信息展示出来。这个形式就是接触矩阵,或成接触图。

在接触矩阵M中,假设一条蛋白质序列的长度为L。那么这个接触矩阵的维度就是L*L,接触矩阵M是一个沿主对角线对称的矩阵。

矩阵中每一个元素的值要么是0要么是1。0表示不接触,1表示接触。我们可以用i和j来标识。

比如一条长度为10的蛋白质,他的接触矩阵M的维度就是10*10。
如那么第三行第六列为1。就表示该序列的第3个氨基酸与第6个氨基酸他们是接触的。

请添加图片描述

MSA:多序列对比

使用原因:

蛋白质的生成与 DNA 息息相关,而目前地球上绝大多数都是由同一个祖先进化而来的,特定功能的蛋白质在不同物种间也具有极大的结构相关性。而这种特定功能下的蛋白质序列的结构相似性,正是 MSA 多序列对比能够对蛋白质结构预测起一定作用的原因。当然,单序列直接预测蛋白质结构很美好,但存在很大的难度,那这样的话,为什么不利用各种数据库存储的序列信息与对应蛋白质结构关系的宝贵信息,将这个难度大大减低。

原理:

假设存在两个蛋白质,它们之间的作用对于生物极其重要,我们知道,两个蛋白质之间存在化学上的相互作用,意味着存在一定的结构维持这种作用,一旦其中一个蛋白质出现突变,为了维持这种作用,另外一个蛋白质也必须做出配合的突变,否则,生物就将面临死亡。并且,现存的所有生物都是来自于同一个祖先,在这样的情况下,依据统计学概率,提取特征,我们就可以判断相同某些氨基酸是否存在接触的可能。

如下图:我们可以预测位于黑球位置的氨基酸 S 与 氨基酸 H 存在接触的可能,氨基酸 F 与氨基酸 W 存在接触的可能。

其中,每一行氨基酸序列都是来自不同的生物。

image-20230415024117573

image-20230415024631736

Alphafol 从每个残基对的多序列对比中提取出了 484 个特征,还有部分能够明确表现出在 MSA 中缺失部分的特征:

  • 1-hot amino acid type (21D)
  • Profiles: PSI-BLAST (21D)
  • HH280 blits profile (22D)
  • non-gapped profile (21D)
  • HHblits bias, HMM profile (30D)
  • Potts model bias (22D)
  • Deletion probability (1D)
  • Frobe285 nius norm (1D)
  • Gap matrix (1D)

这些特征作为预测残基距离的深度卷积神经网络的输入之一。

Alphaflod 思路

第一步:

基于目标氨基酸序列,在所有的数据库进行爬取,匹配出类似的在动物界中的相关物种的进化方向,再将这个 MSA 信息和一些额外的输入特征相结合,经过处理并重塑为二维数组并输入到深度残差卷积网络中。进而输出一个预测的蛋白质残基距离分布图。实际预测的不是蛋白质的残基距离分布,而是,每对残基之间的距离。

请添加图片描述请添加图片描述

第二步:

结合不同残基间的扭转角度利用梯度下降法得出能够满足这样的残基距离的(不考虑物理力影响的)蛋白质的 3d 结构图。

image-20230415020010363

第三步

结合残基之间的物理力(范德华力)得出一个较为合理的蛋白质三维结构。

思路流程图如下:

image-20230415002812077

特征提取阶段(MSA 提取)用黄色表示,结构预测神经网络(蛋白质残基距离分布图)用绿色表示,潜在构造(基本骨架)用红色表示,结构实现用蓝色表示

蛋白质残基距离分布图

蛋白质每对残基之间的距离只是一个二维数组,里面每个数值都代表一个蛋白质 3d 结构中不同氨基酸之间的距离,比如在 i 行和 j 列的数字代表氨基酸 i 和氨基酸 j 的之间的距离。把这里的距离数字转换为颜色,即每个格子颜色深浅代表两个氨基酸距离。如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bBT4EC0S-1682786250119)(null)]

其中,SQET······代表氨基酸缩写字母。由于 i 到 j 与 j 到 i 的距离相等,所以蛋白质分布图会以主对角线为中心的对称矩阵。之所以使用蛋白质分布图来进行预测,正是因为无论蛋白质如何旋转、平移都不会改变蛋白质距离分布图。也就是说不同视角下的同一个蛋白质的残基距离分布图一致。从而,我们不用为了预测准确去把蛋白质以某个姿态进行对齐位置。

实际距离与预测距离的残差分布图

其中:

  1. 横轴是残基之间的距离值,竖轴是实际值与预测值的残差
  2. 绿色代表残基呈现接触状态的残差图,网格分布趋向于向右,红线在黑线左侧
  3. 蓝色代表残基呈现非接触状态的残差图,网格分布趋向于向左,红线在黑线右侧
  4. 黑色竖线代表 8 Å 距离的残基对,表示接不接触的距离,大于不接触,小于接触。
  5. 红色表示真实距离

以下为残基距离分布图中的第二十九位残基与其他残基的的残差分布图,可看出,第七副图和第八幅图的效果并不是很好,偏向中间。其中,最高置信度分布会最小变化,集中在红线附近,如第27、28、30、31幅图。距离应该也是在这个附近。

image-20230415000604434

从下面这个图,我们可以看出模型预测的距离和实际距离很接近

image-20230415031218245

预测标准差平均值十分接近于 0 ,标准差越高,模型预测越不确定。

请添加图片描述

扭转角度的梯度计算法

利用残基距离预测分布图与偏移角度进行梯度下降法即可获得能够满足这样的残基距离的(不考虑物理力影响的)蛋白质的 3d 结构图。获得 3 d 结构图的方法为梯度下降法对这些变量进行处理。实际就是把每两个残基之间的 phi 和 psi 角度参数化,方法如下:

不同残基间的扭转角度(phi 和 psi 角度,也就是二级结构的基本构成)构建一个可微分的 蛋白质几何模型,该几何模型输出结果为 x = G ( φ , ψ ) x = G(φ, ψ) x=G(φ,ψ),进而获得 d i j = ∣ x i − x j ∣ d _{ij}= |x_i − x_j| dij​=∣xi​−xj​∣ 再与与预测出来的残基距离进行相减的绝对值结果为损失函数,即 L = ∣ x − x ′ ∣ L = |x-x'| L=∣x−x′∣,由于可微,可得, d L d ψ {dL} \over {dψ} dψdL​,通过改变角度,减低损失函数值,也就是梯度下降算法计算出残基之间的距离。

其中:

  • φ, ψ 为 phi 和 psi 角度
  • i、j 为氨基酸 i 和氨基酸 j

img

随着,梯度下降的一步步进行,到了 1200 步,就已经有不错的效果了。TM 分数在上升,RMSD 分数在下降。

image-20230415020010363

并且,随着步数的增加,蛋白质间的螺旋结构与非落选结构的残差分布也越来越合理,当然,这里的螺旋与否的判别是通过某种启发式学习得到的。拥有橙色那个图是扭转角度的变化的残差分布图

请添加图片描述

残基扭转角

φ(phi)表示一个肽单位中α碳左边C-N键的旋转角度, ψ(psi)表示α碳右边C-C键的旋转角度。

注:蓝色是 N 原子,白色是 C 原子

image-20230415001721085

2022年AI出圈盘点:扩散模型、ChatGPT与AlphaFold如何改变世界 人工智能在2022年迎来技术落地的爆发期,从基于扩散模型的AI绘画到ChatGPT式的大规模语言模型,再到蛋白质结构预测的科学突破,AI正从实验室走进日常生产与生活。扩散模型通过反向去噪实现文本生成图像的惊人效果,将创作门槛降至“会打字即可”;Transformer架构与人类反馈强化学习则让机器具备连贯、自然的对话能力,成为写代码、改文档的通用助手;AlphaFold将蛋白质结构解析从数年压缩至分钟级,为制药与疾病研究打开新维度。这些技术共同指向一个趋势:机器学习正从专业工具演变为普惠生产力。理解其原理、价 阅读详情

相关推荐

AI辅助学术论文写作:从Idea到高质量论文的六步实战流程

最近在指导几位研究生同学撰写学术论文时,发现一个普遍现象:大家往往有一个不错的科研想法(Idea),但在将其转化为一篇结构严谨、逻辑清晰、符合学术规范的论文时,却感到困难重重。从文献综述、方法设计、实验验证到结果分析、论文撰写与修改,每一步都可能成为“拦路虎”。 本文将分享一套基于AI工具的学术论文写作实战流程,旨在将“让天下没有难写的论文”这一愿景落地为可操作的方法。无论你是正在为毕业论文发愁的研究生,还是需要高效产出期刊论文的科研人员,这套方法都能帮助你系统化地将一个初步的Idea,一步步打磨成一篇高质

weixin_30654419的博客 678

蛋白结构预测模型评价指标

本文汇总了AlphaFold和AlphaFold-multimer等蛋白结构推理预测中,不同蛋白结构预测模型的评价指标。供大家参考。

Blockbuster-drug 1万+

DeepMind核心技术解析:从AlphaGo到AlphaFold的强化学习与工程实践

强化学习是人工智能领域的重要范式,其核心在于智能体通过与环境的交互试错来优化决策策略。从AlphaGo到AlphaFold,DeepMind展示了强化学习与深度学习的强大组合,并借助蒙特卡洛树搜索和自对弈等机制实现了历史性突破。这种技术价值不仅体现在棋类游戏和蛋白质结构预测,还正在向大模型对齐、推荐系统、机器人控制等真实场景延伸。理解状态-动作-奖励的基本框架,有助于开发者掌握AI系统的底层逻辑。本文以DeepMind技术体系为主线,结合可运行的Q-learning示例,梳理从研究到工程的思考路径,帮助普通

weixin_34007906的博客 368

密歇根大学张阳团队开发全球首个蛋白质和RNA分子通用结构比对算法

蛋白质和核酸分子的结构比对,是结构生物学和分子生物学的最基本问题之一。而 US-align 这样的高精度多功能的结构比对算法,可在面对不同生物大分子的复杂结构和形状时,帮助分子生物学家们得到定量、精准、以及快速的比较结果。

weixin_4528312的博客 4701

AI4S - 关于 AlphaFold 的 openmm.patch 补丁 教程

在配置 AlphaFold 中,需要安装 openmm.patch 补丁,在 v2.3.1 版本之前才有,在 v2.3.2 以上版本,文件已经消失,用于解决 AlphaFold2 中的一个问题,即在蛋白质中可能出现多个二硫键分配给同一个原子的情况。

AGI 1550

AI-蛋白质-结构预测-2020:AlphaFold【输入:氨基酸序列】【输出:结构的性质(氨基酸之间两两的距离分布,氨基酸链的夹角分布)】【根据预测的性质构建约束,从而求解出拓扑结构】

AlphaFold解决的问题是蛋白质折叠问题,可以抽象成如下:输入:Alpha Fold的输入是一个氨基酸序列,每一个位置的元素代表了链上的一个氨基酸单元(一共可以有21种氨基酸单元),一个典型的输入如下这个输入代表是一个包含59个氨基酸的链输出:在接收到这个单一序列的输入之后,AlphaFold需要使用算法,预测这一个氨基酸链条会如何折叠,所以输出的是一个拓扑结构,上面这段氨基酸输入经过AlphaFold模型运算之后输出的氨基酸拓扑结构可视化如下:氨基酸链折叠拓扑结构示例。

u013250861的博客 5376

AI对于生物学,早就不只是AlphaFold了……

2022年,Nature Medicine发布了题为“AI in health and medicine”的综述文章,表明人工智能正在重塑医学。不久,DeepMind官宣:AlphaFold2预测出2.14亿个蛋白质结构,几乎涵盖地球上所有已知蛋白质。近一年来,我们见证了AI在生物医学中的一次次突破。本文根据蛋白质结构、算法模型、临床数据三大热门领域,对近一年以来的43篇重要论文进行整理,并且选了...

Paper weekly 472

AI4S - AFsample: Improving Multimer Prediction with AlphaFold using Aggressive Sampling 论文简读

AlphaFold 神经网络模型,以前所未有的性能彻底改变了结构分子生物学。我们证明,通过在推理时启用 dropout 来随机扰动神经网络会生成一组更多样化的模型,可以使用 AlphaFold 中的自我评估排名分数从中选择更好的模型。该方法在 CASP15 中进行了基准测试,在蛋白质组装类别中名列前茅。该方法对任何对多聚体结构建模感兴趣的人都应该有用。

AGI 1718

老王讲IT:ChatGPT第九讲

当然,更要命的是,如果你让它画一张“在阳光明媚的春天里,在草地上奔跑的海豚的照片”,它很可能会把狗换成海豚交给你,因为它不具有海豚无法上岸的常识。迄今为止,这方面最有意义的一项成果是DeepMind公司(Google的子公司)做的AlphaFold(深度学习的人工智能),也就是用深度学习解构蛋白质的结构,研究蛋白质的折叠问题。今天,你让人工智能系统画一张“在阳光明媚的春天里,在草地上奔跑的狗的照片”,它能画,但是画得没有意境,非常直接,这是因为它不理解“在阳光明媚的春天里”是什么意思。

m0_73193414的博客 977

四阶龙格库塔方法求解一次常微分方程组

四阶龙格库塔方法求解一次常微分方程组一、写在前面二、四阶龙格库塔方法三、使用四阶龙格库塔方法求解一次常微分方程组 一、写在前面 龙格库塔方法是数值求解常微分非线性方程的有利工具,计算精度较高,通过缩短步进距离和增加阶数可以进一步控制误差范围。工程上较为常用的是四阶龙格库塔算法(R-K4),在计算收敛的情况下往往可以得到比较好的结果。 二、四阶龙格库塔方法 这里简单介绍一下算法的具体实现过程,不做详细的推导。其求解的问题是形如方程: y˙=f(y,t),其中t∈[t0,t1]初值y(t0)=c0 \dot{y

HelloWorldTM的博客 2万+

异步FIFO的隐形陷阱:复位信号同步化实战解析

本文深入解析异步FIFO设计中复位信号同步化的隐形陷阱,重点分析赛灵思xpm_fifo_async原语在FPGA应用中的常见问题。通过实战代码和系统集成方案,提供复位同步化的最佳实践,帮助工程师避免跨时钟域通信故障,提升系统可靠性。

keras9composer的博客 245

chatgpt:还有哪些人工智能和科技值得关注?

当然,更要命的是,如果你让它画一张“在阳光明媚的春天里,在草地上奔跑的海豚的照片”,它很可能会把狗换成海豚交给你,因为它不具有海豚无法上岸的常识。迄今为止,这方面最有意义的一项成果是DeepMind公司(Google的子公司)做的AlphaFold(深度学习的人工智能),也就是用深度学习解构蛋白质的结构,研究蛋白质的折叠问题。今天,你让人工智能系统画一张“在阳光明媚的春天里,在草地上奔跑的狗的照片”,它能画,但是画得没有意境,非常直接,这是因为它不理解“在阳光明媚的春天里”是什么意思。

探索互联网宇宙ing 808

残差检验_第三十讲 R语言-Cox比例风险模型的假设检验条件

在介绍完 Cox比例风险模型的详细理论和R实现以后(插入链接!!!),我们已经知道Cox比例风险模型可以较好的同时矫正多个混杂因素对结果的影响,同时我们遗留下来了一个问题:Cox比例风险模型的假设检验条件是什么?这一讲,我们将对此进行解答。请注意,如果使用不当,统计模型可能会产生误导性的结论。因此,检查给定的模型是否适合数据类型是非常重要的!1. Cox比例风险模型的假设条件Cox比例风险模型的成...

weixin_35476698的博客 8047

chatGPT第九讲

当然,更要命的是,如果你让它画一张“在阳光明媚的春天里,在草地上奔跑的海豚的照片”,它很可能会把狗换成海豚交给你,因为它不具有海豚无法上岸的常识。迄今为止,这方面最有意义的一项成果是DeepMind公司(Google的子公司)做的AlphaFold(深度学习的人工智能),也就是用深度学习解构蛋白质的结构,研究蛋白质的折叠问题。今天,你让人工智能系统画一张“在阳光明媚的春天里,在草地上奔跑的狗的照片”,它能画,但是画得没有意境,非常直接,这是因为它不理解“在阳光明媚的春天里”是什么意思。

zzzzzzxzzzsjjsj的博客 1016

MIT 18.03 微分方程 ODE 学习笔记分享——目录

从B站上看到了MIT 微分方程的课程,觉得老爷子讲的真好! 其实微分方程对于工科来说相当重要,但是很多学习也仅把他放在高数里作为单独的一个章节来讲,这是远远不够的。所以对于同学们来说 ,一定要认真听讲,做好笔记! 以下是我的个人学习比较分享。有需要的同学可以做一个参考。 注:个人认为笔记的作用是用来回想起课堂所讲的内容(细节),所以我的笔记风格为以老师讲课思路为准,板书为辅。建议刚开始听这门课的同...

weixin_40664094的博客 2630

Langchain分割方式

【代码】Langchain分割方式。

2896

曾推出阿尔法狗的DeepMind,为什么没能做出ChatGPT?

自被收购以来,DeepMind一直向谷歌、YouTube出售软件,为谷歌数据中心做节能优化、提高安卓寿命电池设备,并与谷歌地图合作,以提高地图里“到达预测时间”的精确度,优化谷歌语音虚拟助手——和AlphaGo、AlphaFold相比,这些事一点也不“sexy”在最近的一次采访中,哈萨比斯透露了DeepMind的研究进展,除了研究语言大模型,他们在《自然》和《科学》杂志上发表了关于“如何控制聚变反应堆中的等离子体”的文章,也在“帮助一些伟大的人类数学家进行猜想”,同时还在研究量子化学。

weixin_43769323的博客 1802

基于GEC6818开发板+Linux+Qt设计的智能养老院出入管理系统(195)

当前,传统的养老院出入管理模式普遍存在信息更新滞后、数据统计繁琐、实时监控能力不足等问题,难以满足现代养老机构对安全管理与服务质量提升的需求。本系统设计正是针对这些问题,通过集成先进的硬件设备如高性能GEC6818开发板以及RFID刷卡模块,结合稳定高效的嵌入式Linux操作系统和QT开发框架,构建一套功能齐全、操作直观、响应迅速的智能出入管理系统。 该系统能自动记录并实时显示老人的进出时间,方便管理人员及时了解每位老人的活动轨迹,同时具备强大的后台管理功能,支持管理员便捷地进行老人信息的增删改查操作。通

1069

科学观察 | 人工智能驱动的科学研究新范式: 从 AI4S 到智能科学

本文刊载于《中国科学院院刊》2023年第4期 “科学观察”王飞跃1 缪青海21 中国科学院自动化研究所 复杂系统管理与控制国家重点实验室2 中国科学院大学 人工智能学院近期,以 ChatGPT 为代表的大模型技术正开启人类社会智能化的新纪元。研究人工智能成功案例背后的技术原理,探索人工智能驱动的科学研究(AI for Science,AI4S)新范式,对促进我国科技进步、增强国家竞争力...

人工智能学家 1761

YOLOv13涨点改进 | 全网独家创新、高效涨点改进篇 | CVPR 2024 | YOLOv13引入SHSA单头自注意力模块,减少冗余的多头注意力,轻量化改进,助力目标检测和图像分类任务高效涨点

本文提出了一种改进YOLOv13模型的新方法——SHSA(单头自注意力)模块,用于提升目标检测任务的计算效率和推理速度。SHSA通过简化多头注意力机制为单头结构,显著减少了计算冗余和内存占用。实验表明,该模块在保持精度的同时,在GPU、CPU和移动设备上分别实现了3.3倍、8.1倍和2.4倍的加速效果。文章详细介绍了SHSA的结构原理、核心代码实现方法,以及如何集成到YOLOv13的配置文件中。这种改进特别适合资源受限设备,为实时目标检测提供了更优的速度-精度平衡方案。

Ai缝合怪、助力小伙伴高效发论文 507

9.6华为OD机试真题 新系统【仓储货物有序出库】

华为OD机试真题 新系统【仓储货物有序出库】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【仓储货物有序出库】多语言题解。

qq_45776114的博客 885

李飞飞高徒盘点年度十大AI亮点:核聚变、ChatGPT、AlphaFold上榜

点击上方“视学算法”,选择加"星标"或“置顶”重磅干货,第一时间送达来源丨新智元编辑丨Aeneas 昕朋导读2022年有哪些人工智能的突破?今天,李飞飞高徒Jim Fan盘点了年度十大AI亮点。人工智能的爆炸正在扭曲我们的时间感。你能相信Stable Diffusion只有4个月大,而ChatGPT的出现还不到一个月吗?打个形象的比喻,只要眨一下眼,你就会错过一个全新的行业。2022年的AI领域...

zandaoguang的博客 471

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

AI工程落地指南:从AlphaFold到PlayTorch的技术闭环实践

AI技术的价值不在论文热度,而在真实场景中的可部署性与可维护性。理解模型压缩、移动端推理优化、生物计算工程化等核心能力,需回归‘问题—动作—影响’本质:如DeepSpeed Compression如何通过渐进式稀疏训练平衡精度与延迟,PlayTorch怎样用TorchByte中间表示解决跨设备性能碎片化,AlphaFold 2数据库扩容背后分层存储与质量标签驱动的科研工作流重构。这些实践共同指向一个关键范式——AI工程化不是调参或复现,而是对计算资源、硬件约束、协作链路的系统性建模。本文聚焦2023年中旬三

weixin_33923762的博客 410

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

跑完 AlphaFold 之后:PDB/MMCIF 输出文件里到底该找什么

你刚跑完一次 AlphaFold 单体预测,输出目录里躺着 `ranked_0.pdb`、`unrelaxed_model_1.pdb`、`confidence_model_1.json`、`pae_model_1.json`……打开终端,一堆文件不知道该从哪下手:到底该看哪个 PDB?pLDDT 分数藏在哪一列?用 Python 怎么把 MMCIF 打开?这篇就是回答这三个问题的。先说结论:**

gitblog_00522的博客 1050

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

AI 在医学领域杀疯了!

2022年,Nature Medicine发布了题为“AI in health and medicine”的综述文章,表明人工智能正在重塑医学。不久,DeepMind官宣:AlphaFold2预测出2.14亿个蛋白质结构,几乎涵盖地球上所有已知蛋白质。近一年来,我们见证了AI在生物医学中的一次次突破。本文根据蛋白质结构、算法模型、临床数据三大热门领域,对近一年以来的43篇重要论文进行整理,并且选了...

阿木寺的博客 653

超越诺奖?生物界「ChatGPT」首次实现从零合成全新蛋白,登Nature子刊!喂了2.8亿种氨基酸序列...

新智元报道编辑:好困 Aeneas【新智元导读】这家成立三年的小初创公司,首次利用深度学习语言模型合成出了自然界中不存在的全新蛋白质,引爆蛋白质设计革命。人工智能的应用,已经极大地加速了蛋白质工程的研究。最近,加州伯克利的一家初出茅庐的初创公司再次取得了惊人的进步。科学家们采用类似ChatGPT的蛋白质工程深度学习语言模型——Progen,首次实现了AI预测蛋白质的合成。这些蛋白质不仅与已...

悟道西方 328
上一篇: Elasticsearch 搜索测试与集成Springboot3
下一篇: 建议收藏,最全ChatGPT 中文调教指南:提供各个领域的角色提示词(prompts)及使用技巧,当然也有不正经指南
yumuing blog
博客等级 码龄6年 9922粉丝 64原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yumuing blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值