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+Vhi−1+b)i∈0,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