Keras深度学习实战(16)——自编码器详解
0. 前言
一张高清图像中可能包含数万个像素、文本中则可能包含成千上万个不同的单词。因此,必须将它们表示为数千维的向量,在如此高维空间中表示向量的导致我们无法高效地进行向量间的计算。
以较小的维度表示这些复杂数据有助于数据的传输、将相似的数据进行分组等。数据编码是一种无监督学习的方式,以在较低维度上表示输入,保留有关相似图像的信息,同时将信息损失降至最低,在深度学习领域,自编码器 (AutoEncoder
) 便是一种流行的数据编码技术。
1. 编码的必要性
通常在输入向量维数很大的情况下使用数据编码技术。数据编码有助于将维度较大的向量转变为维数较小的向量,并且保留原始向量中绝大部分信息,而不会造成过多信息量的丢失。接下来,我们介绍对图像、文本进行编码的必要性。
1.1 对文本进行编码
为了了解文本分析中编码的必要性,我们考虑以下示例,假设我们有以下两个输入句子:
I love watching movie
I like watching movie
在传统的文本分析中,我们首先需要对两个句子中的单词进行独热编码,可以看出,两个句子中共有五个不同单词:
I | love | watching | movie | <
---|