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

在使用卷积网络(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 从业者,本书都能满足您的需求。 那为什么还要等呢?

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

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

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

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

相关文章

CPSC发布关于亚马逊含有纽扣电池或硬币电池产品的相关规则标准!UL4200A

2023年9月21日,美国消费品安全委员会(CPSC)在《联邦公报》上发布了纽扣及硬币电池及相关产品的最终规则(DFR)16 CFR 1263,以保护6岁以下儿童免受电池摄入危害。DFR将于2023年10月23日生效,除非消…

Git 教程

目录 Git 与 SVN 区别 Git 快速入门 学习目录 git简明指南 Git 安装配置 Git 工作流程、工作区、暂存区和版本库 Git 创建仓库 Git 基本操作 Git 分支管理 Git 查看提交历史 Git 标签 Git 远程仓库(Github) Git 服务器搭建 Git 是一个开源的分布式版本控…

如何写老客户开发信?维护客户邮件怎么写?

老客户开发信的写作技巧?针对老客户的营销邮件模板? 老客户开发信是维护和发展客户关系的关键工具之一。通过巧妙的信函,您可以巩固与老客户之间的联系,促使他们继续购买您的产品或服务。在本文中,蜂邮将分享一些建议…

小程序Tab栏与页面滚动联动

小程序tab栏切换与页面滚动联动 tab栏与页面滚动联动点击tab栏页面跳到指定位置滚动页面时切换tab栏 tab栏与页面滚动联动 在进行小程序开发时,需要实现点击tab栏页面滚动到某一指定位置,并且滚动页面时,小程序的tab栏进行切换。 在一开始&a…

黑苹果新手指导:名词解释常用软件常见问题说明

黑苹果新手指导:名词解释&常用软件&常见问题说明 写在前面名词解释系统篇引导篇工具篇 常见问题安装篇如何安装黑苹果?安装过程中卡在一排号怎么办?AMD处理器可以安装黑苹果 macOS吗?我的笔记本电脑为什么不能驱动独立显卡…

uni-app - 日期 · 时间选择器

目录 1.基本介绍 2.案例介绍 ①注意事项: ②效果展示 3.代码展示 ①view部分 ②js部分 ③css样式 1.基本介绍 从底部弹起的滚动选择器。支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器&a…

API之 要求接口上传pdf 以 合同PDF的二进制数据,multpart方式上传

实现 //时间戳13位毫秒private function getMillisecond() {list($s1,$s2) explode( ,microtime());return (float)sprintf(%.0f,(floatval($s1) floatval($s2)) * 1000);}// 组装参数private function gysscPost1($url,$data){// $data[timestamp] 1694402111964;$data[tim…

怎么批量提取文件名字到Excel中?

怎么批量提取文件名字到Excel中?Excel是由微软公司开发的一种电子表格软件,它是Microsoft Office办公套件的一部分。Excel提供了强大的数据处理和分析功能,用户可以使用Excel创建、编辑和管理电子表格,进行各种计算、数据分析、图…

【C++ 学习 ㊴】- 详解 C++ 的 I/O 流

目录 一、C 的 I/O 流 二、C 的标准 I/O 流 三、C 的文件 I/O 流 一、C 的 I/O 流 C 语言有一套完成数据读写(I/O)的解决方案: 使用 scanf()、gets() 等函数从键盘读取数据,使用 printf()、puts() 等函数向屏幕输出数据&#…

909-2014-T2

文章目录 1.原题2.算法思想3.关键代码4.完整代码5.运行结果 1.原题 二叉树采用二叉链表存储结构,设计算法,判断二叉树是否为满二叉树。叙述算法思想并给出算法实现。 2.算法思想 通过一次遍历,得到结点个数和树的高度。用结点个数和树的高…

全国市政公用事业和邮政、电信业发展数据,shp/excel格式

随着城市化进程的加速和人们对城市生活品质要求的提高,市政公用事业和邮政、电信业发展越来越受到关注。 今天我们来分享全国市政公用事业和邮政、电信业发展数据,为读者呈现一个更加全面的行业发展图景。 首先了解下数据的基本信息,格式为s…

2023亿发数字化智能工单,专业管理工单处理全流程,助力企业转型腾飞

伴随着智能化和信息化的不断深入,企业数字化转型势如腾飞。在这个过程中,工单管理成为生产、家电、后勤等多个管理场景下频繁应用的关键环节。如何满足管理方对设备、服务等智能化管理的需求,提升工单管理效率、规范管理流程,并实…

Fiddler模拟弱网环境

1.设置弱网:Rules-》Customize Rules 上传速度:1KB/300ms1KB/0.3s3.33KB/s 下载速度:1KB/150ms1KB/0.15s6.67KB/s 2.启动弱网:Rules-》Performance-》Simulate Modem Speeds 开启后,此项为勾选状态 3.验证弱网生效…

光量子计算再创融资高峰!法国 Quandela获投5000万欧元

​(图片来源:网络) 法国光量子计算公司Quandela致力于开发首台光量子计算机,目前已获得超过5,000万欧元的巨额融资。投资者包括通过“法国2030计划”获得的法国政府支持以及银行合作伙伴、个人。新的投资者包括法国投资公司Seren…

第十九章 绘图

目录 Java绘图类 Graphics 类 Graphics2D类 绘制图形 绘图颜色与画笔属性 设置颜色 设置画笔 绘制文本 设置字体 显示文字 显示图片 图像处理 放大与缩小 图像翻转 图像旋转 图像倾斜 Java绘图类 Graphics 类 Grapics 类是所有图形上…

Idea 2023.2.5配置(插件、Maven等)

IDEA2023.2.5配置 一. 插件Alibaba Java Coding Guidelines plugin supportMaven HelperMyBatisXSonarLintTranslationVuesion Theme 二. 自定义创建live template,快速写代码三. 修改全局配置3.1 Maven配置3.1.1 安装MavenStep1. 下载Step2. 安装Step3. 创建系统环…

NV080D语音芯片:让智能快递柜取件更便利

随着互联网的普及和电子商务的迅速发展,网购消费已经成为了越来越多人的选择。这也催生了一个庞大的“网购一族”,他们购买的各种商品会通过快递公司送到家门口。然而,收取快递往往也伴随着一系列问题。比如,派送时间和收件人取件…

详解python淘宝秒杀抢购脚本程序实现

文章目录 前言一、官网下载火狐浏览器二、下载geckodriver,并解压到火狐浏览器文件夹根目录三、添加火狐浏览器根目录到系统环境变量四、下载并安装python及pycharm开发工具五、进入淘宝六、使用Pycharm运行脚本,新建python文件,将代码复制到…

MP3音频文件体积怎么缩小?压缩的方法有哪些?

压缩音频文件可减小文件的大小,从而更轻松地上传到其他平台,或轻松的通过电子邮件进行分享。除此之外,压缩音频文件还可以节省硬盘上的储存空间。那MP3音频文件体积怎么缩小呢?继续阅读可查看压缩的详细流程。 什么是音频文件压缩…