| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> STN(spatial transformer network)论文与源码理解 -> 正文阅读 |
|
[人工智能]STN(spatial transformer network)论文与源码理解 |
目录标题1.引言??近期阅读了2015年的一篇较为经典的论文"spatial transformer networks(stn)"。本博文是stn阅读心得的记录。在第二小节中,会描述stn的实现细节,包括三大组成构件:localisation network、Grid generator、Sampler。在第三小节中会通过跟踪stn源码(pytorch官方版本)来验证自己的理解正确性。在第四部分作为扩展部分,会尝试从数学角度阐述STN的数学形式并作可导性分析。 2.STN是如何进行的
??????????????表1 2.1 localisation net
?? Localisation net的作用是回归仿射变换的参数
θ
\theta
θ。图3中的公式是仿射变换操作的通式,二维空间上仿射变换的参数为6个,也即localisation net的输入为
N
?
C
?
H
?
W
N*C*H*W
N?C?H?W的特征图,输出为
N
?
6
N*6
N?6。
2.2 Grid generator
??以仿射变换的一种特例,顺时针旋转90度为例。 2.3 Sampler??通过2.2节中描述的Grid generator。可以得到输出特征图上各个value的"来源"矩阵: 3.以源码的方式验证自己理解的正确性??pytorch已经将stn集成,并提供了stn pytorch tutorials。本部分主要是跟踪其中的代码,来完善并验证上述的理解。 3.1 localisalization net相关代码??这部分直接贴相关核心代码,细节不再赘述。可以较容易的与图4中的内容对应起来。
*核心代码段2
3.2 Grid generator和Sampler相关代码
??这部分以实际模型训练中某一iteration的实际例子来进行说明,此时
θ
\theta
θ为 x . s i z e ( ) x.size() x.size()为 64 ? 1 ? 28 ? 28 64*1*28*28 64?1?28?28。2.2节以及2.3节中的理解基本是正确的,但pytorch在具体实施的过程中,有两点需要注意:
??因此这里的归一化公式为: ??按照2.2中的理解,计算target特征图中(13,5)在source特征图中的来源。 4.扩展:STN的可导性分析??第二节,第三节描述了stn的实施细节。但仅仅有这些还不够,我们在设计一个“创新性的”网络结构时,起效的前提或者说理论基础是该模块是differentiable。 4.1 STN的前向公式分析??论文中给出的前向公式是: 在阐述该公式时,先暂时忘却这一公式,看一看按照之前的理解,会如何写这一过程:
4.2 STN的导数公式分析??论文中给出的导数公式为:
5.反思??本篇论文给我的启发有4点:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:22:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |