add doc
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
# NGRA-Tensor 设计讨论记忆
|
||||
|
||||
更新日期:2026-09-17
|
||||
更新日期:2026-09-18
|
||||
目标项目:`D:\platform-dev\src\Nitload.RegularAnalysis`
|
||||
来源:关于正则分析、NFA、Transformer、GPU 执行与 NGRA 双算子设计的讨论。
|
||||
|
||||
> 本文件记录设计意图与讨论结果,不代表项目现有代码已经实现这些功能。本次仅检查了目标目录及祖先目录的 AGENTS.md,没有审计源码。下文区分用户已提出的设计决定、辅助建议与待验证问题。
|
||||
|
||||
最新设计补充(2026-09-18,详见第 10 节):NGRA 使用持久状态上的增量流输入/输出;以连接占用作为主要容量指标的候选方案;容量不足时丢弃低激活连接。**字典本身是结构的一部分,结构是记忆的一部分。** 字典与运行时实例的区分属于身份与生命周期管理,不表示字典位于记忆系统之外。
|
||||
|
||||
## 1. 项目目标与讨论方式
|
||||
|
||||
NGRA-Tensor 试图结合结构化关系、模糊特征识别、多候选解释及模式预测。出发点包含正则模式分析与 NFA,但不应预设必须逐节点模拟 NFA 的执行方式。
|
||||
@@ -286,3 +288,54 @@ token embedding 提供初始向量,不能把后续位置向量理解成始终
|
||||
- [ONNX Concepts](https://onnx.ai/onnx/intro/concepts.html):计算图、节点与 initializer。
|
||||
|
||||
上述资料作为对照,不意味着 NGRA 已被证明等价于其中某种架构。
|
||||
|
||||
## 10. 2026-09-18:持久结构、增量流与连接容量
|
||||
|
||||
### 10.1 用户明确提出的设计方向
|
||||
|
||||
- 从正则引擎的流式增量输入思路演进:输入、输出都在上一次运行结果所保留的状态上继续进行。
|
||||
- 不以每次重新输入完整历史文本作为基本执行语义;历史对当前的影响由已保留的结构及其状态承接。
|
||||
- 容量很可能按连接数量或连接占用评估,而不是按 token 数量评估;具体度量尚未定稿。
|
||||
- 容量不足时,通过丢弃低激活连接释放容量。这是已提出的方向,评分、阈值、删除语义与正确性规则尚未确定。
|
||||
- 字典本身也是结构,结构本身也是记忆。记忆不只包含特征向量数值,还包括对象身份、连接、组合方式、候选与参数化定义。
|
||||
|
||||
### 10.2 建议的抽象接口(非已实现 API)
|
||||
|
||||
```text
|
||||
(S[t+1], ΔO[t]) = Step(S[t], ΔI[t])
|
||||
```
|
||||
|
||||
- `S[t]`:上次保留的结构、字典相关状态、实例特征、候选、待执行依赖及流位置等。
|
||||
- `ΔI[t]`:新增输入;是否包含撤回、修改和外部反馈,需进一步定义。
|
||||
- `ΔO[t]`:本次新增输出;若允许修订先前解释,需要明确输出更新或撤回协议。
|
||||
- `S[t+1]`:完成必要传播与容量管理后保留的状态。
|
||||
|
||||
输入流步 t 与一次输入触发的内部上下传播轮次应分开编号;一次增量输入可能触发多轮关系更新。
|
||||
|
||||
### 10.3 增量失效规则
|
||||
|
||||
Roslyn 增量管线与因果 Tr 的缓存复用提供了讨论类比:依赖没有改变的结果可以复用。但 NGRA 必须按自己的依赖图定义失效,而不能只检查原始文字是否变化。
|
||||
|
||||
- 下游输入、上层反馈、候选集合、相关字典结构或参数的变化,都可能使实例状态失效。
|
||||
- 新输入可能激活此前尚未选择的连接,因此只记录已经活跃的依赖可能不够;候选发现与再激活机制待设计。
|
||||
- 双向反馈可以扩大受影响区域,增量输入不保证只需要少量增量计算。
|
||||
- 纯函数结果复用、依赖版本与参数版本是实现候选,不是目前已经确定的数据结构。
|
||||
|
||||
### 10.4 连接预算与遗忘:需要进一步决定的内容
|
||||
|
||||
1. 预算计算活跃连接、全部保留连接、驻留显存的连接,还是三者分别统计?
|
||||
2. 不同连接携带的特征、参数、元数据大小可能不同;是否采用连接数量加权或真实字节数作为物理预算?
|
||||
3. “丢弃”表示暂停执行、移出显存、删除当前实例边,还是删除可持久化的字典结构?这些行为对记忆的影响不同。
|
||||
4. 当前激活低不必然意味着未来无用或结构可删除;角色绑定、串行 port、待完成模式等所需连接应有明确的完整性规则。
|
||||
5. 连接移除后,哪些实例需要重新评估?候选如何重新发现?还保留哪些历史依据?
|
||||
6. 遗忘顺序不必等同于时间顺序;连接重要性的估计方法和低激活持续时间阈值尚待实验。
|
||||
|
||||
这些是辅助建议与待决问题,不覆盖用户已提出的“容量不足时优先丢弃低激活连接”方向。
|
||||
|
||||
### 10.5 容量与智能的关系:待验证假设
|
||||
|
||||
用户提出“越智能的模型可能上下文更快耗尽”:在相同连接预算下,若模型为同一输入识别并保留更多关系、候选和依赖,容量可能更快用尽。
|
||||
|
||||
这不是已证明的必然关系。更好的抽象、共享、合并与剪枝也可能降低连接需求。后续应测量单位输入的新增连接、保留连接、复用率、候选召回与任务质量,而不是直接把智能程度等同于连接消耗。
|
||||
|
||||
补充参考:[Roslyn Incremental Generators Cookbook](https://github.com/dotnet/roslyn/blob/main/docs/features/incremental-generators.cookbook.md#pipeline-model-design)。该资料只支持增量管线类比,不证明 NGRA 的依赖追踪或遗忘方案正确。
|
||||
|
||||
@@ -14,11 +14,385 @@ left boarder-> match group start //push stack, add group index
|
||||
-> match group end //pop stack, set group end, build sub sequence
|
||||
|
||||
|
||||
---
|
||||
|
||||
# NGRA / NGRA-Tensor 设计讨论纪要
|
||||
|
||||
记录日期:2026-09-18。本文压缩本次讨论,作为研究与设计记录;未检查现有实现是否符合这些描述。以下区分设计意图、候选实现和待验证问题,不将讨论建议视为已经确定或验证的架构。无歧义时以 `tr` 指 Transformer。
|
||||
|
||||
## 1. NGRA 的背景与当前重点
|
||||
|
||||
- NGRA 的基础方向是把正则从字符序列推广到一般符号及结构化属性序列。
|
||||
- 基本有限正则 DLR(Deterministic Limited Regex):面向定长输入元素,重复具有上限,不采用断言及前后瞻,处理选择、重复、组合。
|
||||
- DLR-CP:加入 case 优先级,可通过后处理器或节点信息处理。case 排序与模糊匹配是不同问题。
|
||||
- 属性正则(讨论中称 ALR):输入是含有限个属性的 Struct,通过属性布尔判定 λ 进行匹配。有限属性个数不自动意味着有限取值空间。
|
||||
- 编译器前端可采用增量管线:字符 → token → 属性处理 → 更高层序列/region → AST;通过递归提取“岛屿”region,再交给下级 matcher。
|
||||
- 当前重点是 NGRA-Tensor:以关联程度处理模糊序列,研究如何根据新输入建立、调整和组合 relation。模糊包括关键特征之间存在低关联内容,不仅是 case 优先级或字符编辑距离。
|
||||
- DFA 自发现与这一方向有联系,但布尔自动机学习不能未经修改就用于任意加权、上下文相关的关系网络。
|
||||
|
||||
## 2. 统一词汇与理念系统:核心设计意图
|
||||
|
||||
字、词、短语、语义理念在计算接口上平等,均可存在于统一字典中,并通过向量表示;序列允许混合不同粒度的节点。
|
||||
|
||||
示例:
|
||||
|
||||
```text
|
||||
原句:吃饭了么,您?
|
||||
基本词序列:吃饭,了,么,逗号,您,问号
|
||||
候选语义标准型:我,询问,你的,吃饭,状态
|
||||
```
|
||||
|
||||
标准型是设计示例,不是已确定的规范语法或唯一正确解释。理念的可读标签不必直接等同于自然语言词义。需要能表达角色、顺序、指代、时间、否定与上下文条件;不能把理念集合当作无结构的词袋。
|
||||
|
||||
应区分字典条目与本次出现的实例:相同词条可以在不同位置、事件和角色中出现。统一字典不要求把这些实例状态合并。
|
||||
|
||||
需要区分三件事:
|
||||
|
||||
1. 词条/理念的长期向量和参数。
|
||||
2. 本次出现的上下文状态、绑定与激活程度。
|
||||
3. 本轮计算后创建的新实例,以及长期学习时登记的新词条。
|
||||
|
||||
创建下一波次实例不必扩充词典。将稳定、反复复用的组合固化为新理念,属于独立的结构学习问题。
|
||||
|
||||
## 3. relation 与 mixer 交替执行
|
||||
|
||||
用户澄清:relation 判定器与 mixer 都有很多;mixer 是分布式、可学习的局部计算单元,不是一个集中式全局裁决器。
|
||||
|
||||
```text
|
||||
有序理念实例
|
||||
→ 多个 relation 计算关系响应
|
||||
→ 多个 mixer 选择、融合、抑制、重表示
|
||||
→ 新的有序理念实例
|
||||
→ 下一计算波次
|
||||
```
|
||||
|
||||
- mixer 可保留输入、融合成抽象节点、降低响应或使其不再进入下一波。
|
||||
- 关系响应除数值外必须有对象身份或结构对应关系;裸分数不能唯一确定输出含义。这些对应可以由参数及数据布局实现,不要求全部采用显式符号提案。
|
||||
- relation 可以独立作为计算结构,不必属于词汇表;这是可选架构方向,尚未最终确定。
|
||||
- 表面词可退出传播,功能由抽象节点接替。例如“吗”可转为疑问功能;但将“了吗”全部只压成疑问可能丢失“是否已发生”的区别。
|
||||
- 大量单元提供容量;训练目标仍须约束应保留哪些区别、合并哪些等价表达。
|
||||
- 确定的执行算法不等于正确或唯一的语义推理。可以确定地保留多个解释;不能通过强制选择来宣称消除了歧义。
|
||||
|
||||
之前讨论过“relation 输出带证据提案、mixer 做约束组装”的方案,它可作局部实现参考,但不是用户最终确认的集中式架构。
|
||||
|
||||
## 4. 波次调度、依赖与候选发现
|
||||
|
||||
既有思路:下游节点编译后知道依赖及调用约束,通过 GPU 加载并激活。动态架构下,需要补充运行时激活发现。
|
||||
|
||||
区分:
|
||||
|
||||
- 依赖拉取:已经决定执行某个 relation,需要哪些输入与参数。
|
||||
- 激活发现:当前结果出现后,哪些下游 relation 值得成为候选。
|
||||
- 就绪判定:候选是否已绑定足够、相容的输入。
|
||||
|
||||
编译期可以保留 relation 模板、输入槽位、参数需求与先后约束;运行时决定实例绑定、候选组合与执行波次。反向依赖索引可通知受影响的候选,relation 自身的依赖描述负责取数,两者可以并存。
|
||||
|
||||
调度候选时需区分实例/region,避免跨语境错误组合;上游激活不代表下游立即执行。预算应同时约束活跃连接、候选展开和部分匹配状态,而不只限制最终执行数。
|
||||
|
||||
GPU 原型可按运算类型批处理任务数组,批量构造下一波任务;逻辑节点激活不必对应独立 kernel 启动。稀疏算法需要计入索引、去重、同步和随机访存成本。
|
||||
|
||||
## 5. 记忆与预测性淘汰
|
||||
|
||||
目标是持续更新语义状态,以活跃节点/连接控制工作规模,而不是一直保存全部原始 token。
|
||||
|
||||
三类操作应分开:
|
||||
|
||||
1. 已由高层表示承载含义的中间状态:可以释放。
|
||||
2. 当前低激活但仍可能有用的信息:可移入持久记忆,未来召回。
|
||||
3. 永久删除:接受由此失去某些未来回答能力。
|
||||
|
||||
用户明确接受遗忘:不要求无限保留,缺少信息时可以承认无法确认。系统需避免以相似候选替代缺失事实;完全遗忘后未必知道自己曾知道,不宜总声称“我忘了”。
|
||||
|
||||
淘汰策略可以借鉴预测缓存,综合估计未来使用概率、遗漏损失、保留成本、召回成本与成功率。当前激活低不代表未来价值低。
|
||||
|
||||
持续抽象可能优于临时文本摘要,但摘要本身也可以承载抽象;关键区别是状态能否局部更新、按需召回、保存关系与来源。tr 也存在内部状态记忆/压缩变体,不能把文本摘要当成所有 tr 的唯一记忆方式。
|
||||
|
||||
## 6. 小型 tr 作为局部计算模块:候选方向
|
||||
|
||||
考虑由 NGRA 管理字典、记忆、候选和波次,小型注意力模块计算局部 relation/mix。多个实例可共享参数,通过任务向量和角色信息区分,不必每条关系配一套网络。
|
||||
|
||||
```text
|
||||
当前状态 → 路由/召回候选 → 配对的 K/V → 局部计算 → 输出映射 → 下一波
|
||||
```
|
||||
|
||||
潜在强链接可提前组织候选,但不能仅允许历史强关系进入,否则新关系难以被发现。候选组织是独立难点,局部 attention 不会自动解决。
|
||||
|
||||
若每轮有 m 个包、每包 k 个实例、维度 d,局部稠密注意力部分约为 O(m k² d);总成本还包括投影、前馈网络、路由、访存、包间通信和波次数。
|
||||
|
||||
必须明确局部 V 是输入证据,还是候选输出理念。前者混合后仍需输出映射;后者已把输出候选发现交给上游。
|
||||
|
||||
## 7. 已澄清的 Transformer 计算原理
|
||||
|
||||
标准自注意力并不把整个字典放入 V,也不要求上下文窗口大于词表。
|
||||
|
||||
设词表大小 N、上下文长度 L、隐藏维度 d:
|
||||
|
||||
| 对象 | 形状/作用 |
|
||||
|---|---|
|
||||
| 词嵌入表 E | N × d,所有词条的基础表示 |
|
||||
| 上下文状态 H | L × d,各位置的上下文表示 |
|
||||
| Q、K、V | 由上下文状态投影;自注意力中行对应位置 |
|
||||
| 注意力权重 A | 每头在数学上为 L × L,受掩码约束 |
|
||||
| 最终预测状态 h | d 维,生成时通常使用最后位置 |
|
||||
| 输出矩阵 W_out | N × d,覆盖全词表 |
|
||||
|
||||
```text
|
||||
A = softmax(Q Kᵀ / sqrt(d_k)) # 决定从各位置读取多少
|
||||
O = A V # 已经实际读取并混合信息
|
||||
多层注意力、前馈、残差等处理 → h
|
||||
logits = W_out h + b # 对整个词表打分
|
||||
p = softmax(logits) # 下一 token 概率
|
||||
```
|
||||
|
||||
两个 softmax 作用不同:注意力 softmax 面向可访问的上下文位置;输出 softmax 面向词表。注意力不是仅安排“以后如何注意”,AV 当场执行读取。
|
||||
|
||||
上下文未出现的词仍在 W_out 中有对应行,所以可以获得分数。训练同时调整前面的网络与输出映射,使合适上下文提高正确输出的概率。输入、输出嵌入可以共享权重,但不意味着输出层等于注意力 V。
|
||||
|
||||
上下文是生成条件,不是随机种子;随机采样种子影响如何从分布选择。新 token 加入上下文后,后续步骤再利用它。
|
||||
|
||||
有限字典不意味着无限长度序列的集合有限;有限属性个数不意味着各属性取值有限。生成未出现符号的能力来自可学习输出映射,不依赖“窗口覆盖字典”或“符号空间封闭”的解释。
|
||||
|
||||
注意力权重是当前层/头的相对读取权重,不宜直接视为永久关系强度或事实可信度。模型能力也分布在前馈、投影等参数中。上下文状态、KV 缓存与注意力激活通常不是可训练参数。
|
||||
|
||||
注意力不会保证全面、充分、正确地理解全部联系。多个 block 通常具有各自参数,不能无条件视为同一计算的循环。
|
||||
|
||||
## 8. 训练、生成与事实约束
|
||||
|
||||
从“相关”到“可推导”需要关系类型、方向、角色和组合规则。强边不自动具有传递性;向量检索适合召回候选,不能独自证明结论。
|
||||
|
||||
用户的事实定义:训练/前文中被接受为真,并经逻辑检验支持的信息。实现时仍需区分前提来源、适用条件与推导;内部一致不等于外部真实。
|
||||
|
||||
生成不是理解过程的简单求逆。可探索:问题与记忆 → 回答标准型/内容计划 → 混合理念与词的逐步展开 → 自然语言。需要跟踪角色、时态、否定、覆盖与依据,避免风格润色新增事实。
|
||||
|
||||
内容规划、语义到文本生成、忠实性检查是可分开训练和评估的任务。这是候选方案,不要求必须使用符号规划器。回译标准型可检查一致性,但共享错误使其不能成为唯一验证。
|
||||
|
||||
训练至少涉及:
|
||||
|
||||
- 表示与预测:下一节点、解释序列或其他明确任务。
|
||||
- 参数学习:relation/mixer 的匹配和组合行为。
|
||||
- 结构学习:新增、拆分、合并、删除关系及理念。
|
||||
- 路由学习:有限预算下召回有用候选,并为新关系保留发现机会。
|
||||
- 记忆学习:保留、休眠、淘汰与召回。
|
||||
- 反例训练:错配人物、日期、否定、确定程度以及缺乏依据的组合。
|
||||
|
||||
tr 的进步同时依赖数据质量与规模、容量、后训练、可验证奖励、推理计算和工具;不能将连贯性或事实性提升仅归因于 QKV 或语料量。流畅、自洽与事实正确需要分开评价。
|
||||
|
||||
## 9. 当前判断与待验证事项
|
||||
|
||||
NGRA-Tensor 的组成思想有研究基础,但完整架构尚未被证明能训练通用 LLM。也不能据此断言它只适合典型模式,或必然缺少长程理解与自然交互能力。
|
||||
|
||||
优先做小型闭环:输入 → relation/mixer → 输出理念/序列 → 损失 → 更新;验证未见组合泛化、候选遗漏、信息遗忘与实际效率。
|
||||
|
||||
关键开放问题:
|
||||
|
||||
1. relation 与 mixer 的精确定义、参数共享和输出接口。
|
||||
2. 多个 mixer 输出的顺序、实例绑定、冲突及重复处理。
|
||||
3. 活跃集合外的新关系如何获得训练机会。
|
||||
4. 向量如何映射到已有理念,何时登记新词条。
|
||||
5. 离散激活/淘汰/结构变更的训练方式。
|
||||
6. 弱证据如何积累,休眠信息如何被后续线索唤起。
|
||||
7. 在同等质量下,端到端速度、显存和训练成本是否优于基线。
|
||||
|
||||
## 10. 讨论中相关文献
|
||||
|
||||
以下是可借鉴的组成部分,不表示这些系统已实现完整 NGRA-Tensor:
|
||||
|
||||
- [Transformer 原论文](https://arxiv.org/html/1706.03762v7):QKV、前馈网络与词表输出层。
|
||||
- [SoPa](https://aclanthology.org/P18-1028/):可学习软序列模式;原始模式拓扑受限。
|
||||
- [Rational Recurrences](https://aclanthology.org/D18-1152/):加权自动机与循环状态更新、语言建模。
|
||||
- [流式概率自动机学习](https://borjaballe.github.io/papers/preprint-bcg13.pdf):增量状态发现与合并。
|
||||
- [TensorLog](https://arxiv.org/abs/1605.06523)、[Neural LP](https://arxiv.org/abs/1702.08367):可微关系推理与规则学习。
|
||||
- [NBFNet](https://arxiv.org/abs/2106.06935):路径上的关系组合和多路径汇总。
|
||||
- [RetoMaton](https://arxiv.org/abs/2201.12431):通过自动机连接辅助语言模型检索。
|
||||
- [Step-by-Step](https://aclanthology.org/N19-1236/):内容规划与语言实现分离。
|
||||
- [DataTuner](https://aclanthology.org/2020.coling-main.218/):生成与语义忠实性重排序。
|
||||
- [Transformer-XL](https://aclanthology.org/P19-1285/)、[Compressive Transformer](https://arxiv.org/abs/1911.05507):跨片段状态与内部记忆压缩。
|
||||
- [Mamba](https://arxiv.org/abs/2312.00752)、[RWKV](https://arxiv.org/abs/2305.13048):其他可训练序列架构。
|
||||
- [FlashAttention](https://arxiv.org/abs/2205.14135):精确注意力的访存优化,与减少候选关系不同。
|
||||
|
||||
|
||||
## 11. 自动机理论:从 DLR 到可学习关系计算
|
||||
|
||||
本节整理讨论中的理论联系,并补齐理解公式所需的定义;不把这些形式化直接认作 NGRA 当前实现。
|
||||
|
||||
### 11.1 有限语言、正则语言与有限状态不是同一个概念
|
||||
|
||||
设有限字母表为 Σ,普通 DFA 的转移为 δ: Q × Σ → Q,识别语言 L ⊆ Σ*。DFA 状态有限,但识别的语言可以包含无限多个串,例如 a*。
|
||||
|
||||
若 DLR 同时满足有限输入字母表、所有重复有上限,且没有额外引入无界递归,则允许的串长具有有限上限 B,语言也是有限集:
|
||||
|
||||
```text
|
||||
L ⊆ Σ^{≤B}
|
||||
|Σ^{≤B}| = Σ_{k=0}^{B} |Σ|^k
|
||||
```
|
||||
|
||||
这不代表状态数或学习成本必然小。递归 region 是另一层机制:局部有限匹配器配合可增长的栈/递归结构后,整体不能不加说明地继续视为一个固定有限状态机。
|
||||
|
||||
属性匹配可把字母表推广为 Struct,并用谓词检查输入。有限个字段不意味着有限个可能的 Struct;若要归约到普通有限字母表,需要有限取值或可用的有限等价分类。UTF-16 code unit 是定长单元,但不等于每个 Unicode 字符或字素都只占一个单元。
|
||||
|
||||
原文件顶部的 lookaround 草稿被保留作历史内容;它与本次 DLR“不采用断言/前后瞻”的约束不应未经核实就合并为一份最终规范。
|
||||
|
||||
### 11.2 自动机自发现的关键是区分后续行为
|
||||
|
||||
对于语言 L,两个历史前缀 u、v 在所有后缀上具有相同接受行为时,可以属于同一右同余类:
|
||||
|
||||
```text
|
||||
u ~_L v ⇔ 对所有 z∈Σ*,uz∈L 当且仅当 vz∈L
|
||||
```
|
||||
|
||||
这提供了“何时需要不同状态”的理论视角。样本学习只能观察有限后缀,因此是否合并还依赖样本覆盖、查询能力、统计假设或归纳偏好。
|
||||
|
||||
- RPNI 类方法:利用正反例,尝试合并前缀树状态,并避免与已知标签冲突。
|
||||
- ALERGIA/流式 PDFA 学习:比较后续概率行为的统计兼容性,决定区分或合并。
|
||||
- 从有限样本得到一个一致模型,不代表已经唯一恢复真实规则,也不代表所有未知组合都可靠。
|
||||
|
||||
对 NGRA 的启示:新序列不是必然要求新增 relation;需要判断现有结构能否表达新的行为,以及扩展结构是否改善泛化而非只记住样例。
|
||||
|
||||
### 11.3 加权计算需要定义路径组合与路径汇总
|
||||
|
||||
一个一般的加权路径计算可以示意为:
|
||||
|
||||
```text
|
||||
f(x) = ⊕_{π 为消费 x 的接受路径} [初始权重 ⊗ 路径各边权重 ⊗ 终止权重]
|
||||
```
|
||||
|
||||
其中 ⊗ 表示同一路径中如何组合,⊕ 表示不同路径之间如何汇总。不同运算意味着不同语义:
|
||||
|
||||
| 组合与汇总 | 含义示例 |
|
||||
|---|---|
|
||||
| AND / OR | 是否存在接受路径 |
|
||||
| 乘法 / 求和 | 汇总路径权重;满足概率约束时可解释为概率计算 |
|
||||
| 乘法 / max | 最强路径,常见于非负权重下的最佳路径计算 |
|
||||
| 加法 / max | 累积路径得分,再选择最佳路径 |
|
||||
| min / max | 一种模糊隶属度组合方式 |
|
||||
|
||||
半环等代数条件使动态规划与路径汇总能够一致地组合,但任意设计的 relation/mixer 并不自动满足这些条件。数值在 [0,1] 内,也不自动是概率。
|
||||
|
||||
用户的“case 优先级加权”只是加权模型的一种用途;文献中的 weighted automaton 还包括路径得分、代价及概率。模糊匹配也不必只保留最高分路径。
|
||||
|
||||
### 11.4 实数加权自动机与谱学习
|
||||
|
||||
不含 ε 转移的实数加权自动机可写成:
|
||||
|
||||
```text
|
||||
f(x₁…x_T) = αᵀ A_{x₁} … A_{x_T} ω
|
||||
H[u,v] = f(uv) # Hankel 矩阵
|
||||
```
|
||||
|
||||
在实数域的相应线性表示理论中,有限 Hankel 秩对应有限维加权自动机表示,最小表示维数由该秩刻画。谱学习通过有限子矩阵的估计和分解恢复模型,仍依赖数据与可识别性条件。
|
||||
|
||||
潜在维度不保证是可命名的语义关系,实数分解也不自动产生合法概率或隶属度。该理论不能直接移植到任意非线性、动态增删结构或任意 max/min 计算。
|
||||
|
||||
参考:[模糊正则到模糊自动机](https://arxiv.org/abs/1105.6190)、[实数加权自动机谱学习](https://cs.nyu.edu/~mohri/pub/swa.pdf)、[符号加权自动机查询学习](https://proceedings.mlr.press/v153/suzuki21a.html)。
|
||||
|
||||
## 12. Transformer 数学补充:为什么能输出上下文外的词
|
||||
|
||||
### 12.1 两次打分具有不同的候选范围
|
||||
|
||||
以列向量 h 表示最终位置状态,一个标准预测过程为:
|
||||
|
||||
```text
|
||||
输入 token ID → 词嵌入与位置信息 → 多个 block → 最终状态 h
|
||||
|
||||
block 中:
|
||||
Q = H W_Q,K = H W_K,V = H W_V
|
||||
A = softmax(QKᵀ / √d_k + mask) # 沿允许的 key 位置归一化
|
||||
O = A V # 混合上下文信息
|
||||
随后还有输出投影、残差、归一化、前馈网络等;顺序取决于变体
|
||||
|
||||
词表输出:
|
||||
s_i = w_iᵀ h + b_i # i 遍历整个词表
|
||||
p_i = exp(s_i) / Σ_j exp(s_j)
|
||||
```
|
||||
|
||||
前一个 softmax 回答“读哪些位置、各读多少”;后一个回答“输出哪个词表符号”。标准 V 的行数由被读取序列长度决定,不由词表大小决定。交叉注意力也可读取另一段序列,但仍不能把它默认等同于全词表。
|
||||
|
||||
### 12.2 本次讨论中的数值例子
|
||||
|
||||
忽略偏置,设 h=[2,1,-1],输出表有四行:
|
||||
|
||||
| token | 输出权重 w_i | 点积得分 |
|
||||
|---|---|---:|
|
||||
| 我 | [0,1,0] | 1 |
|
||||
| 吃饭 | [1,0,0] | 2 |
|
||||
| 灯塔 | [1,1,-1] | 4 |
|
||||
| 苹果 | [-1,0,1] | -3 |
|
||||
|
||||
即使“灯塔”没有出现在输入里,它对应的输出参数行仍参与点积。此例仅说明计算过程,向量坐标不是人为规定的真实语义属性。
|
||||
|
||||
训练时,目标 token 为 y,交叉熵为:
|
||||
|
||||
```text
|
||||
loss = -log p_y
|
||||
∂loss/∂s_i = p_i - 1[i=y] # 标准全词表 softmax 下
|
||||
```
|
||||
|
||||
因此目标输出与其他输出的得分共同参与训练,梯度也会通过 h 传回前面的网络。模型能输出未在当前上下文出现的词,来自这个训练过的映射,不需要先将目标词放进注意力 V。
|
||||
|
||||
### 12.3 条件、参数与随机采样
|
||||
|
||||
```text
|
||||
Pθ(x₁…x_T) = ∏_t Pθ(x_t | x_{<t})
|
||||
```
|
||||
|
||||
上下文提供条件,θ 保存训练形成的计算规律,解码策略从概率分布选择输出。随机种子只涉及随机选择,不是上下文本身;贪心选择可以不使用随机抽样。
|
||||
|
||||
网络可以组合训练所得规律生成未见过的整段文本,不代表该段文本作为完整记录储存在参数中,也不代表生成内容真实。
|
||||
|
||||
注意力行权重之和为 1,属于当前候选之间的相对分配:候选变化会影响权重。它不是可直接跨上下文比较的绝对事实置信度。强注意力也不自动证明某项输入对最终答案具有唯一因果作用。
|
||||
|
||||
### 12.4 参数、激活与复杂度
|
||||
|
||||
- 词表 N、上下文 L、隐藏维度 d 是不同轴,无须满足 L>N。
|
||||
- 数学上的注意力得分矩阵为每头 L×L;高效实现不一定完整物化它。
|
||||
- 稠密注意力的主要位置交互计算约为 O(L²d);投影、前馈网络及全词表输出另有成本。
|
||||
- 给单个位置做标准全词表输出投影约为 O(Nd),不因输入里只有少数词而自动缩小。
|
||||
- 增长的 KV 缓存等是运行时状态,不等于新增训练参数。
|
||||
|
||||
对 NGRA:输入候选路由与输出理念选择是两个问题。小型 mixer 产生 h 后仍可映射到大字典;若也要避免全字典输出计算,需增加输出候选检索/路由,而非要求字典都进入局部 V。
|
||||
|
||||
## 13. 数学与研究判断的边界
|
||||
|
||||
### 13.1 必须分别验证的性质
|
||||
|
||||
| 性质 | 问题 |
|
||||
|---|---|
|
||||
| 表达能力 | 是否存在能表达目标行为的参数/结构? |
|
||||
| 可学习性 | 给定数据与反馈,能否找到这种结构? |
|
||||
| 执行确定性 | 固定输入、状态及选择规则,是否输出一致? |
|
||||
| 逻辑可靠性 | 结论是否由有效规则和适用前提支持? |
|
||||
| 唯一解释 | 信息是否足以排除其他候选? |
|
||||
| 工程效率 | 把路由、访存、同步算进去后是否实际更快? |
|
||||
|
||||
不能从“确定地取最大值”推出语义无歧义,也不能从“存在理论表示”推出可高效训练。减少活跃张量不自动减少全局参数,更不自动提高 GPU 吞吐。
|
||||
|
||||
### 13.2 关系强度不等于关系组合规则
|
||||
|
||||
“位于某城市”与“城市位于某国家”可在适当语义下组合;“喜欢”不能因两条边都强就自动传递。需要保留关系类型、方向、角色和条件。不同证据路径还可能重复使用同一事实,简单累加可能制造虚假支持。
|
||||
|
||||
同时,长距离不等于弱关系;当前低分不等于未来无用;稀疏不等于必然缺少长程能力。潜在难点是低显著度线索被过早删除,或语义压缩丢失后来需要的区别。
|
||||
|
||||
### 13.3 联合学习与预测淘汰的候选形式
|
||||
|
||||
讨论中的结构/参数学习可概括为研究目标:
|
||||
|
||||
```text
|
||||
min_{G,θ} Σ_(x,y) loss(f_{G,θ}(x),y) + λ C(G)
|
||||
```
|
||||
|
||||
G 为关系结构,θ 为数值参数,C(G) 惩罚结构复杂度。这只是问题定义,不提供自动增删关系或反向传播穿过离散操作的算法。
|
||||
|
||||
预测淘汰可用启发式价值表达:
|
||||
|
||||
```text
|
||||
保留价值 ≈ 未来使用概率 × 遗忘损失 − 保留成本
|
||||
```
|
||||
|
||||
实际还应计入召回成功率、召回成本和时间范围;这些量需要学习或明确估计,不能把当前激活值直接代入所有项。
|
||||
|
||||
### 13.4 关于“封闭”的最终澄清
|
||||
|
||||
固定有限词表 D 的长度至多 L 的序列集合有限;D* 在非空字表、长度无上限时无限。有限维实向量空间在数学上无限,机器有限精度不使实际学习与枚举问题自动变简单。
|
||||
|
||||
输入和输出共享词表,只说明可在相同符号系统中表达,不证明推理正确,也不构成预测未出现符号的充分解释。真正需要明确的是输入状态如何经可学习函数映射为输出候选及其得分。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user