纳金网

标题: 深度学习(一)autoencoder的Python实现(1) [打印本页]

作者: kuaidaoshou    时间: 2018-7-8 12:06
标题: 深度学习(一)autoencoder的Python实现(1)
这一段时间因为工作的原因,有了更多的时间,于是感兴趣学习了深度学习的相关内容,参考了大牛们编写MATLAB,C,Python等版本,自己重新捡起Python,小试牛刀,基本完成了autoencoder的主要功能,并通过小例子进行验证。

什么是深度学习?深度学习的目的又是什么?深度学习即通过多层模型,学习事物的特征,最后得到反映事物本质的真正特征,比如我们要看一段话,首先我们看到的是每一个,然后不同的组成不同的,然后这些组成一话,最后这些子组成了一话,从字到段,这些特征从低级到高级,所表达的意思越来越清晰,深度学习类似,也就是从最简单的特征,映射到另外一个更具本质的特征,具体可以参考博客zouxy09的专栏

回归到正题,本次是要对autoencoder进行Python的实现,什么是autoencoder,UFLDL中给出了解释,这里我简单的说明,

20160518231023608.png

如上图所示,简单神经网络结构,因为autoencoder是非监督学习,为了得到W0,我们增加layer2层,其输出y1=x1,y2=x2,y3=x3,通过神经网络模型的训练机制,得到W0,然后layer0到layer1作为autoencoder的第一层结构a0,layer1的输出作为autoencoder下一层a1的输入,依次类推,得到autoencoder的多层模型结构。

因为autoencoder的本质还是分类,所以最后层选取一个分类器,或者还是原来的神经网络,并利用带标签的数据,进行整体模型结构的微调,本次Python实现的分类层依然是神经网络,因此微调的时候采取的back propagation算法。具体见下图所示

20160518235710972.png

如果不能很好的理解,上述推荐的两个链接里面,有详细的解释,希望可以帮到大家对深度学习和autoencoder有一个初步的印象。




欢迎光临 纳金网 (http://c-www.narkii.com/club/) Powered by Discuz! X2.5