机器学习与深度学习系列连载: 第二部分 深度学习(二十三) 空间转换层 Spatial Transfer Layer

空间转换层 Spatial Transfer Layer

本节内容我们重新回到卷积神经网络CNN, 众所周知,从2012年开始,CNN在图像处理中已经扮演非常重要的作用。 但是CNN还是不是非常“智能”,Why? 当我们把图像放大、缩小、平移、翻转的时候,如果训练数据中没有相关的图像数据(原始图像的变换数据),CNN的识别能力会大幅下降。这个时候,空间转换层 Spatial Transfer Layer 就派上用场。
我们先看一幅图:
在这里插入图片描述

1. Spatial Transfer Layer 定义

上图中,讲原始图数据进行旋转后,接入CNN前的最后一层,就是空间转换层。他是怎么做到的呢。

我们总结出公式:l是图片的层,i,j 是像素的index,n是行、m是列

在这里插入图片描述
我们举一个例子,将图片进行向下平移。从l-1层到l层
在这里插入图片描述
这时,我们有:
在这里插入图片描述
参数值的设定就是:
在这里插入图片描述
所以,图片的平移、翻转,都可以理解为通过一个NN进行实现:
(1) 向下移动:
在这里插入图片描述
(2) 顺逆时针旋转:
在这里插入图片描述

2. 图片转换 Image Transformation

图片转换的方法,主要有放大、缩小,旋转:
(1)放大
在这里插入图片描述
(2) 缩小
在这里插入图片描述
(3) 旋转
在这里插入图片描述
在这里插入图片描述

3. Spatial Transfer Layer 过程

根据图片转换的过程,我们定义图片转换需要的6个参数:
在这里插入图片描述
具体我们需要找一个神经网络,生成这6个参数。
在这里插入图片描述

但是abcdef这六个参数生成的不一定是整数,如果是小数怎么破?四舍五入? 可以用gradient decent吗?
我们慢慢揭开一个个问题。

(1) 通过6个参数 以计算a22为例
在这里插入图片描述

计算得到在这里插入图片描述
(2) 产生最后的a22的结果
在这里插入图片描述
公式是:
在这里插入图片描述
这个时候a22 就是可以用Gradient Decent了。

4. Spatial Transfer Layer 模型

在这里插入图片描述
图中的localisation net 就是产生Spatial Transfer 的6个参数,Grid generator 是产生图片转换的图形。

(1) 数字识别
在这里插入图片描述

(2) 门牌识别
在这里插入图片描述

(3) 鸟类识别
分别针对鸟类头部和身体,进行放大识别在这里插入图片描述

这个时候就不需要翻转的参数,只需要4个 参数即可
在这里插入图片描述
实验结果具有说服力
在这里插入图片描述

本专栏图片、公式很多来自台湾大学李弘毅老师、斯坦福大学cs229,斯坦福大学cs231n 、斯坦福大学cs224n课程。在这里,感谢这些经典课程,向他们致敬!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值