GPT:使用生成式预训练模型提高对语言的理解.
Generative Pre-Training (GPT)的结构采用Transformer的Decoder,层数$L=12$,特征维度$H=768$,激活函数使用GeLU。首先在无标注的大规模语料库上训练模型,之后利用标注数据进行微调解决下游任务。
GPT采用language modeling作为预训练任务,即在预训练时极大化似然函数:
\[L_1(\mathcal{U}) = \sum_{i}^{} logP(u_i | u_{i-k},...,u_{i-1};\Theta)\]其中概率语言模型使用Transformer的Decoder。原输入可以表示成:
\[h_0 = UW_e + W_p\]其中$U$是词的上下文向量,$W_e$是词嵌入矩阵,$W_p$是位置编码。则使用多层Transformer如下:
\[h_l = \text{transformer_block}(h_{l-1})\]预测结果可以表示为:
\[P(u) = \text{softmax}(h_LW_e^T)\]另一方面,GPT采用有监督的分类任务进行微调:
\[P(y | x^1,...,x^m) = \text{softmax}(h_L^mW_y)\]极大似然函数如下:
\[L_2(\mathcal{C}) = \sum_{(x,y)}^{} logP(y | x^1,...,x^m)\]最终的优化目标函数为:
\[L_3(\mathcal{C}) = L_2(\mathcal{C}) + \lambda \cdot L_1(\mathcal{C})\]