自动地从数据中去学习“有用”的特征,并可以直接用于后续的具体任务———称为表示学习
一、离散表示与分布表示
独热向量编码(one-hot),它将研究的对象表 示为向量,这个向量只在某个维度上值是1,其余维度上值全为0,可以想象有多少种类型,这个向量的长度就有多长。比如要用这种方式去将中文汉字向量化,假设所有的中文汉字有N个,要想通过这种方式去表示这些汉字,那么每个字都需要一个N维的向量,总共需要N×N大小的矩阵才能覆盖所有的汉字。在自然语言处理中,词袋模型就是以此为基础构建的 分布式表示: 它是通过某种方式得到一个低维稠密的向量来表示研究对象,最典型的例子就是颜色。我们知道任何一种颜色都可以通过红、黄、蓝3种颜色混合得到,在计算机中也通常使用RGB方式将颜色表示为一个三元组
二、端到端学习
以原始图像作为输入,而不是特征工程得到的特征,而输出直接是预测的类别,这种学习方式称为端到端学习。 卷积网络的前面部分主要是完成自动特征提取,然后将提取的特征送入到分类器中进行分类,换句话说,卷积网络的前面部分可以看作是在进行表示学习,即端到端学习可以看作是表示学习与任务学习的组合,但它们不是完全分裂的。 具体来说,它们是联合优化的,反向传播算法将误差从输出层向前传递直到输入层,优化算法动态地调节模型参数,使得模型可以自动提取到与任务相关的判别性特征,这显示出了深度学习模型相比于其他方法的优越性。 表示学习的任务通常是学习这样一个映射:f:X→Rd,即将输入映射到一个稠密的低维向量空间中
三、基于重构损失的方法——自编码器
自编码器是基于深度学习模型进行表示学习的典型方法,它的思路非常简单,就是将输入映射到某个特征空间,再从这个特征空间映射回输入空间进行重构。从结构上看,它由编码器和解码器组成,编码器用于从输入数据中提取特征,解码器用于基于提取的特征重构出输入数据。在训练完成后,使用编码器进行特征提取。这种编码–解码的思想在很多深度学习模型中都有体现 自编码器不需要额外的标签信息进行监督学习,它是通过不断最小化输入和输出之间的重构误差进行训练的,基于损失函数,通过反向传播计算梯度,利用梯度下降算法不断优化参数
四、基于基于对比损失的方法—Word2vec
Word2vec模型将词嵌入到一个向量空间中,用一个低维的向量来表达每个词,语义相关的词距离更近,解决了传统方法存在的高维度和数据稀疏等问题。 其核心思想是用一 个词的上下文去刻画这个词。从这个思想出发,我们可以得到两种不同的模型。一个是给定某个中心词的上下文去预测该中心词,这个模型称为CBow;另一个是给定一个中心词,去预测它的上下文词,这个模型称为Skip-gram。
|