基于AI的图像视觉处理技术( 三 )


通过上面这张图 , 我们发现自编码是先把输入数据进行压缩成特征精髓 , 然后再对压缩过后的特征精髓进行解压缩还原 , 这是不是和我们的文件压缩和解压缩非常相似 , 其实二者原理是一样的 , 只不过文件压缩是无损压缩 , 而自编码模型对输入数据进行的是有损压缩 , 可以理解为自编码模型在压缩过程中 , 丢掉了部分不重要的特征 , 最终留下的是主要特征 。在解压缩的时候 , 通过网络的学习 , 再去还原丢掉的那部分不重要的特征信息 。由于神经网络是一个函数模拟器 , 最终网络是会学到一些特征 , 但是和丢掉的那部分特征又不完全一样 , 这就造成了网络输出的数据和输入数据很相似 , 但又不是完全一样的数据 。
应用场景及商业价值
上面说了很多自编码的原理和过程 , 发现自编码虽然是尽量让输出等于输入 , 但是由于神经网络的极限逼近问题 , 其实最终得到的输出数据是和原输入非常接近但又不相同的数据 , 这正是自编码的目的 , 只有这样才能造成数据的多样性 , 通过自编码的这种多样性可以用来生成样本 , 扩大有效样本的数据量 。自编码通过不同的变种可以做不同的事情 , 比如通过降噪自编码对图像进行去噪处理 , 可以得到一张更加清晰的图像 。有的时候也可以通过自编码做一些比较有趣的小案例 。
上图是对手写数字增加噪声后 , 使用降噪自编码得到的输出结果 。可以看到降噪后输出的结果和原数据之间 , 除了在细节上展现出了不同之处 , 其数字基本是一致的 。
2.VAE
VAE( auto-) , 变分编码器是自动编码器的升级版本 , 其结构跟自动编码器是类似的 , 也由编码器和解码器构成 。
技术思想及原理分析
VAE是在AE(Auto )的基础上对输入的原数据的分布进行轻微扰动 , 使其产生多样性 。具体做法就是让模型学习原数据的统计值μ和σ为标准正态分布的μ和σ , 而不是学习数据本身 , 然后再从标准正态分布进行采样获得具体的数据值 , 最后将统计量和具体数据值结合 , 形成新的数据通过一个生成器学习原数据的分布 。
应用场景及商业价值
VAE的应用场景主要体现在生成类方面 , 比如生成新的图像数据等 , 和AE模型相比 , VAE由于加入了新的标准正态分布数据 , 使得生成数据更具多样性 。下图展示了VAE对手写数字生成的一个效果 。从图上可以看出 , 通过对输入数据的分布进行一定的扰动 , 得到的生成数据会发生一定变化 , 有的数据甚至改变了值 。
3.GAN系列
 , 就是大家耳熟能详的 GAN , 由 Ian首先提出 , 在这两年更是深度学习中最热门的东西 。所谓生成() , 就是模型通过学习一些数据 , 然后生成类似的数据 。比方说让机器看一些动物图片 , 然后自己来产生动物的图片 。
技术思想及原理分析
生成式对抗神经网络GAN()是另一种非常有意思的生成类模型 , 和VAE不一样的是 , GAN是通过一个判别器和生成器之间的模仿游戏来完成数据的生成的 , 其损失函数就是一个交叉熵 , 没有VAE的损失设计那么复杂 , 原理也更简单 。而VAE是通过调整原数据的分布来生成新的数据的 。相比较而言 , GAN是直接学习原始数据的每部分特征分布 , 然后再组合每部分的分布数据合成的一张新图 。由于直接学习数据本身的分布 , 训练好的GAN输出的图像更加清晰 , 细节部分表现更好 , 而VAE是对分布的方差进行一定扰动 , 也就是改变了细节 , VAE更加关注全局 , 生成的图像细节没有GAN那么好 。