NLP领域的现状以及AI工程师面临的严峻挑战
在过去几年时间里,NLP领域取得了飞速的发展,这也推动了NLP在产业中的持续落地,以及行业对相关人才的需求。 虽然,NLP的崛起滞后CV多年,但目前的势头还是势不可挡。
但这里我们要面对的现实是,行业上90%以上的NLP工程师是“不合格的”。在过去几个月时间里,我们其实也面试过数百名已经在从事NLP的工程师,但明显发现绝大部分对技术深度和宽度的理解是比较薄弱的,大多还是只停留在调用现有工具比如BERT、XLNet等阶段。
我们一直坚信AI人才的最大壁垒是创造力,能够持续为变化的业务带来更多的价值。但创造的前提一定是对一个领域的深度理解和广度认知,以及不断对一个事物的追问比如不断问自己为什么。
为什么在这个问题上使用Adam,而不是GD或者Adagrad? 对于特定的业务场景,我应该如何把领域知识考虑进去, 用先验,还是用限制条件? 对于拼车场景,设计了一套优化目标,但好像是离散优化问题,应该如何解决? 对于二分类,我应该选择交叉熵还是Hinge Loss?BERT模型太大了,而且效果发现不那么好比如next sentence prediction, 能不能改一改? 为什么CRF要不HMM在不少NLP问题上效果更好? 文本生成效果不太好,如何改造Beam Search让效果更好呢?训练主题模型效率太慢了,如果改造吉布斯采样在分布式环境下运行呢? 数据样本里的标签中有一些依赖关系,能不能把这些信息也加入到目标函数里呢?
另外,有必要保持对前沿技术的敏感性,但事实上,很多人还是由于各种原因很难做到这一点。基于上述的目的,贪心学院一直坚持跑在技术的最前线,帮助大家不断地成长。
为什么选择贪心学院的高端NLP?
首先,全网不可能找得到另外一门系统性的训练营具备如此的深度和广度,这里包括国外的课程,所以从内容的角度来讲是非常稀缺的内容。
其次,即便网络上的资源非常多,学习是需要成本的,而且越有深度的内容越难找到好的学习资源。如果一门课程帮助你清晰地梳理知识体系,而且把有深度的知识点脉络讲清楚,这就是节省最大的成本。
另外,作为一家专注在AI领域的教育科技公司,教研团队的实力在同行业可以算是非常顶尖的,这里不乏顶会的最佳论文作者、ALBERT的作者等。
最后,我们这一期的NLP高阶训练营(第七期)在原有的基础上做了大量的升级,融合了更多前沿的内容,而且在部分内容上加深了难度。
那谁适合学习NLP高端课程呢?
-
已经在从事AI工作,但想持续在技术深度和广度上提升自己,塑造自己的壁垒
-
目前在学校从事相关的研究,但想深入下去,或者为发表顶会文章打下基础
-
对AI有一定的基础,而且很好的工程能力、想之后从事NLP相关的工作
-
之后想申请国内外AI博士/硕士
01课程大纲
第一部分 机器学习与优化理论基础
学习目标:掌握必要的凸优化理论,使得在建模过程中可以灵活修改目标函数,从而满足业务中的个性化建模需求。
另外,在本阶段也帮助学员回顾核心的机器学习算法。
凸优化基础
-
判定凸集,以及凸函数
-
线性规划与二次规划
-
拉格朗日与对偶函数
-
Strong Duality与KKT条件
-
Non-convex优化问题
-
NP-Hard问题与松弛化处理
-
Discrete Optimization
-
GD, SGD, Adam, Adagrad
-
L-BFGS, ADMM
机器学习基础
-
生成模型与判别模型
-
最大似然与最大后验估计
-
模型的过拟合
-
各类不同的正则(L1, L2, L0)
-
各类启发式算法(遗传算法、贝叶斯优化等)
-
随机森林与XGBoost
-
SVM与Dual SVM
-
Kernel Trick与设计核函数
本阶段所涉及到的案例/作业
-
利用WMD计算文本之间的相似度
-
利用Sparse QP设计资产组合策略
-
利用随机规划(SP)来解决库存优化
-
利用线性规划解决运输问题
-
利用松弛化解决整数问题
第二部分 语言模型与序列标注
学习目标:掌握语言模型与条件随机场(CRF),所涉及到的内容包括无向图模型、维特比算法、Partition Function, Label Bias,EM等所有核心细节。
文本处理技术与语言模型
-
最大匹配算法与Jieba技术剖析
-
SkipGram与负采样
-
CBOW, Glove, MF
-
Noisy Channel Model
-
N-Gram模型与各类平滑技术
-
NNLM
序列模型与条件随机场
-
EM算法与GMM
-
有向图与无向图
-
条件独立、D-separation
-
HMM模型、Viterbi以及参数估计
-
MEMM与Label Bias问题
-
Log-Linear模型与逻辑回归
-
Linear-CRF与参数估计
本阶段所涉及到的案例/作业
-
拼写纠错系统的搭建
-
智能问答系统的搭建
-
Linear-CRF的从零实现
-
基于CRF, LSTM-CRF的NER识别
第三部分 预训练模型
学习目标:掌握BERT, XLNet等最新的预训练技术,能够熟练应用在自身的业务中。由于这部分的内容迭代更新速度快,所以具体内容安排会有所变化。
递归神经网络与注意力机制
-
分布式表示的优点
-
RNN与梯度问题
-
LSTM, GRU与BI-LSTM
-
Seq2Seq与注意力机制
-
Beam Search
-
BI-LSTM-CRF模型
ELMo与Transformer
-
上下文有关词向量的学习
-
NLU中的层次表示
-
Deep BI-LSTM与ELMo
-
Bottleneck问题与长依赖问题
-
Self-Attention, Multi-head Attention
-
Transformer与Transformer-XL
BERT与ALBERT
-
Autoencoder与DAE
-
MLM语言模型
-
BERT模型
-
BERT-BiLSTM-CRF
-
ALBERT模型
-
GPT2模型
XLNet与其他预训练模型
-
AR语言模型
-
Permutation语言模型
-
Two-Stream Attention
-
XLNet模型
-
Roberta
-
Q-Bert, VI-Bert
-
其他模型(TBD)
本阶段所涉及到的案例/作业
-
基于Seq2Seq+注意力机制的机器翻译系统
-
基于Transformer的机器翻译系
-
基于BERT-BiLSTM-CRF的NER识别
-
XLNet的从零实现
第四部分 信息抽取与图神经网络
学习目标:掌握信息抽取、知识图谱、知识推理相关的内容。在这个领域需要掌握的内容,在这一阶段基本都会涉及到。
信息抽取与知识图谱
-
NE的抽取与识别
-
基于规则的关系抽取技术
-
基于无监督、半监督的关系抽取
-
实体统一、实体消歧、指代消解
-
知识图谱、实体与关系
-
知识图谱中的推理
知识浅入与图神经网络
-
TransE,NTN,Node2Vec模型
-
SDNE模型
-
带属性的网络嵌入
-
Graph Neural Network
-
CNN与Graph CNN
-
Dynamic Graph的处理
-
BERT与KG的结合
本阶段所涉及到的案例/作业
-
基于非结构化数据搭建知识图谱
-
基于知识图谱的大数据风控
-
基于医疗知识图谱的诊断
-
基于GNN的Combinatorial优化
-
基于信息抽取与DL的NL2SQL
第五部分 对话系统与文本摘要
学习目标:掌握常用的、以及前沿的对话系统和文本摘要相关的技术。目前相关技术的应用越来越普遍,本阶段内容基本覆盖所有必要的内容。
对话系统
-
智能问答与对话系统
-
基于检索的对话系统
-
基于生成式的对话管理
-
意图识别与有限状态机
-
基于任务式的对话系统
-
基于增强学习的对话系统
-
多轮对话的挑战
文本摘要
-
Abstractive vs Extractive
-
基于模板的文本摘要生成
-
基于Seq2Seq的文本摘要生成
-
ROUGE与Blue
-
Hierarhical Attention
-
Pointer-Generator Network
-
Beam Search的改造
-
Levenshtein Transformer
-
MASS
本阶段所涉及到的案例/作业
-
基于任务导向的订票管理
-
基于Pointer-Generation Network的文本生成
-
基于增强学习的对话系统剖析
第六部分 模型压缩与其他前沿主题
学习目标:掌握前沿的模型压缩技术,贝叶斯以及深度学习可视化等技术。
模型压缩
-
嵌入式设备中的模型压缩
-
基于Sparsity的模型压缩
-
基于矩阵分解的模型压缩
-
基于蒸馏方法的模型压缩
-
BERT、Transformer的压缩
贝叶斯模型
-
MLE、MAP、Bayesian模型区别
-
Dropout与Bayesian Approximation
-
PGM与主题模型
-
吉布斯采样、变分法
-
SGDL与SVI
-
分布式吉布斯采样
可视化与低资源学习
-
深度学习中的可视化技术
-
RNN、LSTM的可视化
-
Layer-wise Relevance Propagation
-
Cross-Domain语言学习
-
Transfer Learning
-
One-shot Learning
本阶段所涉及到的案例/作业
-
利用Laywer-wise RP可视化端到端的机器翻译系统
-
基于吉布斯采样的N-Gram LDA模型实现
-
基于Bayesian-LSTM的命名实体识别
为AI从业者/研究生/研究员专门定制
全网唯一《NLP自然语言处理高阶训练营》
对课程有意向的同学
添加课程顾问小姐姐微信
报名、课程咨询
????????????
02部分项目作业
课程设计紧密围绕学术界最新进展以及工业界的需求,涵盖了所有核心知识点,并且结合了大量实战项目,培养学员的动手能力,解决问题能力。
问答系统
从零开始搭建一个完整的问答系统。给定一个语料库(问题和答案对),对于用户的输入需要返回最适合的答案。涉及到的模块:
1. 对于用户的输入需要做拼写纠错,这部分会用到语言模型
2. 之后对输入做文本的预处理,过滤等操作。
3. 把文本转换成向量形式,这里需要用到tf-idf, word2vec等相关的技术。
4. 针对于语料库,为了提升效率需要创建倒排表。
5. 基于相似度的计算来获得最优的答案。
情感分析系统
基于给定数据,来搭建一个完整的情感分析系统。项目涉及到的模块:
1. 数据的预处理
2. 特征工程,这部分是本项目的核心。
3. 监督学习模型的选择与调参。调参的过程需要尝试不同的优化策略。
知识图谱系统
利用非结构化数据来搭建知识图谱。项目涉及到的模块:
1. 从非结构化数据中抽取实体,以及词典库的构建
2. 关系的抽取(指定的关系)
3. 实体统一以及实体消歧。
4. 知识图谱的构建以及查询
对话系统中的NLU
基于给定的对话数据来构建NLU识别部分,并结果用于聊天机器人中。 项目涉及到的模块:
1. 文本特征的提取
2. 搭建CRF模型来识别关键词
3. 搭建LSTM-CRF模型来识别关键词。
机器翻译系统
基于给定数据,来搭建一个完整的情感分析系统。项目涉及到的模块:
1. 数据的预处理
2. 特征工程,这部分是本项目的核心。
3. 监督学习模型的选择与调参。调参的过程需要尝试不同的优化策略。
任务导向型聊天机器人
搭建一个完整的聊天机器人,用来服务搜索餐厅。项目涉及到的模块:
1. 文本预处理
2. 意图识别和关键信息抽取
3. 对于每一个意图设计对话管理状态机
4. 设计上下文处理的方法
5. 对话生成模块
6. 处理一些常见的boundary case。
03直播授课,现场推导演示
区别于劣质的PPT讲解,导师全程现场推导,让你在学习中有清晰的思路,深刻的理解算法模型背后推导的每个细节。更重要的是可以清晰地看到各种模型之间的关系!帮助你打通六脉!
▲源自:CRF与Log-Linear模型讲解
▲源自:CRF与Log-Linear模型讲解
▲源自:Convex Optimization 讲解
▲源自:Convergence Analysis 讲解
不管你在学习过程中遇到多少阻碍,你都可以通过以下4种方式解决:
1、直接在线问导师;
2、记录到共享文档中,每日固定时间的直播答疑;
3、学习社群中全职助教,随时提问答疑
4、共同的问题在Review Session里面做讲解
注:每次答疑,班主任都会进行记录,以便学员实时查阅。
04每周课程安排
采用直播的授课方式,一周4-5次的直播教学, 包括2次的main lectures, 1-2次的discussion session (讲解某一个实战、必备基础、案例或者技术上的延伸), 1次的paper reading session (每周会assign一篇必备论文,并且直播解读)。教学模式上也参考了美国顶级院校的教学体系。以下为其中一周的课程安排,供参考。
每周一次的Review Session, 老师提前一周给出几个备选主题,由学生进行投票选择最心仪的主题,每周三次。
05你的必备挑战
1.编写一些技术类文章
通过在知乎上发表相关技术文章进行自我成果检验,同时也是一种思想碰撞的方式,导师会对发表的每一篇文章写一个详细的评语。万一不小心成为一个大V了呢?虽然写文章的过程万分痛苦,学习群里半夜哀嚎遍野,但看一看抓着头发写出来的文章结果还是非常喜人的!看着自己收获的点赞数,大家都默默地感谢起导师们的无情!
这种满满的成就感,让大家一篇接一篇写了下去!
个个都立刻变身成了知乎大牛~
2.Project项目 & 日常作业
除了文章,算法工程师的立命根本--项目代码,导师更是不会放过的。每次在Gitlab上布置的作业,导师们都会带领助教团队会予以详细的批改和反馈。并逼着你不断的优化!