用极度抽象构建大一统:“几何深度学习”是神经网络的终局吗?#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

CL“信心学习”第2弹: cleanlab实操,如何把任意模型扩展为信心学习模型,#Confident learning

在上一弹我们讲过,如何用同质模型,科学地运用“交叉验证”清洗噪音数据,是CL信心学习的主题。与其他清洗方法相比,CL背后有理论支持,对不平衡的多类问题也可以清洗数据,不需要修改你的原有模型,只要模型对每个样本有概率输出(softmax, 贝叶斯,逻辑回归等。。) 

CL背后的原理很朴素,它假设每个样本的标签y~不一定是真的标签,并假设有一个真正的隐含标签y*才是真正的标签。值得强调的是,它的标签“信心”通过高于某个类内概率的平均水平,就认为是较为可信的,即一种per-class的类内信心

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

MIT和google也开源了cleanlab库可以实操你的模型支持信心学习。其中接口estimate_confident_joint就是计算了y~和y*的联合概率,即结合类内的信心:

confident_joint, psx = estimate_confident_joint_and_cv_pred_proba(
    X=X_train,
    s=train_labels_with_errors,
    clf=logreg(), # default, you can use any classifier
)

estimate_latent函数就是对y*的估计了,其总共返回了三个估计,其中p(y)即y*的概率估计:

p(y) as est_py, P(s|y) as est_nm, and P(y|s) as est_inv
est_py, est_nm, est_inv = estimate_latent(confident_joint, s=train_labels_with_errors)

其中s是某个样本。

那么问题来了,你如果已经有了自己的一个模型(PyTorch, Tensorflow, MxNet等),怎么快速扩展成可以支持CL信心学习呢?

cleanlab文档中说只要一行就能找出你训练集中的噪音: 

from cleanlab.pruning import get_noise_indices

ordered_label_errors = get_noise_indices(
    s=numpy_array_of_noisy_labels,
    psx=numpy_array_of_predicted_probabilities,
    sorted_index_method='normalized_margin', # Orders label errors
 )

这并不准确,第一,这只在你的模型相当简单的情况下才可以,第二,这里的psx对象如何计算它还没有清晰给出。 继续阅读CL“信心学习”第2弹: cleanlab实操,如何把任意模型扩展为信心学习模型,#Confident learning

尝试回答“智能是什么?”:聊聊“知识涌现”,“常识生成“,“智能诱导”,“流体智能”,“结晶智能”

人类的痛苦源于“感知”,机器的痛苦源于“无法感知” —— David 9

“智能究竟是什么?”每个人都有自己的答案,每个人都没有确定的答案。今天david首次尝试梳理自己的答案,不成熟但值得沉淀。

从最原始的感知说起。有人认为神经网络或深度学习实现了机器“感知”的过程,这是错误的,

第一,上次提到“肤浅感知”和“深度感知”,目前的视觉(语言)模型没有赋予对象任何意义,“一个苹果”是什么?对模型来说只是一个标签。第二,人类能通过视觉调动“苹果”的味觉(触觉)等感受,这种感受在人类产生语言之前就存在了,而机器智能没有这种“综合体验”。实际是,仅仅是味觉一项感觉,就可以被其他五官所影响

感知的灵活性在人类身上得到很好的体现,而人类也有很明显的缺陷,他们一辈子在学习概念和知识,并且被感知所困扰;但机器则相反,它们可能天生有(存储)概念和知识,却一辈子在学习灵活性。所以,人类是“灵活感知”,“交流联系”的智能,是“感知密集型”智能,而,如果真的有机器可以达到人类相当的认知水平,他们非常可能是“知识搜索”,“概念推理”,的“计算密集型”智能。

那么如果引导机器进行更多的感知,就能诱导出更高级智能吗?前不久热议的论文“Reward is enough”认为,只要“奖赏”足够,智能体就自己可以学习到各种不同的任务(语言,模仿,感知)等,这种想法是有问题的。

首先,如果有奖赏就能“诱导”出智能,为什么细菌或者其他动物没有进化出人类的智能?在地球上,繁衍是物种最大的奖赏之一,细菌不断自我复制,获得了很大程度的成功(奖赏),但这算智能或高级智能吗??

DNA复制图例

其次,他低估了环境对智能的影响,奖励是环境的一部分,甚至智能体本身也是环境的一部分。他并没有回答奖励如何产生,环境如何构造,才能诱导出更高智能体。 继续阅读尝试回答“智能是什么?”:聊聊“知识涌现”,“常识生成“,“智能诱导”,“流体智能”,“结晶智能”