| 第35行: |
第35行: |
| | | | |
| | 这个公式表示在L1被最大熵扰动的情况下,L1和L2之间的互信息。 | | 这个公式表示在L1被最大熵扰动的情况下,L1和L2之间的互信息。 |
| | + | |
| | + | ===互信息的计算=== |
| | + | 互信息 <math>I(L_1, L_2)</math> 的计算基于输入层 <math>L_1</math> 和输出层 <math>L_2</math> 的联合分布。具体步骤如下: |
| | + | |
| | + | 1.离散化 |
| | + | 将输入层 <math>L_1</math> 和输出层 <math>L_2</math> 的激活值离散化为若干个区间(bins)。 |
| | + | 假设每个节点的激活值被划分为 <math>B</math> 个区间,则输入层 <math>L_1</math> 的离散化状态空间大小为 <math>B^n</math>,输出层 <math>L_2</math> 的离散化状态空间大小为 <math>B^m</math>,其中 <math>n</math> 和 <math>m</math> 分别是输入层和输出层的节点数。 |
| | + | |
| | + | 2.构建联合分布 |
| | + | 通过多次最大熵扰动,记录输入层和输出层的离散化状态,构建输入-输出的联合分布 <math>P(L_1, L_2)</math>。 |
| | + | 具体来说,对于每次扰动,输入层 <math>L_1</math> 的激活值被随机化,输出层 <math>L_2</math> 的激活值通过网络计算得到。然后将这些值离散化并记录到联合分布中。 |
| | + | |
| | + | 3.计算互信息 |
| | + | 根据联合分布 <math>P(L_1, L_2)</math>,计算互信息 <math>I(L_1, L_2)</math>: |
| | + | |
| | + | <math> |
| | + | I(L_1, L_2) = \sum_{x \in L_1} \sum_{y \in L_2} P(x, y) \log \frac{P(x, y)}{P(x) P(y)} |
| | + | </math> |
| | + | |
| | + | 其中: |
| | + | <math>P(x, y)</math> 是输入层 <math>L_1</math> 和输出层 <math>L_2</math> 的联合概率分布。 |
| | + | <math>P(x)</math> 和 <math>P(y)</math> 分别是输入层和输出层的边缘概率分布。 |
| | + | |
| | + | |
| | + | ===有效信息的分解=== |
| | + | EI 可以进一步分解为两个部分:敏感性(Sensitivity)和简并性(Degeneracy)。 |
| | + | |
| | + | 1.敏感性(Sensitivity) |
| | + | 敏感性衡量的是网络中每个边对输出的独立贡献。具体来说,敏感性是每个输入节点 <math>i \in L_1</math> 和输出节点 <math>j \in L_2</math> 之间的互信息之和: |
| | + | |
| | + | <math> |
| | + | \text{Sensitivity} = \sum_{(i \in L_1, j \in L_2)} I(t_i, t_j) \mid do(i = H^{\text{max}}) |
| | + | </math> |
| | + | |
| | + | 其中: |
| | + | - <math>t_i</math> 和 <math>t_j</math> 分别是输入节点 <math>i</math> 和输出节点 <math>j</math> 的激活值。 |
| | + | - <math>do(i = H^{\text{max}})</math> 表示仅对节点 <math>i</math> 进行最大熵扰动,其他节点的激活值设为 0。 |
| | + | |
| | + | 2.简并性(Degeneracy) |
| | + | 简并性衡量的是由于输入节点之间的重叠(即多个输入节点连接到同一个输出节点)导致的信息损失。简并性通过以下公式计算: |
| | + | |
| | + | <math> |
| | + | \text{Degeneracy} = \text{Sensitivity} - EI |
| | + | </math> |
| | + | |
| | + | 简并性反映了网络中因果关系的冗余程度。 |
| | + | |
| | + | ===外推法估计有效信息=== |
| | + | |
| | + | 使用推法来估计EI。具体公式为: |
| | + | |
| | + | <math> |
| | + | EI_{\text{parts}}(s) = \frac{A}{s^\alpha} + C |
| | + | </math> |
| | + | |
| | + | 其中: |
| | + | - <math>s</math> 是样本数量。 |
| | + | - <math>A</math>、<math>\alpha</math> 和 <math>C</math> 是通过拟合实验数据得到的参数。 |
| | + | |
| | + | 通过拟合少量样本的 EI 值,可以外推出大样本下的 EI 值。 |
| | + | |
| | + | 通过以上这些步骤,EI 能够量化神经网络中层与层之间的因果关系,并揭示网络在训练过程中因果结构的变化。 |
| | | | |
| | =有效信息在节点之间的表现= | | =有效信息在节点之间的表现= |