AutoEncoder (自编码/非监督学习) - PyTorch | 莫烦Python
切换视频源:

AutoEncoder (自编码/非监督学习)

作者: 莫烦 编辑: 莫烦 2017-05-11

学习资料:

要点

神经网络也能进行非监督学习, 只需要训练数据, 不需要标签数据. 自编码就是这样一种形式. 自编码能自动分类数据, 而且也能嵌套在半监督学习的上面, 用少量的有标签样本和大量的无标签样本学习. 如果对自编码还没有太多概念, 强烈推荐我的这个动画短片, 让你秒懂自编码.

这次我们还用 MNIST 手写数字数据来压缩再解压图片.

4-4-1.gif

然后用压缩的特征进行非监督分类.

4-4-2.gif

训练数据

自编码只用训练集就好了, 而且只需要训练 training data 的 image, 不用训练 labels.

4-4-3.png

这就是一张我们要训练的手写数字 4.

AutoEncoder

AutoEncoder 形式很简单, 分别是 encoderdecoder, 压缩和解压, 压缩后得到压缩的特征值, 再从压缩的特征值解压成原图片.

训练

训练, 并可视化训练的过程. 我们可以有效的利用 encoderdecoder 来做很多事, 比如这里我们用 decoder 的信息输出看和原图片的对比, 还能用 encoder 来看经过压缩后, 神经网络对原图片的理解. encoder 能将不同图片数据大概的分离开来. 这样就是一个无监督学习的过程.

4-4-1.gif

4-4-4.png

画3D图

4-4-2.gif

3D 的可视化图挺有趣的, 还能挪动观看, 更加直观, 好理解.

4-4-5.png

所以这也就是在我 github 代码 中的每一步的意义啦.


降低知识传递的门槛

莫烦很常从互联网上学习知识,开源分享的人是我学习的榜样。 他们的行为也改变了我对教育的态度: 降低知识传递的门槛免费 奉献我的所学正是受这种态度的影响。 通过 【赞助莫烦】 能让我感到认同,我也更有理由坚持下去。