(基于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%人才。
以Transformer架构为基石、萃取NLP中最具有使用价值的内容、围绕手动实现工业级智能业务对话机器人所需要的全生命周期知识点展开,学习完成后不仅能够从算法、源码、实战等方面融汇贯通NLP领域NLU、NLI、NLG等所有核心环节,同时会具备独自开发业界领先智能业务对话机器人的知识体系、工具方法、及参考源码,成为具备NLP硬实力的业界Top 1%人才。
课程特色:
101章围绕Transformer而诞生的NLP实用课程
5137个围绕Transformers的NLP细分知识点
大小近1200个代码案例落地所有课程内容
10000+行纯手工实现工业级智能业务对话机器人
在具体架构场景和项目案例中习得AI相关数学知识
以贝叶斯深度学习下Attention机制为基石架构整个课程
五大NLP大赛全生命周期讲解并包含比赛的完整代码实现
北京时间每天晚21点,NLP逐行解密:算法、数学、源码。
知乎-B站搜索StarSpaceNlp加入直播。
YouTube搜索 StarSpace NLP加入直播。
所有直播永久免费!
以往直播课程回放地址:https://search.bilibili.com/all?keyword=%E6%AE%B5%E6%99%BA%E5%8D%8E&from_source=webtop_search&spm_id_from=333.851
\
课程第 17 章: BERT CommonLit Readability Prize 比赛技术进阶详 解****
1,Data Label based on pairwise comparisions between excerpts
2,Target中数字为0的原因解析
3,文本对比中的技巧
4,target和std构成联合信息
5,Coarse Validation Loop
6,private test set
7,Hold-out validation、K-fold CV validation、Bootstrap resampling
11,Diversity of models:RoBERTa、BERT、DistilRoBERTa等联合使用
12,模型参数多样化:不同来源、不同层次的参数及Hyper parameters
13,多模型结合的training和inference时间复杂度分析
14,验证集pretraining的意义分析
15,对embeddings的size的处理
16,FFN代码分析
17,warmup数学原理及实现剖析
18,learning rate scheduler剖析
19,RoBERTa模型参数结构详解
20,Data enhancement解析和实现
21,外部数据集应该用在two-phase pretraining的具体什么阶段?
22,多样性模型背后的数学原理机制深度剖析
23,多样性数据来源背后的数学原理剖析
24,多层次数据编码数学原理分析
25,One-hot编码和Dense embeddings的巧妙结合
26,对抗网络的使用分析
27,长文本处理技巧:head+tail
28,模型训练不收敛的解决技巧:动态learning rate
29,联合使用不同类别的预训练模型作为输入的Embedding层来提高收敛速度及避免过拟合背后的数学原理剖析
30,为何concatenation的embedding很适合Classification任务?
31,Trainable Parameters开启与停止
32,Sentence vector:TFIDF、监督任务、及SIF
33,Adversarial training:FGSM产生Adversary examples揭秘
34,为何Adversarial training应用到NLP文本到时候一般都是对Embedding层进行Adversary操作?背后的贝叶斯数学原理及神经网络工作机制
35,Adversarial training的五步骤详解
36,Adversarial training能够极大的提升NLP效果的数学原理剖析
37,Adversarial training及Adversarial example在Readability Prize比赛的应用
38,对每个Batch进行Adversarial training源码解析
39,Data augmentation方法Easy Data Augmentation解析及实现
40,基于BERT模型生成高质量的增强数据
41,孪生网络的使用
42,Dynamic Padding解析及源码实现
43,Uniform Length Batching解析及源码实现
44,Gradient Accumulation解析及源码实现
45,Freeze Embedding解析及源码实现
46,Numeric Precision Reduction解析及源码实现
47,Gradient Checkpoining解析及源码实现
48,使用memory-profiler来对进程及Python内存使用逐行分析
49,使用subprocess监视GPU使用
50,Debiasiing Omission in BertADAM
51,Re-Initializing Transformer Layers
52,Utilizing Intermediate Layers
53,LLRD(Layer-wise Learning Rate Decay)
54,Mixout Regularization
55,Pre-trained Weight Decay
56,Stochastic Weight Averaging
57,将code存储为dataset存储来更好的使用Kaggle的内存和计算资源
更多课程可以关注星空智能对话机器人的Gavin的公开课
以往公开课选段视频如下:
作者:天天天晴
链接:juejin.cn/post/703419…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。