讨论 2021-10-09 = ###### tags: `tutorials` `Fudan` `2021` # 内容安排 ## 两条主线 - 自然语言处理 - 深度学习 ## 背景知识 - 概率 - 优化 - 矩阵 - 动态规划,贪心,搜索 - 复杂度分析,基础的计算优化 # 深度学习导言 目前绝大多数任务都是让机器实现一个带有智能的函数,其输入与输出之间的转换需要知识和智力活动。比如看图说话,翻译,识别物体等。深度学习是机器学习方法中的一种,其主要特点有二,限定函数形式为众多基础模块的嵌套与组合,采用基于梯度的优化方法来估计所需参数。 ![](https://i.imgur.com/0YOHBYZ.png) 比如经典的机器学习决策树就不满足上述特点,聚类方法同样不满足。 有了模型之后,深度学习需要通过优化的方法,结合训练数据,确定需要被估计的参数。采用优化的方法,也就意味着我们需要的定义一个误差函数,或者说一个打分函数,之后通过不断优化,寻找一组可以让得分最高或最低的参数。 ## 最小二乘 大家都应该学过,最小二乘是一个非常常用的误差函数,反映了欧式空间的距离。 ## 最大似然 常用于概率模型,即训练数据中的频率正比于真实的概率,在训练数据中出现5次的样本应该比出现4次的所对应的真实概率更高。 ## KL距离 \begin{align} KL(A||B) =& \sum_x P_A(x) \log \frac{P_A(x)}{P_B(x)} \\ =& \sum_x P_A(x) \log P_A(x) - \sum_x P_A(x) \log P_B(x) \end{align} 由于数据集的熵为常数,KL和Cross Entropy一致,如果label为离散值,Cross Entropy又和最大似然一致。 ## 梯度下降 官方的讲法大家应该都学过,这里举个例子。假设一个人站在山上,他的视野范围为$w$,所在海拔为$h$,现在选择一个移动方向$\overrightarrow{\mathbf{x}}$,如果要下山,我们可定会选择视野范围内海拔最低的方向走过去。这也就是梯度下降的思想,只不过对于连续函数,视野范围$w$趋向于0。当目标函数各处导数不相等时,梯度选取的方向未必是最佳方向,也就是局部极值问题。梯度能走到最优值需要满足一些性质,比如凸性。 # 自然语言处理导言 自然语言处理就是让机器可以理解,运用人类所使用的的语言的方法。要应用深度学习,需要考虑几个基本问题。 ## 文字的数学表示 自然语言处理的一个基本问题便是如何把文字转换成数字,而这一过程通常称之为词语的向量化表示。显然我们有很多表达文字的方式,但结合深度学习的需求,我们需要文字的数学表示具有一定的连续性和物理含义。这听起来很困难,但我们可以发现这个问题本身也可以作为一个机器学习问题。即求得一种表示,让文字的数学表示满足某种性质。 ## 文本=文字+结构 只有文字还不足以构成语言,文字的顺序,叙述结构,都影响着语义。所以文本需要借助序列、矩阵等方式描述,把顺序和结构信息包含其中。 ## 语言来源于生活,有隐藏知识 语言源自生活,这使得语言存在语境,除了字面意思外,还存在引申义。这使得语言相关的问题不是一个封闭问题,需要考虑缺失的部分和引入外部知识。