Orthogonal Convolutional Neural Networks

Wang J, Chen Y, Chakraborty R, et al. Orthogonal Convolutional Neural Networks.[J]. arXiv: Computer Vision and Pattern Recognition, 2019.

@article{wang2019orthogonal,
title={Orthogonal Convolutional Neural Networks.},
author={Wang, Jiayun and Chen, Yubei and Chakraborty, Rudrasis and Yu, Stella X},
journal={arXiv: Computer Vision and Pattern Recognition},
year={2019}}

本文提出了一种正交化CNN的方法.

主要内容

符号说明

XRN×C×H×W: 输入
KRM×C×k×k: 卷积核
YRN×M×H×W: 输出

Y=Conv(K,X)

Y=Conv(K,X)的俩种表示

在这里插入图片描述
在这里插入图片描述

Y=KX~

此时KRM×Ck2, 每一行相当于一个卷积核, X~RCk2×HW, YRM×HW.

Y=KX

此时XRCHW相当于将一张图片拉成条, KRMHW×CHW, 同样每一次行列作内积相当于一次卷积操作, YRMHW.

kernel orthogonal regularization

相当于要求KKT=I(行正交) 或者KTK=I(列正交), 正则项为

Lkorthrow=KKTIF,Lkorthcol=KTKIF.

作者在最新的论文版本中说明了, 这二者是等价的.

orthogonal convolution

作者期望的便是KKT=I或者KTK=I.

K(ihw,)表示第(i1)HW+(h1)W+w行, 对应的K(,ihw)表示(i1)HW+(h1)W+w列.

KKT=I等价于

(5)K(ih1w1,),K(jh2w2,)={1,(i,h1,w1)=(j,h2,w2)0,else.

KTK=I等价于

(10)K(,ih1w1),K(,jh2w2)={1,(i,h1,w1)=(j,h2,w2)0,else.

实际上这么作是由很多冗余的, 可以进一步化为更简单的形式.
(5)等价于

(7)Conv(K,K,padding=P,stride=S)=Ir0,

其中Ir0RM×M×(2P/S+1)×(2P/S+1)仅在[i,i,k1S+1,k1S+1],i=1,,M处为1其余元素均为0.

P=k1SS.

其推导过程如下(这个实在不好写清楚):

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

KTKS=1特殊情况下的特殊情况下, (10)等价于

(11)Conv(KT,KT,padding=k1,stride=1)=Ic0,

其中Ic0RC×C×(2k1)×(2k1), 同样仅在(i,i,k,k)处为1, 其余非零.KTRC×M×k×kK的第1, 2坐标轴进行变换.
在这里插入图片描述
同样的

minKKKTIF

minKKTKIF

是等价的.

另一方面, 最开始提到的kernel orthogonal regularization是orthogonal convolution的必要条件(但不充分)KKT=I, KTK=I分别等价于:

Conv(K,K,padding=0)=Ir0Conv(KT,KT,padding=0)=Ic0,

其中Ir0RM×M×1×1, Ic0RC×C×1×1.

posted @   馒头and花卷  阅读(710)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2019-04-23 Robust PCA via Outlier Pursuit
点击右上角即可分享
微信分享提示