当前位置: 华文问答 > 数码

如果百年后深度学习最终有了公认的数学理论作为基础,能解释实验中的各类玄学,那这个理论会长什么样子?

2021-12-29数码

我斗胆想说一句,我个人认为田老师的提问里有一个误区。

首先声明,我非常尊敬田老师,而且估计田老师这个提问也没有太细想,所以我并没有任何想要冒犯的意思。万望田老师对我这个小辈多多包涵。

但是我觉得这个误区在目前的ml群体里普遍存在。尤其是可以从ml顶会里面甭管什么paper都得扯上点理论这一现象中就可以看的出来。

所以,我认为有必要将其指出来。

大家都说,理论不能解释所有问题。这个当然没错,但是大家有没有想过:

其实理论本来就不应该试图解释所有问题。

若干年前,我听一门地理课。

第一节课,老师希望大家对地图有个新的认识。

为此,他提出了一个哲学性很强的问题: 模型(model)是什么?

他说,模型是对于现实的适当抽象、简化。某种程度上,模型注定是片面的。

比如说吧,你可以在有的地图里读出人口的迁徙,在有的地图里读出收入的差异,在有的地图里读出山川水文的变化,或者在有的地图里读出某种资源的分布。

但是每一个地图都不可能包含所有的东西。

那这种不全面是一种缺憾吗? 他问。

不是的,他自己回答了这个问题。

就是因为这个模型只包含了一部分的东西,你才能清楚地从中看出一定的趋势,得出一个big picture。

而当你试图往模型里面塞进太多东西,甚至妄想一比一复刻的时候,模型就失去了意义。

试想,如果说你面前的地图里面每个国家的所有信息都包括了:收入,人口,山川,矿产分布,是否加入北约,是否曾经是前社会主义国家,,是否曾经发生过战争,等等等等。

那你还能看出来什么趋势么?

来一句有些神叨的话吧,当你的眼前有太多东西的时候,你反而什么都看不到。

所以,就像老师说的,模型的意义就在于他是一种合理的抽象和简化。

而往模型里塞进过多的东西的行为,很多时候并不是在改善这个model,

you are simply overwhelming the model。 (也就是给模型过度负荷,但我觉得这里用英文表达最贴切。)

在我眼中,理论和地图一样,也是一种模型。(这里我觉得不要理解得太狭义)

如果说往地图里塞入太多信息算是在overwhelm map的话,现在顶会上试图什么东西都搞点理论做法的行为就是在overwhelm theory。

我不觉得理论对应用一点用都没有。

相反,我认为好的理论不仅仅是for its own sake,也可以对应用起到指导作用。

在很多学科确实是这样的,我觉得cs这边以此为目标也是好事。

但是,请注意,理论起到的是指导作用,并不是像菜谱一样把每一步都告诉你。

我觉得理想情况是这样的。当你在解决一个问题时候,理论能给你一个方向,告诉你这个方向可以试一试,为什么,那个方向可能比较难,为什么。

当你确定了一个方向的时候,剩下的很大程度上是和手头问题相关的engineering的工作。

在我看来,这些engineering的东西压根不需要,也不应该和理论搅到一起。

因为既然是起到了指明方向的作用,那就必须尽可能地清楚。

打个比方吧。你去参考一下两种指路方式。

A:你尽量往左边走,那里会比较平坦,而且还有补给站。你要避开右边,那里有一片荆棘。

B: 你先来一个三百六十度的托马斯全旋,在全旋到一百五十度的时候你能看到那边有一个房子,然后你记录下那个房子的方位,朝着那个房子走,然后中间你要像马里奥一样蹦跳一百下(此处省略一千字) 为什么呢,因为有一个古老的传说,当你托马斯全旋的时神就会帮助你(此处再省略一千字)。

反正我是觉得更清楚的A 比较有用。

希望大家能够get到我可能比较冷的幽默感。 如果说不能,我就给这段删掉吧,哎。

我就是想要阐述清楚这一性质的重要性。

当你试图每一个工程方法、玄学技巧都去解释的时候,那这个理论必然不清楚,也因而使得理论失去了对应用的指导意义。

当然,我也不是说要为了清楚不择手段,只看toy case,一点实用性和generality都不管。

我想说的是,做理论应该要尽量达到清楚、对现实有意义、和generality的一个均衡。即使达不到,这也应该是一个目标。

在我看来,这是理论工作的难点,但也是有魅力的地方。

我上面的这一段话肯定是没法帮大家发paper的,所以呢要是有同学觉得是没用的废话,那我也认没有意见。

而且我人微言轻,说什么也起不了什么波澜。

但是,如果真的要我许个愿的话,我着实希望:

顶会上那种什么都扯个理论的风潮我真心能够尽早停止。

因为在我看来,这不光对专门搞应用的同学不是很友好,而且

it is simply overwhelming theory。

最后,还是想表达一下对田老师的尊敬,以及希望大家工作学业顺利。