用Keras建立自动编码器
什么是autoencoders(自动编码器)?
“自动编码”是一种数据压缩算法,其中压缩和解压缩功能是1)数据特定的,2)有损的,3)从示例自动学习而不是由人工学习。另外,在几乎所有使用术语“自动编码器”的上下文中,压缩和解压缩功能都是用神经网络实现的。
1)自动编码器是特定于数据的,这意味着它们只能压缩类似于他们训练过的数据。这与例如MPEG-2音频层III(MP3)压缩算法不同,该算法通常仅保留关于“声音”的假设,而不关于特定类型的声音。在面部图片上训练的自动编码器在压缩树木图片方面做得相当差,因为它将学习的特征将是面部特定的。
2)自动编码器是有损耗的,这意味着与原始输入相比,解压缩的输出会降低(类似于MP3或JPEG压缩)。这与无损算术压缩不同。
3)自动编码器是从数据示例中自动学习的,这是一个有用的属性:它意味着很容易训练算法的特定实例,这些实例将在特定类型的输入上表现良好。它不需要任何新的工程,只需要适当的培训数据。