贝叶斯神经网络(Bayesian Neural Network)通过提供不确定来回答“Why Should I Trust You?”这个问题。实现上讲,贝叶斯通过集成深度学习参数矩阵中参数的Uncertainty来驾驭数据的不确定性,提供给具体Task具有置信空间Confidence的推理结构。
一般的神经网络我们称为Point estimation neural networks,通过MLE最大似然估计的方式建立训练的目标函数,为神经网络中的每个参数寻找一个optimal最优值;而贝叶斯深度学习一种把概率分布作为权重的神经网络,通过真实数据来优化参数的概率分布,在训练的过程中会使用MAP最大后验概率集成众多的模型参数的概率分布来拟合各种不确定的情况,提供处理数据不确定性的信息表达框架。
Transformer是一个符合Bayesian深度学习网络的AI架构,尤其是其经典的multi-head self-attention机制,该机制其实采用模型集成的思想来从工程角度落地贝叶斯深度学习网络;基于Prior先验信息的正则化效果,multi-head机制所表达的信息多元化及不确定性能够提供具有可性度区间的回答 “Why Should I Trust You?” 这一问题
本课程以Transformer架构为基石、萃取NLP中最具有使用价值的内容、围绕手动实现工业级智能业务对话机器人所需要的全生命周期知识点展开,学习完成后不仅能够从算法、源码、实战等方面融汇贯通NLP领域NLU、NLI、NLG等所有核心环节,同时会具备独自开发业界领先智能业务对话机器人的知识体系、工具方法、及参考源码,成为具备NLP硬实力的业界Top 1%人才。
课程特色:
101章围绕Transformer而诞生的NLP实用课程
5137个围绕Transformers的NLP细分知识点
大小近1200个代码案例落地所有课程内容
10000+行纯手工实现工业级智能业务对话机器人
在具体架构场景和项目案例中习得AI相关数学知识
以贝叶斯深度学习下Attention机制为基石架构整个课程
五大NLP大赛全生命周期讲解并包含比赛的完整代码实现
第11章: 挑战BERT地位的Autoregressive语言模型XLNet剖析及源码完整实现
1,作为Autoregressive语言模型的XLNet何以能够在发布时在20个语言任务上都能够正面挑战作为Autoencoding与训练领域霸主地位的BERT?
2,XLNet背后Permutation LM及Two-stream self-attention数学原理解析
3,Autoregressive LM和Autoencoding LM数学原理及架构对比
4,Denoising autoencoding机制的数学原理及架构设计
5,对Permutation进行Sampling来高性价比的提供双向信息数学原理
6,XLNet的Permutation实现架构和运行流程:content stream、query stream
7,XLNet中的缓存Memory记录前面Segment的信息
8,XLNet中content stream attention计算
9,XLNet中query stream attention计算
10,使用Mask Matrices来实现Two-stream Self-attention
11,借助Transformer-XL 来编码relative positional 信息
12,XLNet源码实现之数据分析及预处理
13,XLNet源码实现之参数设定
14,Embeddings源码实现
15,使用Mask实现causal attention
16,Relative shift数学原理剖析及源码实现
17,XLNet Relative attention源码完整实现
18,content stream源码完整实现
19,queery stream源码完整实现
20,Masked Two-stream attention源码完整实现
21,处理长文件的Fixed Segment with No Grad和New Segment
22,使用einsum进行矩阵操作
23,XLNetLayer源码实现
24,Cached Memory设置
25,Head masking源码
26,Relative-position encoding源码实现
27,Permutation实现完整源码
28,XLNet FFN源码完整实现
29,XLNet源码实现之Loss操作详解
30,XLNet源码实现之training过程详解
31,从特定的checkpoint对XLNet进行re-training操作
32,Fine-tuning源码完整实现
33,Training Evaluation分析
34,使用XLNet进行Movies情感分类案例源码、测试及调试
第12章:NLP比赛的明星模型RoBERTa架构剖析及完整源码实现
1,为什么说BERT模型本身的训练是不充分甚至是不科学的?
2,RoBERTa去掉NSP任务的数学原理分析
3,抛弃了token_type_ids的RoBERTa
4,更大的mini-batches在面对海量的数据训练时是有效的数学原理解析
5,为何更大的Learning rates在大规模数据上会更有效?
6,由RoBERTa对hyperparameters调优的数学依据
7,RoBERTa下的byte-level BPE数学原理及工程实践
6,RobertaTokenizer源码完整实现详解
7,RoBERTa的Embeddings源码完整实现
8,RoBERTa的Attention源码完整实现
9,RoBERTa的Self-Attention源码完整实现
10,RoBERTa的Intermediate源码完整实现
11,RobertLayer源码完整实现
12,RobertEncoder源码完整实现
13,RoBERTa的Pooling机制源码完整实现
14,RoBERTa的Output层源码完整实现
15,RoBERTa Pre-trained model源码完整实现
16,RobertaModel源码完整实现详解
17,实现Causal LM完整源码讲解
18,RoBERTa中实现Masked LM完整源码详解
19,RobertLMHead源码完整实现
20,RoBERTa实现Sequence Classification完整源码详解
21,RoBERTa实现Token Classification完整源码详解
22,RoBERTa实现Multiple Choice完整源码详解
23,RoBERTa实现Question Answering完整源码详解
第13章:DistilBERT:smaller, faster, cheaper and lighter的轻量级BERT架构剖析及完整源码实现
1,基于pretraining阶段的Knowledge distillation
2,Distillation loss数学原理详解
3,综合使用MLM loss、distillation loss、cosine embedding loss
4,BERT Student architecture解析及工程实践
5,抛弃了BERT的token_type_ids的DistilBERT
6,Embeddings源码完整实现
7,Multi-head Self Attention源码完整实现
8,Feedforward Networks源码完整实现
9,TransformerBlock源码完整实现
10,Transformer源码完整实现
11,继承PreTrainedModel的DistilBertPreTrainedModel源码完整实现
13,DistilBERT Model源码完整实现
14,DistilBertForMaskedLM源码完整实现
15,DistilBert对Sequence Classification源码完整实现
第14章: Transformers动手案例系列
1,动手案例之使用Transformers实现情感分析案例代码、测试及调试
2,动手案例之使用Transformers实现NER代码、测试及调试
3,动手案例之使用Transformers实现闲聊系统代码、测试及调试
4,动手案例之使用Transformers实现Summarization代码、测试及调试
5,动手案例之使用Transformers实现Answer Span Extraction代码、测试及调试
6,动手案例之使用Transformers实现Toxic Language Detection Multi-label Classification代码、测试及调试
7,动手案例之使用Transformers实现Zero-shot learning代码、测试及调试
8,动手案例之使用Transformers实现Text Clustering代码、测试及调试
9,动手案例之使用Transformers实现semantics search代码、测试及调试
10,动手案例之使用Transformers实现IMDB分析代码、测试及调试
11,动手案例之使用Transformers实现cross-lingual text similarity代码、测试及调试
第15章: Question Generation综合案例源码、测试及调试
1,从Text到Multiple choice question数学原理、使用的Transformer知识、架构设计
1,自动生成错误的问题选项
2,使用GPT2自动生成对错二分类的问题
3,使用Transformer生成多选题目
4,使用Transformer自动生成完形填空题目
5,使用Transformer基于特定内容生成问题
6,完整案例调试分析
7,使用fastAPI部署、测试Transformer案例
8,使用TFX部署、测试Transformer案例
第16章:Kaggle BERT比赛CommonLit Readability Prize赛题解析、Baseline代码解析、及比赛常见问题
1,以问题为导向的Kaggle Data Competition分析
2,为何Kaggle上的NLP 80%以上都是文本分类比赛,并必须使用Neural Networks?
3,文本复杂度衡量不同类型实现技术分析
4,比赛的Training数据集分析:id、url_legal、license、excerpt、target、standard_error
5,比赛的评价指标分析
6,Readability:NLP Classification or Regression based on neural networks
7,Kaggle比赛通用步骤:Data - Cleaning - Store - GridSearch - Model - Prediction
8,比赛外部数据集分析
9,比赛使用的硬件条件分析
10,Training Set、Validation Set、Test Set
11,比赛的双层Pretraining技术解析
12,Pretraining的三大类型解析:ITPT、IDPT、CDPT
13,传统的Statistics Method建模 + 树模型
14,Statistical features构建源码分析
15,融合统计信息并使用Regression模型解析
16,使用RoBERTa模型解析
17,使用AutoModelForMaskedLM
18,TrainConfig解析
19,模型的Tokenizer解析
20,模型加载
21,对RoBERTa进行pretrain源码解析解决原声BERT和比赛数据领域Discrepancy的问题
22,Model weights保存时的json和bin解析
23,使用Kaggle Notebook加载第一次pretrain后的模型
24,验证集:K-Fold、Sampling等分析
25,Early stoping分析
26,把Examples转为Features
27,DatasetRetriever源码实现详解
28,Input IDs、Attention Mask、Token type IDs
28,CommonLitModel源码之regressor解析
30,CommonLitModel源码之Loss计算
31,CommonLitModel源码之train方法源码解析
32,finetuning中的AutoModel
33,fineturning完整源码解析
34,Local CV解析
35,RoBERTa Base + RoBERT Large结合
36,对不同子模型结果的处理
37,Classification实现解析
38,通过Kaggle Kernel对GPU的使用
39,Submission过程解析
40,为何比赛时不要私下共享数据?
41,kernel赛能够在本地进行训练和微调,然后在上传到Kaggle上吗?
42,如何在kaggle kernel加载外部模型?
43,RobertaModel提示not initialized的情况下该如何处理?
44,kernel无法提交应该如何处理?
45,提交后报错该如何处理?
46,CV和公开榜单应该更加注重哪一个?
47,使用BERT比赛的时候最重要的Hyper Parameter是什么?
48,如何选择GPU训练平台?
49,在Kaggle上运行Notebook的时候一直是等待状态该怎么处理?
50,在kernel中如何运行脚本文件?
51,如何解决BERT训练效果反复波动的情况?
52,为何看到的效果并不是最终的结果?
第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的内存和计算资源
第18章:BERT CommonLit Readability Prize比赛中的高分思路及源码解析
1,Ensemble methods解析
2,ML中的机器学习:Bagging、Boosting、GBDT等
3,Kaggle比赛中的Ensemble methods:Vote、Blend、Stacking等
4,为何Kaggle竞赛中的Ensemble methods会获得更好的精度?
5,Bagging ensemble method:row-based sampling、column-based sampling等
6,Bagging ensemble method中的并行训练及预测
7,Boosting串行训练多个模型:多错误样本权重调整、拟合误差
8,Blend和Average:对结果基于精度进行加权求和
9,Stacking:out of fold及交叉验证
10,模型和特征多样性
11,比赛对Bagging的使用
12,比赛对Boosting的使用
13,深度学习中的模型集成方法:Dropout
14,训练阶段调整句子顺序Flipping操作
15,对Ensemble进行Snapshot
16,Stochstic Weight Averaging操作
17,Pseudo Label解析:基于方差的标签构建
18,Kernel赛Pseudo Label和非Kernel赛的Pseudo Lable
19,Pseudo Lable实现四步骤详解
20,Knowlede distillation soft label
21,用于分类的network distillation:embedding layer、transformer layer、prediction layer
22,public LB及private LB
23,借助Roberta-large+和训练集相同books的外部数据集
24,使用Pooling解析及代码实现解析
25,混合使用不同来源的特征工程结果进行集成
26,高分作品1完整源码剖析
27,高分作品2完整源码剖析
28,高分作品3完整源码剖析
29,高分作品4完整源码剖析
30,高分作品5完整源码剖析
第19章:NLP阅读理解MRC(Machine Reading Comprehension)数学原理、技术本质及常见算法
1,以一篇119个Words的GRE(Graduate Record Examinations)文章及2个相应的阅读理解题目为例来剖析阅读理解的过程及其背后的机制
2,MRC在智能客服、机器问答、搜索引擎等等广泛应用背后的原因:规模化价值复制
3,信息的本质及信息理解的本质数学机制剖析
4,MRC三元素:Question-Context-Answer数学模型及技术本质剖析
5,MRC的核心:Attention Computations
6,MRC对信息理解三大层次解析及背后对应的数学模型
7,MRC实现方法之传统特征工程解析
8,MRC实现方法之深层语意图匹配解析
9,MRC实现方式之神经网络及Attention机制解析
10,MRC数据之Single-Document和Multiple-Document解析
11,MRC的四大核心任务之Cloze Tests数据集、数学原理和技术本质剖析
12,MRC的四大核心任务之Multiple Choice数据集、数学原理和技术本质剖析
13,MRC的四大核心任务之Span Extraction数据集、数学原理和技术本质剖析
14,MRC的四大核心任务之Free Anwering数据集、数学原理和技术本质剖析
15,Cloze Tests数据集分析:CNN&Daily Mail、CBT等
16,Multiple Choice数据集分析:MC Test、RACE等
17,Span Extraction数据集分析:SQuAD、NewsQA等
18,Free Answering数据集分析:MS MARCO、DuReader等
19,MRC的测试集解析:In-domain、Over-sensitivity、Over-stability、Generalization等
20,MRC的可回答问题及无答案问题数学原理剖析及BERT实现
21,MRC的Feature extraction数学原理及算法分析
22,传统Machine Learning Algorithms对MRC 算法解析
23,BiDAF (Bi-Directional Attention Flow)下的MRC算法解析
24,QANet下的MRC算法解析
25,Transformer架构下的BERT及ALBERT下的MRC 解析
26,Transformer架构下的XLNET下的MRC 解析
第20章:MRC通用架构双线模型内核机制、数学原理、及组件内幕
1,双线模型架构解析:Multiple Encoders、Interaction
2,双线模型中为何Interaction环节是实现信息理解的关键?
3,双线模型底层数学原理剖析
4,Embeddings下的One-hot Representation及多层One-hot机制解析
5,Embeddings下的Word2vec的CBOW模型解析及源码实现
6,Embeddings下的Word2vec的Skipgram模型解析及源码实现
7,MRC下GloVe: Global Vectors for Word Representation架构解析及源码实现
8,MRC 下解决一次多义Elmo架构解析及源码实现
9,使用BERT进行Embeddings架构及最佳实践解析
10,Feature Extraction下的CNN模型解析及源码实现
11,Feature Extraction下的RNN模型解析及源码实现
12,Feature Extraction下的Transformer Encoder或者Decoder的架构解析及源码实现
13,MRC灵魂:Context-Question Interaction及Question-Context Interaction
14,Answer Prediction之Word Predictor数学原理及源码实现剖析
15,Answer Prediction之Option Predictor数学原理及源码实现剖析
16,Answer Prediction之Span Extractor数学原理及源码实现剖析
17,Answer Prediction之Answer Generator数学原理及源码实现剖析
18,MRC中的Negative Sampling数学机制及具体实现
19,BERT对MRC中无答案问题处理剖析及实现
20,MRC on Knowledge Graph解析
21,对MRC进行Evaluation Metrics之Accuracy、Precision、Recall、F1解析
22,对MRC进行Evaluation Metrices之Rouge-L解析
23,对MRC进行Evaluation Metrics之BLEU解析
24,提升MRC能力的7大方法详解