卷积核翻转方法

卷积核翻转方法

翻转卷积核有三种方法

1.围绕卷积核中心旋转180度

方法:把卷积核写在一张纸上,用笔尖固定住中心元素,旋转180度后就是翻转后的卷积核。

2.沿着两条对角线翻转两次

方法:设原始卷积核为

1   2   3

4   5   6

7   8   9

第一次沿着左下角到右上角翻转,也就是3,5,7不变,2和4 交换。6和8交换,1和9交换

9   6   3

8   5   2

7    4   1

第一次沿着左上角到右下角翻转,也就是9,5,1不变,4和2交换。3和7交换,8和6交换

9   8   7

6   5   4

3   2   1

3.同时翻转行和列

1   2   3

4   5   6

7   8   9

第一次翻转行

7   8   9  

4   5   6

1   2   3

第二次翻转列

9   8   7

6   5   4

3   2   1




### 卷积核在CNN中的概念 卷积神经网络(CNN)中的卷积核(也称为滤波器或特征检测器),是一个小型矩阵,用于执行卷积操作。该操作旨在提取输入数据的不同特性,比如边缘、纹理或其他视觉模式[^1]。 卷积核通过滑动窗口的方式遍历整个输入图像,在每一个位置上计算其与对应区域像素值之间的加权和。这些权重即为卷积核参数,它们会在训练过程中不断调整优化以更好地捕捉特定类型的图案或者结构信息[^2]。 当提到互相关函数时,实际上是指卷积运算的一种形式,其中卷积核并不翻转而是直接应用于输入信号之上;然而,在实践中两者往往被混用并统称为“卷积”。因此可以说CNN是在提取图像的每个局部(感受野)范围和卷积核之间进行这种类似于互相关的运算过程来获取有用的表征。 ### 使用方法 为了利用卷积核实现有效的特征抽取: - **初始化**:通常会随机设定初始值作为各层中不同大小/形状的多个卷积核; - **前向传播阶段**:让这些预设好的模板依次作用于待分析对象表面各个子块上面,并记录下每次相乘累加之后的结果形成新的激活映射图(Feature Map)。此步骤能够帮助模型自动学习到哪些部分最值得关注以及如何组合低级属性构成更复杂的描述符; ```python import torch.nn as nn class SimpleCNN(nn.Module): def __init__(self): super(SimpleCNN, self).__init__() # 定义一个简单的二维卷积层,使用3x3大小的卷积核 self.conv_layer = nn.Conv2d(in_channels=1, out_channels=8, kernel_size=(3, 3), stride=1) def forward(self, x): # 前向传播逻辑 output = self.conv_layer(x) return output ``` 上述代码展示了定义带有单个`nn.Conv2d()`模块实例化的简单CNN架构方式之一。这里创建了一个接受灰度图片(`in_channels=1`)作为输入并将生成八个不同的特征映射(`out_channels=8`)输出给后续处理环节使用的三层感知机样式的分类器框架。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值