【周末AI课堂】简单的自编码器(理论篇)| 机器学习你会遇到的“坑”
AI课堂开讲,就差你了!
很多人说,看了再多的文章,可是没有人手把手地教授,还是很难真正地入门AI。为了将AI知识体系以最简单的方式呈现给你,从这个星期开始,芯君邀请AI专业人士开设“周末学习课堂”——每周就AI学习中的一个重点问题进行深度分析,课程会分为理论篇和代码篇,理论与实操,一个都不能少!
来,退出让你废寝忘食的游戏页面,取消只有胡吃海塞的周末聚会吧。未来你与同龄人的差异,也许就从每周末的这堂AI课开启了!
读芯术读者交流群,请加小编微信号:zhizhizhuji。等你。后台回复“周末AI课堂”,查阅相关源代码。
全文共2849字,预计学习时长6分钟
简单Auto-Encoder的常用形式
作为一种无监督学习的简单模型,它有三个组成部分:输入,隐层,输出,由输入到隐层叫做编码(encoder),从隐层到输出叫做解码(decoder):
稀疏自编码器(SAE)
用于降维的自编码器有一个缺点,那就是我们需要设定好隐层的维度,在网络结构确定的情况下,隐。解决这个问题的思路是将隐层的维度扩大,让神经网络自己习得一个稀疏编码(大部分的神经元为零),高维但稀疏的表示更加灵活,更加符合我们的需要。
但如果我们将隐层的维度增加到比输入还高,那么这一层很有可能只是在执行复制操作。所以我们需要在损失函数中加入惩罚项来达到这一效果,原本的损失函数只是度量了输入与输出之间的差异:
600600600
如图,我们将输入破坏,作为新的输入,以此来训练模型。
随之而来的问题是,我们会对隐层的维度不做要求,它可大可小,只要能执行去噪任务即可,一定程度上也可以实现去噪效果,但噪声一般比较小,即使执行复制任务,最后的损失函数可能也不会很大,甚至会出现Loss太小,参数更新非常慢的情况,那么我们还可以在损失函数中加入一个惩罚项:
读芯君开扒
课堂TIPS
? 除了普通的AE,DAE,SAE,我们还会在后续课程中介绍一种叫做VAE的生成式模型,与GAN放在一起。对于聚类问题,SOM网络通过保持拓扑性质可以直接打到聚类的目的,这一部分对于初学者理解起来较为困难,所以仍然在后面的课程中。
"
留言 点赞 发个朋友圈
我们一起分享AI学习与发展的干货
作者:唐僧不用海飞丝
如需转载,请后台留言,遵守转载规范