当我们说卷积神经网络(CNN)时,通常是指用于图像分类的二维CNN。但是,现实世界中还使用了其他两种类型的卷积神经网络,即1维CNN和3维CNN。在本指南中,我们将介绍1D和3D CNN及其在现实世界中的应用。我假设您已经大体上熟悉卷积网络的概念。
初学者可能会理解为1维CNN处理一维的数据,2维CNN处理二维的数据,这是错误的!!!

在卷积神经网络(CNN)中,一维和二维滤波器并不是真正的一维和二维。这是只是描述的惯例。

二维CNN | Conv2D

在Lenet-5架构中首次引入的标准卷积神经网络,其Conv2D通常用于图像数据。 之所以称其为2维CNN,是因为内核在数据上沿2维滑动 ,如下图所示。

内核在图像上滑动
内核在图像上滑动

使用CNN的整体优势在于,它可以使用其内核从数据中提取空间特征,而其他网络则无法做到。例如,CNN可以检测图像中的边缘,颜色分布等,这使得这些网络在图像分类和包含空间属性的其他类似数据中非常强大。

# 以下是在keras中添加Conv2D图层的代码。
import keras
from keras.layers import Conv2D
model = keras.models.Sequential()
model.add(Conv2D(1, kernel_size=(3,3), input_shape = (128, 128, 3)))
model.summary()

参数input_shape(128、128、3)表示图像的(高度,宽度,深度)。参数kernel_size(3,3)表示内核的(高度,宽度),并且内核深度将与图像的深度相同。

一维CNN | Conv1D

在介绍Conv1D之前,首先给出一个提示。即在Conv1D中,内核沿一维滑动。现在,让我们在此处暂停博客,考虑哪种类型的数据仅需要内核在一个维度上滑动并具有空间特性?
答案是时间序列数据。让我们看一下以下数据。
来自加速度计的序列数据
来自加速度计的序列数据

该数据是从人戴在手臂上的加速度计中收集的。数据表示所有三个轴的加速度。一维CNN可以根据加速度计数据执行活动识别任务,例如人的身姿,行走,跳跃等。此数据有2个维度。第一维是时间步长,其他维是3轴上的加速度值。
下图说明了内核如何在加速度计数据上移动。每行代表某个轴的时间序列加速度。内核只能沿时间轴一维移动。

内核在加速度计数据上滑动
内核在加速度计数据上滑动

# Keras中的Conv1D层
import keras
from keras.layers import Conv1D
model = keras.models.Sequential()
model.add(Conv1D(1, kernel_size=5, input_shape = (120, 3)))
model.summary()

参数input_shape(120,3)表示120个时间步,每个时间步中有3个数据点。这3个数据点是x,y和z轴的加速度。参数kernel_size为5,表示内核的宽度,内核高度将与每个时间步中的数据点数相同。
同样,一维CNN也可用于 音频和文本数据因为我们还可以将声音和文本表示为时间序列数据。请参考下面的图片。
文本数据作为时间序列
文本数据作为时间序列

Conv1D广泛应用于感官数据,加速度计数据就是其中之一。

三维CNN | Conv3D

在Conv3D中,内核按3个维度滑动,如下所示。让我们再考虑一下哪种数据类型需要内核在3维上移动?
内核在3D数据上滑动
内核在3D数据上滑动

Conv3D主要用于3D图像数据。例如磁共振成像(MRI)数据。MRI数据被广泛用于检查大脑,脊髓,内部器官等。甲计算机断层扫描(CT)扫描也是三维数据,这是通过组合从身体周围的不同角度拍摄的一系列X射线图像的创建的一个例子。我们可以使用Conv3D对该医学数据进行分类或从中提取特征。
CT扫描和MRI的3D图像的横截面
CT扫描和MRI的3D图像的横截面

# 以下是在keras中添加Conv3D层的代码。
import keras
from keras.layers import Conv3D
model = keras.models.Sequential()
model.add(Conv3D(1, kernel_size=(3,3,3), input_shape = (128, 128, 128, 3)))
model.summary()

这里参数Input_shape(128,128,128,3)有4个维度。3D图像是4维数据,其中第四维代表颜色通道的数量。就像平面2D图像具有3维一样,其中3维代表色彩通道。参数kernel_size(3,3,3)表示内核的(高度,宽度,深度),并且内核的第4维与颜色通道相同。

  • 在1D CNN中,内核沿1个方向移动。1D CNN的输入和输出数据是2维的。主要用于时间序列数据。
  • 在2D CNN中,内核沿2个方向移动。2D CNN的输入和输出数据是3维的。主要用于图像数据。
  • 在3D CNN中,内核在3个方向上移动。3D CNN的输入和输出数据是4维的。通常用于3D 图像数据(MRI,CT扫描)。
目录引言二维CNN | Conv2D一维CNN | Conv1D3维CNN | Conv3D摘要引言当我们说卷积神经网络(CNN)时,通常是指用于图像分类的二维CNN。但是,现实世界中还使用了其他两种类型的卷积神经网络,即一维CNN和3维CNN。在本指南中,我们将介绍1D和3D CNN及其在现实世界中的应用。我假设您已经大体上熟悉卷积网络的概念。二维CNN | Conv2D在Lenet-5架构中首次引入的标准卷积神经网络,其Conv2D通常用于图像数据。之所以称其为2维CNN,是因为内核在数据上沿2 地址:https://www.cnblogs.com/LXP-Never/p/10763804.html 在看这两个函数之前,我们需要先了解一维卷积(conv1d)和二维卷积(conv2d),二维卷积是将一个特征图在width和height两个方向进行滑动窗口操作,对应位置进行相乘求和;而一维卷积则只是在width或者height方向上进行滑动窗口并相乘求和。 一维卷积:... 1维卷积,核沿1个方向移动。一维CNN的输入和输出数据是二维的。主要用于时间序列数据。 2维卷积,核沿2个方向移动。二维CNN的输入输出数据是三维的。主要用于图像数据。 3维卷积,核沿三个方向移动。三维CNN的输入输出数据是4维的。主要用于3D图像数据(MRI,CT扫描)。 卷积神经网络 1、padding 在卷积操作中,过滤器(核)的大小通常为奇数 3x3,5x5。好处有两点: 在特征图(二维卷积)中存在一个中心像素点。有一个中
文章目录1d/2d/3d卷积卷积-nn.Conv2d()尺寸计算转置卷积-nn.ConvTransposenn.ConvTranspose代码尺寸计算 1d/2d/3d卷积 卷积运算:卷积核在输入信号(图像)上滑动,相应位置上进行乘加 卷积核:又称为滤波器,过滤器,可认为是某种模式,某种特征。 卷积过程类似于用一个模版去图像上 寻找与它相似的区域,与卷积核模式 越相似,激活值越高,从而实现特征 AlexNet卷积核可视化,发现卷积核学习 到的是边缘,条纹,色彩这一些细节模式 卷积维度:一般情况
  他们处理的都是input tensor前几个维度的信息。   1)1D主要用于NLP中的N_gram,一维卷积又称时域卷积。   2)2D3D卷积用于图像。其中2D卷积处理的是一张图像,3D卷积处理的就是多张图像。3D卷积考虑时间维度的信息。   参考资料:   https://github.com/vdumoulin/conv_arithmetic 本文分为几个部分来详解Conv2d与Conv1d。主要侧重于Conv2d 本文记于2020年12月15日,起因是DGCNN中部分卷积使用了二维卷积,部分卷积使用了一维卷积。加之之前对Conv2d与Conv1d属于一种迷迷糊糊的状态,趁着这个机会弄清楚。 Conv2d原理(二维卷积层) 二维互相关运算 互相关运算与卷积运算 虽然卷积层得名于卷积(convolution)运算,但所有框架在实现卷积层的底层,都采用的是互相关运算。实际上,卷积运算与互相关运算类似,为了得到卷积运算 # With square kernels and equal stride conv1 = nn.Conv2d(1, 10, kernel_size=5) conv2 = nn.Conv2d(10, 20, kernel_size=5) conv2_drop = nn.Drop.
IEEE Access的一篇文章,其模型在RWF-2000数据集获得了92%的准确率,作者提出了轻量级的空间注意模块和时间注意模块,还有一个Frame-grouping方法,可以与传统的二维卷积神经网络2D CNNs)相结合,该方法是本文的亮点,作者通过消融实验证明了Frame-grouping方法获得的提升最大,仅使用Frame-grouping都可以在RWF-2000数据集获得88%的准确率,而且Frame-grouping还降低了计算量,更有利于部署在硬件端。下图为整个模型的流程图: 空间注意力M
模型inceptionv1-v4Inception增加1×1层 5*5->2*3*3, 1*n*n*1, 并行pool,全链接层替换为均值pooling global average pooling
2D卷积神经网络(CNN)和1D卷积神经网络(TCN)的主要区别在于它们处理的数据类型不同。 2D CNN通常用于处理图像数据,其中每个图像由像素组成,可以看做是二维数组。2D CNN使用2D卷积核来提取图像中的空间特征,例如边缘,纹理和形状。卷积核在图像的每个位置上滑动,并将卷积核中的权重与图像中对应位置的像素相乘,然后将结果相加得到卷积特征图。2D CNN还通常使用池化层来减少特征图的大小,并减少模型中的参数数量。 而1D CNN通常用于处理时间序列数据或文本数据,其中数据可以看做是一维数组。1D CNN使用1D卷积核来提取时间序列或文本中的特征。卷积核在时间序列或文本的每个位置上滑动,并将卷积核中的权重与时间序列或文本中对应位置的值相乘,然后将结果相加得到卷积特征图。1D CNN也可以使用池化层来减少特征图的大小,并减少模型中的参数数量。 因此,2D CNN和1D CNN在处理的数据类型上有所不同,适用于不同的任务。但它们的基本结构和工作原理是相似的。
一定要坚持创作更多高质量博客哦, 小小红包, 以资鼓励, 更多创作活动请看: 新星计划2023: https://marketing.csdn.net/p/1738cda78d47b2ebb920916aab7c3584?utm_source=csdn_ai_ada_redpacket 新星计划2023: https://marketing.csdn.net/p/1738cda78d47b2ebb920916aab7c3584?utm_source=csdn_ai_ada_redpacket 上传ChatGPT/计算机论文等资源,瓜分¥5000元现金: https://blog.csdn.net/VIP_Assistant/article/details/130196121?utm_source=csdn_ai_ada_redpacket 新人首创任务挑战赛: https://marketing.csdn.net/p/90a06697f3eae83aabea1e150f5be8a5?utm_source=csdn_ai_ada_redpacket Microsoft Edge功能测评!: https://activity.csdn.net/creatActivity?id=10403?utm_source=csdn_ai_ada_redpacket 职场解惑讨论会: https://activity.csdn.net/creatActivity?id=10427?utm_source=csdn_ai_ada_redpacket 可持续能源技术真的能改变世界吗?: https://activity.csdn.net/creatActivity?id=10425?utm_source=csdn_ai_ada_redpacket 无效数据,你会怎么处理?: https://activity.csdn.net/creatActivity?id=10423?utm_source=csdn_ai_ada_redpacket 物联网技术正在如何影响我们的生活: https://activity.csdn.net/creatActivity?id=10421?utm_source=csdn_ai_ada_redpacket 生物识别技术能否成为应对安全挑战的绝佳选择?: https://activity.csdn.net/creatActivity?id=10411?utm_source=csdn_ai_ada_redpacket 应届生如何提高职场竞争力: https://activity.csdn.net/creatActivity?id=10409?utm_source=csdn_ai_ada_redpacket 讯飞星火大模型将超越chatgpt?: https://activity.csdn.net/creatActivity?id=10407?utm_source=csdn_ai_ada_redpacket 职场新人备忘录: https://activity.csdn.net/creatActivity?id=10405?utm_source=csdn_ai_ada_redpacket “裸奔”时代下该如何保护网络隐私: https://activity.csdn.net/creatActivity?id=10401?utm_source=csdn_ai_ada_redpacket VR vs AR:哪种技术更有潜力改变未来?: https://activity.csdn.net/creatActivity?id=10399?utm_source=csdn_ai_ada_redpacket 蓝桥杯备赛指南分享: https://activity.csdn.net/creatActivity?id=10317?utm_source=csdn_ai_ada_redpacket