[深度学习]特征提取和无监督
特征提取和无监督
文章目录
- 特征提取和无监督
- 分类任务的特征
- 无监督学习
- 无监督学习方法
- 对比学习
- 对抗生成网络(GAN)
- 生成式自监督
- 无监督后的应用
- 特征分离
分类任务的特征
分类任务通过卷积、维度改变等操作得到一个高维的向量作为输入数据的特征。
同样的东西,由于标签的类型的不同,模型提取到的特征类型也是不同。
无监督学习
无监督学习指的是只有数据X,没有标签Y。实际应用中,大部分的数据, 都是没有标签的。因此无监督学习是有其意义的。
想象一下,对于一个年龄很小的孩子,即使没有接受动物中有狗和猫这两种类型的教育时,面对一些狗🐕和猫🐱的时候,也能大概分辨出狗和狗是一类,猫和猫一类,分辨的依据就是狗和猫拥有的不同的特征,即使它们不知道狗和猫的称呼。因此我们可以知道,人类的学习可以没有标签,所谓的“狗”和“猫”就是标签。
人类可以进行无标签的学习是因为可以通过将特征相近的东西划分为同一类,计算机也可以仿照人类的学习的逻辑进行无标签的学习。计算机进行无标签学习的方法是让相同类得到的特征更接近。
无监督学习方法
- 机器学习:
- 降维: PCA(主成分分析),将高维数据映射到低维空间,同时尽量保留数据的主要特征。
- 聚类,将数据分成若干个簇,使得同一簇内的数据相似度高,不同簇之间的相似度低。
- 深度学习方法:
- 生成对抗网络。
- 自监督学习: 对比学习和生成式自监督。
对比学习
对比学习将自身和自身的增广看作一类,让模型通过学习能够做到将自身和自身的增广分为一类。
训练得到的模型因为能够将自身和自身的增广分为一类,说明模型具有某种提取特征的能力。
对抗生成网络(GAN)
想象一个场景,有一个做假钞的人,还有一个验钞机,做假钞的人思考的是如何做出更像真钞的假钞,而验钞机思考的是如何更好的分辨假钞和真钞。
对抗生成网络中有两个重要的部分:生成器和判别器。
生成器和判别器的关系就像做假钞的人和验钞机的关系,生成器要不断提高自身的特征提取的能力,生成更像真的图片的图片,而判别器要不断提高自身的特征提取的能力,从而分别真的图片和假的图片。生成器和判别器都会因为对方能力的提高而被迫提升自身能力,因此称为“对抗”。
生成器的损失函数可以设定为判别器的判断准确率。判别器的损失函数可以设定为判断是否正确。生成器能生成更像真的数据说明有一定特征提取能力,同样判别器能判断数据真假说明有一定特征提取能力。
Cycle-Gan
Cycle-Gan是一种对抗生成网络的变体。Cycle-Gan中使用生成器生成的图片还要用来还原输入的图片,从而确保生成的图片与输入图片的一致性。
像如下场景,是将输入的图片转换成二次元类型,不仅通过判别器判断是否为二次元类型,还要还原输入图片确保相像,确保了生成的图片不仅是二次元类型并且和输入图片相像。
生成式自监督
生成式自监督将自身的一部分当作学习的目标。比如,将输入数据分成若干块然后去掉一部分再交给编码器,让编码器生成特征,然后将得到的特征交给解码器,让解码器根据特征还原出输入数据中被去掉的部分。将未被遮盖的部分作为模型的输入数据X,将被遮盖的部分作为模型的输出数据Y。
生成式自监督学习中的损失函数是通过模型生成的输出与原始输入数据之间的差异。生成式自监督的模型若有一定还原原始数据的能力,说明其拥有一定的特征提取能力,和使用特征的能力。
由于输入交给编码器的是输入数据中的一部分,因此编码器可以变得更小,这也是生成式自监督的过人之处。
另外,生成式自监督还可以对输入的原始数据进行其他处理然后交给模型,比如输入的原始数据是彩色图片,而交给模型的输入是转换为黑白的图片,然后让模型还原成彩色图片,以此训练模型的特征提取能力。
当自监督模式下的输入数据是文字时,模型可以训练出很强大的能力,因为可以使用的数据量是十分庞大的,通过大量的数据的训练,可以得到很强大的模型。
无监督后的应用
无论采用哪种方法,无监督学习的目的和结果都是得到一个能够很好地提取特征的模型,这个模型可以作为编码器为其他任务做特征提取,使用无监督学习得到的模型进行特征提取然后只需要少量监督数据就能对很好的完成任务。
特征分离
无监督学习中通过生成器和通过解码器的过程好像文件的压缩和解压缩过程,而生成器和解码器的中间媒介就是提取到的特征,关于得到的特征是很全面的,比如对于图片特征包括物品和风格,对于录音特征包括内容和音色。
由于提取到的特征是很全面的,因此可以对特征进行分离然后将不同数据的不同类型的特征进行组合生成新的数据。
AI所做的就是“玩特征“,包括对特征的提取,对特征的使用,由于计算机的输入是数据,因此特征都是数据特征。
若要理解无监督学习,要关注梯度的来源损失函数是怎么定义的,从而更好的把握模型的训练过程。