UCAS-AI学院-知识图谱专项课-第2讲-课程笔记
机器学习基础
机器学习基础理论与概念
- 机器学习:机器从大量隶属数据中学习规律从而对新样本做决策
- 规则思维:应用规律,快速应用
- 统计思维:学习规律,应用规律
- 分类
- 监督学习:监督信息
- 无监督学习:无标注信息
- 半监督学习:介于前二者之间
- 强化学习:无直接监督信息,基于环境而行动,获得最大预期收益
- 三要素:
- 模型:函数类型 y ^ − f ( x i ; θ ) \hat y - f(x_i; \theta) y^−f(xi;θ)
- 策略:目标函数最优,损失函数 L ( θ ) = 1 N ∑ i = 1 N L ( y ( i ) , f ( x ( i ) ) ; θ ) \mathcal L(\theta) = \frac 1N \sum_{i = 1}^N \mathcal L(y^{(i)}, f(x^{(i)}); \theta) L(θ)=N1∑i=1NL(y(i),f(x(i));θ),经验风险最小化(NLP常XE)
- 算法:最优化问题,引入正则化(结构风险最小化),GD,学习率
- 线性分类:最为常见
- 逻辑回归:拟合0/1标签
- NLP应用:文本情感分类
- 原始对象(文本)——特征提取(BOW)——特征表示(Vector)——分类器(结果)
- 评价方法:
- 正确率
- 准确率
- 召回率
- F1
- (多个)宏平均值
- (多个)微平均值
- 多分类:softmax
神经网络与深度学习基础
- 深度学习:自动学习多尺度特征表示
- 感知机
- 人工神经网络:激活规则、拓扑结构、学习算法
- 典型网络结构
- 前馈网络(层间传递)
- 记忆网络
- 图网络
NLP中的深度学习
- 主要任务
- 分类:内容——表示——类标
- 生成:结构——表示——内哦那个
- 匹配:内容+内容——表示——类标(数值)
- 翻译:内容——表示——内容
- 结构预测:内容——表示——预测
- 组合语义原则:以恶搞复杂对象的哟一是由其各组成部分的意义以及他们的组合规则决定
- 词的分布表示——词向量
- 语义可以统计获得
- 相似度可以度量
语义组合模型
-
基于词、短语等基本语义单元表示句子等更大语义单元的过程
-
建模句子的句法/语义信息
-
前馈神经网络:层间传递,层内无连接
- 全连接:层间完全链接,参数非常多 ∏ l n l \prod_l n^l ∏lnl,数据不足时易欠拟合
- CNN:基于感受野设计,局部链接、权值共享、采样,具有平移、缩放和扭曲不变性
-
卷积
- 窄卷积:两侧不补零,结果缩短
- 宽卷积:两侧补零,结果边长
- 等长卷积:两侧补零,保证处理前后长度相同
- 多个滤波器构成不同层面的特征映射
-
池化层(子采样层):显著减少链接个数
-
CNN在NLP中的应用
- 局部关系的考察和特征提取
- 分类应用
- 只关心词之间的局部性,不考虑词向量的局部性
-
循环神经网络
- 解决边长神经网络
- 考虑输入的相互依赖关系
- 自反馈
- BPTT,按时间进行反向传播
- 易出现梯度爆炸和梯度消失的问题
- 无法对长期依赖建模
-
LSTM:将短时记忆维持更长一些
-
堆叠RNN:从结构层面加入隐含层
-
双向RNN:完成从左往右,在进行一次从后往前
-
RNN应用:
- 序列到类别(分类)
- 同步序列到序列(一个输入对应一个输出,标注)
- 异步序列到序列(翻译)
- 语言模型
-
搜索:Beam Search
-
Attention:不同的位置不同的专注程度
-
Self_Attention:
- RNN只建模输入的局部依赖关系
- 自注意力:关注全局的依赖关系QKV模式
- Q,基于什么关注;K,关注时与谁计算;V,计算完得到什么信息
-
Multi-head Attention
词表示模型
- 词表示作为审计该网络初始值
- 初始值更好,网络会收敛到更好的局部最优解
语言模型
- 目标:计算一个词串的概率
P ( S ) = ∏ i P ( w i ∣ w 1 , w 2 , … , w i − 1 ) = ∏ i Count ( w i ∣ w 1 , w 2 , … , w i − 1 , w i ) Count ( w i ∣ w 1 , w 2 , … , w i − 1 ) P(S) = \prod_i P(w_i | w_1, w_2, \dots, w_{i - 1}) = \prod_i \frac {\operatorname{Count}(w_i | w_1, w_2, \dots, w_{i - 1}, w_i)} {\operatorname{Count} (w_i | w_1, w_2, \dots, w_{i - 1})} P(S)=i∏P(wi∣w1,w2,…,wi−1)=i∏Count(wi∣w1,w2,…,wi−1)Count(wi∣w1,w2,…,wi−1,wi)
- 存在数据稀疏性造成的零概率问题,鲁棒性不好
- 神经网络语言模型NNLM:表示+分类
- 词向量实际上是输入的one-hot
- 我们希望得到的是最终的表示形式,可调整参数即网络的参数
- RNNLM:词表示是语言模型的副产品
- 输入部分:主词向量
- 输出部分:副词向量
词向量2.0
-
词表示:
- 词是语言处理中最基本的语言单元
- 高维稀疏表示——低维数值表示
- 语义相似的词,表示相近
- 词以及词之间的关系的表示与建模时NLP中重要的基础工作
- 词是语言处理中最基本的语言单元
-
分布式假设:上下文相似的词,词义相似
- 语义可以统计获得
- 相似度可以度量
-
学习任务
- 上下文的表示:文档、词、N元词组
- 相似度的衡量:向量的内积(余弦相似度)
- 词语关系:组合关系(搭配)、聚合关系(替换)
- 词表示可以表示两种关系,但是重点关注后者
-
方法
- 基于预测的方式:给定上下文对目标词预测(Word2vec)
- 基于计数的方式:词—上下文共现情况,对共现矩阵进行分解(GloVe)
-
Word2Vec
- CBOW:根据上下文窗口内容预测目标词
- 简单模型,适合大语料
- Skip-gram:由目标此预测周围的上下文词
- 复杂模型,适合小语料
- 计算换存储
- CBOW:根据上下文窗口内容预测目标词
-
GloVe
- 基于潜在因子分解模型
- 矩阵的 i j ij ij项为第 i i i词和第 j j j词共同出现的次数
- 存储换计算
-
主 / 副词向量
- 主-副表示组合关系(目标词预测上下文词)
- 主-主 / 副-副表示聚合关系(目标词上下文具有聚合)
-
词表示学习扩展
- 多粒度:中文(词-字)
- 多语言:跨语言(小语种、翻译)
- 异构
词向量3.0
- 预训练语言模型
- 非监督学习——大量的未标注数据的利用
- 两阶段学习——预训练模型迁移到指定任务重微调
- 上下文相关的词表示
- 静态表示,与上下文无关
- 动态表示,上下文相关
- 可以直接利用动态表示模型结果完成下游任务
- ELMo
- 将多层双向模型的表示加权线性组合起来
- 预训练得到各层的表示
- 下游任务用于学习组合权重
- BERT:ELMo(双向信息)+ GPT(Transformer)
- Masked模型训练方法,学到很好的语言模型
- Next Sentence Prediction,理解句子之间的关系
- 面向任务精调
- 通用语言智能
- 能够处理各种任务中的自然语言复杂性
- 能够存储和宠用语义表示、组合模块和先前获得的语言知识
- 小样本状态下适应新环境中的新任务