拓扑ECCV 2020 | 从一种拓扑视角来优化神经网络的连通性的解读


拓扑ECCV 2020 | 从一种拓扑视角来优化神经网络的连通性的解读
本文插图
本文是计算机视觉领域顶级会议 ECCV 2020 入选论文《Learning Connectivity of Neural Networks from a Topological Perspective》的解读 。
作者 | 袁 坤
编辑 | 青 暮
在ECCV 2020上 , 商汤研究院深度学习中间件组提出的拓扑视角为分析神经网络的优化过程提供了一种新的思路 。
在设计神经网络的深度、卷积类型、归一化层和非线性层之外 , 我们提出对神经网络的拓扑连接进行优化 , 来取代以往的堆叠或手工设计的连接方式 。 通过将网络表示为有向无环图 , 并向边赋予可学习的权重来表示连接的重要程度 。 整个优化过程可以通过可微分的方式进行 。 进一步地 , 我们对连接的分布添加额外的稀疏约束 , 使得重要的连接得以保留 , 移除不重要的连接 , 进一步提升网络的性能和泛化能力 。 这种优化方式可以很好的和现有的网络结构进行结合 。 实验结果表明优化得到的连通方式超过了传统的基于规则设计连接 , 包括随机的、残差的和完全图的 。 在不额外增加过多参数量和计算量的基础上 , 在ImageNet图像分类和COCO目标检测上取得了明显的提升 。
1
简介和动机
深度学习成功地将特征工程从手工设计转移到自动学习 。 这标志着从样本到特征的映射可以根据不同的任务来进行优化学习 。 作为一种趋势 , 寻找有效的神经网络结构是一个重要且具有实际价值的方向 。 但是结构的设计依旧充满挑战且耗时 。 部分研究工作关注于网络的深度、卷积的类型、归一化和非线性操作等 。 在这些维度之外 , 也有一些工作尝试在网络的拓扑连接上进行改进 。 从VGGNet、GoogleNet、Highway到ResNet、MobileNet-v2、ShuffleNet , 网络的拓扑连接从平原拓扑发展到残差拓扑 , 一定程度上缓解了网络加深带来的梯度消失和爆炸问题 。 不同于这些相对稀疏的连接形式 , DenseNet提出将层与层之间全部连接复用特征表示 。 现有的一些网络结构搜索(NAS)方法也尝试进行连接方式的搜索 。 在一定程度上 , 这些拓扑层面的改进反映了拓扑连接对优化过程的影响 。 但是为了平衡设计成本和性能 , 这些网络大多采用堆叠的方式来构建最终的结构 , 一定程度上限制了拓扑的可能性 。 因此 , 我们思考:神经网络的连通性可以被优化吗?合适的方法是什么?
2
神经网络的拓扑视角
为了回答这些 , 我们提出一种新的拓扑视角来表达分析现有的网络结构 。 如图1所示 , 网络被表示为有向无环图(DAG) , 其中特征融合、卷积计算、归一化和非线性等特征计算被表示为节点 , 层与层之间的连接被表示为边 , 反映信息流的传递 。 图1给出了残差拓扑连接所对应的拓扑形式 , 我们首次展示了残差的拓扑连接是一种相对稠密的连接形式 , 当残差的间隔为1时 , 网络可以被表示为完全图(complete graph) , 即各个节点之间均有边连接 。 所有节点可以直接从输入获取特征 , 从输出获得梯度更新 , 这在一定程度上解释了残差连接能够有效的原因 。
拓扑ECCV 2020 | 从一种拓扑视角来优化神经网络的连通性的解读
本文插图
数学形式上 , 我们将拓扑视角下的网络结构表示为图
, 其中表示节点的集合 , 表示边的集合 。 在图中的每一个节点进行特征变换操作 , 参数表示为 , 其中表示节点的拓扑顺序 。 同时
表示从节点到节点的边 , 其中反映了连接的重要程度 。 在前向计算的过程中 , 每个节点从存在连接的前序节点获得特征输入 , 然后经过变换得到特征 。 之后被输送到存在连接的后续节点中 , 节点的操作可以被表示为:
在一个图中 , 第一个节点被指定为输入节点 , 只进行特征的分发不进行计算;最后一个节点被指定为输出节点 , 只从前序节点获取输入并进行融合作为图的输出特征 。 我们提出使用邻接矩阵来存储边的权重 , 如图2右侧所示 , 矩阵的行表示输入边的权重 , 列表示输出边的权重 。


推荐阅读