如何在信息论方面将学习形式化?

人工智能 深度学习 卷积神经网络 交叉熵
2021-10-25 19:47:37

在 MNIST 数据集上考虑以下游戏:

  1. 有 60000 张图像。
  2. 您可以选择任何 1000 张图像并训练您的神经网络,而无需访问其余图像。
  3. 您的最终结果是所有数据集的预测准确性。

如何用信息论来形式化这个过程?我知道信息论适用于分布,但也许您可以提供一些提示,如何根据数据集而不是分布来思考。

  1. 所有数据集的信息量是多少。我的第一个想法是,每个图像都是来自均匀分布和信息内容 = -log2(1/60000) 的 iid。但是常识和经验结果(训练神经网络)表明,相似的图像和非常不同的图像包含更多的信息。例如,如果你只在 1 的好看图像上训练 NN,你会在不寻常的 1 上得到不好的结果。
  2. 如何形式化正确的策略是尽可能多地选择不同的 1000 张图像。我正在考虑以相对于您已经拥有的图像而言熵最高的图像逐张拍摄。如何定义距离函数。
  3. 如何显示所有数据集包含 N 位信息,训练数据集包含 M 位信息,并且有一种方法可以选择 K 图像 < 60000 包含 >99.9% 的信息。
1个回答

简而言之:信息很容易量化,但有用性却不容易量化

在此处输入图像描述

我不确定您希望如何将实验形式化,但考虑以下几点可能会有所帮助:

  1. 没有绝对的信息量度。某些数据集中包含的信息量取决于解释它时所做的基本假设,因此,传达的信息量也取决于编码器/解码器(例如,神经网络)。请参阅有关Kolmogorov 复杂性的 Wikipedia 文章

  2. 当您假设每个样本都是独立同分布时,熵是一种有用的信息内容度量,但这对于自然图像来说是一个非常糟糕的假设,因为它们是高度结构化的。例如,想象一张具有 50% 黑色像素和 50% 白色像素的图像,可以以任何配置排列 - 无论您如何排列它们,无论它看起来像随机噪声、文本段落还是棋盘格,熵值将是相同的,即使我们的直觉告诉我们并非如此(见附图)。我们的直觉和熵值之间的差异之所以出现,是因为我们的直觉不是通过 iid 像素的“镜头”来解释图像,而是通过视觉皮层中的分层感受野(有点类似于卷积神经网络)。

  3. 计算一个图像中像素值的熵有些用处,但计算一组图像的“熵”就没有用了,因为每个图像作为一个整体都被视为一个唯一的任意符号。我认为这就是您所说的“所有数据集的信息大小”

  4. KL-divergence是一种距离函数,通常用于比较两个分布。直观地说,它表示由假定数据分布不正确的非理想压缩程序生成的冗余位。但是,两个自然图像之间的 KL 散度不会给你一个特别有意义的结果。

如果我没记错的话,您希望找到一些信息度量,使您能够选择最少数量的最佳图像进行训练,并通过网络获得良好的测试分数。那是对的吗?这是一个有趣的想法。然而,为了定义这样的度量标准,我们可能必须提前知道图像的哪些特征对分类最重要,这在某些方面破坏了首先使用机器学习的点,其中不明显和“隐藏”功能被利用。