机器学习和深度学习 --李宏毅(笔记与个人理解)Day 18

Day 18 Spatial Transformer Layer

因为单纯的cNN无法做到scaling(放大)and rotation(转),所以我们引入;

实战中也许我们可以做到 是因为 我们的training data 中包含了对data 的augmentation;

有一些 translation的性质,是因为 max pooling
这张ppt好好理解,我感觉它说明了spatial Transformen的 本质

  1. 专门训练一个layer 对图像进行旋转缩放
  2. 由于本质上还是一个神经网络结构,所以可以和CNN join it to learn 就是一起训练嘛(End to End)
  3. 不仅可以对input image 做变换(transform),也可以对CNN 的feature map进行

ok 以上说的三点就是它的特性了,应该没有哪一个是不懂的吧~

至于 why 1 ,下文来介绍它的工作原理

这张图我自己又加了一些笔记, 这里说的 是全连接的工作原理; hope you learned

我们可以用全连接来做transform ,例如
好了,基本学会了,就是数字图像处理学的那点东西,就是乘一个变换矩阵就好了
好了,没什么了不起,就是用神经网络 训练出三个变换矩阵

举例:
max pooling(IOU 连接网络?) 如何用Gradient Descent 解呢?


这里老师判断的角度应该是 对于参数的 Δ \Delta Δ w 会有一个 Δ \Delta Δy 与其对应,但是这个case 里面 Δ \Delta Δy = 0; 梯度为0 消失~

这样也能理解为什么老师认为max pooling 可以用来解,因为随着参数的变化,max的值一定会有变化,则可以进行梯度;即使max ()本身是不可微的

Interpolation -- 双线性插值
详情请参照 《数字图像处理》

固定了两个参数, 有点focus 的味道, 因为无法做旋转嘛智能做缩放

相关推荐
BlackPercy23 分钟前
【线性代数】列主元法求矩阵的逆
线性代数·机器学习·矩阵
安冬的码畜日常24 分钟前
【Vim Masterclass 笔记24】S10L43 + L44:同步练习10 —— 基于 Vim 缓冲区的各类基础操作练习(含点评课)
笔记·vim·自学笔记·vim同步练习·vim缓冲区·vim buffer·vim缓冲区练习
EQUINOX128 分钟前
3b1b线性代数基础
人工智能·线性代数·机器学习
一只码代码的章鱼33 分钟前
粒子群算法 笔记 数学建模
笔记·算法·数学建模·逻辑回归
Swift社区38 分钟前
统计文本文件中单词频率的 Swift 与 Bash 实现详解
vue.js·leetcode·机器学习
圆圆滚滚小企鹅。39 分钟前
刷题笔记 贪心算法-1 贪心算法理论基础
笔记·算法·leetcode·贪心算法
加德霍克1 小时前
【机器学习】使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测
人工智能·python·学习·机器学习·作业
漂亮_大男孩1 小时前
深度学习|表示学习|卷积神经网络|局部链接是什么?|06
深度学习·学习·cnn
杨过姑父1 小时前
ES6 简单练习笔记--变量申明
前端·笔记·es6
l1x1n01 小时前
No.37 笔记 | Python面向对象编程学习笔记:探索代码世界的奇妙之旅
笔记·python·学习