<论文>什么是胶囊神经网络?

一、摘要

本文介绍2017年的论文《Dynamic Routing Between Capsules》,论文介绍了胶囊之间的动态路由机制,至此胶囊神经网络才算是完整地被提出来(此前几年Hinton老爷子有给出过概念,但是没有给出官方的实现)。

译文:

胶囊是一组神经元,其活动向量表示特定类型实体(如物体或物体部分)的实例化参数。我们使用活动向量的长度来表示实体存在的概率,并使用其方向来表示实例化参数。一个层级的活跃胶囊通过变换矩阵对更高层级胶囊的实例化参数进行预测。当多个预测一致时,更高层级的胶囊变得活跃。我们展示了一种经过判别性训练的多层胶囊系统在MNIST数据集上达到了最先进的性能,并且在识别高度重叠的数字方面明显优于卷积神经网络。为了实现这些结果,我们使用了一种迭代的通过一致性路由的机制:低层级胶囊倾向于将其输出发送到那些活动向量与来自低层级胶囊的预测有较大标量积的高层级胶囊。

二、核心创新点

胶囊网络最初被Hinton老爷子提出来是用于解决CNN的缺陷的。我们拿一张网上广为流传的示例图来解释胶囊网络相对于CNN的改进之处。对于下面这张图,CNN则会认为它是一张人脸的图像,而胶囊网络则可以辨别出来这不是正常的人脸。

要学习胶囊网络,我们还需要简要了解下基本概念。胶囊(Capsule)是胶囊神经网络中的基本单元 ,它由一组神经元组成,用于表示特定类型的实体及其属性。每个胶囊不仅输出实体存在的概率,还可以表示实体的姿态参数(如位置、方向、大小等)。对比常规的神经网络,常规神经网络的基本单元是神经元,其输出是一个标量值,而胶囊的输出是一个向量,这使得胶囊能够捕捉更丰富的特征信息。通过引入胶囊和动态路由机制,胶囊网络改进了卷积神经网络在特征表示和特征关系捕捉方面的局限性,从而能够更好地处理物体的变形和旋转。

1、胶囊的输入输出和动态路由机制

对于胶囊的输入和输出,作者使用胶囊的输出向量长度来表示当前胶囊所代表的实体存在于当前输入中的概率。看起来很绕,通俗来说就是如果一个胶囊对应的特征在输入中有出现,那么它对应的输出向量长度就应该比没出现的胶囊输出向量要长。因此,作者使用了一个非线性的squash函数,这个函数确保短向量的长度被压缩到接近0,二长向量的长度则压缩到略小于1的取值。这个思路通过使用判别式学习来实现:

其中,是胶囊j的输出向量,而是其总输入。对于第一层胶囊之外的其余胶囊,总输入就是所有来自下一层的胶囊的预测向量加权和,这个预测向量则是使用一个权重矩阵与下一层胶囊的输出相乘得到。

其中,是耦合系数,由动态路由迭代确定。胶囊i与上一层中的所有胶囊之间的耦合系数总和为1。并且,耦合系数由"routing softmax"函数来决定,该函数的初始logits(记为)则由胶囊i和胶囊j之间的对数先验耦合概率来确定。

对于动态路由机制,作者也给出了对应的算法流程。

2、损失函数

论文使用实例化向量的长度来表示胶囊实体存在的概率,当且仅当图像中存在数字类k时(论文案例是图像数字识别任务),作者希望数字类k的top-level胶囊具有较长的实例化向量。为了允许多个数字的情况,作者为每个digit胶囊使用单独的边界损失(margin loss):

其中,当数字类别k存在时,等于1,另外是0.9,则是0.1。对于不存在的数字类别,λ则可以防止初始学习过程缩小所有digit胶囊的活动向量长度,λ取值设定为0.5。

相关推荐
lie..5 分钟前
30天从零开始学AI应用开发(Day 12):像产品一样稳:流式输出、报错重试、花钱控制
开发语言·人工智能·php
镜象科技23 分钟前
AI临床心理大模型:离临床最近的AI长什么样?
人工智能
zhanghaha131424 分钟前
AI Agent_4 Agent工作原理详解:从“会聊天“到“会办事“
人工智能
DeepAgent36 分钟前
AI Agent 工程实践(49):一次真实优化——从 Agent v1 到 v2
开发语言·人工智能·agent
民乐团扒谱机41 分钟前
【微科普】节拍检测从入门到迁移:西方SOTA模型怎么识别Beat,中国戏曲民乐又该怎么训练?
深度学习·大模型
小蒋观天下41 分钟前
两轮车检测AI摄像头——2026-2030年未来市场规模、增长逻辑与行业天花板
大数据·人工智能·安全·计算机视觉·ai大模型
美狐美颜sdk44 分钟前
直播APP接入美颜SDK后出现卡顿怎么办?从性能瓶颈寻找解决方案
android·人工智能·音视频·美颜sdk·直播美颜sdk
m0_587383001 小时前
深圳24小时自助健身房解决方案实战:从系统架构到部署指南
java·人工智能·spring boot·spring·系统架构·需求分析
顺顺 尼1 小时前
linux 进程信号(上)
linux·c++·算法
罗西的思考1 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 ---(5)--- GRPO
人工智能·算法·机器学习