自动编码器以减少输入数据大小

Posted

技术标签:

【中文标题】自动编码器以减少输入数据大小【英文标题】:Auto-encoder to reduce input data size 【发布时间】:2013-12-21 00:03:46 【问题描述】:

目前,我想使用自动编码器来减少输入数据的大小,以便将减少的数据用于另一个神经网络。我的任务是拍摄视频,然后将视频图像提供给自动编码器。当我只使用几张图像作为输入时,自动编码器工作得很好,但是当我想要一个图像序列时,它就不行了。

想象一下从一个移动的球中拍摄视频。例如,我们有 200 张图像。如果我对 200 张图像使用自动编码器,则误差很大,但如果我只对 5 张图像使用,则重建误差很小并且可以接受。似乎自动编码器没有学习球循环的顺序或时间运动。我也尝试表示堆叠自动编码器,但结果并不好。

有人知道问题出在哪里,或者可以使用自动编码器来完成这项任务吗?

【问题讨论】:

您问题中的error,是总和误差还是平均误差?随着图像数量的增加,总和误差自然会增加。 【参考方案1】:

自编码器/变分自编码器不学习序列,它学习将输入数据“映射”到维度较少的潜在空间。例如,如果图像是 64x64x3,您可以将其映射到 32 dim 张量/数组。

为了学习图像序列,您需要将自动编码器编码器部分的输出连接到 RNN (LSTM/GRU),该 RNN (LSTM/GRU) 可以了解编码帧的序列(潜在空间中的连续帧)。之后,RNN 的输出可以连接到自编码器的解码器部分,这样您就可以看到重建的帧。

Here you can find a GitHub project which tries to encode the video frames and then predict sequences

【讨论】:

以上是关于自动编码器以减少输入数据大小的主要内容,如果未能解决你的问题,请参考以下文章

在 Keras 中使用自动编码器减少数据集的维度

从 LSTM 自动编码器馈送分类器数据

损失函数的爆炸式增长,LSTM 自动编码器

用于 keras 中可变大小图像的全卷积自动编码器

CNN 的自动编码器 - 减少或增加过滤器?

在学习期间将数据添加到自动编码器中的解码器