用极度抽象构建大一统:“几何深度学习”是神经网络的终局吗?#ICLR 2021 Geometric Deep Learning

The knowledge of certain principles easily compensates the lack of knowledge of certain facts.  —— Claude Adrien Helvétius 

人类的快速脑补能力有时也是缺陷,就像哲学家爱尔维修(Helvétius)说的,人们手里一旦有了“锤子”,眼中一切都会变成“钉子”,如果没办法看做“钉子”,首先会想到的,也是做个更好的锤子作为补偿。

现在,CNN或神经网络就是那个“锤子”,各种数据处理(增强)方法就是那个“钉子”。99%的工作都围绕着如何让一对“锤子““钉子”更好地配合。

而我们今天聚焦的就是一个更好的“大锤子” —— Geometric Deep Learning

ICLR2021几何深度学习(Geometric Deep Learning)博得了很多眼球,究其根源,其实它是图深度学习(graph deep learning)的延伸甚至等价,而与深度学习的关系并不密切(主讲人Michael Bronstein之前也是专注graph representation的)。

因为其强大的抽象能力,“几何”二字让深度学习这把“锤子”更大了。

首先,这里的几何主要指的是非欧几何(拓扑学流形学)的领域。研究的是极度抽象的概念如:群论中的对称群不变群等变换:

来自:https://arxiv.org/pdf/2104.13478.pdf

这些对万物实体的极度抽象,帮助我们解决的不仅仅是图像问题,与图论有关的群组问题、化学分子分析,3D测绘等等问题,都可以得到匹配的应用:

几何深度学习天然自带一些很好的性质(这些性质其实卷积网络中已经经常用到),比如对称的稳定性,视觉上,许多物体其实是同一个物体,只要考虑对称性一切都可以迎刃而解,而传统卷积网络更多地使用数据增强(旋转,平移,翻转)来补偿这一目的,这个我们在胶囊网络中讨论过

甚至,我们在几何深度学习中,对不变群的范围要放的更宽泛,如在一段视频中,有两辆小车相向而行,无论速度如何,或者有遮挡,视频的语义还是两辆小车相向行驶:

来自:https://arxiv.org/pdf/2104.13478.pdf

因此我们的网络应该要构建一个这样的不变群能够囊括这种不变转换,即有别于旋转平移对称的常规操作,另外,对于不变群的边界也应该有延伸和评估: 继续阅读用极度抽象构建大一统:“几何深度学习”是神经网络的终局吗?#ICLR 2021 Geometric Deep Learning

概率式编程语言(probabilistic programming languages(PPLs))的未来探讨

如果计算机(或编程语言)是我们理解这个世界的“望远镜”,无论这个“望远镜”如何精巧,它还是要人去操纵,并且,会被一部分人嫌弃,继而造出新的“望远镜” —— David 9

David一直相信,真正有用的工具,无论如何复杂,终究会用简单高效的形式提供给大众。虽然,目前python或R进行大数据或AI研究的门栏已经很低,但很可能还不够低,

来自:https://pediatricspeech.net/post/helping-your-child-become-an-independent-thinker-by-using-declarative-language/

要寻找这样一种“完美”的编程语言,首先我们须认清编程的目的是:“人类对机器提要求,机器完成要求”。但事实上,人类这种复杂的动物是不可能“完美地满足”的。目前任何一门编程语言以及未来语言都会面临“声明式编程”还是“命令式编程”的窘境:

如果你发号施令(对最忠诚的仆人),一开始,你可能给一条简单笼统的指令(声明式编程),希望你的仆人心领神会、想方设法把该办的事都搞定,呈现给你完美的结果,但是,后来你发现情况并不都和你预料的符合,于是你把需要改进的地方逐条告诉了仆人(各个要点和关键次序),这时你更像是亲力亲为(命令式编程)。之后你又厌倦了手把手指导,又开始了笼统的指令。。。这样循环往复,看似矛盾的两个过程,也一直交错出现在现代代码中:参考https://reedbarger.com/what-is-the-difference-between-imperative-and-declarative-code/

我们不能指望计算机帮我们搞定一切,但我们总想让它帮我们搞定更多。

上一代编程,是无场景无数据“喂养”的确定性编程时代,下一代编程,可能是灵活关注场景,持续数据“喂养”(David认为“持续”很重要),且具有丰富不确定性的编程时代。

对于下一代编程方法,一个可能憧憬就是概率式编程语言(probabilistic programming languages(PPLs))。通过这种语言, 继续阅读概率式编程语言(probabilistic programming languages(PPLs))的未来探讨

“预训练”VS“自监督”,究竟哪个更“有脑”更高效?探究自监督最有效实践和方案,深入了解自监督学习David 9的番外篇#2

学习的第一要素从来都不是“模仿”或“收获知识”,学习要有“控制感” !—  David 9

近来,研究人员似乎更加执着地认为,类似BERT, GPT等大型语言模型的训练方式也可以在视觉图像领域一展拳脚(pretrain+finetune)。

pretrain + task specific finetuning 方式
pretrain + task specific finetuning 方式

其中包括Image GPT 和 SimCLRv2 。当然照搬BERT,GPT到图像域是不可能的。这两个框架都采用各自独特的方法做(pretrain+finetune)稍后David将详细讲述两者区别。

David首先要强调的是,所有目前看来“先进的”算法(“预训练”,“自监督”甚至像GPT这样的大模型)都只是人们最大限度把自己的先验传导到模型,把最大自由度留给算力的过程。所以请允许我提一点猜想:

先验流(阻力)假设:人的先验传导到机器域是有阻力的。当模型能更高效率地传导人的先验,那么模型的学习效果就更好。— David 9

以这个假设,即使人类现在的模型架构原地踏步,只要人类的硬件和计算力在不断增强,训练数据不断增加,模型总能更高效地“吸收”人的先验。

扯远了,要真正提高“先验传导”,还是要从模型下手。

Google前不久的文章(Rethinking Pre-training and Self-training)就比较了“预训练”和“自监督”的优劣,直接说PK结果: 继续阅读“预训练”VS“自监督”,究竟哪个更“有脑”更高效?探究自监督最有效实践和方案,深入了解自监督学习David 9的番外篇#2