AI一点通:卷积神经网络的输出节点大小如何计算?全连接层必要输入大小如何设置

动画详解 CNN 卷积神经网络,每层数据流向清晰易懂 学习计算机视觉模型,首要的任务就是要学懂 CNN 卷积神经网络模型,因为很多计算机视觉模型都是基于 CNN 卷积神经网络模型进行优化升级设计的。而 CNN 卷积神经网络模型也是最基础的视觉模型,其中设计到的参数,定义,数据流向等如何操作,特别是 CNN 卷积的操作如何进行,本期介绍的这个工具,可以可视化 CNN 卷积的过程,以及整个 CNN 卷积神经网络模型的搭建。 阅读详情

在使用卷积网络(CNN)时,一个步骤是计算经过卷积和池化步骤后的输出大小,以便我们可以将输出连接到一个完全收集的线性层。

以Pytorch中的一维CNN为例,

 self.conv1 = nn.Conv1d(in_channels=1, out_channels=64, kernel_size=3, padding=1)

重要的参数包括input_channels,这里我们设置为1,但它可以根据你拥有的特征数量而多于1。在二维图像案例中,输入通道可以是RGB,在一维数据案例中,可以是时间序列问题中的多个传感器测量值。output_channels由我们在卷积中使用的滤波器数量决定,在我们的例子中,我们将其设置为64,意味着我们正在使用64个滤波器。kernel_size是我们使用的卷积滤波器的大小。padding用于调整空间分辨率。

所以,这个一维卷积模块的总输出大小等于out_channels乘以每个滤波器的输出大小。计算每个滤波器确切输出大小的公式是:

在这里插入图片描述

从公式中,我们可以看到它受到许多因素的影响,包括每个通道(在我们的例子中是1个通道)的序列输入大小、核心大小、填充大小和步长大小(通常设置为1)。

卷积层中的填充:

填充指的是在执行卷积操作之前向输入数据添加额外元素(通常是零)。
这样做是为了控制卷积层输出的大小。

填充的效果:

填充的主要目的是允许控制输出张量的空间维度(在本例中为长度)。
通过填充,你可以保持输入的大小,增加它,或控制它减少的量。
特别是,填充可以用来确保层的输出大小与输入大小相同,这在许多CNN架构中很常见,以保持输入通过网络层的空间分辨率。

填充值为1:

填充值为1意味着在输入的每一侧添加一个填充元素。
在一维卷积的背景下,这会在输入序列的开始和结束添加一个零值元素。
例如,如果你的输入序列是[a, b, c, d],在padding=1的情况下,它在卷积操作应用之前实际上变成了[0, a, b, c, d, 0]。

对输出大小的影响:
当核心大小为3且填充为1(如你的例子所示)时,卷积层将产生一个与输入长度相同的输出。这是因为填充补偿了由于卷积操作而可能发生的尺寸减少。

使用上述公式,我们可以获得每个输入序列的输出大小。在我们的例子中,由于核心大小为3,将填充设置为1,将使每个输入序列的输出大小与输入大小相同,很简单。在Pytorch中,我们也可以设置padding=‘same’,它会自动调整填充大小,以确保每个输入序列的输出大小与输入大小相同。

在卷积步骤之后,然后是池化步骤,它可以是:

self.pool = nn.MaxPool1d(kernel_size = 2)

在这个例子中,我们基本上将卷积的输出大小减半。所以最终,每个输入序列将变成输入大小的一半。

现在要获得上述两个步骤的总输出大小,我们需要乘以我们使用的滤波器数量。在我们的例子中,我们使用了64个滤波器,所以最终的输出大小应该是:

64* (input_size//2 )

这个大小就是我们应该用来设置后续步骤中完全连接层的输入大小。

阅读原文

英文

AI好书推荐

AI日新月异,再不学来不及了。但是万丈高楼拔地起,离不开良好的基础。您是否有兴趣了解人工智能的原理和实践? 不要再观望! 我们关于 AI 原则和实践的书是任何想要深入了解 AI 世界的人的完美资源。 由该领域的领先专家撰写,这本综合指南涵盖了从机器学习的基础知识到构建智能系统的高级技术的所有内容。 无论您是初学者还是经验丰富的 AI 从业者,本书都能满足您的需求。 那为什么还要等呢?

人工智能原理与实践 全面涵盖人工智能和数据科学各个重要体系经典

北大出版社,人工智能原理与实践 人工智能和数据科学从入门到精通 详解机器学习深度学习算法原理

CNN卷积神经网络代码实现及解析(卷积层池化层全连接层) 在第一层卷积层提取的基础特征上,第二层卷积层能够捕捉到更复杂的图像模式。这样做的目的是为了确保模型在训练时正确地应用特定的层行为。二维卷积核(输入通道数,输出通道数,卷积核大小,移动步长,输入图像的边界填充的像素数)这会影响模型中某些特定层的行为。二维最大池化层(池化窗口的大小,移动步长,输入图像的边界填充的像素数)全连接层将卷积层和池化层提取到的特征进行综合处理,最终。随着网络层数的增加,卷积层会逐渐提取。的特征,从而更好地进行图像识别任务。在初始层,卷积层提取图像中的。池化层通过减少特征图的尺寸, 阅读详情

相关推荐

人工智能学习:什么是CNN卷积神经网络

CNN(卷积神经网络)是一种擅长处理图像数据的深度学习模型,通过卷积层提取局部特征,池化层降维,全连接层输出结果。其特点包括局部连接、权值共享和强大的特征提取能力,具有平移、缩放不变性。CNN广泛应用于图像识别、视频分析、NLP、生物信息学等领域,在医学影像、语音识别、游戏AI等方面表现突出。随着技术发展,CNN持续推动各领域的创新突破。

limengshi138392的博客 902

计算CNN卷积层和全连接层的参数量

计算CNN卷积层和全连接层的参数量

计算机视觉领域 2023

从全连接层反推输入尺寸大小

全连接层:输出 512维 batch_size = 128 nn.Linear(128*8*8, 512), 输入尺寸(3通道图片):32x32=1024 batch_size = 128 channel = 3 torch.Size([128, 3, 32, 32]) 完整的网络结构: import torch.nn as nn class _Encoder(nn.Module): def __init__(self, layers): super(_Encoder, sel

Hello Word! 1188

CNN基本结构和经典网络

卷积网络的基本结构 数据输入层/ Input layer 3种常见的图像数据处理方式:一般CNN只用去均值 卷积计算层/ CONV layer 基本概念: depth:与神经元(filter)个数相等 stribe zero-padding 卷积宽长深度计算: 激励层(ReLU)  Sigmoid  Tanh(双曲正切)  ReLU ...

xifengw的博客 1万+

11 | Tensorflow实现卷积神经网络

卷积神经网络是一种特殊的多层神经网络,主要用于提取特征。CNN使用称为卷积和池化的两个操作将图像缩小为其基本特征,并使用这些特征适当地理解和分类图像。

微信号:RunsenLiu 9726

回归预测 | MATLAB实现CNN(卷积神经网络)多输入单输出

回归预测 | MATLAB实现CNN(卷积神经网络)多输入单输出 目录回归预测 | MATLAB实现CNN(卷积神经网络)多输入单输出基本介绍模型背景程序设计拓展学习发展历程主要节点参考资料致谢 基本介绍 MATLAB实现CNN(卷积神经网络)多输入单输出运行环境Matlab2018b及以上,基于深度学习工具箱。 模型背景 卷积神经网络是1989 年由纽约大学Lecun 提出的一种专门用来处理具有类似网格结构的数据的神经网络,例如时间序列数据和图像数据等。卷积神经网络可以看作是传统神经网络的改进,都采

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 6974

pytorch神经网络之卷积层与全连接层参数的设置

当使用pytorch写网络结构的时候,本人发现在卷积层与第一个全连接层的全连接层的input_features不知道该写多少?一开始本人的做法是对着pytorch官网的公式推,但是总是算错。

嘿芝麻的树洞 2万+

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet,在计算机视觉领域,卷积神经网络(Convolutional Neural Network,CNN)已然成为推动众多任务发展的核心力量。从早期简单的图像识别,到如今复杂的目标检测、语义分割、图像生成等任务,CNN 都展现出了卓越的性能。CNN 的发展历程见证了一系列经典模型的诞生,其中 LeNet 作为开山之作,为 CNN 的发展奠定了基础,而 ResNet 则通过创新性的设计,突破了传统神经网络的限制,使得网络能够构建得更深、性能更优。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 14万+

卷积层里面的填充与步幅

1、填充 填充(padding)是指在输入高和宽的两侧填充元素(通常是0元素)。图5.2里我们在原输入高和宽的两侧分别添加了值为0的元素,使得输入高和宽从3变成了5,并导致输出高和宽由2增加到4。图5.2中的阴影部分为第一个输出元素及其计算所使用的输入和核数组元素: 下面的例子里我们创建一个高和宽为3的二维卷积层,然后设输入高和宽两侧的填充数分别为1。给定一个高和宽为8的输入,我们发现输出的高和宽也是8。 import torch from torch import nn # 定义一个...

如月之恒,如日之升 667

多输入多输出 | MATLAB实现CNN(卷积神经网络)多输入多输出预测

多输入多输出 | MATLAB实现CNN(卷积神经网络)多输入多输出预测

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 5334

目标检测 | 卷积神经网络(CNN)详细介绍及其原理详解

卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,主要用于图像识别和计算机视觉任务。它的设计灵感来自于生物学中视觉皮层的工作原理。CNN的核心思想是通过输入层、卷积层、池化层、全连接层和输出层来提取图像特征并进行分类。本文将详细给大家介绍卷积神经网络的基本组成及其实现原理!~🌈

小哥谈 2969

CNN卷积神经网络及图像识别

CNN卷积神经网络及图像识别 前言 神经网络(neual networks)是人工智能研究领域的一部分,当前最流行的神经网络是深度卷积神经网络(deep convolutional neural networks, CNNs),虽然卷积网络也存在浅层结构,但是因为准确度和表现力等原因很少使用。目前提到CNNs和卷积神经网络,学术界和工业界不再进行特意区分,一般都指深层结构的卷积神经网络,层数从”几层“到”几十上百“不定。 CNNs目前在很多很多研究领域取得了巨大的成功,例如: 语音识别,图像识别,图像分割,

wmhsjtu的博客 6703

【STM32单片机】RS485通信—基于STM32G474芯片

做项目需要用485通信来控制Go电机参考资料:【【STM32F103C8T6系列】10. 实验例程——485(USART串口)通讯实验】 https://www.bilibili.com/video/BV19w411r7ka/?PDF: STM32G474 开发指南 正点原子 DMG474 开发板教程 第28章485只是物理层,代码逻辑还是UART串口通信,相当于是电路有RS485转换芯片,所以还是用UART串口通信方式。

m0_48808835的博客 3647

CNN卷积神经网络原理详解(上)

CNN卷积神经网络原理详解(上)前言卷积神经网络的生物背景我们要让计算机做什么?卷积网络第一层全连接层训练 前言 卷积网络(convolutional network),也叫作卷积神经网络(convolutional neural network,CNN),是一种专门用来处理具有类似网格结构的数据的神经网络。卷积网络在诸多应用领域都表现优异。‘卷积神经网络’一词表明该网络使用了卷积(convolu...

LEEANG121的博客 4万+

2022-8-3----Android10.0(MTK)-----SN_Writer 写入 SN 注意事项

SN_Writer、写入SN

qq_854189624的博客 1万+

一文说清STM32CubeMX中文汉化全流程(图解说明)

详细讲解STM32CubeMX中文汉化的完整流程,通过图文并茂的方式手把手教学,解决界面英文带来的使用障碍,让开发更高效。掌握stm32cubemx中文汉化技巧,提升嵌入式开发体验。

weixin_42499004的博客 6257

人工智能基础部分10-卷积神经网络CNN初步认识

大家好,我是微学AI,今天给大家介绍一下卷积神经网络,卷积神经网络(Convolutional Neural Network)是一种深度学习模型,也是最近几年受到最多关注的模型之一。它的核心是深度学习的卷积层,可以帮助用户抽取有效的特征,从而进行分类或者识别。这些特征可以是图像,文本,音频或者视频中的相关特征,可以构建许多实用的应用。

微学AI的博客 5240

生产实习-实习报告-Raspberry Pi的应用

生产实习-Raspberry Pi的应用 一.设计任务: 1、搭建树莓派开发环境 主要包括烧录树莓派操作系统,远程访问树莓派,树莓派接口配置以及树莓派与windows实现文件共享等。 2、树莓派的基本操作 控制GPIO点亮LED灯以及树莓派舵机云台控制 3、安装OpenCV及图像采集实验 OpenCV配合树莓派,直接读取来自树莓派摄像头Pi Camera的视频,进行人脸识别、边缘检测、颜色判别等各种计算机视觉开发。 4、树莓派小车远程Wi-Fi控制 使用树莓派驱动L298N,用树莓派板载Wi-Fi控制

青竹小轩的博客 750

多输入多输出 | Matlab实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测

多输入多输出 | Matlab实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 1439

ESP32设备驱动-直流电机与L298N电机驱动器

在本文中,我们将介绍如何使用ESP32通过L298N电机驱动器驱动直流电机。

视觉与物联智能 3593

把 SAP ABAP ALE 与 IDoc 玩明白:从架构、配置到排错的一套闭环方法

本文介绍了SAP集成中ALE与IDoc的核心概念与实战应用。ALE作为SAP分布式应用框架,通过异步消息机制实现系统间数据交换,其三层架构隔离业务与传输细节。IDoc作为标准化消息容器,包含控制、数据和状态记录。文章详细解析了配置要点(端口、伙伴参数)、处理流程(Process Code)、排错工具(BD87、WE09)及同系统测试方法,并提供了发送程序代码骨架。通过架构认知→配置→开发→运维的完整路径,帮助读者掌握ALE/IDoc的实际操作技能。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 218

对于卷积神经网络中全连接层的理解

全连接层的推导全连接层的前向计算全连接层的反向传播 全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的。 全连接层的前向计算 下图中连线最密集的2个地方就是全连接层,这很明显的可以看出全连接层的参数的确很多。在前向计算过程,也就是一个线性的加权求和的过程,全连接层的每一个输出都可以看成前一层的每一个结点乘以一个权重系数W,最后加上一个偏置值b得到,即 。如下图中第一个全连接层,输入有5044个神经元结点,输出有500个结点,则一共需

Stephen 1万+

【数据集实例】CMIP6气候模式数据下载-以河东地区为例

以河东地区为例,介绍CMIP6数据下载及处理

WW、forever的博客 4928

AI人工智能 卷积神经网络(CNN)

在架构上,普通的神经网络接收输入并通过一系列隐藏层转换它。在神经元的帮助下,每层都连接到另一层。普通神经网络的主要缺点是它们不能很好地扩展到完整的图像。CNN 的体系结构具有三维排列的神经元,称为宽度,高度和深度。当前图层中的每个神经元都连接到前一图层的一小部分输出。它类似于在输入图像上叠加一个。

weixin_51705943的博客 1839

论文必备 - 绘制YOLOv8模型在训练过程中,精准率,召回率,mAP_0.5,mAP_0.5:0.95,以及各种损失的变化曲线

文件是模型在训练过程中,实时记录训练的结果,和当时控制台输出的信息一致。当然还包含一些验证损失,学习率变化等数据。epoch:记录训练的轮次,总轮次为训练文件中设置的epochs大小。:边界框损失。在训练过程中,此值逐渐变小,越小表示模型预测的边界框与真实边界框之间的差异越小。:分类损失。在训练过程中,此值逐渐变小,越小表示模型对目标类别的预测越准确。:分布焦点损失。将边界框的回归问题转化为对边界框四个边的分布预测问题,越小表示预测越准确。:精确率也称为查准率。

Limiiiing的博客 1406

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

多输入多输出 | Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入多输出预测

多输入多输出 | Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入多输出预测

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 1137

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: OpenAI CEO被董事会开除:内情如何
下一篇: python一点通:参数列表里面有星号 * 什么意思?
robot_learner
博客等级 码龄7年 632粉丝 187原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值