Self-Orthogonality Module:一个即插即用的核正交化模块

作者丨苏剑林

单位丨追一科技

研究方向丨NLP,神经网络

个人主页丨kexue.fm

前些天刷 arXiv 看到新文章 Self-Orthogonality Module: A Network Architecture Plug-in for Learning Orthogonal Filters(下面简称“原论文”),看上去似乎有点意思,于是阅读了一番,读完确实有些收获,在此记录分享一下。 

给全连接或者卷积模型的核加上带有正交化倾向的正则项,是不少模型的需求,比如大名鼎鼎的 BigGAN 就加入了类似的正则项。而这篇论文则引入了一个新的正则项,笔者认为整个分析过程颇为有趣,可以一读。

为什么希望正交?

在开始之前,我们先约定:本文所出现的所有一维向量都代表列向量。那么,现在假设有一个 d 维的输入样本 ,经过全连接或卷积层时,其核心运算就是:

其中  是一个矩阵,它就被称“核”(全连接核/卷积核),而  是该矩阵的各个列向量。上式也可以写成:

直观来看,可以认为  代表了 k 个不同的视角,而 y 就是 x 在这 k 个视角之下的观测结果。

既然有 k 个视角,那么为了减少视角的冗余(更充分的利用所有视角的参数),我们自然是希望各个视角互不相关(举个极端的例子,如果有两个视角一模一样的话,那这两个视角取其一即可)。而对于线性空间中的向量来说,不相关其实就意味着正交,所以我们希望:

这便是正交化的来源。

常见的正交化方法

矩阵的正交化跟向量的归一化有点类似,但是难度很不一样。对于一个非零向量 w 来说,要将它归一化,只需要  就行了,但矩阵正交化并没有类似手段。读者可能会想到“格拉姆-施密特正交化”,但这个计算成本有点大,而且它的不对称性也是一个明显的缺点。 

当然,一般来说我们也不是非得要严格的正交,所以通常的矩阵正交化的手段其实是添加正交化相关的正则项,比如对于正交矩阵来说我们有 ,所以我们可以添加正则项:

这里的范数 ||⋅|| 可以用矩阵 2 范数或矩阵 F 范数

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值