欢迎光临
我们一直在努力

创作的算法思维:从易经的“变易”看生成式 AI 的多样性

创作的算法思维:从易经的“变易”看生成式 AI 的多样性

一、个性化深度引言

《易经》的核心是“变易”——万事万物都在变化之中。六十四卦不是六十四个答案,而是六十四种变化路径的描述。这个思想在我调试生成模型时频繁浮现。

实际工作中,很多人把生成式 AI 当成一个“输出正确答案”的工具。但如果只用贪心解码(greedy decoding),每次给定相同的输入,模型都产出完全相同的输出。这恰恰违背了“变易”的精神。见证奇迹的时刻在于:当我用《易经》的变易框架重新理解采样策略时,Temperature 不只是温度参数,它变成了系统的“熵值自由度”。

二、个性化原理剖析

变易思想的算法映射

《易经》有三个核心概念:

  • 变易:万物恒变,没有固定的答案
  • 不易:变化的规律本身是不变的
  • 简易:复杂的规律可以用简单的符号表达

这三个概念恰好对应生成式 AI 的三个层面:

六十四卦的变化空间

从组合数学的角度来看,六十四卦本质是一个 6 位二进制状态空间(6 个爻,每爻有阴阳两种状态)。卦与卦之间的“变卦”关系,类似于语言模型中 token 序列的状态转移。

具体来说:

  • 一个卦有 6 个爻:$2^6 = 64$ 种可能
  • 每次占卜得到 1 个本卦,可能有 1 个变卦:$64 \\times 64$ 种组合
  • 这接近语言模型在每一步从词表中选择 1 个 token 的过程

用信息论的视角看,生成式 AI 的输出是 $V^L$ 种可能(V 是词表大小,L 是序列长度),而 Temperature 和 Top-p 本质上是控制“我们愿意考虑多少种可能性”。

变易对算法设计的启发

《易经》的“变易”不是随机变,而是有规律的变化。这个规律就是阴阳消长、五行生克。类比到生成模型中:

  • Temperature = 0 相当于“绝对不易”——输出完全确定,没有变化
  • Temperature = 1 相当于“自然变易”——按词表原始概率分布变化
  • Temperature > 1 相当于“无序之变”——概率分布过于均匀,失去方向

这个对应关系帮助我们理解:好的生成不是“更多随机性”,而是“在约束框架内有节奏的变化”。这正是卦象变化的核心逻辑。

三、个性化代码实践

import numpy as np
from typing import List, Tuple

class HexagramGenerator:
"""
卦象 → Token 选择的类比实验
将易经的卦变思想映射到语言模型的采样策略
"""

# 设计原因:八卦基础映射(乾兑离震巽坎艮坤)
TRIGRAMS = {
"乾": "111", "兑": "110", "离": "101", "震": "100",
"巽": "011", "坎": "010", "艮": "001", "坤": "000",
}

@staticmethod
def generate_hexagram() -> Tuple[str, str]:
"""
模拟起卦过程
返回 (本卦, 变卦) 的二进制表示
"""
# 设计原因:每个爻的阴阳状态作为随机变量
# 老阳(9)和老阴(6)是变爻,少阳(7)和少阴(8)不变
lines = []
changing_lines = []

for i in range(6):
value = np.random.choice([6, 7, 8, 9])
yin_yang = "1" if value in [7, 9] else "0" # 阳爻=1
lines.append(yin_yang)
if value in [6, 9]:
changing_lines.append(i)

original = "".join(lines)

# 计算变卦:将变爻位置取反
changed_list = list(original)
for idx in changing_lines:
changed_list[idx] = "0" if changed_list[idx] == "1" else "1"
changed = "".join(changed_list)

return original, changed

def analog_to_sampling(
self,
prob_dist: np.ndarray,
temperature: float = 1.0,
) -> int:
"""
将变卦思想类比为采样策略

设计原因:Temperature 类比为变爻概率
– T 越大 → 更多爻可变为变爻 → 更多候选 token
– T 越小 → 变爻极少 → 输出更确定
"""
# 变爻概率 = sigmoid(log(T)) 映射到 0-1
change_prob = 1 / (1 + np.exp(-np.log(max(temperature, 0.01))))

num_candidates = len(prob_dist)
# 使用 Top-p 思想保留核心候选
sorted_indices = np.argsort(prob_dist)[::-1]
cumsum = np.cumsum(prob_dist[sorted_indices])

# 设计原因:cumsum 表示累积概率,类比卦象的确定性
cutoff = np.searchsorted(cumsum, change_prob)

# 在保留的候选集合中采样
candidates = sorted_indices[:max(1, cutoff)]
weights = prob_dist[candidates] / prob_dist[candidates].sum()

return int(np.random.choice(candidates, p=weights))

# 运行示例
hg = HexagramGenerator()
original, changed = hg.generate_hexagram()
print(f"本卦: {original}")
print(f"变卦: {changed}")

# 模拟概率分布中的采样
prob_dist = np.array([0.4, 0.3, 0.15, 0.1, 0.04, 0.01])
np.random.seed(42)

print("\\n不同 Temperature 下的采样结果(运行10次):")
for T in [0.3, 0.7, 1.0, 1.5]:
samples = [hg.analog_to_sampling(prob_dist, T) for _ in range(10)]
uniq = len(set(samples))
print(f" T={T:.1f}: 采样结果={samples}, 唯一值数={uniq}")

四、个性化边界权衡

类比维度易经概念算法对应启示
卦象空间 64 卦 × 变卦 词表大小 × 序列长度 可能性空间的组合爆炸
变爻机制 老阳老阴可变 Temperature 控制 变化的程度需要调控
阴阳消长 阴爻变阳爻 Token 概率的涨落 分布是动态的
不易规律 八卦相荡的法则 Softmax 归一化 变化的底层规则不变
简易表达 阴(–)阳(—) Token ID 离散符号表达连续语义

关键权衡:

  • 确定 vs 随机:完全确定(T=0)的生成失去了“变易”的活力,但完全随机的生成失去了“不易”的方向。工程上需要像卦象变化一样——在框架内变化。
  • 传统智慧的工程价值:不是用来直接指导代码,而是提供一种“跳出纯技术视角”的思考框架。当调试陷入瓶颈时,换个视角本身就有价值。
  • 过度类比的风险:易经是哲学体系,不是数学公式。用算法思维重新解读易经是启发性的,但不能期待“按易经写的代码天然更好”。
  • 五、总结

    《易经》的“变易”思想为理解生成式 AI 的多样性控制提供了跨学科视角。卦象的六位二进制状态空间与语言模型的 token 选择过程具有形式上的相似性——都在巨大的可能性空间中寻找有意义的变化路径。Temperature 参数对应变爻概率,控制变化的程度;Softmax 归一化对应“不易”的规律性约束;离散的 token 表达对应“简易”的符号化思维。这种思维方式的价值不在于直接指导调参,而在于提供一种超越纯技术视角的理解框架——提醒生成系统的设计者:好的变化是在规律内的变化,好的多样性是在约束内的多样性。

    赞(0)
    未经允许不得转载:171主机测评 » 创作的算法思维:从易经的“变易”看生成式 AI 的多样性
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址