讨论 2023-05-18
=
###### tags: `tutorials` `Fudan` `2023`
# 大数据对下游任务的帮助
今天我们主要讨论一个问题就是现在大模型学习了大量的文本数据,并且在下游任务上取得了很好的效果,但是为什么学习大量文本就能对下游任务有帮助呢?或者说学习和任务不直接相关的文本为什么帮助下游任务。
## 半监督学习
半监督学习指的是有一部分有标注的数据(下游任务)以及大量的无标注数据(预训练),关于为什么无标注数据有助于下游任务,目前有以下几种观点
### 标签在样本空间的上的连续性
考虑两个样本$x_1$和$x_2$,这种观点假设如果两者距离很近,那么他们的标签$y_1,y_2$应该相似或相同。这种假设进一步可以发展为聚类假设,也就是实际上样本可能聚成几团,每团对应相同的标签。
那么预训练可以帮我们找到这些聚类团,而少量标签数据帮我们给每个团打标签。
另一种放松些的假设是决策边界大概率出现在样本稀疏的区域。该假设认为只有很少的样本会落在不同类别之间的模糊地带,比如“四不像”会比牛,马这些动物更不常见,否则他也不会被称之为“四不像”。
同理,预训练可以帮助我们找到样本稀疏的区域,然后后续在这些区域设定决策边界。

### 低维流形
第二种观点是预训练可以帮我们找到一个低维空间,而下游任务是可以在这个低维空间中完成的,需要注意的是对于优化问题来讲,搜索空间越小,优化难度就越低。所以预训练可以帮我们缩小优化的搜索范围,从而提高效果。

### 更好的度量空间
假如我们可以考虑一个简单的可学习度量函数,$D(x,y)=x^TMy = \sum_{ij}x_iM_{ij}y_j$
,其中M是特征维度的平方级。预训练可能帮我们构建了很好的M矩阵,而下游任务实际需要的度量函数恰好是M的一个子矩阵,那么只需要学习如何挑选即可,这个复杂度一般是线性的,比平方少了一个量级。
### 更好的先验分布
我们考虑$P(Y|X) = \frac{P(X|Y)P(Y)}{P(X)}$,学习更好的P(X)可能会对分类器的学习有帮助。不过这是在学习P(X)不产生负面影响的情况下,至少不会让P(X|Y)估计得更差。但这在现实中不一定总是有保证的,也确实有加入无标签数据反而让效果变差的。
## Learning with noise
上面讲了无标签数据对下游任务的帮助,但其中的P(X)未必是一致的,也就是无标签数据的样本空间可能和下游任务的样本空间有一定的偏差,我们可以把这种偏差看作一种噪声。
为此,我们一个概念,噪声抗性。它的定义是无噪声情况的最优解一定是有噪声情况下的最优解。也就是我们通过学习有噪声的样本可以找到无噪声的最优解,这是至关重要的性质,否则我们是在求解优化另一问题,而不是原问题。
函数f在loss L下的风险为$$R_L(f) = E_{x,y^*} L(f(x), y^*)$$
另外噪声概率为n,共k类
假设有$$\sum_i^k L(f(x),i)=C$$,C为常数
\begin{align}
R^n_L(f) =& E_{x,y} L(f(x), y) \\
=& \sum_x \sum_y P(x,y) L(f(x), y) \\
=& \sum_x \sum_y \sum_{y^*} P(x,y,y^*) L(f(x),y)\\
=& \sum_x \sum_y \sum_{y^*} P(x) P(y^*|x) P(y|x,y^*) L(f(x),y) \\
=& \sum_x \sum_{y^*} P(x) P(y^*|x) [(1-n) L(f(x),y^*) + \frac{n}{k-1} \sum_{i,i\neq y*} L(f(x),i)] \\
=& \sum_{x,y^*} P(x,y^*) [(1-n) L(f(x),y^*) + \frac{n}{k-1} \sum_{i,i\neq y*} L(f(x),i)] \\
=& (1-n) R_L(f) + \frac{n}{k-1} (C-R_L(f)) \\
=& \frac{Cn}{k-1} + (1-\frac{nk}{k-1}) R_L(f) \\
\end{align}
那么无噪声的最优解$f^*$和任意解$f$在噪声数据上有
$$R^n_L(f^*)-R^n_L(f) = (1-\frac{nk}{k-1})(R_L(f^*)-R_L(f)) $$
所以$n<\frac{k-1}{k}$时,上式小于等于0,即无噪声最优解还是噪声数据上的最优解。
总loss为常数这一设定其实很好满足,对任意loss进行归一化即可,但原始的cross entropy不满足。
综上,当无标签数据的噪声在一定容忍范围之内时,我们的优化目标是不收干扰的,但也需要注意上述推导没有考虑随机梯度下降的问题。