Datawhale:2024.8.3 Transformer建模SMILES进行反应产率预测个人笔记——对Transformer的迷思

1. Task2 RNN的缺点

RNN的一种形式是n to n,如下所示。
在这里插入图片描述
输入是 x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1,x2,...,xn,输出是 y 1 , y 2 , . . . y n y_1,y_2,...y_n y1,y2,...yn
例如上图,传递函数:
h i = f ( W x i + V h i − 1 + b ) i ∈ 0 , 1 , 2 , 3 h_i = f(Wx_i + Vh_{i-1} +b) \qquad i \in {0,1,2,3} hi=f(Wxi+Vhi1+b)i0,1,2,3
实际情况 i i i可更多。一般情况下, W , V , b W,V,b W,V,b不变的。
缺点可谓:

  • 层过多,会丢失,并不像LSTM(Long Short-Term Memory),记忆能力相对较弱。
  • RNN是一层一层传递,如果有奇异值或者异常值,会导致梯度爆炸或者梯度消失
  • 并行运算困难
  • RNN输出依赖前面的输入

2. 何为Transformer?

Transformer是由Vaswani等人在2017年提出的一种神经网络架构,出自于论文“Attention is All You Need”中。Transformer架构在许多NLP任务中表现出色,目前已经成为诸如GPT(Generative Pre-trained Transformer)等大型语言模型的基础。
其基本架构如下:
在这里插入图片描述
其分为Encoder block,Decoder block,Input和Output四个部分。
Input包括Embedding layer和Positional Encoding。

2.1 位置编码方法

在“Attention is All You Need”论文中采用的是正余弦函数生成的位置计算公式:
双变量正余弦函数如下:
P E ( p o s , 2 i ) = s i n ( p o s 1000 0 2 i d m o d e l ) P E ( p o s , 2 i + 1 ) = c o s ( p o s 1000 0 2 i d m o d e l ) (1) \left. \begin{aligned} PE(pos,2i) &= sin(\dfrac {pos} {10000^{\frac {2i} {d_{model}}}}) \\ PE(pos,2i+1) &= cos(\dfrac {pos} {10000^{\frac {2i} {d_{model}}}}) \end{aligned} \tag{1} \right. PE(pos,2i)PE(pos,2i+1)=sin(10000dmodel2ipos)=cos(10000dmodel2ipos)(1)
其中, p o s pos pos 表示单词所在的位置, 2 i 2i 2i 2 i + 1 2i+1 2i+1 表示位置编码向量中的对应维度, d m o d e l d_{model} dmodel则对应位置编码的总维度。
假如 d m o d e l = 512 d_{model} = 512 dmodel=512,则 i i i最大为255。

值得注意的是,位置编码得到的结果是直接和输入的向量相加而非拼接

2.2 Encoder block和Decoder block

每个block在图中都有六个同类堆叠而成。
一个Encoder是由自注意力机制和残差块相加与正则化(Add and LayerNorm)构成。
对于一个输入序列,如果它是一个词向量,词向量可以通过三个权重矩阵转换成Attention值所需的Query,Keys,Values向量,这里注意矩阵相乘的条件,特别是矩阵行列大小
得到Q,K,V后即可计算Attention值。

这里的标准化是对同一个样本不同神经元之间进行归一化,此即Layer Normalization。
另外,Batch Normalization是对不同样本的同一位置的神经元进行归一化。

在Add and LayerNorm之前,还有一个前馈网络(Feed Forward Network)
公式如下:
F F N ( x ) = R e L U ( x W 1 + b 1 ) W 2 + b 2 FFN(x) = ReLU(xW_1 + b_1) W_2 + b_2 FFN(x)=ReLU(xW1+b1)W2+b2

Decoder结构与Encoder类似。

3.思考

在文章中,作者指出:将SMILES作为序列进行建模,相比于使用分子指纹进行向量化之后采用传统的机器学习方法,效果还更差。
个人认为,作者指出的第二点可以具体而言:
SMILES所包含的拓扑信息是有限的,无法表示较为复杂的分子空间结构。哪怕很多时候一些细小的信息变化,两种物质之间的性质差距不大,但也会有像”奇异矩阵“一样在”奇异点“的病态变——一点的信息变化会导致极大的性质之差。
一个能够蕴含更多的拓扑信息分子结构是急需的。

Datawhale Task3 Transformer建模SMILES进行反应产率预测文章:https://linklearner.com/activity/12/1/13

  • 29
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值