深度学习周报(8.11~8.17)

目录

摘要

Abstract

1 CNN--卷积神经网络简介

2 CNN核心操作

2.1 卷积

2.2 池化

3 总结


摘要

本周主要学习了卷积神经网络(CNN)的相关知识,包括概念、基本架构与应用领域等知识,了解了CNN利用其结构高效地从图像等网格化数据中自动提取多层次特征的方法,重点学习了卷积与池化两大核心操作,认识了卷积背后的设计思想,理解了卷积核的使用与计算过程,同时还掌握了池化操作的类型(如最大池化、平均池化)、功能及计算方法。

Abstract

This week, I primarily studied the concepts, basic architecture, and application fields of Convolutional Neural Networks (CNNs). I gained an understanding of how CNNs leverage their specialized structure to efficiently extract hierarchical features from grid-like data such as images. Particular emphasis was placed on the two core operations—convolution and pooling. I explored the underlying design principles of convolution and acquired knowledge of convolutional kernels, their application, and the associated computational process. Additionally, I studied the types of pooling operations (e.g., max pooling and average pooling), their functional roles, and the mechanics of their computation.

1 CNN--卷积神经网络简介

卷积神经网络(Convolutional Neural Network, 简称 CNN)是在传统神经网络(特别是全连接前馈神经网络,也称多层感知机(MLP))的基础上发展出来的一种专门用于处理网格结构数据的深度学习模型,尤其是二维图像数据,因此在图像识别和处理领域表现出色。其设计灵感来源于生物视觉皮层中神经元的感受野机制,能够自动并高效地从原始数据中提取空间层级特征。

全连接前馈神经网络的结构就如之前所学的,包括一个输入层,一个输出层与数个隐藏层,如下图所示。全连接代表相邻两层的每个神经元都与另一层的所有神经元相连接;前馈代表信息从输入层开始,逐层向前传递,最终到达输出层;而多层感知机中的多层则代表包含一个或多个隐藏层,与无隐藏层的单层感知机相区别。

在使用这种结构处理图像时,可能会出现下列问题:

1.参数爆炸问题。例如,假设输入是一张 1000×1000 的图像,则输入维度为 1000000。如果第一隐藏层有 1000 个神经元,则仅这一层就需要 1000000 \times 1000=10^{9} 个参数。这会导致模型计算复杂度过高,难以训练且容易过拟合。

2.忽略空间局部性。这种结构将每个像素视为独立特征,忽略了图像中像素之间的空间邻近关系和局部模式(如边缘、纹理),无法有效捕捉局部特征。

3.缺乏平移不变性。如果图像中的物体发生平移,这种结构会将其视为完全不同的输入,导致识别失败。

为了解决上述问题,卷积神经网络引入了卷积和池化两个操作,也由此,一个完整的卷积神经网络通常包括输入层、卷积层 、激活函数层、池化层 、展平层、全连接层与输出层,有时也会有归一化层。卷积层使用可学习的卷积核在输入数据上滑动以提取局部特征;激活函数层通常位于线性变换(如全连接层、卷积层)之后,引入非线性,使网络能拟合复杂函数,常用 ReLU函数(计算高效);池化层降低特征图的空间尺寸(下采样),减少计算量,一定程度上增强平移不变性;展平层在全连接层前,将多维特征图展平为一维向量,为全连接层做准备,有的说法会合并到全连接层;全连接层通常位于网络末端,将高层特征整合,输出一维信息,用于最终分类或回归,其后可以添加全连接层,但不能再加卷积层与池化层,如果要以图像的形式输出,可以将全连接层去掉;归一化层对小批量数据进行标准化,加速训练,提升稳定性。

卷积神经网络的主要应用领域是计算机视觉,包括图像分类检索、目标检测与人脸识别等。例如在医疗影像分析时可用于X光、CT、MRI等医学图像的病灶检测(如肺结节、肿瘤)、分割与诊断辅助,具有重要的临床价值。另外它也可用于自然语言处理(NLP),进行文本分类、情感分析与句子建模等任务。

2 CNN核心操作

2.1 卷积

卷积操作背后的设计思想和机制是局部连接与权值共享。

对于图像而言,它具有非常强的区域性,其中的一个像素点,可能只与离它近的像素点关系大,而与离它远的关系小。例如,对于一张人脸照,其眼部的一个像素点与其周围的关系比较大,而与头发部分的关系较小。如果采用局部连接的方式,使每个神经元只与输入图像的一个局部区域连接,就可以在大幅减少参数数量的同时保留对局部空间结构的建模能力,这个局部区域也被称为感受野(Receptive Field)。

除此之外,图像中的某个特征与其在图像中的位置是无关的。比如对于同样一张人脸,由于拍摄角度的问题,一张照片的眼睛在左边,而另一张的在右边。如果用同一个神经元提取相同位置的特征,由于特征位置在变化,神经元提取到的特征也在变化,那么就不好进行学习。如果采用权值共享的方式,使一组固定的权重在整个输入图像上滑动并重复使用,就可以在继续减少参数数量的基础上实现了平移不变性,这组固定的权重就被称为卷积核。

卷积核(也称为滤波器,Filter)是卷积神经网络中最核心的可学习组件,负责从输入数据(如图像)中提取局部特征。它一般是一个小的数值矩阵,通过与输入数据的局部区域进行点积运算(即卷积操作),生成一个特征图,特征图尺寸公式如下:

Output Szie = W-K+1

其中 W 是输入尺寸,K 是卷积核大小。

即,若输入图像大小为 5\times 5,卷积核大小为 3 \times 3,那么输出的特征图尺寸应为 3\times 3

下面是一个卷积计算的例子:

a_{11} 的值由蓝框部分与卷积核进行内积运算得到,a_{12} 的值由蓝框部分向右移一位与卷积核进行内积运算得到,a_{21}的值由蓝框部分向下移一位与卷积核进行内积运算得到,其他依此类推。

每次计算,蓝色框都会向右或向下进行移动,移动的距离就是卷积中另一个参数,步长(stride),它控制着卷积核在图像上滑动时每次移动的像素距离。步长越大,卷积核扫描的次数越少,输出特征图的尺寸就越小。引入该参数后,输出特征图尺寸公式如下:

Output Szie = \frac{(W-K)}{S}+1

其中 S 就代表步长大小。

前面的例子假设步长为1。如果假设步长为2,那么就会变成:

另外,可以观察到,输出特征图相对输入图像的尺寸是减小的,为了使两者尺寸一致,可以在输入图像的周围加上一些默认值0,即进行填充(padding),填充尺寸公式如下:

P = \frac{K-1}{2}

同时,如果加入填充,输出特征图尺寸公式如下(有时可能需要别的尺寸):

Output Szie = \frac{(W-K+2P)}{S}+1

因此,为了能够对称填充,即在输入图像的上下和左右都进行填充,通常要求卷积核大小为奇数。

前面的计算都是单通道的,如果要处理多通道数据,可以将卷积核也变为多通道,并将之与每个通道相对应的输入数据做内积运算,从而得到输出,每个通道上的参数相互独立。

这种情况下,每个卷积核只生成一个输出特征图,如果要得到多通道输出特征图,可以采用多个卷积核,此时卷积核数即为最后生成的特征图的通道数。CNN中真正使用的就是多个多通道的卷积核结构,故卷积核参数量的计算公式为:

Ci \times Co\times Kw\times Kh

Ci 与 Co 分别为输入与输出的通道数,Kw 和 Kh 分别为卷积核长宽。

2.2 池化

池化层采取的池化操作主要利用池化核进行,包括最大池化与平均池化。前者取池化核覆盖输入数据区域的最大值作为输出,保留最显著的特征,最常用;后者取池化核覆盖输入数据区域的平均值作为输出,平滑特征,常用于全连接层前的全局平均池化。池化默认步长与池化核尺寸一致,无重叠。且通常不进行填充,如果有多的则忽略(比如输入为 47\times 47,而池化核只有 3\times 3 )。

举例如下:

池化操作是固定的数学运算,没有可学习的参数,因此不参与反向传播中的梯度更新。它可以减少图像尺寸,从而使计算量减少,能够一定程度减少平移鲁棒,即使有小幅度偏移,池化结果可能也一样,但这样会损失空间位置精度。

3 总结

本周主要学习了卷积神经网络的相关知识,重点了解了卷积和池化两大操作及其计算。下周计划学习卷积神经网络的经典网络架构,并进行代码实战,加深对其的理解。

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

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

相关文章

oracle dg duplicate限速

一些客户在搭建dg的时候需要进行限速&#xff0c;不然对生产库的影响比较大&#xff0c;例如将速度限制到200M每秒&#xff0c;语法如下&#xff1a;rman target sys/XXXX auxiliary sys/XXXXdg <<EOF run{ allocate channel d1 type disk rate 200M; allocate auxiliar…

飞算JavaAI智慧校园场景实践:从校园管理到师生服务的全链路技术革新

目录一、智慧校园核心场景的技术突破1.1 智能校园综合管理系统1.2 智慧教学资源共享系统1.3 校园生活服务集成系统二、智慧校园系统效能升级实践结语&#xff1a;重新定义智慧校园技术边界在校园管理领域&#xff0c;“规模化运营”与“个性化服务”的矛盾、“管理效率”与“服…

PTPX分析中,如何处理fsdb文件过大的问题?

PTPX分析中&#xff0c;如何处理fsdb文件过大的问题&#xff1f;摘要&#xff1a;下面将基于Synopsys工具链&#xff08;PrimeTime PX&#xff0c;即PTPX&#xff0c;用于功耗分析&#xff1b;Verdi&#xff0c;用于波形查看&#xff09;逐一解答每个部分。这些工具在SoC功耗验…

004.Redis 数据持久化概述及实战

文章目录Redis持久化说明Redis持久化RDB持久化AOF持久化混合持久化save与bgsaveRedis RDB持久化Redis 安装Redis RDB配置手动触发RDB持久化模拟写入测试数据模拟进程异常RDB的优缺点优势劣势Redis AOF持久化Redis 安装Redis AOF配置AOF持久化模拟写入测试数据模拟进程异常AOF的…

Kubernetes(K8s)常用命令全解析:从基础到进阶

Kubernetes&#xff08;K8s&#xff09;常用命令全解析&#xff1a;从基础到进阶 引言&#xff1a;为什么掌握K8s命令是云原生时代的必备技能&#xff1f; Kubernetes&#xff08;简称K8s&#xff09;作为容器编排的事实标准&#xff0c;已成为云原生应用部署、扩展和管理的核…

深入解析StatefulSet与K8s服务管理

目录 一、Statefulset控制器&#xff1a;概念、原理解读 有状态服务 无状态服务 StatefulSet部分组成 Headless service 二、Statefulset资源清单文件编写技巧 三、Statefulset使用案例&#xff1a;部署web站点 四、Statefulset管理pod&#xff1a;扩容、缩容、更新 St…

GaussDB常用术语缩写及释义

序号 术语全称释义1ACLAccess Control List访问控制列表&#xff0c;被授权访问某一资源的实体及其访问权限的列表。2APIApplication Programming Interface应用程序接口&#xff0c;一些预先定义的接口&#xff08;如函数&#xff0c;http接口&#xff09;或指软件系统不同组…

工业一体机5G通讯IC/ID刷卡让MES系统管理更智能

在智能制造升级过程中&#xff0c;MES 系统作为生产执行的核心枢纽&#xff0c;其数据采集的实时性、准确性与管理安全性直接决定管理效能。传统 MES 系统常面临数据传输滞后、设备对接繁琐、权限管理粗放等问题&#xff0c;而工业一体机凭借 5G 通讯与 IC/ID 刷卡功能&#xf…

电脑开机几秒后就停止然后再循环是怎么回事

硬件问题电源问题&#xff1a;电源内部的滤波电容若出现鼓包或漏液现象&#xff0c;会导致电源供电不足&#xff0c;从而使电脑开机后自动停止并重新启动。另外&#xff0c;电源线连接不良、插座无电或电源供应器故障&#xff0c;也可能引发此问题。CPU 散热问题&#xff1a;如…

OSCP - Proving Grounds - Vanity

主要知识点Linux命令注入rsync 脚本劫持(以前tar 备份脚本劫持也是利用了类似的方法&#xff09;具体步骤nmap扫描结果&#xff0c;发现web服务开放&#xff0c;并且 rsync服务开放&#xff0c;值得研究一下Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-30 14:37 UT…

详细探讨AI在金融、医疗、教育和制造业四大领域的具体落地案例,并通过代码、流程图、Prompt示例和图表等方式展示这些应用的实际效果。

1. 引言&#xff1a;AI技术概述及其在各行业的重要性人工智能(AI)技术近年来取得了突破性进展&#xff0c;从理论研究走向了广泛的商业应用。AI的核心技术包括机器学习、深度学习、自然语言处理、计算机视觉等&#xff0c;这些技术正在深刻改变各行各业的运营模式和服务方式。在…

我的第一个开源项目:从0到1,我在GitHub写下的成长印记

文章目录每日一句正能量前言✨ 一、写在前面&#xff1a;那天我点下了 “Create Repository”&#x1f680; 二、为什么我要做这件事&#xff1f;&#x1f6e0;️ 三、CommonUtilLibrary 是什么&#xff1f;⚡ 四、第一次 Star 和第一次 Issue&#x1f9ed; 五、我从中学到了什…

数据结构(03)——线性表(顺序存储和链式存储)

Hi&#xff01;探索者们&#x1f609;&#xff0c;欢迎踏入 408 数据结构的奇妙秘境&#x1f33f;&#xff01;​ 我是 ankleless&#x1f4da;&#xff0c;和你并肩的寻宝人&#xff5e; 这是我的探险手札&#x1f5fa;️&#xff0c;里面记着链表森林的岔路陷阱&#x1f578;…

bun + vite7 的结合,孕育的 Robot Admin 【靓仔出道】(十三)

主题定制 &#x1f4d6; 阅读时间&#xff1a;7 分钟 | &#x1f3af; 等级&#xff1a;进阶 前言 Robot_Admin应用程序具有灵活的主题系统&#xff0c;支持浅色、深色和基于系统的模式&#xff0c;以及程序化的主题定制。本指南介绍了如何在开发工作中使用和扩展主题功能。 …

检测pytorch是否安装好

如果pytorch安装成功即可导入。import torch查看cuda是否可用&#xff0c;可用的话返回“ture”。print(torch.cuda.is_available())查看可用的cuda数量。print(torch.cuda.device_count())查看cuda的版本号。print(torch.version.cuda)

java八股文-(spring cloud)微服务篇-参考回答

一. 面试官&#xff1a;Spring Cloud 5大组件有哪些&#xff1f;Spring Cloud 的五大核心组件包括&#xff1a;注册中心&#xff1a;第一代使用 Eureka&#xff0c;第二代使用 Nacos。负载均衡&#xff1a;第一代使用 Ribbon&#xff0c;第二代使用 Spring Cloud LoadBalancer。…

发布npmjs组件库

一.初始化项目1.用Vite创建空项目2.安装打包与声明文件插件pnpm i -D vite-plugin-dts sass二.首先修改项目内容// src\index.ts import { type App } from vue; import oneComponent from "./components/oneComponent/index.vue"; import twoComponent from ".…

【C语言16天强化训练】从基础入门到进阶:Day 2

&#x1f525;个人主页&#xff1a;艾莉丝努力练剑 ❄专栏传送门&#xff1a;《C语言》、《数据结构与算法》、C语言刷题12天IO强训、LeetCode代码强化刷题、洛谷刷题、C/C基础知识知识强化补充、C/C干货分享&学习过程记录 &#x1f349;学习方向&#xff1a;C/C方向 ⭐️人…

【学习笔记】面向AI安全的26个缓解措施

一、Mitre Atlas矩阵概述 ATLAS 矩阵从左到右以列形式显示了攻击中使用的策略的进展&#xff0c;ML 技术属于上面的每种策略。& 表示从 ATT&CK 改编而来。 详见&#xff1a;ATLAS Matrix | MITRE ATLAS™ 注&#xff1a;机翻的效果不是太好&#xff0c;对照理解用吧。 …

AI出题人给出的Java后端面经(十八)(日更)

链接双端链表 前一篇&#xff1a;AI出题人给出的Java后端面经&#xff08;十七&#xff09;&#xff08;日更&#xff09; 后一篇&#xff1a;null 目录 &#x1f535; 一、Java基础&#xff08;Java 17&#xff09; 答案&#xff1a; &#x1f5c3;️ 二、持久化层&…