LSTM 如何用于数据压缩?

How are LSTMs used for data compression?

以下 link 显示了数据集 Text8 的文本压缩性能最佳的机器学习架构。

输出是什么意思 (BPC)?还有,LSTM 是如何压缩数据的?

语言模型预测到目前为止给出的文本的下一个字符(或标记)。它不预测单个字符,而是预测每个可能的下一个字符的概率。 (分类概率分布。)

如果您有 256 个可能的字符,并且模型预测下一个字符将是(50%“e”、6%“a”、1%“b”等),那么您可以压缩下一个如果字符实际上是“e”,则将字符转换为单个位 (1),或者转换为多个单个位(0 后跟更多位)。如果模型预测良好,您将(平均)每个字符 (BPC) 需要少于 8 位。

因此,如果您始终知道下一个字符的正确概率,就有可能想出一个完美的编码方案来压缩文本流。预测下一个字符的问题是一个class化问题(下一个字符是正确的class)。所以如果你解决了class化问题,你就解决了压缩问题(反之亦然)。

要更好地理解这一点,您必须学习熵、cross-entropy 和编码。有关详细解释,请参阅 MacKay 关于信息论的书,尤其是第 4 章:

https://www.inference.org.uk/mackay/itila/book.html(可下载PDF)