NLP培训课程第3章: 细说Language Model内幕及Transformer XL源码实现

         (基于Transformer的NLP智能对话机器人实战课程)

One Architecture, One Course,One Universe

星空智能对话机器人的Gavin认为Transformer是拥抱数据不确定性的艺术。

Transformer的架构、训练及推理等都是在Bayesian神经网络不确定性数学思维下来完成的。Encoder-Decoder架构、Multi-head注意力机制、Dropout和残差网络等都是Bayesian神经网络的具体实现;基于Transformer各种模型变种及实践也都是基于Bayesian思想指导下来应对数据的不确定性;混合使用各种类型的Embeddings来提供更好Prior信息其实是应用Bayesian思想来集成处理信息表达的不确定性、各种现代NLP比赛中高分的作品也大多是通过集成RoBERTa、GPT、ELECTRA、XLNET等Transformer模型等来尽力从最大程度来对抗模型信息表示和推理的不确定性。

从数学原理的角度来说,传统Machine Learning及Deep learning算法训练的目标函数一般是基于Naive Bayes数学原理下的最大似然估计MLE和最大后验概率MAP来实现,其核心是寻找出最佳的模型参数;而Bayesian的核心是通过计算后验概率Posterior的predictive distribution,其通过提供模型的不确定来更好的表达信息及应对不确定性。对于Bayesian架构而言,多视角的先验概率Prior知识是基础,在只有小数据甚至没有数据的时候是主要依赖模型Prior概率分布(例如经典的高斯分布)来进行模型推理,随着数据的增加,多个模型会不断更新每个模型的参数来更加趋近真实数据的模型概率分布;与此同时,由于(理论上)集成所有的模型参数来进行Inference,所以Bayesian神经网络能够基于概率对结果的提供基于置信度Confidence的分布区间,从而在各种推理任务中更好的掌握数据的不确定性。

当然,由于Bayesian模型因为昂贵的CPU、Memory及Network的使用,在实际工程实践中计算Bayesian神经网络中所有概率模型分布P(B)是棘手的甚至是Intractable的几乎不能实现事情,所以在工程落地的时候会采用Sampling技术例如MCMC的Collapsed Gibbs Sampling、Metropolis Hastings、Rejection Sampling及Variational Inference的Mean Field及Stochastic等方法来降低训练和推理的成本。Transformer落地Bayesian思想的时候权衡多种因素而实现最大程度的近似估计Approximation,例如使用了计算上相对CNN、RNN等具有更高CPU和内存使用性价比的Multi-head self-attention机制来完成更多视角信息集成的表达,在Decoder端训练时候一般也会使用多维度的Prior信息完成更快的训练速度及更高质量的模型训练,在正常的工程落地中Transformer一般也会集成不同来源的Embeddings,例如星空智能对话机器人的Transformer实现中就把One-hot encoding、Word2vec、fastText、GRU、BERT等encoding集成来更多层级和更多视角的表达信息。

拥抱数据不确定性的Transformer基于Bayesian下共轭先验分布conjugate prior distribution等特性形成了能够整合各种Prior知识及多元化进行信息表达、及廉价训练和推理的理想架构。理论上讲Transformer能够更好的处理一切以 “set of units” 存在的数据,而计算机视觉、语音、自然语言处理等属于这种类型的数据,所以理论上讲Transformer会在接下来数十年对这些领域形成主导性的统治力。

本课程以Transformer架构为基石、萃取NLP中最具有使用价值的内容、围绕手动实现工业级智能业务对话机器人所需要的全生命周期知识点展开,学习完成后不仅能够从算法、源码、实战等方面融汇贯通NLP领域NLU、NLI、NLG等所有核心环节,同时会具备独自开发业界领先智能业务对话机器人的知识体系、工具方法、及参考源码,成为具备NLP硬实力的业界Top 1%人才。

课程特色:
101章围绕Transformer而诞生的NLP实用课程
5137个围绕Transformers的NLP细分知识点
大小近1200个代码案例落地所有课程内容
10000+行纯手工实现工业级智能业务对话机器人
在具体架构场景和项目案例中习得AI相关数学知识
以贝叶斯深度学习下Attention机制为基石架构整个课程
五大NLP大赛全生命周期讲解并包含比赛的完整代码实现

课程 3 : 细说 Language Model 内幕及 Transformer XL 源码实 ****

1,人工智能中最重要的公式之一MLE数学本质剖析及代码实战

2,Language Model的数学原理、Chain Rule剖析及Sparsity问题

3,Markov Assumption:first order、second order、third order剖析

4,Language Model:unigram及其问题剖析、bigram及依赖顺序、n-gram

5,使用Unigram训练一个Language Model剖析及实践

6,使用Bigram训练一个Language Model剖析及实践

7,使用N-gram训练一个Language Model剖析及实践

8,拼写纠错案例实战:基于简化后的Naive Bayes的纠错算法详解及源码实现

9,使用基于Average Log Likelihood的PPL(Perplexity)来评估Language Model

10,Laplace Smoothing剖析及基于PPL挑选最优化K的具体方法分析

11,Interpolation Smoothing实现解析:加权平均不同的N-gram概率

12,Good-Turning Smoothing算法解析

13,Vallina Transformer language model处理长文本架构解析

14, Vallina Transformer Training Losses:Multiple Postions Loss、Intermediate Layer Losses、Multiple Targets Losses

15,Vallina Transformer的三大核心问题:Segment上下文断裂、位置难以区分、预测效率低下

16,Transformer XL:Attentive Language Models Beyond a Fixed-Length Context

17,Segment-level Recurrence with State Reuse数学原理及实现分析

18,Relative Positional Encoding算法解析

19,Transformer XL 中降低矩阵运算复杂度的Trick解析

20,缓存机制在语言模型中的使用思考

21,Transformer XL之数据预处理完整源码实现及调试

22,Transformer XL之MemoryTransformerLM完整源码实现及调试

23,Transformer XL之PartialLearnableMultiHeadAttention源码实现及调试

24,Transformer XL之PartialLearnableDecoderLayer源码实现及调试

25,Transformer XL之AdaptiveEmbedding源码实现及调试

26,Transformer XL之相对位置编码PositionalEncoding源码实现及调试

27,Transformer XL之Adaptive Softmax解析及源码完整实现

28,Transformer XL之Training完整源码实现及调试

29,Transformer XL之Memory更新、读取、维护揭秘

30,Transformer XL之Unit单元测试

31,Transformer XL案例调试及可视化

更多课程可以关注星空智能对话机器人的Gavin的公开课

以往公开课选段视频如下:

www.bilibili.com/video/BV1N3…

www.bilibili.com/video/BV1aS…

おすすめ

転載: juejin.im/post/7034190685490135077