AI教父Hinton胶囊模型又出新作——胶囊如何表示视觉层次结构

简介: AI教父Hinton胶囊模型又出新作——胶囊如何表示视觉层次结构

image.png

今天给大家介绍的是深度学习三巨头之一,谷歌大脑人工智能团队首席科学家且为图灵奖获得者的Geoffrey Hinton教授于2月26日在Twitter上分享了一篇关于表示的新作,且该文仅由Hinton一人署名。在文中,他提出了一种用神经网络表示部分-整体层次结构的设想,将几个不同的领域整合到一起组成一个名为GLOM的假想系统令神经网络以人类的方式理解图像,其中的模块包括transformer,神经场,对比表示学习,蒸馏学习和胶囊网络模型。Hinton表示如果GLOM最终可用,应该能大幅度提高像transformer这类模型产生的表示方法的可解释性。

image.png

想法


心理学研究表明人们将视觉场景解析为部分-整体层级结构,并将部分和整体之间视点不变的空间关系视作部分和整体之间坐标的转换。神经网络如果需要具备和人类理解图像的思维方式,则需要弄清楚神经网络如何表示部分整体层次结构。由于神经网络并不能动态地分配一组神经元,Sabour和Hinton等人提出了一系列使用“胶囊”的网络模型。胶囊模型假设一组神经元(胶囊)将成为图像特定区域中的特定类型的一部分,然后通过激活这些预先存在的、特定类型的胶囊的子集,以及它们之间的适当连接来创建解析树。作者用胶囊来表示神经网络中的部分-整体层次结构,GLOM可以简单地理解为用于处理一系列帧序列的流水线,由大量权重相同的列组成,这些列的层次和神经科学家提出的超列相似,每一列都是由空间局部自动编码器堆叠而成,而这些编码器学习小图像块上的多级表示。每个自动编码器利用多层自下而上的编码器和多层自上而下的解码器将一个级别的嵌入转换为相邻级别的嵌入。这些级别对应于部分-整体层次结构中的级别。例如,当显示一张脸部图像时,单列可能会收敛到代表鼻孔,鼻子,脸部和人的嵌入向量上。下图则显示了不同层次的嵌入如何在单列中进行自下而上,自上而下和相同级的交互。

image.png

图1 GLOM结构单列中3个相邻级间的交互


上图并没有显示不同列中同一级别的嵌入之间的交互,它们不需要实现部分整体坐标转换。而是像多头transformer中代表不同单词片段的列之间的注意力加权交互,这更简单了,因为查询、键和值向量都与嵌入向量相同。列间交互旨在通过使该级别的每个嵌入向量向附近位置的其他类似向量回归,从而在某个级别上产生具有相同嵌入的岛。这将创建多个局部“回音室”,在某个局部“回音室”中,同一层次的嵌入主要与其他想法相似的嵌入相呼应。


优缺点


(1) 与胶囊模型相比


GLOM的主要优势在于:(1)它无需在每个级别预先将神经元分配给一组可能的离散部分,这将带来更大的灵活性。(2)它不需要动态路由,可以为部分所占据的每个位置构建属于自己的整体向量表示。(3)其用于形成岛的聚类过程比胶囊模型中使用的聚类过程要好得多。与大多数胶囊模型相比,GLOM的主要缺点是关于特定类型物体形状的知识并不局限于一小群神经元(可能会在相当大的区域内复制)。


(2) 与Transformer模型相比


GLOM和Transformer相比,做出了几点改变。(1)每层的权重都相同,因为GLOM是一个循环神经网络,并且作者将时间片转换为层。(2)利用层次上的嵌入向量作为查询,键以及值,极大地简化了注意机制。(3)用于提供更多表现力的多头被重新设计成用于实现整个部分整体层次结构的多个级别,并且某个位置的多个头之间的交互是高度结构化的,因此一个级别仅与相邻级别进行交互。(4)计算相邻级别之间交互的自下而上和自上而下的神经网络在部分和整体分布式表示之间执行坐标转换。



image.png

图2 GLOM结构,突出与Transformer间关系


(3) 与CNN模型相比


早前Hinton即表示CNN会被胶囊网络替代,如果你很喜欢CNN 的话,GLOM可被视为一种特殊的CNN。它在以下方面不同于标准CNN:(1)它仅使用1x1卷积(前端除外)。(2)位置之间的交互是通过无参数平均化来实现的。(3)它不使用单个前馈遍历表示层,而是迭代以允许由神经场实现的自上而下的影响。(4)它包括对比自我监督学习,并作为识别的一部分而不是单独的任务执行层次分割。


生物可行性


作者以三个疑问性标题阐述GLOM是否具有生物可行性。


第一,尽管GLOM受生物学启发,但将其当作生物学模型仍有些生硬,其中三个功能解释了和生物学模型格格不入的原因。(1)自下而上或自上而下的模型在不同列中的权重分配。(2)需要处理否定的示例对以进行对比学习,而又不中断视频流水线。(3)使用反向传播来学习自顶向下和自底向上模型的隐藏层。


第二,GLOM建议使用上下文监督来解决生物学家经常反对的权重共享问题。在真实的大脑中,我们想要的是一种在某个位置训练自下而上和自上而下的网络的有效方法,以便它们计算与其他位置的相应网络相同的功能,作者提出可以使用知识蒸馏来实现这一目标。


第三,阐述了睡眠在对比学习中的作用,由于查找和处理不应该相似的图像对会增加复杂性,所以GLOM在生物学模型上似乎不太合理。通过在晚上使GLOM脱机进行消极学习,以防止表示崩溃,可以避免损害GLOM的实时性能。有证据表明,高速,自上而下的序列生成发生在睡眠的纺锤体阶段。


从哲学角度出发


Hinton本人认为科学与哲学之间的区别在于,实验可以证明极端合理的想法是错误的,而极端不可行的想法(例如,通过端到端的梯度下降学习一个复杂系统)是正确的。GLOM虽然目前未实现,但是Hinton教授正在一个项目上进行测试,目的是测试GLOM体系结构以全新角度理解形状识别的能力,另外作者呼吁科研工作者积极投入以实现这部分的想法。以下为作者从哲学角度对此想法进行的一些评价:


(1)解析树中的节点由相似向量的岛表示的想法统一了两种非常不同的理解感知方法。第一种方法是经典的格式塔心理学,它通过诉诸场(field)来建立感知模型,提出了整体不同于部分总和的观点。在GLOM中,感知器被视为一个场,并且整体的共享embedding向量是有别于部分的。第二种方法是典型的人工智能方法,它通过结构描述来建立感知。GLOM是具有结构描述的。


(2)部分不看好深度学习的学者认为,神经网络无法处理组合层次结构,需要有一个“神经系统符号”接口,该接口允许神经网络的前端和后端将高层推理移交给更具符号性的系统。而作者认为GLOM的主要推理模式是由于高维向量之间的相似性进而使用的类比方式。


(3)BERT取得的巨大成功,结合早期工作表明,通过构造BERT中multi-head之间的交互,并对应其表示级别,通过添加对比学习的正则化器来鼓励每个级别上多个单词片段的局部孤岛的一致性,这可能可以说明GLOMBERT确实能够解析句子。


目录
相关文章
|
3天前
|
人工智能 编解码 安全
[译][AI OpenAI-doc] 视觉
学习如何使用 GPT-4 来理解图像。具有视觉功能的 GPT-4 Turbo 允许模型接收图像并回答与之相关的问题。了解图像上传、处理、成本计算、模型限制等详细信息。
|
1月前
|
机器学习/深度学习 人工智能 算法
AI音乐生成创企发新模型 几秒生成两分钟歌曲
Suno公司推出AI音乐生成模型,基于深度学习和大数据,快速创作符合用户喜好的歌曲,简化音乐创作流程,让业余爱好者也能参与。该模型高度可定制,支持二次创作,引发行业关注。创始人强调,目标是辅助而非取代人类音乐家,旨在促进音乐产业创新与发展。
59 1
AI音乐生成创企发新模型 几秒生成两分钟歌曲
|
2天前
|
人工智能 搜索推荐 决策智能
【AI Agent系列】【阿里AgentScope框架】1. 深入源码:详细解读AgentScope中的智能体定义以及模型配置的流程
【AI Agent系列】【阿里AgentScope框架】1. 深入源码:详细解读AgentScope中的智能体定义以及模型配置的流程
29 0
|
2天前
|
数据采集 存储 人工智能
【AI大模型应用开发】【LangChain系列】实战案例4:再战RAG问答,提取在线网页数据,并返回生成答案的来源
【AI大模型应用开发】【LangChain系列】实战案例4:再战RAG问答,提取在线网页数据,并返回生成答案的来源
26 0
|
2天前
|
数据采集 存储 人工智能
【AI大模型应用开发】【LangChain系列】实战案例2:通过URL加载网页内容 - LangChain对爬虫功能的封装
【AI大模型应用开发】【LangChain系列】实战案例2:通过URL加载网页内容 - LangChain对爬虫功能的封装
11 0
|
2天前
|
人工智能 Python
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
6 0
|
2天前
|
人工智能 监控 数据处理
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
16 0
|
2天前
|
人工智能 监控 数据可视化
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】0. 一文全览Tracing功能,让你的程序运行过程一目了然
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】0. 一文全览Tracing功能,让你的程序运行过程一目了然
7 0
|
2天前
|
人工智能 API 开发者
【AI大模型应用开发】0.2 智谱AI API接入详细步骤和简单应用
【AI大模型应用开发】0.2 智谱AI API接入详细步骤和简单应用
9 0
|
2天前
|
数据采集 人工智能 数据可视化
【AI大模型应用开发】【LangChain系列】4. 从Chain到LCEL:探索和实战LangChain的巧妙设计
【AI大模型应用开发】【LangChain系列】4. 从Chain到LCEL:探索和实战LangChain的巧妙设计
16 0