CSYS5030 Week 09 复杂系统中的信息处理与熵率讲课总结
CSYS5030 Week 09 讲课总结:Information Processing in Complex Systems
课程:CSYS5030 — Information Theory and Self-Organisation 讲师:Associate Professor Joseph Lizier 对应模块:Module 9 - Information processing in complex systems 来源:讲义 PDF
Week 9/Lectures/Lec7-InfoProcessing.pdf(标题页为 Information dynamics – Part I – Information processing in complex systems)。本周没有转录稿,Week 9 文件夹里也没有 tutorial 文件,以下按讲义整理,并用标准教材知识补充推导和算例;不包含讲课现场内容。 本周覆盖:信息动力学的哲学 → 记号 → 熵率(entropy rate)文件说明:
Week 6/Lec6-InfoDynamics-PartI-Philosophy.pdf与本周讲义内容相同(只有公式字体编码差异),是旧编号副本,按内容归到 Week 9。讲义编号Lec7是讲座序号(Wrap-up 讲义列出的第 7 讲 Information processing in complex systems),不是周次。
零、课程版图与本周位置
| 板块 | 周数 | 状态 |
|---|---|---|
| 1. Introduction to Information Theory | Week 1–4 | 已完成 |
| 2. Empirical Analysis with Information Theory | Week 5–8 | 已完成 |
| 3. Information Processing in Complex Systems | Week 9–12 | 本周开始:W9 哲学与熵率 → W10 信息存储 → W11 信息传递 → W12 有效网络推断 |
上周(Week 08)的结论是:与其找一个「自组织总指标」,不如刻画信息结构化的多个方面——其中最重要的两个就是信息存储和信息传递。第三板块就是把这一想法具体化:用信息论去审视大型系统的时间序列动态。
本周学习目标(讲义):
- 理解信息动力学(information dynamics)方法背后的哲学:如何为复杂系统中的信息处理建模;
- 理解熵率作为第一步考虑。
主要参考:Lizier (2014) JIDT: An information-theoretic toolkit for studying the dynamics of complex systems,附录 A.2、A.3。
一、计算容易识别吗?
1.1 讲义的开场练习
讲义给出一组图片:冯·诺依曼架构、主板、鱼群、蚂蚁、萤火虫、大脑,对每张图问:
- 这个系统在计算吗?
- 如果是,它在算什么?
- 怎么算的:输入/输出/信息是什么?它们如何被操作?
用图灵机(Turing machine)的视角看,电脑显然在计算,而且很容易指出哪里是存储、哪里是处理。但对鱼群、蚁群、大脑,这些问题就很难回答。
1.2 能把生物计算塞进计算机科学的主流范式吗?
Mitchell(Complexity: A Guided Tour, ch. 12)的对比:
| 问题 | 计算机科学 | 生物计算 |
|---|---|---|
| 什么充当系统中的信息? | 数字的、静态的纸带 | 模拟状态,在空间和时间中分布的模式;通过统计采样获得 |
| 信息如何被传递和处理? | 确定性、串行、无差错,集中式规则 | 去中心化、并行、局部、细粒度、随机的交互;利用随机性 |
| 信息如何获得功能/目的/意义? | (人类)设计者 | 自然选择 |
1.3 需要新视角:动力系统
Mitchell 的观点:对复杂系统,「动力系统的语言可能比计算的语言更有用」。
内禀信息处理(intrinsic information processing):只要系统经历一个动力学过程,把初始状态(+输入)变为后续状态(+输出),就在发生信息处理。
生物(及生物启发的)信息处理的两个特点:
- 分布式——不像图灵机有一个读写头;
- 持续进行——内禀计算不一定会结束,没有「停机」。
那么怎样用计算或信息的语言描述它?答案是三种基本操作:信息存储、传递、修改。在传统 PC 里很容易指出执行这些操作的元件(内存、总线、CPU),但在生物计算中不那么容易。
二、信息动力学(Information Dynamics)
2.1 计算 = 存储 + 传递 + 修改
我们平时描述计算时用的是三个词,信息动力学给每个词配上一个信息论度量:
| 计算的要素 | 信息动力学中的度量 | 对应模块 |
|---|---|---|
| Memory(记忆) | Information storage(信息存储)→ Active Information Storage | Module 10 |
| Signalling(信号传递) | Information transfer(信息传递)→ Transfer Entropy | Module 11 |
| Processing(处理) | Information modification(信息修改) | 本课只提及 |
分布式计算是任何涉及这些特征的过程,例如:
- 大脑中的信息处理
- 元胞自动机的时间演化
- 基因调控网络计算细胞行为
- 鸟群计算集体朝向
- 蚁群计算到达食物的最短路线
- 「宇宙在计算它自己的未来!」
总体思路:用计算通常被描述的那套语言去量化内禀计算,就能理解自然如何计算,以及它为什么复杂。
2.2 核心问题
复杂系统中一个变量的下一状态是如何被计算出来的? 它是系统内部一次局部计算的输出。
把复杂系统看作多元时间序列,对某个目标变量
中的信息来自哪里?怎样度量?(应该去哪里找?)- 能否把
中的信息处理建模为:- 存储了多少信息?
- 传递了多少信息,又该归因于哪个源?
- 这些部分能否分割?它们会不会重叠?
这一框架贯穿接下来三周:先看目标自己的过去(存储),再看其他源(传递),最后在网络层面选出全部「父节点」(有效网络推断)。
2.3 可以分析哪些多元时间序列?
讲义回顾了两个例子:
- Scissors-Paper-Rock:我们是怎样给出招行为建模的?——用自己上一招、对手上一招去预测下一招,其实已经在做「存储 vs 传递」的区分。
- 初等元胞自动机(ECA)rule 54:横轴是格子,纵轴是时间(向下)。能否用对信息的操作来刻画 CA 的更新?Module 10/11 的 tutorial 会在 rule 54 上计算局部存储与局部传递。
信息动力学研究的是:
- 目标变量的状态更新,
- 以及这些度量在空间和时间上的动态(即局部/pointwise 值的时空图)。
(Lizier 2013, The local information dynamics of distributed computation in complex systems)
三、记号
- 考虑一组时间序列过程
- 每个过程由一串随机变量
组成; - 其实现(realisation)为
; - 时间指标
可数(离散时间)。
连续块向量(状态)——长度为
注意下标:
以 结尾(包含当前时刻),预测的对象是 。下周会把它解释为目标底层状态的 Takens 嵌入。
形式化的核心问题:
随机变量
中的信息,在多大程度上来自其他变量 ( )?
(当然也包括来自
四、熵率(Entropy Rate)
4.1 历史上的第一步
在信息动力学之前,人们刻画时间序列过程的第一个量就是熵率。讲义给出两种定义:
定义 1:块熵随块长增长的极限速率
即平均每个符号的熵;在「块熵
定义 2:给定过去后,下一个随机变量的不确定性
在块熵图上,它是相邻两点的增量
关键结论:
记号提醒(讲义脚注):本课的撇号与 Cover & Thomas §4.2 正好相反——这里不带撇的
是条件熵形式,带撇的 是块熵除以 的形式。
为什么平稳时相等(标准证明思路):平稳时
是
4.2 熵率的含义
- 隐含的建模步骤:我们把过程自身的过去当作第一个信息源,然后问:还剩多少不确定性?
- 熵率衡量的是过程「真正新」的部分——即使知道全部历史,每一步仍然无法预测的信息量。
- 这正好为下周铺路:
即
4.3 编码解释(讲义思考题)
讲义问:熵率的编码解释是什么?(想想给英文文本的字母编码。)
- 第 1 周学过:独立同分布信源,最优编码平均每个符号至少需要
bits。 - 但英文字母不是独立的:看到
th之后e的概率很高。如果编码器利用前文上下文(例如对每种上下文用不同的码表),平均每个符号所需 bit 数可以降到 。过去 - 所以 熵率 = 利用全部历史进行最优编码时,平均每个符号所需的最少 bit 数——它是有记忆信源的压缩极限。
- 也可以从块的角度理解:把
个字母打包成一个块编码,平均每个字母需 bits, 就是 。两种理解平稳时相同。
4.4 算例(补充,用于理解)
例 1:独立同分布过程
例 2:周期过程 0101…
一旦知道上一个值,下一个值完全确定:
例 3:两状态马尔可夫链(W11 的 heartbeat 源过程)
转移概率:
平稳分布(令
一阶马尔可夫,只需
其中
而
例 4:块熵图上的直观
| 过程 | 斜率(熵率) | 「截距」含义 | |
|---|---|---|---|
| i.i.d. | 从原点出发的直线 |
0:没有结构 | |
| 周期 2 | 先升到 1 bit 后保持水平 | 0 | 1 bit:全部是结构 |
| 一般有记忆过程 | 先较快上升,然后趋于斜率 |
渐近线的截距 = excess entropy(下周) |
块熵逼近渐近线的快慢反映了过程的结构/记忆——这就是下周的 excess entropy / predictive information。
4.5 从熵率到信息动力学
熵率只回答了「剩下多少不确定性」,而信息动力学想回答的是「已经解释掉的那部分信息来自哪里」:
H(X_{n+1}) |
五、讲义小结
- 介绍了信息动力学方法背后的哲学:用存储、传递、修改来分析复杂系统中的信息处理。
- 把熵率作为理解时间序列过程动态更新的第一步。
- 下一讲:复杂系统中的信息存储。
六、本周考点速记 / 易错点
- Mitchell 对比表:计算机科学(数字静态纸带;确定、串行、无差错、集中;人类设计者) vs 生物计算(模拟、时空分布的模式、统计采样;去中心、并行、局部、随机且利用随机性;自然选择)。
- 内禀信息处理:动力学过程把初态+输入变为后态+输出。生物计算分布式、持续进行(不一定终止)。
- 计算三要素 ↔︎ 信息动力学:Memory ↔︎ 存储;Signalling ↔︎ 传递;Processing ↔︎ 修改。
- 核心问题:目标变量下一个值
的信息从哪里来?存储多少、传递多少、归因于谁、能否分割/是否重叠。 - 记号:
,以 结尾,预测 。 - 熵率两种定义:
(块熵斜率); (给定过去的条件熵,块熵增量)。平稳时相等。本课撇号与 Cover & Thomas 相反。 - 熵率的含义:把过去当作第一个信息源后剩余的不确定性;编码上是有记忆信源每符号的最小平均码长。
——熵率与下周 AIS 互补。- i.i.d. 过程熵率 =
;确定性周期过程熵率 = 0。 - 两状态马尔可夫链:
, 。离开 的概率
七、下周预告
Week 10 — Module 10: Information storage:
- Active Information Storage
及其局部值; - 历史长度
怎么选(Ragwitz、最大化偏差修正 AIS、非均匀嵌入); - JIDT 的
AUTO_EMBED_METHOD; - CA rule 54 上的局部 AIS:blinker 和 domain 是主要的存储实体。