水箱可以用水位写,也可以用体积写;网络的隐藏单元可以重排,输出函数仍然相同。看见这些对应,我们容易说:写法变了,模型没有变。再看另一些对应,这句话便需要分开。两个概率分布都允许零和一,成功概率却可能不同;两个优化问题有同一个最优点,其他方案的排序却可能相反;两个因果模型给出相同观察分布,改变一个变量以后又有不同后果。
区别已经在这些对象里面。我们给它们什么域,允许什么操作,怎样解释呈现,观察保留哪些内容,都影响“相同”的判断。用一个无权集合装下所有可能结果,能表示某些关系,也会丢掉概率与干预;把模型统一当作函数,又可能删去多解、历史和交互。要完整看见内部,须让对象按其关系取得自己的数学形式。
前两篇已经建立了问题形成和经验表征。现在暂把经验联系放在明确的地址上,进入形式对象本身:一份呈现怎样取得语义,一个家族怎样成为实例,观察怎样从内部提取内容,以及身份标准怎样依这些选择成立。随后再把计算和经验关系接回去。内部分析可以使这些联系更准确,各项联系也会反过来推动内部修订。
一个式子,怎样取得数学内容
先看 。在实数中没有解,在复数中有 与 两个解。同样的字符,用了不同的域,得到不同的解集。我们并没有在某一次计算上碰巧走向不同答案;域的选择改变了允许什么元素、怎样解释运算,以及整项问题有哪些满足者。
再看 。它在实数中的解是 ;写成 ,在同一个实数解释下得到同一解集。文字身份不同,当前语义相同。这里还用了实数没有零因子的性质。在模八整数环中, 都满足平方为一;因式分解仍成立,乘积为零却不要求一个因子为零。若把实数中的推理原封不动移来,错处落在推理所依赖的结构,而不在算式外形。
这几个初等例子已把三项工作分开。呈现提供待解释的符号和条件;解释给定元素与运算;推理利用这个结构中的性质。说明一个方程,需要的内容因而不只是一行等号。域、参数、变量和满足方式,都参加对象的形成。某些内容在共同语境中可以省略,跨语境比较时却须把它们找回来。
逻辑中的“模型”还可能指一种满足理论的结构。比如群的公理允许不同群作为模型,每个群给乘法、单位元和逆元以自己的解释。动力学中的模型通常规定演化,统计模型规定概率家族,实际水箱则是经验参照装置。它们都可以成为严谨数学讨论的对象,名称相同没有使所指相同。讨论群公理的满足者与讨论一条排水轨迹,须选择各自的解释和比较。
形式满足与经验有效性也在这里分开。若一条函数满足所写微分方程,它是该条件下的形式解;它能否贴合装置中的水位,要经过第二篇已经建立的测量和表征关系。一个方程可能有严格求出的解,却没有覆盖实际孔口的低水位机制;一个经验预测器也可能在指定资料上表现很好,而没有恢复装置的生成关系。把两项所得分别说足,才容易看见下一步缺在哪里。
水位与体积之间,什么被逐项保持
沿用常面积水箱,先固定 、时间区间 、初始水位和一个共同的连续输入 。令出流函数为 ,在当前讨论的非负水位域内已指定。它可以取前篇有效区间的 ,这里先研究已给函数下的对应。水位表达为
定义 ,相应体积表达便是
对每条可微水位解取 ,求导得 ,所以第二式成立。反过来,对每条体积解取 ,第一式也成立。两项转换互为逆映射,因而建立解集之间的双射。 同时把 对应到 ;水位阈值 对应到体积阈值 。初值、允许域和所问条件,随换元一起改变。
这比两份输出曲线看起来相近更强。对应覆盖全部允许解,逐项说明每条解怎样进入另一表达;阈值查询也沿同一映射保持。若只改右侧变量而把体积初值仍写成数值 ,便通常是在研究另一项问题。单位已经提醒我们这一点:米与立方米不是同一初值类型,数值相同不提供转换根据。
比较输出时,还要让两边回到共同观察域。水位表达直接观察 ;体积表达可以观察 。于是对应解给出完全相同的水位历程。若观察原始坐标,一边输出米,一边输出立方米,就没有直接要求它们相等的理由。一个结构对应与一个共同观察共同工作,才使“同一过程的两种表达”成为明确判断。
换元仍有自己的条件。若面积随时间变化,,刚才的常面积推导不再原样成立。若截面随高度变化,应由体积函数 及其可逆范围重新建立对应。正面说出原对应保持什么,也便指出新条件下应检查哪里。可逆性不是所有“换一种变量”操作自带的性质,保持关系须在所选对象上算出来。
这里可以开始理解同构。两个带结构对象之间存在可逆映射,并且它和逆映射都保持所指定的关系,便得到该结构意义下的同构。水位与体积对应保持演化、初值、非负域和变换后的查询。在另一种结构中,例如只关心解集的基数,所需保持的内容会少得多。称作同构时,所用结构和态射也须明确;这个词本身没有代我们选好它们。
有类型的呈现,怎样形成语义实例
回到水箱,我们已经使用了时间、长度、体积、流量、常数、函数和轨迹。它们能够相接,靠的是类型与解释。 是时间到长度的函数, 是固定正面积, 把高度送到流量。 因而有意义, 却未必合法。矩阵与向量也有类似条件:维数决定哪些乘法允许,坐标的物理或统计含义决定比较怎样解释。类型先把合法操作组织起来,之后才问结果如何。
以 表示一份带类型的签名,保存所用的对象种类、符号、运算和关系。在水箱例中,它可声明 、、,并指定 和 的域与余域。这里 表示函数和一阶导数连续。签名说明表达的材料和合法接法;方程、初值及其他约束组成呈现 。声明 的类型,没有规定它怎样演化;加入微分方程,才把允许轨迹限制下来。
还要选择语义种类 ,以及相应的语义域 。若当前任务研究全部允许水位轨迹,语义可以是满足 的解集;若任务研究给定输入的演化算子,就要在解唯一及其定义域明确的条件下建立算子。选择概率语义时,目标则可能是轨迹的律或条件核。 让解释取得明确的目标,并提醒我们:相同符号可以进入不同的对象组织。
在已经指定的解释规则下,记
双括号表示按当前规则解释呈现的结果。这项记号预设了规则,并未自动产生规则。在水箱中,我们用实数、导数和等式解释方程;在有限状态程序中,可能由执行步给出转移关系;在逻辑理论中,还可能研究全部满足公理的结构。哪种解释符合当前问题,仍是数学工作的一部分。记号用得简洁,不能把这项工作省去。
一个呈现也可能不含足够条件,使预期解释未定义。规定“下一状态为方程的解”,却没有给初值,通常还没有唯一下一状态;规定一个概率密度,却未保证非负和积分为一,也没有得到概率律。我们可以补充条件,或者把语义改为允许解的关系,并把不存在与多解保留下来。后一种改法有自己的所得:它使之前被函数表达排除的问题取得对象形式。
参数家族与固定实例在这套组织中占不同位置。设参数域为 ,每个 给出呈现 及语义 ,于是形成 的家族。固定 选择了一个水箱语义实例;固定输入和初值,才进一步选择一次求解问题;在解唯一时,再得到一条具体轨迹。家族、实例、求解条件和运行,沿不同的选择接起来,不能以“这就是模型”互相覆盖。
参数和输入的分工也按所研究的变化确定。前篇把固定孔口的出流系数作为参数,把进水历程作为输入,因而能比较同一装置面对不同输入的回答。若我们研究可控阀门,开度须进入输入或状态;若研究一批水箱,面积可以在总体中变化。一个数在一次计算中固定,不表示它在所有问题中永远是参数。变动对象时,家族和实例的地址随之改变。
观察规格 再说明当前要保留什么,观察映射 从相应语义对象提取该内容。水箱可以观察共同水位轨迹,网络可以观察全部输入上的函数,也可以只观察某个样本集上的预测。观察的域、查询、聚合和单位共同决定比较,后面会给出精确条件。这里先把它接在语义之后,避免把一次可见输出当成内部的全部内容。
计算实现 和经验表征 也有位置。实现用某个算法与制品去求解或执行已选对象;表征把形式对象同参照世界及用途相接。前篇已经给出 的具体条件。两者可以改变语义所需的理解,但各自的保持关系仍须建立:代码返回了什么,误差指向什么,记录又从哪里来。把它们列为角色,使比较能够追到相应对象,而不把八个角色当成任何模型都必须独立填写的坐标。
| 角色 | 在当前问题中辨认什么 |
|---|---|
| 解集、演化、律、优化或其他语义种类 | |
| 对象、符号与合法操作的类型 | |
| 方程、规则、约束和条件的呈现 | |
| 按已选解释得到的形式对象 | |
| 家族与实例 | 哪些量可变,哪些条件已固定 |
| 从哪个对象提取哪些共同观察 | |
| 求解或执行所用的实现及其结果 | |
| 形式对象与参照对象、资料和用途的经验联系 |
这张表把已经发展出来的关系放在一起。其作用在随后异质对象的比较中更清楚:我们可以共享这几项提问,各种语义仍保留自己的数学结构。统一的是辨认关系的办法,概率律、优化排序和因果机制并不因此被改造成同一种无权行为集。
约束与非确定行为,为什么需要关系
函数为每个输入给出一个输出,是一种很有力的组织。它却已经要求单值。在不少问题中,我们先有允许范围,再有选择;把范围提前压成一个函数,可能只留下其中一项方案。第一篇的任务安排就是如此:共享资源给出两种先后次序,某个调度器选出一份安排,允许安排的模型则要同时保存两种次序。
取一个简单关系 ,令 ,并规定 。固定输入 时,允许输出为区间 。函数 可以从中选取一个输出, 也可以;两者不同,却同为这个关系允许的选择。若把 当作 的全部语义,就会把另一种允许输出误判为违例。
关系也保存了量词上的区别。 成立,可以让输出随输入而变; 不成立,一个固定输出无法接住全部实数输入。将“总能找到一个输出”说成“存在一个通用输出”,便在形式上换了问题。选取函数还可能涉及连续性、可测性或因果性,单有每点非空并没有证明这些附加要求。
组合时,关系有清楚的接法。若 、,则
中间量由共同满足约束后再隐藏得到。两段各允许误差不超过一,组合便允许输出相对输入偏离不超过二;在这个实数区间构造中,反过来每个这样的输出也可取中点 实现。这里建立的是关系上的精确等号,换成更复杂约束时,要另检查可达与保持。
存在量词还会遮住可实现的选择办法。知道有某个 ,不表示一个只见当前信息的组件能及时选到它。若 的合法性依赖未来输入,关系给出的全历史解可能存在,在线的因果实现仍可能不存在。第一篇已经用共同初始信息下的一次性选择区分这两项保证;第五篇会把它放进接口与互联。在内部语义中保留选择和历史,至少使这项问题有准确的提问对象。
约束语义可以是可行集合,也可以包含关系之间的结构。仅知道集合非空,尚未知道哪些点更好;仅知道最优点,又会丢掉其他可行选择。后面的优化例子将把这项缺口补出来。不同语义在实际问题中常相互接续,分开说明它们保存什么,使接续既能进行,又不偷换上一项对象。
动力学保存演化,运行只是其中一次
一个动力学呈现通常把状态、时间、输入、初始条件与演化关系组织在一起。即使最终只观察一个终值,中间的轨迹仍可能决定何时越界、经历哪些状态以及怎样响应改变。将动力学只保存成终值,会丢掉这些查询;将全部轨迹只保存成某一次计算输出,又会丢掉未选初值与输入下的行为。
以 为例,固定 得到 。不同 给不同轨迹,整个家族还定义从初始状态到各时刻状态的演化映射 。它满足 和 :先走 再走 ,与走总时间相同。这个拼接关系提供了终值列表以外的结构,后续能研究时间推进、扰动与组合。
对有输入的系统,拼接还要保存输入片段怎样连接。若第二段输入是第一段状态触发的选择,内部演化与策略会互相依赖。所说的“同一模型”可以指同一被控对象,所产生的闭环轨迹却随策略改变。只比较一份预先保存的输入下的回放,直接观察的只是这份输入对应的历程;要比较所有允许输入,就须保留并量化整个输入域。
初值固定也不保证解唯一。构造 、、。对任意等待时刻 ,函数
都是一阶连续可微的解。等待段的导数为零,增长段导数为 ,连接点两侧导数也同为零;全零函数还给出另一条解。同一初值允许不同后续,因而不能在这些条件下把解集无条件说成一个唯一的演化函数。
有的求解程序可能返回全零轨迹,有的附加选择可能让它立即增长。返回了哪条轨迹,需要根据算法和选取条件解释;数值输出的单值没有反过来证明原方程单值。我们可以补充选择规则,形成更细的呈现,也可以让语义保留全部解。两种组织能问的问题不同:一种研究已选演化,另一种研究所有允许解是否具有某项性质。
例如,“至少有一条解始终不超过一”在这个构造中成立;“所有解始终不超过一”不成立,立即增长的解在足够长的时间超过一。存在与全称量词改变的是保证强度。若我们关心装置的最大可能响应,丢掉其他解就会删掉原问题;若额外机制确实只允许一种选择,加入该机制才使缩小解集有根据。
动力学语义因而可以容纳演化算子、轨迹集、带输入的解关系或轨迹概率律,具体选取依实际条件。时间、初值、域、唯一性和可拼接性各有内容。把这些内容写清,也使状态坐标变换、离散近似和开放边界能够在后来建立自己的保持关系。
概率律的权重,以及历史中的依赖
取 ,以概率 为一,。当 或 时,两种结果都有正概率,支撑同为 。若只观察“哪些结果可能出现”,便得到相同答案;若观察成功概率,二者分开。支撑保存可能性,概率律还保存各可能性的权重。
再取 次独立同分布结果。两个模型都允许全部二元序列,但全为一的事件分别有概率 和 ,概率之比为 。这项比例随 增长,绝对概率却都趋于零;不能由比例大就说事件在后一模型中越来越常见。语义中的权重和我们选择的比较量,一起决定这里究竟增长了什么。
保存每个时刻的边际律,仍可能遗失联合历史。构造两种二步过程。第一种先抽一次公平比特,两个时刻都输出它;第二种在每个时刻独立抽公平比特。每个时刻都各半地输出零和一。第一种的 概率为一半, 概率为零;第二种两项都为四分之一。单时刻观察相同,连续两次的答案不同。
这里发生了两层不同的遗失。律到支撑,删去权重;联合律到边际律,删去时刻之间的依赖。前篇的成对测量也利用了后一种关系。若用途只问当前成功比例,边际可能够用;若用途问连续失败、等待时间或状态更新,就需要联合结构或一个能够产生它的转移机制。概率模型的语义因此经常包含核、过程或历史律,不能只把某个预测概率数字作为全部内容。
对有限状态,转移核 在每个 上给出一个输出分布,满足非负和求和为一。在给定初始分布及马尔可夫条件时,初始权重与各步转移权重相乘,形成一条有限历史的概率。若状态没有保存预测所需的历史,马尔可夫条件就可能不成立;增加状态或改用历史条件核,是对对象的修订。前篇已经展示读数与信念的区别,这里从内部看见它怎样影响联合语义。
确定观察也有明确的概率接法。给定可测映射 和 上的概率律 ,观察律 满足
所问事件 的权重由其全部内部原像相加得到。若 把两个不同状态送到同一读数,它们的权重在观察中汇合,个别身份可能无法恢复。新观察保留了所见事件的概率,而非原来每个内部状态的概率。这项映射在第四篇的网络表征分布中会再次出现,取样对象届时须另外说明。
概率对象还须与经验频率区分。网络输出一项类别概率,是当前形式实例给出的数;它与实际正确率的联系要由总体、标签、校准和测试建立。内部语义使概率计算合法,前篇的经验关系使这些概率进入实际判断。我们可以分别查出一个概率向量是否归一化、一个风险计算是否按其律正确,以及这些数是否对目标总体有支持;三项检查不互相代替。
最优点相同,优化问题为何仍不同
优化问题至少要说明可行域和目标,或说明目标所产生的偏好排序。算法返回的一个最优点,是这套结构的一项结果。若比较的目的只问最优解位置,可以观察它;若要研究次优选择、约束变化或搜索过程,保存一个点便太少了。
在实数域取
两者在零处为零,非零处都有 ,所以唯一全局最优点都是零。现在比较 与 :对 ,前者的值为 ,小于后者的 ;对 ,前者为 ,大于后者的 ,因为 。同一个最优点没有保存这两个非最优方案的次序。
若新增约束只允许 ,两个问题的最优选择直接分开。这使遗失信息有了可见后果:旧无约束问题的最优点一样,面对新可行域不能据此预测同一答案。保存目标或排序,才能在约束改变时重新计算;只保存旧答案,通常不够重建问题。
对于固定可行域,将目标变为 ,其中 ,会保持全部方案排序和最优解。若所问是满足一个绝对成本预算,预算也需相应变换;若只变目标而保留原预算数值,又换了查询。广义地,严格递增变换保持目标排序,但未必保持差值、梯度或数值条件。比较优化模型时,说清要保留哪层内容,才能判断一种变换是等价、近似还是改题。
训练算法把这项区别推进到过程。即使 与 的排序相同,固定学习率的梯度步分别使用 与 ;要得到同样的欧氏更新,还需把学习率除以 。更一般的单调变换会让梯度随位置改变。例如 与 有相同排序,而梯度分别为 与 ,靠一个固定倍率不能在全部 上使更新一致。
可行域的几何也参加过程。投影梯度需要选择投影所用的距离,约束上的不同坐标或度量可能改变更新。一个目标值相同的点,可能具有不同的可行方向和边界关系;这些结构决定扰动后能怎样移动。优化语义可以根据任务保存数值目标、偏好、约束和相应几何,算法则有自己的状态与更新规则。把它们分开,才可以研究某个算法保持了哪些问题结构,又在哪些地方添加了选择。
一个优化器没有找到更好答案,也不自动表示目标所描述的对象不存在。局部停点、全局最优和算法可达各是不同关系;反过来,计算得到一个最优点,也不说明这个目标已经准确表达实际目的。前篇讨论误差怎样送到动作排序,第六篇将继续区分用途和操作判据。本篇先使内部的可行、偏好、结果和过程成为可分别比较的对象。
同一观察分布,为什么有不同干预答案
前篇的排水例已经说明,原输入下的观察可能只辨认参数组合。现在构造两个完整的因果模型,使它们的联合观察分布也相同,干预答案仍分开。这里采用结构因果模型中的替换操作:干预某个变量时,将决定它的结构方程替换为外部给定值,其余机制保持不变。Pearl 的综述在§3.2.1明确给出了这个操作及其干预后分布。1
第一模型取
第二模型取
此处正态分布记号的第二项表示方差;各模型使用自己的外生变量。第一模型先由 决定 ,再由 决定 ;第二模型先由 决定 ,再由 决定 。它们的生成方向不同,两个关系都在本例中明确指定。
计算第一模型可得 、、。第二模型中,,协方差为 , 的方差为二。两者的均值都为零,都是联合高斯,因而具有相同联合律,其协方差矩阵为
观察 ,即使这项分布知道得任意准确,也无法区分两个模型。所有由这份联合律计算的相关、条件分布和观察事件概率,都相同。这里使用了联合高斯由均值和协方差确定的性质;在一般分布中,仅有相同均值与协方差没有这个保证。条件决定了本构造何以证明完整观察一致。
现在实施形式干预 。对第一模型,把 换为 ,仍有 ,于是 的均值为 、方差为一。对第二模型,替换的是 ,而 保留,故 的均值为零、方差为二。取 ,均值就分开;甚至取零,两项方差仍然不同。
只看原观察时,第一模型中的 与第二模型的同一条件查询相同。干预改变决定 的机制,条件观察则在原机制已经生成的联合律中取条件,两项操作有不同地址。分布中看见 与 一起变化,并没有说明主动设置 后必须如何变化。生成结构使后一个问题可定义,选定这项结构又需要第二篇讨论的经验依据。
这个反例没有证明任何现实对象恰好属于某个方向。它已经证明一个内部的不可恢复关系:忘掉生成与干预结构,只保留观察分布,映射不是单射。若用途只问观察预测,二者可以相对于这项观察等价;若用途问干预,便应保留新的查询域。为了使两个模型重新“相同”而把干预删掉,改变的是比较本身,不能倒说旧干预判断已经通过。
状态型程序,为什么不能只有一次输入输出
程序也可以有不同语义。一个纯函数把输入送到输出;一个带状态服务在本次调用以后改变内部,后续输出依赖已有历史;一个有随机选择的程序还给历史赋予概率。选择哪种语义,应看我们要保留什么操作和后果,不能只由接口写着“输入、输出”便确定。
构造两个只有“读取”调用的服务,内部计数初始为零。服务甲返回当前计数,再将计数加一;服务乙总返回零,不改变计数。两者第一次都返回零,因而一条单次测试完全一致。第二次,甲返回一,乙返回零。它们的输入格式和第一响应相同,整个交互行为却不同。
对甲可以写状态转移 ,对乙写 。合法调用序列同输出序列合成历史,成为比较对象。若允许“重置”,还须写明它怎样改变状态,以及后续读取是否重新从零开始。状态更新和可用操作都是语义的一部分,测试时先重置再读取,与不重置连续读取,也已是两个不同查询。
有外部作用时,语义还要保留作用的地址。两个工具都返回“完成”,一个已写入文件,另一个尚未写入;若后续程序读取这个文件,区别就进入组合行为。只把返回字符串作为观察,确实看见相同字符串,却没有观察写入是否发生。我们可以把文件状态、作用事件或完整环境状态加入对象,也可以明确限定本次只比较响应文字。后续用途若依赖作用,须重开相应边界。
随机种子也要按语义解释。固定种子、实现和输入序列,某次运行可能可重复;这个制品或运行的身份不等于随机算法的概率律身份。若模型目标是抽样分布,改变种子通常选择另一条运行;若目标就是一项确定回放,种子则是其条件。固定种子是保存可复现信息的一种办法,并没有让单次样本证明分布正确。
时间可以使区别更明显。两个服务最后都返回同样结果,一个在截止时刻以前返回,另一个以后返回。无时间的输入输出观察把它们视作相同,有时间的历史却分开。若程序会取消、重试、读写共享对象,操作顺序也会参与结果。类型中的时间与协议,以及语义中的交互历史,需要一起说明,才有讨论替换的准确对象。
这节把“实现”与“模型”之间的一项关系打开了。程序可以作为某个理想模型的计算实现 ,也可以自己成为要研究的形式对象,并由执行规则获得语义。前一种问题检查实现对理想对象怎样近似或保持;后一种问题直接研究程序的状态、历史与作用。它们可以递归相接;后续行为依赖的执行结构,便在相应语义和观察中保留下来。
观察映射,以及相同所覆盖的查询
水箱、概率、优化、因果和程序中的压缩,如今可以放到共同组织中。观察规格 说明要提取的内容;两个语义对象即使来自不同空间,也可经各自观察映射进入共同观察域 。设它们为 、,则精确观察一致的条件是
共同域可能是水位轨迹空间、某个输入集上的函数、记录概率律、允许历史集合或查询答案族。映射在具体问题中定义,不能用同一个空泛“行为”把它们的类型抹平。水箱从体积回到水位的 与概率律的推前,都是观察,但它们所用的运算和保存内容不同。
若比较确定预测函数 ,固定输入域 后,观察一致可以写成 。在有限样本集上相同,只证明样本查询相同;在全部输入上相同,是更强的量词。用一组共同测试判断当前差异有实际作用,测试范围仍须留下来,才知道它支持哪一项身份。
若比较概率律 ,对全部可测观察事件给相同权重,才得到相应律相等;只比较均值是一种更小的查询域。在因果对象中,还可以把不同干预下的分布纳入查询族。两模型的均值、观察律或干预答案分别相同,强度并不相同。量词越明确,关系越容易检验,也越容易发现哪些信息没有保存。
可以把查询组成集合 ,令观察为 。若 ,大查询域上的一致推出小查询域上的一致;反向通常不成立。第一篇的末端乘积相同而前缀最大增益不同,便是一个构造。扩大查询域使之前看不见的差异出现,这是重新选择观察后的所得,原小查询域上的一致仍然成立。
输入限制也可产生同样方向。两个函数在 上相同,在区间外不同;扩大到全部实数就使一致失败。若当前用途确实只在原区间内,原观察判断有明确价值;如果系统可能因操作进入区间外,则要处理新的条件域。观察并非一个随意缩小就永远能宣布成功的窗口,它应保存当前问题实际需要的查询。
观察映射还有组合中的风险。分别遗忘中间状态,可能使局部允许片段产生原系统没有的拼接历史,第一篇的 伪轨迹已说明这点。把一次输出投影到边界以后,还需检查后续组合是否保持相应关系。内部观察等价让我们准确陈述“已经相同的是什么”;第五篇将继续问它在所有允许上下文中是否仍足以替换。
反过来,我们也能以观察组织新研究。若几个模型当前输出相同,却怀疑其机制不同,先选一项候选之间会分歧的查询;再看这项查询在形式上是否定义、在经验上能否取得。数学先揭示区分可能,试验和运行再建立相应联系。观察的选择与对象理解共同发展,既能缩小某次用途所需的信息,也能打开之前没有问过的问题。
身份标准之间,哪些推论成立
说“同一个模型”,可以指同一段文本,也可以指同一结构、同一观察或同一受管理的版本。前面的构造已使几项标准分别显现。现在沿它们能够推出什么来比较,比把各种“相同”排成一条由浅到深的阶梯更准确。不同问题可以正当地选择不同标准,标准之间的联系仍须证明。
文本或令牌身份最直接:在给定编码和分词规则下,呈现完全相同。相同文本若进入不同解释,语义可以不同;不同文本经代数改写,也可以得到同一语义。空格和排版是否进入身份,由这个文本层面的规则决定。若已经比较解析后的表达树,则原文件字节不再是同一个身份对象。这两种记录都可能有用,名称应跟着实际所比对象。
结构同构要求可逆对应保持指定结构。水位和体积的转换已经逐项证明这种对应。群中的同构要保持乘法,动力学的同构要保存相应演化,带概率结构的对应还须保留权重。只有底层集合之间的双射,不能自动得到这些同构。我们也不要求每个同构都保持一项未被纳入的观察;若观察某个命名单元,它可能在结构置换中改变。
精确语义相同则是在共同语义域内要求对象相等。两个实数方程定义同一解集,两个指定域上的函数相等,两个概率律相等,各有清楚判断。若坐标空间不同,通常先经结构对应进入共同域,再谈等号。把同构和字面相等分开,使我们既能保留结构身份,也能记录表示改变的事实。
固定共同观察后,观察等价可由相同观察值定义。在同一对象类上使用同一个 ,关系 当且仅当 。等号的自反、对称和传递给出这个关系的三项性质,因而可以按它取商。换一个 ,就可能得到另一份划分;没有固定观察的“等价”,无法说明我们将哪些差异归到同一类。
近似关系又不同。设观察域带距离 ,固定 ,要求 。在实数域,三个观察值 使相邻两对满足条件,首尾一对不满足。它自反、对称,却不传递。三角不等式只给首尾距离至多 ,没有保住原来的 。称作近似一致可以,直接当作等价类则会失去这项区别。
误差还能沿链积累。若第 次比较使用容限 ,在共同距离和对象可比的条件下,首尾界至多为各项之和。若中间改变了单位、观察或误差范数,就先建立转换关系;不能把不同类型的数直接相加。第四篇的变换与第六篇的证据链都会用到这个方向。固定容限是比较的一项条件,变换后保持多大界,是另一项推导。
行为精化通常带方向。在同一接口和历史域中,新允许行为集 若包含于旧集 ,新对象排除了部分原来允许的行为。旧集上每条行为都满足的性质,因包含关系在新集上继续成立。反向不成立;新集有某条好行为,也不说明旧集全部行为好。空集还会使“每条行为都好”形式上成立,故可实现性与非空不能在实际保证中略去。
概率语义又会检验这种包含是否足够。两个模型的失败和成功支撑相同,失败概率却可以从百分之一变为百分之九十九;支撑精化的空泛判断没有保存风险。若要保留风险保证,应选择包含权重的关系。若要保留时间、终止或外部作用,也要在对应行为中保存它们。精化不是一个只看集合方向便适用于全部语义的通用标签。
经验表征的共同用途不等于数学身份。同一个水箱可以由不同分辨率的形式对象服务于不同查询,也可以用两种不同机制候选回答同一个预测任务。 说明哪项经验关系已经有支持,不能据共同参照对象便把两个内部结构识别成同一对象。反过来,数学上同一函数移到新的装置与总体,也需要新的表征检验。形式身份与经验地址因此可以分别保存。
制品身份和管理谱系还有自己的作用。文件校验值相同,直接说明所核字节相同;两份程序若依赖不同外部数据或环境,完整运行对象仍可能不同。一个版本名称可以沿训练、修订和部署延续,期间参数与行为已经变化。谱系保存的是谁承接谁、哪些变更经过哪些程序,以及证据随哪个版本生效;它不是把变化消成数学等号。第六篇会据此追踪更新对证据的影响。
上下文替换则把量词放到组合之外:在所有允许上下文里,替换后仍良定并保持所需整体性质。当前篇的观察等价尚未建立这个判断,因为允许上下文和组合运算还没有全部指定。它已经准备了必要对象,第五篇将给这项更强关系以准确条件。身份比较到此形成一个可追踪的网络:每个箭头有保持关系,不能倒推的地方已有构造。
等价类能不能承接后续操作
观察等价给出一种分类,后续运算能否在这些类上进行,还需新的相容性。取实数观察 ,正负两个代表归入同一类。若想由实数加法在类上定义加法,代表元的选择必须不影响所得类。用 得到绝对值二,用同类代表 得到零;因此原加法没有这样下降到商上的单值运算。
乘法则可以:,任意改变代表的正负号,所得绝对值相同。绝对值类上的乘法有明确的代表无关性。我们当然也可以直接在非负实数上定义普通加法,但它不等于原实数加法的下降;那是新定义的操作,保持关系须按新构造说明。取商所删去的信息,是否仍被后续操作使用,在这个小例子中有清楚答案。
对于更新 ,要求也可直接写为: 应推出 。满足它,才可从当前观察类决定下一观察类。第一篇的状态闭合证明给出了这种条件的充要方向。这里只是把同一关系用于模型实例的更新;等价首先由观察定义,更新相容性没有随等价自动附送。
训练能给更细的构造。取双参数线性函数 ,以唯一训练样本 、目标值零及损失 建立普通欧氏梯度流。记样本预测系数 ,链式法则给出
参数 与 都给出全输入函数 ,当前 。第一对的 ,第二对为 。初始函数完全相同,下一刻的变化不同;这里没有使用坐标相关的学习率。函数观察遗忘的参数结构,仍通过 进入更新,因而函数值本身没有在这个家族中形成闭合训练状态。
缩放 保持函数,却通常不保持参数空间的欧氏度量。前面说明的梯度过程区别由此得到结构解释:函数不变的重参数化,未必是优化几何的对称。我们可以保留参数,或在函数演化中补入必要系数;也可以改变训练度量后重建相容性,每种办法都有自己的对象与条件。
下一节将给出另一类对称——正交的隐藏单元置换——以及它在相容损失和更新下的保持证明。失败构造和保持证明共同说明,不能只问函数是否相同,还须问采用的更新保留哪一种身份。第四篇将把这里的系数发展成网络中由参数导数形成的训练核。
神经网络的参数、函数与继续训练
用一个全连接隐藏层检验这些身份。令输入 ,隐藏层宽度为 ,输出在 。参数为 、、、,共同激活函数 逐坐标作用。网络表示
架构规定参数类型和计算接法, 选择一个参数实例。在理想实数计算下,实例给出输入输出函数;同一参数还可给每个输入一个隐藏表示 。函数与表示都由参数产生,彼此却不是同一个对象。
取 的置换矩阵 ,重排隐藏单元,同时变换相邻参数:
逐坐标的共同激活满足 ,代入可得
这是全输入上的精确函数相等,条件比有限测试一致更强。隐藏表示却变为 ,单个命名坐标一般改变;整个表示经可逆重排对应。参数数组也改变了。以欧氏距离衡量参数,距离可能非零,即使函数距离为零。这使参数空间到函数空间的映射明确不是单射。
所有这样的置换在复合下形成群,并作用于参数空间。按这些置换取商,可以把由重排相互转换的参数归为一类;这个商只消去已经证明的对称。它未必包含所有实现同一函数的参数,因为可能还有冗余单元和其他特殊关系。逐坐标激活支持置换,也没有由此支持任意旋转。若架构为单元指定不同激活或特殊连接,原置换的合法范围还要重新检查。
继续训练是否相同,需要把更新规则加进对象。设置换在全部参数上诱导线性映射 ,它是正交坐标重排。固定训练资料与只依赖网络输出的可微损失 ,有 。对任意方向 求导,得到 ,故
于是共同标量学习率 的欧氏梯度步满足 。从对应初值出发,每步仍对应,函数相同可以沿训练继续保持。可微条件若失败,所选次梯度或实现规则也须检查是否与置换相容。这项结论已经把损失、资料、坐标度量和更新条件全部接进了身份。
动量还带更新状态。例如 、。同时置换初始参数和初始动量,归纳即可使后续二者保持对应。只改参数而留下非对称动量不动,下一步就可能不同。检查点若要承接训练,保存的对象因此比函数或参数数组更大;训练状态有自己的类型和地址。
坐标相关的学习率可以给出一个明确失败。构造单输入、两个正激活隐藏单元,在 处隐藏值为 ,输出权重初始为 ,所以输出为三。只用样本 训练输出权重,目标为零,损失为输出平方的一半;梯度为 。固定第一个坐标学习率为 ,第二个为 ,更新后的输出为 。
现在重排隐藏值为 ,输出权重仍为 ,初始函数保持相同。梯度变为 ,若学习率仍绑定原两个坐标,不随置换移动,更新后的输出为 。一次更新便分开。换成共同学习率,或把学习率结构一起置换,才恢复前面所需的对应。初始函数相等没有独自决定训练过程相等。
这两个结果互相补足:对称条件下,继续训练的对应可以证明;结构未随之变换时,对应可以明确失败。要说两个训练对象相同,须选择参数、函数、表示、损失、优化器状态和更新中的哪些内容。不能把一种条件下的失败扩大为所有训练都不同,也不能把函数置换不变扩大为所有优化器自动相容。
第四篇会进一步研究参数变化怎样诱导样本预测、全输入函数和表示分布的变化。此处已经准备了准确空间与映射:参数距离、坐标表示和函数行为不是一把尺;训练时间也不等于层号或输入序列位置。先把这些对象分清,后面的核、几何与尺度才有可比较的内容。
由关系理解对象,需要什么完整条件
“看它同别的对象有什么关系,就能理解它”可以是有用直觉,也需要具体化。只问几个问题,可能遗失结构;保存一套相容的全部结构映射,则能有更强结论。先作一个群的构造:四元循环群 与 都有四个元素,底层集合存在双射;前者有阶为四的元素,后者每个非单位元的阶都为二,故群不同构。
群同构保持元素的阶,因为它保持单位元和乘法, 当且仅当像的 次幂为单位元。只保存集合基数,无法恢复这项群结构。这里“由关系理解”应问的是保持乘法的映射,而不是任意把四个点对齐。选择哪些关系,已经选择了我们看见的结构。
把对象与允许的结构映射组成一个小范畴 :每个对象有恒等映射,合法映射可以在端点相合时复合,复合满足结合律。小指这里的对象和映射组成集合,避免在本节引入额外的大小问题。对象可以是选定的一批群,映射是群同态;也可以是别的已明确结构。范畴并不自动知道模型的世界或用途,它依我们指定的对象和保持关系而成。
一个函子 给每个对象 一个集合 ,给每个映射 一个函数 ,并保持恒等和复合。它说明结构变换以后,所提取的信息怎样随之变化。固定对象 ,还有一个特殊函子 ,即从 到 的全部合法映射; 把 送到 。
若要把 中的关系相容地读成 中的信息,取每个 上的函数 ,并要求对每个 和 都有
这就是这里的自然性条件:先变换关系再提取,与先提取再变换所得信息相同。它量化全部合法映射;任意给每个对象贴一份对应表,还没有满足该条件。这样的相容函数族称为自然变换 。
Yoneda 引理的一项精确陈述是:这些自然变换与 的元素一一对应,对应将 送到 。2 可以直接推导这个双射。给定 ,定义 。对 ,函子保持复合给出 ,所以 满足自然性,确实是一项允许的变换。
再在恒等映射上求值,得到 。反过来,从任意自然变换 取 ,对映射 使用自然性,便有 。因此恢复出的 就是原变换,两个方向互为逆。这项证明把负载明确落在恒等、复合和全部映射的相容性上。
对应还随 相容变化。若 ,先把 后接 再在恒等处求值,结果为 ;先求值再用 ,结果相同。对象也能变化:对 ,从 到 的映射将 送为 。把它前接到 ,在 上求值,得到 。对象和所提取信息的变换,均沿同一相容关系组织。
现在把它用于结构身份。若 与 自然同构,取正向 和逆向 。前面的双射使 对应映射 ,各分量满足 ; 对应 ,满足 。两个复合自然变换为恒等,代入恒等映射可得 、,所以 同构。
这项结果的强度有准确条件:我们先选定一个范畴,保存到所有对象的全部态射及其自然相容,再由自然同构恢复对象同构。它给“通过关系辨认结构”一种完整的数学实现。面对有限测试、部分接口或经验关系,先要说明它们提供了哪些结构映射,再建立这些映射同所需全部关系的联系。当前有限观察能恢复什么,由这项联系决定。
这个视角因而帮助我们选观察,而不是替观察取得证据。只保留群的基数会遗失乘法;保留全部结构映射并满足自然性能有更强身份结论。当前用途到底需要哪一层信息,决定我们采用哪一种构造。第三篇在这里把内部比较从结果相同推进到结构保持,后两篇还须分别处理有限变换、实际接口与工程证据。
计算实现怎样接到已经选定的对象
有了语义与观察,计算的保持问题可以落到两个端点上。设理想语义实例为 ,实现 在给定条件下产生结果 。若理想观察是 ,实现结果就要经相应解码 进入同一个观察域,再比较 与 。数组长度、时间网格、单位和统计权重,都是这项接法的一部分;结果格式相同,没有独自建立保持关系。
例如,连续轨迹 属于函数空间,数值程序返回网格上的一列数。要比较连续区间误差,就要给出插值或其他重建;若只比较网格点,观察域则是一列数。两个比较可以各有误差界,不能只因网格点拟合很好就无条件宣称连续轨迹相同。第四篇会用离散近似继续研究它们的区别,本篇先把实现结果和理想对象的类型接准。
随机计算中,程序输出样本,理想语义可能是概率律。一个样本位于结果空间,一项律位于该空间上的概率对象域,二者没有直接相等的类型。样本均值或经验分布可以作为统计量,再按抽样条件与有限误差联系到理想观察。既要检查抽样算法实际给出什么律,也要检查有限样本的波动;打印出一个概率数字并没有自动完成这两项关系。
对于学习,优化目标、训练程序、参数检查点和最终函数也沿这样的关系相接。训练记录显示某个过程怎样生成参数,不会使函数语义与过程语义合为一项身份。改求解器、精度、初始化或训练状态,可能改变制品,也可能改变有效行为;哪些变化需要重开哪项比较,取决于对象和用途。把实现排除在所有语义之外,与把每个实现选择都当成经验模型变化,都过于粗糙。
有时算法本身就是当前模型定义。若研究的是一个离散迭代或状态型服务,执行步已经进入 的解释,改变步长或更新规则就改变所研究的语义实例。若研究的是连续动力学及其数值近似,步长则首先属于实现条件,须与连续对象建立误差关系。同一数字在两种任务中有不同角色,不能由名称“步长”预先决定它的地址。
经验表征随后接回实际对象。第二篇讨论测量、总体和干预如何支持 ,这里则说明它面对哪种形式语义和观察。内部证明可以告诉我们一项结构变换保持了理想预测;实际设备或浮点实现是否保持相关行为,还需其实现和测量关系。每项结论都有明确所得,也有明确的下一端点,三种视角因此能够互相接续。
打开内部以后,怎样继续研究
现在看见的内部,已经包含几种无法互相压平的对象。关系保存选择,动力学保存演化与历史,概率保存权重和依赖,优化保存可行与偏好,因果保存生成和干预,程序保存状态与作用。它们可以共同参与一项系统,也可以在同一问题中相互转换;转换所得、遗失与新增,需要沿所选结构说明。取一个共同集合或函数名称,尚不足以组织这些内容。
有类型的呈现与解释,使我们知道每个角色从哪里进入。 规定材料和合法接法, 写下关系, 与解释规则确定语义对象;家族和实例保存选择范围, 及 决定当前比较, 与 分别把计算和经验接回来。这个组织能用于一个很小的代数例子,也能打开学习系统的一层,并不要求每次都用完全部角色。
内部的精度首先改变提问。两个网络函数相同,可以继续问表示如何对应、训练状态是否随置换移动;两项概率支撑相同,可以问权重和联合历史;两个因果观察律相同,可以问指定干预;同一目标有同一个最优点,可以问新可行域和算法过程。每个追问都选定更丰富的对象或观察,旧判断则在原范围内保留。
这也使失败容易定位。若换元后初值未一起转换,应修正呈现的对应;若把有多解的方程误当作单值,应修订语义种类或补充选择机制;若有限测试被写成全部输入的一致,应收窄身份量词;若作用和时间被输出文字遮住,应重开观察边界。新的理解既可以增加结构,也可以让原来混在一起的结构分别取得位置。
完整的工程用途还会提出内部没有单独回答的问题。一个闭环要选择哪些端口、怎样接线、哪些历史相容,以及替换后整体是否保持性质;一个实际用途要检查数据、要求、实现、运行和证据是否仍对准当前对象。第五、六篇分别展开这些视角。它们可以把此处已经打开的语义实例作为部件,也可以反过来要求我们再次打开内部,查明某个保证究竟来自哪里。
下一篇先研究对象怎样改变。网络参数诱导函数和表征,尺度选择影响训练机制,离散、取商、提升和极限各有不同保持关系。第三篇已经把待比较的空间、解释与身份准备出来;变换接下来必须在这些对象之间真正工作。说清保存了什么,才可能沿它继续推理;算出哪些关系改变了,也才可能决定应修订什么问题。
「模型与工程」六篇: 数学怎样形成问题 · 模型怎样指向世界 · 模型内部是什么 · 模型怎样改变 · 模型怎样进入整体 · 从模型到工程判断。
Footnotes
-
Judea Pearl,Causal inference in statistics: An overview,Statistics Surveys 3,2009,96—146,§3.2.1,印刷107—108页,式(6)—(7):替换受干预变量的结构方程,保持其他机制,定义干预后分布。本文的两组线性高斯模型与协方差、干预计算为另行构造。 ↩
-
Emily Riehl,Category Theory in Context,2016,作者公开稿,§2.2,印刷61—63页/PDF81—83,Theorem2.2.4与式(2.2.5)—(2.2.6)。本文用小范畴版本逐步给出对应与身份推论;这里只采用该模块,不涉及高阶范畴或以有限测试恢复一般对象的结论。 ↩
评论
登录 GitHub 即可参与讨论。 在 GitHub 查看