李宏毅机器学习(二十一)无监督学习Auto Encoder自动编码器

我们先讲讲编码器,就比如我们拿手写数字图片,我们输入28*28维图片,通过编码器,使其变成降维后的编码(反应其某些特性),不过因为我们常常不知道这个code应该长什么样,所以无法训练;我们也可以考虑输入一个code,通过解码器,输出图片,但是这个单独也无法训练,于是我们就考虑将2者结合起来一起训练。

插图1

我们之前介绍过PCA,我们要求最小化x-\hat{x} ,我们就可以将x与权重矩阵W的乘积送到隐层,得到输出c,再通过乘以W的转置得到\hat{x} ,我们使其最接近,这无形中就是形成了编码和解码的部分,隐层输出就是我们要的code,因为隐层的维度比x,\hat{x} 小,也常常叫做瓶颈层

插图2

当然,我们的auto-encoder可以是deep的,我们要求前后对称的层神经元数量一样,我们看PCA那个也许就会想,我们的auto-encoder也是对称的矩阵是互为转置的,的确,这可以省一半参数,但实际我们往往不管这些直接train.

插图3

以手写数字为例,做了PCA降到30维,我们的输出图片是比较模糊的,但是深层自动解码就清晰多了

插图4

我们把784维PCA做到2维再还原,其2维分布是比较混杂的,而深层解码后分布是有较明显界限的

插图5

我们可以看下自动解码在文本搜索的应用,Vector Space Model,根据不同的文档,创建不同的向量,当我们要查询的文档,和目标文档有较大相似度(算内积)时,输出对应文档

我们文档向量采用bag-of-word即文档有多少词汇,这个向量就有多少维,然而这种处理并不能实现语义的分析,因为向量每个词的维度是独立的

插图6

比如我们处理将2000词的向量处理成2维,效果如右上,而我们通过LSA分成2维时,并没有很好的效果

插图7

我们自动编码还可用于图片相似搜索,但是用迈克尔杰克逊的一张图片可能搜索到马蹄铁等诡异的东西

插图8

自动相似图片搜索,我们可以采用深度学习,网络足够深,足够多神经元后,编码解码得到的图片如图

插图9

我们用多层网络后,我们识别图片就比较近似了,起码都是人= =

插图10

我们还可以用auto-encoder来预训练DNN得参数,使得DNN起始参数比较好,比如我们要训练图左侧的神经网络,我们会现在右侧训练784-100-784的encoder,然后留住w1固定(这里要注意的是,784-1000的时候因为是升维,我们可能需要引入L1正则使只能某几维有输出,否则可能直接就把784送过去,其他都是0)

插图11

再之后我们训练784-1000-1000-1000的网络,使a^1,\hat{a^1 } 彼此接近,然后同理留出W2固定

插图12

我们训练好各系数后,再用反向传播,微调下各系数(因为各系数本身已经很好了),我们以前经常通过auto-encoder调各层参数,但是现在其实不用auto-encoder也能将参数调的很好了

插图13

我们自动解码的衍生有De-noising auto-encoder,其原理时,我们将输入x加入噪声变成x',然后使输出和加噪声前接近,这样我们训练出的模型就具备了去噪声的能力。

还一个是Contractive auto-encoder,思维和上一个类似,是当输入改变时,输出变化比较小

插图14

老师还列举了2个不是DNN的模型,有兴趣自己查= =

插图15
插图16

我们知道CNN有卷积池化,但是用auto-encoder怎么做呢,就是使用反池化,反卷积层使输出和输入接近

插图17

我们先讲unpooling,我们都知道池化会将图片缩小,比如4*4的图片经2*2池化后,就变成2*2,其中一种方法就是我们记住原来最大值的位置,反池化时将图片扩大的同时,将对应位置设为池化值,其他置0。keras上面用的方法就是我们不记住原来的位置,直接将对应位置的池化值填4个位置

插图18

我们反卷积的过程实际上就是在做卷积,比如下图我们经过权重红绿蓝将5维变成3维,然后想将三维变成5维,就将每个维度乘权重,有叠加的位置相加,其实这个结果就和右侧我们做卷积一样(补上了0位)

插图19

我们之前说过encoder有其单独用处,其实decoder也有单独用处,比如我们手写数字,我们输入不同的code就能得到不同的图片,图中是通过红色方框区域等距取点得到的结果,我们为什么只在红色区域取呢,因为我们其他位置可能得不到图片(如果你想得到图片,就需要加上L2正则)

插图20

我们正则后,就可以选择大区域,就有了新的图片,而且能发现一定规律,做导游越来越瘦,上到下越来越斜等等

插图21
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容