各维度卷积神经网络内容收录

news2025/1/21 11:31:42

各维度卷积神经网络内容收录

卷积神经网络(CNN),通常是指用于图像分类的2D CNN。但是,现实世界中还使用了其他两种类型的卷积神经网络,即1D CNN和3D CNN。

  • 在1D CNN中,内核沿1个方向移动。1D CNN的输入和输出数据是2维的。主要用于NLP领域,时间序列数据。

image-20240531133156799

  • 在2D CNN中,内核沿2个方向移动。2D CNN的输入和输出数据是3维的。主要用于CV领域,图像数据(在视频的处理中,是对每一帧图像分别利用CNN来进行识别,没有考虑时间维度的信息)。

  • 在3D CNN中,内核在3个方向上移动。3D CNN的输入和输出数据是4维的。通常用于3D 图像数据(MRI,CT扫描)。

    气象数据,譬如温度(time,level,lat,lon),既具有时间维又有空间维,那用1D还是2D呢,有的神经网络使用1D CNN,有的2D CNN

    因为是时间序列,RNN序列结构的网络更适合,用1D CNN还是2D CNN, 关键在于:通过数据预处理,将数据处理成适合于1D CNN还是2D

    CNN。此外,气象数据,其有多个时间序列的子特征,因此建议用2D CNN 。

    卷积中:

    维度是指特征矩阵的channel数,例如7x7x256,其深度是256

    通过一个1x1,卷积核个数为64的Conv层,其高和宽保持不变,channel变为64

    所以,降维和升维指的是特征矩阵channel数的降低和增加

    池化中:

    降维是指特征图尺寸的减小,如4x4减小为2x2

    image-20240625155622089

    维度包含多种含义,例如在卷积层中,每一层都可以识别一些信息,越往后的信息就叫高维信息

一维CNN | Conv1D

Conv1D广泛应用于感官数据,加速度计 数据就是其中之一。即在Conv1D中,内核沿一维滑动。考虑哪种类型的数据仅需要内核在一个维度上滑动并具有空间特性?时间序列数据,让我们看以下数据。

image-20240530222115760

来自 加速度计 的序列数据

该数据是从人戴在手臂上的 加速度计 中收集的,数据表示XYZ三个轴的加速度。一维CNN可以根据 加速度计 数据执行活动识别任务,例如人的身姿,行走,跳跃等。

此数据有2个维度:第一维是时间步长,第二维是XYZ轴上的加速度值。

下图说明了内核如何在 加速度计 数据上移动,每行代表某个轴的时间序列加速度,内核只能沿时间轴一维移动。

image-20240530222752400

内核在 加速度计 上滑动

# 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个数据点是XYZ轴的加速度,参数kernel_size为5,表示内核的宽

度,内核的高度将与每个时间步中的数据点数相同。同样,一维CNN也可用于音频和文本数据因为我们还可以将声音和文本表示为时间序列数据。

请参考下面的图片,文本数据作为时间序列

image-20240530223146803

二维CNN | Conv2D

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

image-20240530221022742

内核在图像上滑动

使用CNN的整体优势在于,它可以使用其内核从数据中提取空间特征,而其他网络则无法做到。

例如: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 | Conv3D

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

image-20240530223438137

内核在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维与颜色通道相同。

了解更多知识请戳下:

@Author:懒羊羊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1880493.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

可信和可解释的大语言模型推理-RoG

大型语言模型(LLM)在复杂任务中表现出令人印象深刻的推理能力。然而,LLM在推理过程中缺乏最新的知识和经验,这可能导致不正确的推理过程,降低他们的表现和可信度。知识图谱(Knowledge graphs, KGs)以结构化的形式存储了…

模板方法模式在金融业务中的应用及其框架实现

引言 模板方法模式(Template Method Pattern)是一种行为设计模式,它在一个方法中定义一个算法的框架,而将一些步骤的实现延迟到子类中。模板方法允许子类在不改变算法结构的情况下重新定义算法的某些步骤。在金融业务中&#xff…

Python技术笔记汇总(含语法、工具库、数科、爬虫等)

对Python学习方法及入门、语法、数据处理、数据可视化、空间地理信息、爬虫、自动化办公和数据科学的相关内容可以归纳如下: 一、Python学习方法 分解自己的学习目标:可以将学习目标分基础知识,进阶知识,高级应用,实…

【简易版tinySTL】 哈希表与移动语义

基本概念 哈希表(HashTable)是一个重要的底层数据结构, 无序关联容器包括unordered_set, unordered_map内部都是基于哈希表实现。 哈希表是一种通过哈希函数将键映射到索引的数据结构,存储在内存空间中。哈希函数负责将任意大小的输入映射到…

谷歌开发者新号上架攻略:开发者实战经验分享

前段时间,不少开发者朋友们在纷纷在吐槽新账号没法上架成功。以前谷歌对新号是真的很严格,但现在情况似乎有所好转。 今天,和大家聊聊如何在新号成功上架上“快人一步”,以及怎样增加账号权重提高上架成功率。 首先,我…

Spring MVC中的DispatcherServlet、HandlerMapping和ViewResolver的作用

在Spring MVC框架中,DispatcherServlet、HandlerMapping和ViewResolver是核心组件,它们各自承担着不同的角色和任务: 1.DispatcherServlet:它是Spring MVC生命周期中的前端控制器,负责接收HTTP请求并将它们分发给相应的…

Echarts地图实现:各省市计划录取人数

Echarts地图实现:各省市计划录取人数 实现功能 本文将介绍如何使用 ECharts 制作一个展示中国人民大学2017年各省市计划录取人数的地图。我们将实现以下图表形式: 地图:基础的地图展示,反映不同省市的录取人数。散点图&#xf…

vue3+ts+vite项目中使用spreadjs,通过script标签引入spreadjs可以提高打包速度

https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/quickstart/quickstart-js 右键另存这个官方的示例页面可以下载全部js文件 https://demo.grapecity.com.cn/SpreadJS/WebDesigner/index.html spread.html: <!DOCTYPE html> <html lang"zh">…

问题处理记录与深入:系统线程耗尽,Java无法调用native方法新建线程

1. 问题处理记录 1.1 问题描述 公司使用Presto作为OLAP查询引擎&#xff0c;Presto的coordinator节点在运行过程中报错 java.lang.OutOfMemoryError: unable to create native thread: possibly out of memory or process/resource limits reachedat java.base/java.lang.Thre…

用Roofline模型去分析pytorch和Triton算子

用Roofline模型去分析pytorch和Triton算子 1.参考链接2.测试环境3.安装相关依赖4.锁频5.获取理论算力6.创建测试脚本7.运行测试程序生成Roofline图8.NVIDIA Nsight Compute生成Roofline9.效果图A.nn.LinearB.Triton实现 本文演示了如何用Roofline模型去分析pytorch和Triton算子…

Mx Admin 基于react18的后台管理系统

前言 Mx Admin 基于React18 vite5 antd5的后台管理系统&#xff0c; 基于RBAC的权限控制系统&#xff0c;动态菜单和动态路由支持tab路由缓存嵌套菜单支持多种菜单布局模式亮暗色主题切换

AttGAN实验复现 2024

AttnGAN 代码复现 2024 文章目录 AttnGAN 代码复现 2024简介环境python 依赖数据集TrainingPre-train DAMSMTrain AttnGAN SamplingB_VALIDATION 为 False (默认)B_VALIDATION 为 True 参考博客 简介 论文地址&#xff1a; https://arxiv.org/pdf/1711.10485.pdf 代码 python…

Unity实现简单的MVC架构

文章目录 前言MVC基本概念示例流程图效果预览后话 前言 在Unity中&#xff0c;MVC&#xff08;Model-View-Controller&#xff09;框架是一种架构模式&#xff0c;用于分离游戏的逻辑、数据和用户界面。MVC模式可以帮助开发者更好地管理代码结构&#xff0c;提高代码的可维护性…

【web】2、集成插件

1、element-plus 官网地址:设计 | Element Plus 安装 plus 及 icon 图标库 1.1 官网提供plus安装方法&#xff1a; 1.2 官网提供 icon 安装方法 1.3 安装 pnpm install element-plus element-plus/icons-vue main.ts全局安装element-plus,element-plus默认支持语言英语设…

isspace()方法——判断字符串是否只由空格组成

自学python如何成为大佬(目录): https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 isspace()方法用于判断字符串是否只由空格组成。isspace()方法的语法格式如下&#xff1a; str.isspace() 如果字符串中只包含空格&…

深度学习基准模型Mamba

深度学习基准模型Mamba Mamba(英文直译&#xff1a;眼镜蛇)具有选择性状态空间的线性时间序列建模&#xff0c;是一种先进的状态空间模型 (SSM)&#xff0c;专为高效处理复杂的数据密集型序列而设计。 Mamba是一种深度学习基准模型&#xff0c;专为处理长序列数据而设计&…

ONLYOFFICE 8.1 版本桌面编辑器测评

在现代办公环境中&#xff0c;办公软件的重要性不言而喻。从文档处理到电子表格分析&#xff0c;再到演示文稿制作&#xff0c;强大且高效的办公软件工具能够极大提升工作效率。ONLYOFFICE 作为一个功能全面且开源的办公软件套件&#xff0c;一直以来都受到广大用户的关注与喜爱…

C++:typeid4种cast转换

typeid typeid typeid是C标准库中提供的一种运算符&#xff0c;它用于获取类型的信息。它主要用于类型检查和动态类型识别。当你对一个变量或对象使用typeid运算符时&#xff0c;它会返回一个指向std::type_info类型的指针&#xff0c;这个信息包含了关于该类型名称、大小、基…

C#进阶-ASP.NET WebForms调用ASMX的WebService接口

ASMX 文件在 ASP.NET WebForms 中提供了创建 Web 服务的便捷方式&#xff0c;通过公开 Web 方法&#xff0c;允许远程客户端调用这些方法并获取数据。本文介绍了 ASMX 文件的基本功能、如何定义 WebService 接口、通过 HTTP 和 SOAP 请求调用 WebService 接口&#xff0c;以及使…

python实现网页自动化(自动登录需要验证的网页)

引言: python作为实现网页自动化的一个重要工具,其强大的各种封装的库使得程序运行更加简洁,只需要下载相应的库,然后调用库中的函数就可以简便的实现我们想要的网页相关操作。 正文: 我的前几篇文章写了关于初学爬虫中比较容易上手的功能,例如爬取静态网页的数据、动…