Auto-encoder(自编码器)的原理及最新的技术应用(李宏毅视频课整理和总结)_mi-autoencoder(1)

本文探讨了自编码器(如PCA和DeepAuto-encoder)的概念,强调了隐藏层作为瓶颈层的重要性,以及它们在文本检索、相似图片搜索和预训练等领域的应用。文章还介绍了加噪自编码器增强鲁棒性和CNN结合自编码器的方法,包括反池化和反卷积。此外,文中提到了代表性的嵌入和对抗生成网络在自编码器目标优化中的作用。
摘要由CSDN通过智能技术生成

将PCA类比为network的话,就可以分为input layer,hidden layer和output layer,hidden layer又称Bottleneck(瓶颈) layer。因为hidden layer的通常维数比output和input要小很多,所以整体看来hidden layer形如瓶颈一般。 Hidden layer 的输出就可以等同于Auto-encoder的code vector。
在这里插入图片描述

1.2 Deep Auto-encoder

但是PCA只有一个hidden layer,如果我们将hidden layer增加,就变成了Deep Auto-encoder。目标函数也是:Minimize

(

x

x

^

)

2

(x-\hat{x})^{2}

(x−x^)2,训练方法和训练一般的神经网络一样。

将中间最窄的hidden layer作为bottleneck layer,其输出就是code。bottleneck layer之前的部分认为是encoder,之后的部分认为是decoder。

可认为

W

1

W_1

W1​和

W

1

T

W_1^T

W1T​互为转置的关系,参数的值是相同的,但是实际上这种对称是没有必要的。直接训练就可以了。
在这里插入图片描述

对比使用PCA和Deep Auto-encoder的结果,可以发现后者的结果要好很多:
在这里插入图片描述

为了可视化,将bottleneck layer的输出降到2维后拿出来显示,不同颜色代表不同的数字。PCA就比较混杂,而Deep Auto-encoder分得比较开。

2 Some Applications

2.1 Text Retrieval(文字检索)

一般的文字搜索的方法是Vector Space Model,把每一篇文章表示为空间中的一个点,将输入的查询词汇也变成空间中的一个点,计算输出的查询词汇和文章在空间的距离,比如内积和cosine similarity,用距离来retrieve。

这个模型的核心是将一个document表示成一个vector,假设我们有一个 bag of word,假设所有的词汇有十万个,那么这个document的维度就是十万维。涉及到某个词汇,对应的维度就置为1。但是这样的模型无法知道具体的语义,对它来说每一个词汇都是独立的,忽略了相关性。
在这里插入图片描述
可以使用Auto-encoder来表示这种相关性。

降到2维后做可视化,右上的每个点表示一个document,可以发现同一类的document都分散在一起。如果用刚刚的LSA模型,如右下,就得不到类似的结果。

  • 17
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值