个人学习笔记 - 深度学习篇 卷积神经网络中的卷积与矩阵互相关运算

个人学习笔记 - 深度学习篇 卷积神经网络中的卷积与矩阵互相关运算

  • 前言
  • 一、正经的卷积
  • 总结

前言

提示:学习深度学习过程中发现网上讲卷积大部分是按矩阵乘法讲的,正经讲运算过程的好少,国内的几个还没看懂。。。。就目前查到的资料总结一下。


下面定义全局变量X=[[1,2][3,4]] 为本文的卷积核,Y=[[5,6][7,8]]为input

X=[[1,2][3,4]] 
Y=[[5,6][7,8]]

一、正经的卷积

参考1
参考 2
正经卷积实质在于将卷积模板图像翻转(旋转180),然后将卷积模板依次从上到下、从左到右滑动,计算在模板与原始图像交集元素的乘积和,该和就作为卷积以后的数值。也就是5步走:
1、首先进行周期延拓,补零得到X1,Y1
2、X1的每一行生成一个小Toeplitz矩阵
3、算出整个的Toeplitz矩阵
4、将Y变为列向量
5、将Toeplitz矩阵和列向量相乘得出结果

参考1中构造小Toeplitz矩阵的方法我没弄明白,看了参考2明白了一些:
Toeplitz矩阵指矩阵中每条自左上至右下的斜线上的元素相同,做小Toeplitz矩阵时第一行用补0确定列数,补0的数量等于input的列数-1,用X1的列数确定行数;X1每一行的每一个元素,在本行的Toeplitz矩阵中都做一次开头,然后在Toeplitz矩阵中,上一行到下一行都是向后出栈一位。就像下图一样:
个人学习笔记 - 深度学习篇 卷积神经网络中的卷积与矩阵互相关运算_第1张图片
将每一行的Toeplitz矩阵中命名为Xi,由Xi得大的Toeplitz矩阵,与被拉成一条的Y相乘得到的矩阵整理就是卷积的结果了。
然后这个结果和网上一搜就能找到的卷积运算方法结果一致:
个人学习笔记 - 深度学习篇 卷积神经网络中的卷积与矩阵互相关运算_第2张图片

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

你可能感兴趣的:(计算机视觉学习日记-个人向,卷积,深度学习)