论文阅读--HyperNetworks,2017 ICLR

HyperNetwork

论文地址
1、灵感来源于nature中的基因型(超网络)以及表型(主网络)
2、主要为了解决CNN,RNN中权重不共享以及RNN中全共享的问题,旨在创造一个relaxed weight-sharing across layers的模型,在不特别影响精度的情况下,减少了模型参数。

模型

一、静态 HyperNetwork:深度卷积网络的权重分解方法

image
超网络为前馈网络生成权重。黑色连接和参数与主网络相关联,而橙色连接和参数与超级网络相关联。

分解原理:
卷积的所有参数:\(K^j\in R^{N_{in}f_{size} \times N_{out} f_{size}}\) ,(其中\(j=1,...D\) 为深度卷积网络的层数),作者想让这个参数用线性映射一下,由此可以表示为:
image

将其沿着参数\(N_{in}\)方向分解为slices,输出的结果可以等价于输入两个线性层之后的叠加,由此函数\(g(\dot )\)可以拆分为如下公式(其中的<.>表示dot product点积):

image

为什么要用两层:一是比一层的参数要少,二是对于共享参数\(W_{out}、B_{out}\),两层的hperNetwork表示能使结构更为紧凑。
由此就可以用在一些深度卷积网络中,例如Resnet网络,结果如下:
image
代码:
HyperNetwork,定义了可学习参数
image
生成embedding
image
总体结构:
image
image
其实大概就是把Residual network中的卷积的权重换成了hpernetwork网络产生的结果(W),这个超网络需要embedding即Z作为激励
github代码

二、动态HperNetwork递归网络的自适应权值生成

主要是想用一个小一点的RNN模型,来生成main RNNs的参数,其中的参数会随时间变化并生成,故名为动态叭~
HyperRNNs结构图,其中黑色连接和参数,与基本RNNs相关。本文介绍了橙色连接和参数,并与HyperRNNs关联。虚线箭头用于生成参数。

image
基本RNN的标准公式如下所示:
image
其中\(\phi\)是一个非线性函数,可以是tanh、relu等,

由之前的思路,HyperRNN可以将\(h_t\)计算为对应于上面的那个图:
image
image
由于这样计算会引起存储空间太大,所以改进之后的式子表示为:
image
image
其中d是一个权重的缩放向量。

posted @ 2022-03-21 17:03  mine_possibility  阅读(549)  评论(0编辑  收藏  举报