在训练神经网络时,我们经常会遇到过拟合的问题。
但是,是否可以使用过度拟合?基本上,我的想法是,与其将大型数据集存储在数据库中,不如在整个数据集上训练一个神经网络,直到它尽可能地过度拟合,然后检索“存储”在神经网络中的数据,就像它是一个散列函数一样.
在训练神经网络时,我们经常会遇到过拟合的问题。
但是,是否可以使用过度拟合?基本上,我的想法是,与其将大型数据集存储在数据库中,不如在整个数据集上训练一个神经网络,直到它尽可能地过度拟合,然后检索“存储”在神经网络中的数据,就像它是一个散列函数一样.
自动编码器( AE) 可用于学习训练数据集中每个观察值的压缩表示(矢量化哈希值),,然后可用于稍后检索原始(或类似)观察。
变分自动编码器(VAE) 是 AE 的一种统计变体,也可用于生成与训练集中的观察(或输入)相似的对象。
还有其他数据压缩器模型,例如Helmholtz machine,它先于 AE 和 VAE。
训练具有大输入和小输出的网络。把它倒过来(是的,你可以这样做)。通过提供与输入相对应的小输出,经过理想训练的网络将生成这些大数据。但是您会看到在所有压缩中都会丢失数据,因此生成的数据会与原始数据集略有不同:DD。因此它适用于统计数据,如图像等,但不适用于结构化文本或最不适合的示例 - 程序源代码。
自动编码器可能是您正在寻找的。当您想要压缩数据并获得数据的低维表示并保留最大信息时,AE 是一个非常强大的神经网络。
如果你有兴趣知道它是如何工作的——可以把它想象成训练一个神经网络来预测数据本身。这意味着您的输入和输出层将完全相同。那么这对压缩有什么帮助呢?隐藏层——这就是魔法发生的地方。压缩来自这样一个事实,即我们在隐藏层中使用的神经元数量少于 i/p 层中的神经元数量。假设我们构建的 NN 在训练结束时很好地预测了 i/p,隐藏层的输出可以被认为是新设计的特征,它们的维度更少但足够强大来表示原始数据中的信息。
请参阅编码器和自动编码器有什么区别?对于用于压缩(和解压缩)图像的神经网络的工作示例。