notes for datawhale summer camp chemistry task2

\[appendix/Task2_RNN.ipynb\|Task2_RNN.ipynb\]

本次的任务是进一步了解 AI4Science 相关知识,然后使用深度学习的方法建模。

你可以从中:了解一些相关历史、了解 SMILES 和分子指纹,并对 RDkit 工具包有更深的认识;探究深度学习方法如何建模化学中的序列问题。

随着计算机技术的发展,将化学知识用计算机存储的方法也一直在发展和进步

AI4Chemistry知识点补充

早期历史

AI4Science的发展历史大致也经历这三个阶段:

  1. 将化学知识以计算机形式存储,并构建数据库
  2. 机器学习
  3. 深度学习

SMILES

Simplified Molecular Input Line Entry Syetem, SMILES, 将化学分子用ASCII字符表示,在化学信息学领域举足轻重

![[appendix/Pasted image 20240730094417.png]]

事实上,使用图数据(grpah)表示分子是非常合适的。图网络相比于基于SMILES的序列网络,在某些方面会更胜一筹

分子指纹

分子指纹是一个具有固定长度的位向量(即由0,1组成),其中,每个为1的值表示这个分子具有某些特定的化学结构。

通常,分子指纹的维度都是上千的,也即记录了上千个子结构是否出现在分子中。

RDkit

化学信息学中主要的工具

几乎所有的与化学信息学相关的内容都可以在网站上找到

示例代码略

机器学习

//之前无背景知识,复制过来学习

机器学习按照目标可以分为分类任务(classification)和回归(regression)任务两大类。

所谓分类任务,就是模型预测的结果是离散的值,例如类别;那么,回归任务中,模型预测的结果就是连续的值,例如房价等等。

在本次竞赛中,我们需要预测的目标是反应的产率,是0-1之间的一个连续的数值,所以是一个回归任务。

//离散值通过一些处理可以近似认为是连续值

![[appendix/Pasted image 20240730103640.png]]
分类型决策树(左),回归型决策树(右)

划分每个节点的目标是让该节点中的值尽可能相同。

在分类任务中,常见的就是信息熵衡量;在回归任务中,可以使用均方误差、绝对误差等进行衡量。

![[appendix/Pasted image 20240730103557.png]]
随机森林

将多个决策树结合在一起,训练每个决策树的数据集都是随机有放回地从原数据中选出。预测的时候,输入会通过每个决策树进行预测,然后考虑每个树地输出结果,得到最终的预测值。

深度学习

深度学习可以归为机器学习的一个子集,主要通过神经网络学习数据的特征和分布。深度学习的一个重要进化是不再需要繁琐的特征工程,让神经网络自己从里面学习特征。

SMILES是一种以ASCII组成的序列,可以被理解为一种"化学语言"。既然是一种语言,那么很自然地想到了可以使用NLP中的方法对SMILES进行建模。

使用RNN对SMILES建模是早期的一个主要方法。RNN(Recurrent Neural Network)是处理序列数据的一把好手。RNN的网络每层除了会有自己的输出以外,还会输出一个隐向量到下一层。

![[appendix/Pasted image 20240730104819.png]]
RNN架构示意图

其中,每一层相当于做了一次线性变换:
h n = σ ( W h h h n − 1 + W h x x n + b n ) h_{n}=\sigma(W_{hh}h_{n-1}+W_{hx}x_{n}+b_{n}) hn=σ(Whhhn−1+Whxxn+bn)

每层的输出:
y n = S o f t m a x ( V h n + c ) y_{n}=Softmax(Vh_{n}+c) yn=Softmax(Vhn+c)

但是RNN也有缺点:如果序列太长,那么两个相距比较远的字符之间的联系需要通过多个隐藏向量。这就像人和人之间传话一样,传递的人多了,很容易导致信息的损失或者扭曲。因此,它对长序列的记忆能力较弱。

同时,RNN需要一层一层地传递,所以并行能力差,比较容易出现梯度消失或梯度爆炸问题。

在后面学习中,我们会继续学习使用Transformer这种架构,这种架构就完美解决了长序列学习能力差、难以并行、出现梯度消失或者爆炸等问题。

实践部分

课后思考

机器学习实践还是第一次

跑完不用花太多时间,太好了

最近在本地笔记本尝试玩AI,深感配置不足,最终投向阿里云的怀抱

相关推荐
王上上14 分钟前
【论文阅读41】-LSTM-PINN预测人口
论文阅读·人工智能·lstm
智慧化智能化数字化方案27 分钟前
69页全面预算管理体系的框架与落地【附全文阅读】
大数据·人工智能·全面预算管理·智慧财务·智慧预算
PyAIExplorer30 分钟前
图像旋转:从原理到 OpenCV 实践
人工智能·opencv·计算机视觉
Wilber的技术分享39 分钟前
【机器学习实战笔记 14】集成学习:XGBoost算法(一) 原理简介与快速应用
人工智能·笔记·算法·随机森林·机器学习·集成学习·xgboost
巴里巴气40 分钟前
selenium基础知识 和 模拟登录selenium版本
爬虫·python·selenium·爬虫模拟登录
198944 分钟前
【零基础学AI】第26讲:循环神经网络(RNN)与LSTM - 文本生成
人工智能·python·rnn·神经网络·机器学习·tensorflow·lstm
JavaEdge在掘金1 小时前
Redis 数据倾斜?别慌!从成因到解决方案,一文帮你搞定
python
ansurfen1 小时前
我的第一个AI项目:从零搭建RAG知识库的踩坑之旅
python·llm
前端付豪1 小时前
20、用 Python + API 打造终端天气预报工具(支持城市查询、天气图标、美化输出🧊
后端·python
burg_xun1 小时前
【Vibe Coding 实战】我如何用 AI 把一张草图变成了能跑的应用
人工智能