¼Œ这些方向会不会就是模型自己的“敏感坐标”。
然后他换了模型。
同一批数据,同样的任务,只把网络结构和训练初始化改掉,那几个原本非常稳定的方向便开始旋转、分裂,有的甚至消失。两个模型都能达到差不多的识别准确率,却像用完全不同的内部语言做同一件事。
原既白第一次看到结果时以为代码错了,重跑了三遍。
没有错。
他坐在电脑前很久,才明白自己刚才犯了一个很符合自己的错误:因为在一个模型里看见了高层结构,便下意识希望它比实际更加普遍。他太喜欢“统一”这件事,以至于统一一旦出现,第一反应不是问它依赖什么,而是继续往上搭。
宋弈在旁边看他把图删掉,问:“不是昨天还挺漂亮?”
“太漂亮了。”
“漂亮也有错?”
“有时候就是因为漂亮,所以应该先怀疑。”
宋弈看了他一眼:“你最近跟江遥聊天是不是被传染了?”
原既白没有理他。
他重新把两个模型的响应放在一起比较,没有再问“哪个方向是模型真正使用的”,而是改成另一个问题:如果内部坐标不同,那么有没有什么关系是换了模型以后仍然存在的?例如某几类扰动虽然在不同模型里落到不同方向,但它们彼此之间的远近关系是否保持?又或者,在最终决策附近,哪些变化最容易让两个模型同时犯错?
问题一改,原来那几张漂亮图立刻不够用了。
他却松了一点。
过去他遇到这种情况,会觉得框架被破坏,现在开始慢慢接受一种不那么舒服的可能:也许高层结构不是先在那里等着他发现,而是必须一层一层验证,甚至不同层次需要不同结构。所谓统一,不一定是用一个公式把所有差异抹掉,也可能只是知道哪些差异在什么时候可以忽略。
手机又震了一下。
江遥把下午失败的事情简单说了一遍:“我把系统压成只看边界,上午很好用,下午发现同样的边界如果历史不一样,后面会走不一样。等于我把过去删掉了。”
原既白看完以后,没有马上回。
他在自己屏幕上正好看见两个准确率几乎相同的模型,因为训练路径不同,内部形成了完全不一样的表示。两个问题当然不是一回事,一个是小小的规则系统,一个是机器学习模型,不能为了好看硬说它们相同,但那种“现在的结果无法完全告诉你它怎么来
本章未完,请点击下一页继续阅读!