Knowledge Isomorphism between Neural Networks论文笔记

半城伤御伤魂 提交于 2020-01-25 00:26:17

Knowledge Isomorphism between Neural Networks论文笔记

Published in ArXiv 2019 原文地址
本片文章是利用knowledge isomorphism (知识同构性)去解释模型压缩和知识蒸馏。个人感觉,有值得肯定的地方。

Motivation

本文假设有两个神经网络A和B,xAx_{A}xBx_{B}表示它们在同一个task上的输出的特征。我们将其分解(disentangle)为xA=x^A+ϵAx_{A} = \hat{x}_{A} + \epsilon_{A}xB=x^B+ϵBx_{B} = \hat{x}_{B} + \epsilon_{B}。其中,(x^A,x^B)(\hat{x}_{A},\hat{x}_{B})表示为xAx_{A}xBx_{B}的相关同构知识(corresponding isomorphic knowledge),(ϵA,ϵB)(\epsilon_{A},\epsilon_{B})表示xAx_{A}xBx_{B}的不同构的特征部分(non-isomorphic feature components)。
简单来说,一个是表示的是共同的feature,另一个表示的是不同的,也就是各自特有的feature。(个人理解)。作者还定义说,x^A\hat{x}_{A}x^B\hat{x}_{B}之间是可以相互reconstruct的。

Architecture

既然定义了x^A\hat{x}_{A}x^B\hat{x}_{B}之间是可以相互reconstruct的,所以作者就弄了一个reconstruction model gk()g_{k}(),定义x^A=gk(xB)\hat{x}_{A} = g_{k}(x_{B})。其中kk表示的是k-order isomorphic feature,we can take it as fuzziness level。我们可以从下面这种图中了解到k-order所带来的影响(确实是k越高越模糊。。。):
在这里插入图片描述
至于这个kkg()g()有怎样的关系呢,原话More crucially, we implement the network-agnostic model gg as a neural network, where kk is set as the number of non-linear layers in gg,一目了然。

文章使用的解释模型可以分别用公式和图片表示为:
在这里插入图片描述
(公式里的(k+1)12hk+1\sum^{-\frac{1}{2}}_{(k+1)} h^{k+1}即是图中的Norm模快,是element-wise方差的对角矩阵。WW表示一个Linear或者CNN层)
整张
如图所示,the entire network can be separated into (K+1)(K + 1) branches,k-th branch含有n个non-linear layer。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!