周志华听到这里,原本靠在椅背上的身体一下子坐直了。
江临手中的笔在白板上飞速游走,开始用严谨的数学语言来描述这个残酷的现实。
【设φ(x)为降维压缩映射】
【对于样本x?和x?,存在φ(x?)=φ(x?)】
【A*(x)为任务允许的安全动作集合,L?(x,u)为执行动作u的任务损失】
【若压缩后模型只能给出同一动作u,且L?(x?,u)>e或L?(x?,u)>e】
“这里的φ代表压缩网络,A*代表当前状态允许采取的安全动作集合。”江临说,“现实任务往往不只有唯一正确动作。机器人面对障碍物,可以停机、后退或者请求人工接管,只要都在安全边界内,就不应该被强行判成不同。”
他用笔尖点了点最后一行。
“真正的问题是,两个输入被压成同一个内部表示以后,模型只能作出同一个选择,而这个选择必然让其中至少一个状态的任务损失超过安全阈值。”
“也就是说,不是动作字面上不相同,就算任务坍缩。”周志华站起身,走到白板旁边,“而是两个状态的安全动作集合已经不再兼容。”
“对。”
“这能处理同标签、异代价,也能处理一个状态允许多种安全动作的情况。”
周志华拿起另一支马克笔,在公式旁边补上一行。
【d?(A*(x?),A*(x?))>e】
“这个任务距离不能只比较动作数值。”他说,“它要衡量两个安全动作集合之间,是否存在足以改变现实后果的分离。方向盘差零点一度和差一百八十度,不能都按同一种错误计算。”
江临点头。
“离散分类可以使用零一代价。机械控制可以使用碰撞动量、停机损失或安全裕度。医学诊断则可以使用错误治疗带来的风险变化。”
“形式核验里,就是接受错误命题与拒绝错误命题之间的代价。”
两支笔在白板上交替移动。
原本那个无从下手的问题——【哪些信息不能丢】——很快被划掉。
新的问题出现在白板中央。
【一次模型压缩,究竟制造了多少现实任务不可接受的错误等价?】
周志华退后两步,看了一会儿。
“这一步成立。”他说,“可以把它定义成任务区分损失。”
江临写下:
【task distinction Loss】
【任务区分损失】
它不只是统计发生了多少次合并。
每一次坍缩都要按照样本出现概率和任务代价加权。一次不会改变安全结果的轻微偏差,不能与一次会导致设备报废或人员伤亡的错误同权。
传统准确率可能只看到模型少答错了几道题。
任务区分损失关注的是,压缩是否把必须采取不同安全策略的状态折叠到了一起。
周志华深吸了一口气,将马克笔的笔帽咔嗒一声扣在笔尾,说:“理论定义有了,而且非常漂亮。但接下来的问题是,工程上该怎么去测量它?”
“通过在数据集中寻找发生任务坍缩的样本对。”江临不假思索地回答道。
“可一个真实世界任务的输入特征空间有多大?”
“考虑到各种环境噪声,可能是无限大。”
“如果输入是连续的物理量呢?”
“积分会变得更加麻烦,近乎无解。”
“那你总不能指望工程师在测试模型的时候,把无限空间里的样本两两配对,挨个丢进去比较吧?计算机算到宇宙热寂也算不完。”
“那种穷举法确实不可能。”
“那也就是说,你发明的这个堪称完美的任务区分损失这个量,在工程上,目前还只是个画在纸上的大饼,根本算不出来。”
讨论的主导权刚刚在白板前转移到江临手里,转眼间,又被经验老到的周志华用一个现实的工程阻碍,一把拽了回来。
但这在学术讨论中绝对不是坏事。
一个全新的概念从白板的墨迹中站起来以后,它要面临的第一件事,就是被最严苛的同行按在地上,看看它究竟能不能在现实的泥泞里自己走路。
如果走不了路,那这种概念只配继续待在白板上,供人观赏,永远进不了代码库。
周志华重新拔下笔帽,在【任务区分损失】的下方,写下了一个机器学习理论中的经典概念。
【假设空间h】
“任何一个被部署到实际场景中的压缩模型,都不可能面对所有可能存在的任务,它只要能表达当前有限的假设空间h的那些特定任务就足够了。”
周志华用笔重重地点着白板。
江临凝视着那行字,眼神渐渐亮了起来。
周志华趁热打铁,继续往下写。
【disagreent Region】
【分歧区域】
“对于同一个物理输入,只有在当前那些被我们认为是可接受的假设模型内部,它们会给出截然不同判断结论的那个区域,才是当前这个压缩模型真正拿不准、最容易犯错的不确定边界。”
“所以,你想要计算的那个任务坍缩,根本就不需要去奢求覆盖整个无限大的输入空间。”
“你只需要把所有的算力,集中火力,覆盖住这个极其狭窄的分歧区域就足够了。”
大脑在瞬间完成逻辑拼接的江临,立刻接过了话头。
“但即便如此,对于高维数据来说,这个分歧区域的体积可能仍然大得无法计算。”
“那该怎么办?”周志华反问。
“用魔法打败魔法。”江临的语速变快,“既然嫌它大,那我们就针对这个分歧区域,再做一次信息压缩,”
周志华听完,在白板下方快速地画出了几个形状不规则,且互相交叠的几何区域,代表那些棘手的分歧边界。
“我们不需要遍历区域里的每一个点。”周志华指着那些区域的交界处,“只需要利用贪心算法或者其他采样技术,去寻找一组数量极少,但位置关键的最小样本集。只要这组样本,能够像坐标轴一样,精准地撑起并覆盖住当前假设空间里,所有可能导致任务动作发生改变的那些致命分歧点。”
“见证基。”江临答说。
“对。”
周志华在那些不规则区域的旁边,郑重地写下一组英文。
【counterexale witness basis】
【反例见证基】
“这组样本不负责代表平均分布。”他说,“它们只负责代表不同决策边界。”
“每一个见证都必须包含一对物理状态相近、任务后果却不同的样本。”江临说。
“还要绑定各自允许的安全动作集合,以及它覆盖的假设分歧区域。”
周志华补充道。
江临看着白板,忽然停下了笔。
“仅有样本点还不够。”
“哪里不够?”
“两个见证点没有发生坍缩,不代表它们附近的区域也安全。压缩映射完全可能在见证点上区分正确,却在距离它们很近的地方发生折叠。”
周志华立即明白了他的意思。
“每个见证都必须带一份局部覆盖证书。”
两人在原有结构后面继续增加字段。
【原始物理状态A】
【原始物理状态b】
【安全动作集合A*(xA)】
【安全动作集合A*(xb)】
【任务诱导距离下的覆盖半径】
【覆盖单元内的局部任务损失上界】
【压缩映射在该单元内的稳定性证书】
【审查结果:通过/拒绝】
见证基不再是几个孤零零的样本点,而是一组带有可验证覆盖区域的证据单元。
当压缩模型接受审查时,系统不仅要检查样本对是否仍然可区分,还要检查每个覆盖单元内的局部稳定性证书是否仍然成立。
一旦某个高风险见证单元发生任务坍缩,或者局部稳定性证书失效,审查器就拒绝模型上线。
如果所有高风险见证单元都保持区分,系统也只能保证已被这些证据单元覆盖的任务边界仍然成立。
它不能把未发现反例,写成绝对安全。
周志华负责把无穷输入空间压缩成有限的分歧覆盖。
江临负责把每一个覆盖单元变成能够独立核验的证据结构。
两条原本来自不同领域的路径,在白板上接到了一起。
下午三点零八分。
会议室的门被轻轻敲响。
李原推着小车进来,给几人换了热水。
江临仍然站在白板前。
“周老师,这套框架里还缺一个问题。”
“什么?”
“反例见证基只对当前假设空间和参考分布有效。外界数据分布漂移,模型结构或者任务定义改变,原来的覆盖证书都可能失效。”
“所以它不能一次生成,永久使用。”
“需要更新触发条件。”
周志华端起水杯。
“审查器怎么判断什么时候更新?”
“它不需要理解外部世界,只需要监控输入统计偏离、模型版本哈希和任务定义文件。任何一项越过边界,旧见证基进入待复核状态。”
“只能做触发,还不能量化剩余风险。”
江临转身,在白板右侧写下:
江临手中的笔在白板上飞速游走,开始用严谨的数学语言来描述这个残酷的现实。
【设φ(x)为降维压缩映射】
【对于样本x?和x?,存在φ(x?)=φ(x?)】
【A*(x)为任务允许的安全动作集合,L?(x,u)为执行动作u的任务损失】
【若压缩后模型只能给出同一动作u,且L?(x?,u)>e或L?(x?,u)>e】
“这里的φ代表压缩网络,A*代表当前状态允许采取的安全动作集合。”江临说,“现实任务往往不只有唯一正确动作。机器人面对障碍物,可以停机、后退或者请求人工接管,只要都在安全边界内,就不应该被强行判成不同。”
他用笔尖点了点最后一行。
“真正的问题是,两个输入被压成同一个内部表示以后,模型只能作出同一个选择,而这个选择必然让其中至少一个状态的任务损失超过安全阈值。”
“也就是说,不是动作字面上不相同,就算任务坍缩。”周志华站起身,走到白板旁边,“而是两个状态的安全动作集合已经不再兼容。”
“对。”
“这能处理同标签、异代价,也能处理一个状态允许多种安全动作的情况。”
周志华拿起另一支马克笔,在公式旁边补上一行。
【d?(A*(x?),A*(x?))>e】
“这个任务距离不能只比较动作数值。”他说,“它要衡量两个安全动作集合之间,是否存在足以改变现实后果的分离。方向盘差零点一度和差一百八十度,不能都按同一种错误计算。”
江临点头。
“离散分类可以使用零一代价。机械控制可以使用碰撞动量、停机损失或安全裕度。医学诊断则可以使用错误治疗带来的风险变化。”
“形式核验里,就是接受错误命题与拒绝错误命题之间的代价。”
两支笔在白板上交替移动。
原本那个无从下手的问题——【哪些信息不能丢】——很快被划掉。
新的问题出现在白板中央。
【一次模型压缩,究竟制造了多少现实任务不可接受的错误等价?】
周志华退后两步,看了一会儿。
“这一步成立。”他说,“可以把它定义成任务区分损失。”
江临写下:
【task distinction Loss】
【任务区分损失】
它不只是统计发生了多少次合并。
每一次坍缩都要按照样本出现概率和任务代价加权。一次不会改变安全结果的轻微偏差,不能与一次会导致设备报废或人员伤亡的错误同权。
传统准确率可能只看到模型少答错了几道题。
任务区分损失关注的是,压缩是否把必须采取不同安全策略的状态折叠到了一起。
周志华深吸了一口气,将马克笔的笔帽咔嗒一声扣在笔尾,说:“理论定义有了,而且非常漂亮。但接下来的问题是,工程上该怎么去测量它?”
“通过在数据集中寻找发生任务坍缩的样本对。”江临不假思索地回答道。
“可一个真实世界任务的输入特征空间有多大?”
“考虑到各种环境噪声,可能是无限大。”
“如果输入是连续的物理量呢?”
“积分会变得更加麻烦,近乎无解。”
“那你总不能指望工程师在测试模型的时候,把无限空间里的样本两两配对,挨个丢进去比较吧?计算机算到宇宙热寂也算不完。”
“那种穷举法确实不可能。”
“那也就是说,你发明的这个堪称完美的任务区分损失这个量,在工程上,目前还只是个画在纸上的大饼,根本算不出来。”
讨论的主导权刚刚在白板前转移到江临手里,转眼间,又被经验老到的周志华用一个现实的工程阻碍,一把拽了回来。
但这在学术讨论中绝对不是坏事。
一个全新的概念从白板的墨迹中站起来以后,它要面临的第一件事,就是被最严苛的同行按在地上,看看它究竟能不能在现实的泥泞里自己走路。
如果走不了路,那这种概念只配继续待在白板上,供人观赏,永远进不了代码库。
周志华重新拔下笔帽,在【任务区分损失】的下方,写下了一个机器学习理论中的经典概念。
【假设空间h】
“任何一个被部署到实际场景中的压缩模型,都不可能面对所有可能存在的任务,它只要能表达当前有限的假设空间h的那些特定任务就足够了。”
周志华用笔重重地点着白板。
江临凝视着那行字,眼神渐渐亮了起来。
周志华趁热打铁,继续往下写。
【disagreent Region】
【分歧区域】
“对于同一个物理输入,只有在当前那些被我们认为是可接受的假设模型内部,它们会给出截然不同判断结论的那个区域,才是当前这个压缩模型真正拿不准、最容易犯错的不确定边界。”
“所以,你想要计算的那个任务坍缩,根本就不需要去奢求覆盖整个无限大的输入空间。”
“你只需要把所有的算力,集中火力,覆盖住这个极其狭窄的分歧区域就足够了。”
大脑在瞬间完成逻辑拼接的江临,立刻接过了话头。
“但即便如此,对于高维数据来说,这个分歧区域的体积可能仍然大得无法计算。”
“那该怎么办?”周志华反问。
“用魔法打败魔法。”江临的语速变快,“既然嫌它大,那我们就针对这个分歧区域,再做一次信息压缩,”
周志华听完,在白板下方快速地画出了几个形状不规则,且互相交叠的几何区域,代表那些棘手的分歧边界。
“我们不需要遍历区域里的每一个点。”周志华指着那些区域的交界处,“只需要利用贪心算法或者其他采样技术,去寻找一组数量极少,但位置关键的最小样本集。只要这组样本,能够像坐标轴一样,精准地撑起并覆盖住当前假设空间里,所有可能导致任务动作发生改变的那些致命分歧点。”
“见证基。”江临答说。
“对。”
周志华在那些不规则区域的旁边,郑重地写下一组英文。
【counterexale witness basis】
【反例见证基】
“这组样本不负责代表平均分布。”他说,“它们只负责代表不同决策边界。”
“每一个见证都必须包含一对物理状态相近、任务后果却不同的样本。”江临说。
“还要绑定各自允许的安全动作集合,以及它覆盖的假设分歧区域。”
周志华补充道。
江临看着白板,忽然停下了笔。
“仅有样本点还不够。”
“哪里不够?”
“两个见证点没有发生坍缩,不代表它们附近的区域也安全。压缩映射完全可能在见证点上区分正确,却在距离它们很近的地方发生折叠。”
周志华立即明白了他的意思。
“每个见证都必须带一份局部覆盖证书。”
两人在原有结构后面继续增加字段。
【原始物理状态A】
【原始物理状态b】
【安全动作集合A*(xA)】
【安全动作集合A*(xb)】
【任务诱导距离下的覆盖半径】
【覆盖单元内的局部任务损失上界】
【压缩映射在该单元内的稳定性证书】
【审查结果:通过/拒绝】
见证基不再是几个孤零零的样本点,而是一组带有可验证覆盖区域的证据单元。
当压缩模型接受审查时,系统不仅要检查样本对是否仍然可区分,还要检查每个覆盖单元内的局部稳定性证书是否仍然成立。
一旦某个高风险见证单元发生任务坍缩,或者局部稳定性证书失效,审查器就拒绝模型上线。
如果所有高风险见证单元都保持区分,系统也只能保证已被这些证据单元覆盖的任务边界仍然成立。
它不能把未发现反例,写成绝对安全。
周志华负责把无穷输入空间压缩成有限的分歧覆盖。
江临负责把每一个覆盖单元变成能够独立核验的证据结构。
两条原本来自不同领域的路径,在白板上接到了一起。
下午三点零八分。
会议室的门被轻轻敲响。
李原推着小车进来,给几人换了热水。
江临仍然站在白板前。
“周老师,这套框架里还缺一个问题。”
“什么?”
“反例见证基只对当前假设空间和参考分布有效。外界数据分布漂移,模型结构或者任务定义改变,原来的覆盖证书都可能失效。”
“所以它不能一次生成,永久使用。”
“需要更新触发条件。”
周志华端起水杯。
“审查器怎么判断什么时候更新?”
“它不需要理解外部世界,只需要监控输入统计偏离、模型版本哈希和任务定义文件。任何一项越过边界,旧见证基进入待复核状态。”
“只能做触发,还不能量化剩余风险。”
江临转身,在白板右侧写下: