Orthogonal Convolutional Neural Networks
@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的方法.
主要内容
符号说明
\(X \in \mathbb{R}^{N \times C \times H \times W}\): 输入
\(K \in \mathbb{R}^{M \times C \times k \times k}\): 卷积核
\(Y \in \mathbb{R}^{N \times M \times H' \times W'}\): 输出
\]
\(Y=Conv(K,X)\)的俩种表示


\(Y=K\tilde{X}\)
此时\(K\in \mathbb{R}^{M \times Ck^2}\), 每一行相当于一个卷积核, \(\tilde{X} \in \mathbb{R}^{Ck^2 \times H'W'}\), \(Y \in \mathbb{R}^{M \times H'W'}\).
\(Y=\mathcal{K}X\)
此时\(X \in \mathbb{R}^{CHW}\)相当于将一张图片拉成条, \(\mathcal{K} \in \mathbb{R}^{MHW' \times CHW}\), 同样每一次行列作内积相当于一次卷积操作, \(Y \in \mathbb{R}^{MH'W'}\).
kernel orthogonal regularization
相当于要求\(KK^T=I\)(行正交) 或者\(K^TK=I\)(列正交), 正则项为
L_{korth-col}= \|K^TK-I\|_F.
\]
作者在最新的论文版本中说明了, 这二者是等价的.
orthogonal convolution
作者期望的便是\(\mathcal{K}\mathcal{K}^T=I\)或者\(\mathcal{K}^T\mathcal{K}=I\).
用\(\mathcal{K}(ihw,\cdot)\)表示第\((i-1) H'W'+(h-1)W'+w\)行, 对应的\(\mathcal{K}(\cdot, ihw)\)表示\((i-1) HW+(h-1)W+w\)列.
则\(\mathcal{K}\mathcal{K}^T=I\)等价于
\langle \mathcal{K}(ih_1w_1, \cdot), \mathcal{K}(jh_2w_2,\cdot)\rangle =
\left \{
\begin{array}{ll}
1, & (i,h_1,w_1)=(j,h_2,w_2) \\
0, & else.
\end{array} \right.
\]
\(\mathcal{K}^T\mathcal{K}=I\)等价于
\langle \mathcal{K}(\cdot, ih_1w_1), \mathcal{K}(\cdot, jh_2w_2)\rangle =
\left \{
\begin{array}{ll}
1, & (i,h_1,w_1)=(j,h_2,w_2) \\
0, & else.
\end{array} \right.
\]
实际上这么作是由很多冗余的, 可以进一步化为更简单的形式.
(5)等价于
Conv(K, K,padding=P, stride=S)=I_{r0},
\]
其中\(I_{r0}\in \mathbb{R}^{M\times M \times (2P/S+1) \times (2P/S+1)}\)仅在\([i,i,\lfloor \frac{k-1}{S} \rfloor+1,\lfloor \frac{k-1}{S} \rfloor+1], i=1,\ldots, M\)处为\(1\)其余元素均为\(0\).
\]
其推导过程如下(这个实在不好写清楚):



\(\mathcal{K}^T\mathcal{K}\)在\(S=1\)特殊情况下的特殊情况下, (10)等价于
Conv (K^T,K^T, padding=k-1, stride=1)=I_{c0},
\]
其中\(I_{c0} \in \mathbb{R}^{C \times C \times (2k-1) \times (2k-1)}\), 同样仅在\((i,i,k,k)\)处为1, 其余非零.\(K^T \in \mathbb{R}^{C \times M \times k \times k}\)是\(K\)的第1, 2坐标轴进行变换.

同样的
\]
与
\]
是等价的.
另一方面, 最开始提到的kernel orthogonal regularization是orthogonal convolution的必要条件(但不充分)\(KK^T=I\), \(K^TK=I\)分别等价于:
Conv(K^T, K^T, padding=0)=I_{c_0},
\]
其中\(I_{r0} \in \mathbb{R}^{M \times M \times 1 \times 1}\), \(I_{c0} \in \mathbb{R}^{C \times C \times 1 \times 1}\).
Orthogonal Convolutional Neural Networks的更多相关文章
- tensorfolw配置过程中遇到的一些问题及其解决过程的记录(配置SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving)
今天看到一篇关于检测的论文<SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real- ...
- Notes on Convolutional Neural Networks
这是Jake Bouvrie在2006年写的关于CNN的训练原理,虽然文献老了点,不过对理解经典CNN的训练过程还是很有帮助的.该作者是剑桥的研究认知科学的.翻译如有不对之处,还望告知,我好及时改正, ...
- 《ImageNet Classification with Deep Convolutional Neural Networks》 剖析
<ImageNet Classification with Deep Convolutional Neural Networks> 剖析 CNN 领域的经典之作, 作者训练了一个面向数量为 ...
- 卷积神经网络CNN(Convolutional Neural Networks)没有原理只有实现
零.说明: 本文的所有代码均可在 DML 找到,欢迎点星星. 注.CNN的这份代码非常慢,基本上没有实际使用的可能,所以我只是发出来,代表我还是实践过而已 一.引入: CNN这个模型实在是有些年份了, ...
- A Beginner's Guide To Understanding Convolutional Neural Networks(转)
A Beginner's Guide To Understanding Convolutional Neural Networks Introduction Convolutional neural ...
- 阅读笔记 The Impact of Imbalanced Training Data for Convolutional Neural Networks [DegreeProject2015] 数据分析型
The Impact of Imbalanced Training Data for Convolutional Neural Networks Paulina Hensman and David M ...
- 读convolutional Neural Networks Applied to House Numbers Digit Classification 的收获。
本文以下内容来自读论文以后认为有价值的地方,论文来自:convolutional Neural Networks Applied to House Numbers Digit Classificati ...
- (转)A Beginner's Guide To Understanding Convolutional Neural Networks Part 2
Adit Deshpande CS Undergrad at UCLA ('19) Blog About A Beginner's Guide To Understanding Convolution ...
- 论文笔记之:Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking
Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking arXiv Paper ...
随机推荐
- A Child's History of England.12
Dunstan, Abbot of Glastonbury Abbey, was one of the most sagacious of these monks. He was an ingenio ...
- day12 函数嵌套
day12 函数嵌套 一. args与kwargs def index(a,b,c): print(a,b,c) def wrapper(*args,**kwargs): # args=(1,2,3) ...
- [web安全] 利用pearcmd.php从LFI到getshell
有一段时间没写blog了,主要是事多,加上学的有些迷茫,所以内耗比较大.害,沉下心好好学吧. 漏洞利用背景: 允许文件包含,但session等各种文件包含都已经被过滤了.ctf题中可以关注regist ...
- IDEA2021.2安装与配置
https://blog.csdn.net/qq_37242720/article/details/119349394
- LeetCode1579题——圆圈中最后剩下的数字
1.题目描述:0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字.例如,0.1.2.3.4这5个数字组成一个圆圈,从数字0开始每次删 ...
- Output of C++ Program | Set 17
Predict the output of following C++ programs. Question 1 1 #include <iostream> 2 using namespa ...
- js将数字转为千分位/清除千分位
/** * 千分位格式化数字 * * @param s * 传入需要转换的数字 * @returns {String} */ function formatNumber(s) { if (!isNaN ...
- springboot项目中集成ip2region遇到的问题及终极解决办法
1.问题回顾 按照ip2region项目的官方集成到springboot项目后,运行测试一切都ok,没有任何问题.但是当项目打成可执行的jar包后再运行,却显示找不到ip2region.db,无法找到 ...
- 南京邮电大学CTF密码学之MD5-golang与php代码实现
题目内容:这里有一段丢失的md5密文 e9032???da???08????911513?0???a2 要求你还原出他并且加上nctf{}提交 已知线索 明文为: TASC?O3RJMV?WDJKX? ...
- VSCode上发布第一篇博客
在VSCode上发布到博客园的第一篇博客 前段时间在VSCode安装好插件WriteCnblog,多次检查writeCnblog configuration配置信息也是完全正确的,但是一直没能在VSC ...