卷积神经网络学习记录

目录

神经网络基础定义:

基本组成部分

工作流程

卷积层(卷积定义)【CONV】:

卷积层(Convolutional Layer)

特征提取:卷积层的主要作用是通过卷积核(或滤波器)运算提取输入数据(如图像)中的特征。​编辑

卷积核:卷积层由多个卷积核组成,每个卷积核负责检测输入数据中的特定特征。​编辑

局部连接:与全连接层不同,卷积层中的神经元只与输入数据的一个局部区域相连接,这个局部区域对应于卷积核的大小。

共享权重:卷积层中的卷积核在整个输入数据上滑动时,使用的是相同的权重(即卷积核的值),这意味着网络可以学习到在整个输入数据中通用的特征。​编辑

稀疏连接:由于局部连接的特性,卷积层的连接数远少于全连接层,这使得卷积层在参数数量上更加稀疏,有助于减少计算量和过拟合的风险。

步长和填充:卷积操作可以通过调整步长(stride)和填充(padding)来控制输出特征图的大小。​编辑左上角+pad 1:边缘填充全为0的数一圈                生成一个7*7的长度与宽度的输入数据​编辑

输出特征图:每个卷积核都会生成一个特征图(Feature Map),表示输入数据在该卷积核下的特征响应。一个卷积层可以有多个卷积核,因此会产生多个特征图。​编辑​编辑​编辑

激活函数:卷积操作后通常会跟一个非线性激活函数,如ReLU,以引入非线性,使网络能够学习更复杂的特征关系。​编辑如红色矩阵框最下面的,Bias b0的置是1,计算过程中要加上这个1,这个就是激活函数,偏置函数

多通道和多特征图:在处理彩色图像时,输入数据可能有多个通道,每个卷积核可以独立地在每个通道上操作,然后将结果相加,以生成特征图。

卷积操作:在神经网络中,卷积操作可以定义为将卷积核与输入数据的局部区域进行元素乘积后求和,这个过程在输入数据的每个位置重复进行,直到覆盖整个输入数据

重要参数:

卷积核(Convolutional Kernel)

特征图(Feature Map)

步长(Stride)

填充(Padding)

卷积操作

多通道和多特征图

激活函数

池化层(POOL):

最大池化(Max Pooling)

平均池化(Average Pooling)

求和池化(Sum Pooling)

全局池化(Global Pooling)

空间金字塔池化(Spatial Pyramid Pooling)

自适应池化(Adaptive Pooling)

全连接层(FC):

几层神经网络如何计算:

软件下载:

Anaconda与pytorch下载:


神经网络基础定义:

神经网络是一种模仿人脑神经元处理和传递信息方式的计算模型,它由大量的节点(或称为“神经元”)组成,这些节点通常被组织成层。神经网络通过学习输入数据之间的复杂关系和模式来执行任务,如分类、识别、预测等。

基本组成部分

  1. 神经元(Neurons):神经网络的基本单元,负责处理信息。
  2. 层(Layers):神经元被组织成层,包括输入层、隐藏层和输出层。
  3. 连接(Connections):神经元之间的连接,它们决定了信息如何在网络中流动。
  4. 权重(Weights):连接的强度,决定了输入对输出的影响程度。
  5. 偏置(Biases):加在神经元输入上的常数,用于调整激活函数的输出。
  6. 激活函数(Activation Functions):决定一个神经元是否应该被激活的函数,常见的有Sigmoid、ReLU等。

工作流程

  1. 前向传播(Forward Propagation):输入数据通过网络,每层神经元计算其输出并传递给下一层。
  2. 损失函数(Loss Function):衡量模型预测与实际结果之间的差异。
  3. 反向传播(Backpropagation):根据损失函数计算的梯度,通过网络反向传播,更新权重和偏置。
  4. 优化算法(Optimization Algorithms):如梯度下降,用于更新权重和偏置以最小化损失函数。

卷积层(卷积定义)【CONV】:

在神经网络中,特别是在卷积神经网络(Convolutional Neural Networks, CNNs)中,卷积是一种数学运算,用于提取输入数据(通常是图像)的特征。以下是神经网络中卷积的定义和关键概念:

卷积层(Convolutional Layer)

卷积层是CNN中的基本构建块,它使用卷积运算来处理输入数据。每个卷积层由多个卷积核(或滤波器)组成,每个卷积核负责检测输入数据中的特定特征。

  1. 特征提取:卷积层的主要作用是通过卷积核(或滤波器)运算提取输入数据(如图像)中的特征。
  2. 卷积核:卷积层由多个卷积核组成,每个卷积核负责检测输入数据中的特定特征。
  3. 局部连接:与全连接层不同,卷积层中的神经元只与输入数据的一个局部区域相连接,这个局部区域对应于卷积核的大小。
  4. 共享权重:卷积层中的卷积核在整个输入数据上滑动时,使用的是相同的权重(即卷积核的值),这意味着网络可以学习到在整个输入数据中通用的特征。
  5. 稀疏连接:由于局部连接的特性,卷积层的连接数远少于全连接层,这使得卷积层在参数数量上更加稀疏,有助于减少计算量和过拟合的风险。
  6. 步长和填充:卷积操作可以通过调整步长(stride)和填充(padding)来控制输出特征图的大小。左上角+pad 1:边缘填充全为0的数一圈                生成一个7*7的长度与宽度的输入数据
  7. 输出特征图:每个卷积核都会生成一个特征图(Feature Map),表示输入数据在该卷积核下的特征响应。一个卷积层可以有多个卷积核,因此会产生多个特征图。
  8. 激活函数:卷积操作后通常会跟一个非线性激活函数,如ReLU,以引入非线性,使网络能够学习更复杂的特征关系。如红色矩阵框最下面的,Bias b0的置是1,计算过程中要加上这个1,这个就是激活函数,偏置函数
  9. 多通道和多特征图:在处理彩色图像时,输入数据可能有多个通道,每个卷积核可以独立地在每个通道上操作,然后将结果相加,以生成特征图。
  10. 卷积操作:在神经网络中,卷积操作可以定义为将卷积核与输入数据的局部区域进行元素乘积后求和,这个过程在输入数据的每个位置重复进行,直到覆盖整个输入数据

重要参数:

1.输入图像宽度,长度,深度(w,h,c)

2.有多少个不同的卷积核(filter)

3.步长(每次横向,纵向移动的长度)

4.边界填充(边界填充的数值都为0)

5.激活函数(偏置函数)

卷积核(Convolutional Kernel)

卷积核是一个小型的矩阵(通常为正方形),它在输入数据上滑动(或卷积),并在每个位置计算卷积核与输入数据的元素乘积之和。这个操作会产生一个新的二维数组,称为特征图(Feature Map)。

特征图(Feature Map)

特征图是卷积操作的输出,它代表了输入数据在特定卷积核下的特征。每个卷积核都会产生一个特征图,而一个卷积层可以有多个卷积核,因此会产生多个特征图。

步长(Stride)

步长定义了卷积核在输入数据上滑动的间隔。如果步长为1,卷积核会在每个像素上滑动;如果步长大于1,卷积核会在每隔一个像素上滑动。

填充(Padding)

填充是在输入数据的边缘添加额外的像素,以控制输出特征图的大小。填充可以是零填充(Zero Padding),即添加零值像素,或者可以是反射填充(Reflect Padding),即添加输入数据的边缘像素的反射。

卷积操作

在神经网络中,卷积操作可以定义为:

  1. 定义卷积核:选择一个小型矩阵(卷积核),用于检测输入数据中的特定特征。
  2. 滑动窗口:将卷积核作为滑动窗口在输入数据上移动。
  3. 元素乘积:在每个位置,计算卷积核与输入数据的元素对应位置的乘积。
  4. 求和:将上一步得到的乘积求和,得到一个单一的数值。
  5. 生成特征图:重复上述步骤,直到覆盖整个输入数据,生成一个新的二维数组(特征图)。

多通道和多特征图

在处理彩色图像时,输入数据可能有多个通道(如RGB)。每个卷积核可以独立地在每个通道上操作,然后将结果相加,以生成特征图。此外,一个卷积层可以有多个卷积核,每个卷积核生成一个特征图,从而产生多个特征图。

激活函数

在卷积操作之后,通常会应用一个非线性激活函数(如ReLU),以引入非线性,使网络能够学习更复杂的特征。

卷积神经网络通过堆叠多个卷积层、池化层(Pooling Layers)和全连接层(Fully Connected Layers)来构建,以实现对输入数据的深度特征提取和分类。

池化层(POOL):

池化(Pooling)是卷积神经网络(CNN)中的一种操作,它通常跟在卷积层之后,用于降低特征图的空间维度,同时保留重要的特征信息。池化操作有助于减少模型的参数数量和计算量,同时也增加了模型的抽象能力,使其对输入数据的微小变化更加鲁棒。以下是池化的几种常见类型:

最大池化(Max Pooling)

用的最多

最大池化是最常见的池化类型。在最大池化中,每个池化窗口(通常为2x2或3x3)覆盖输入特征图的一个区域,然后输出该区域内的最大值。这种操作可以有效地保留最显著的特征,同时减少特征图的尺寸。

平均池化(Average Pooling)

平均池化与最大池化类似,但它输出的是池化窗口内所有元素的平均值。平均池化可以平滑特征图,减少噪声的影响。

求和池化(Sum Pooling)

求和池化输出的是池化窗口内所有元素的总和。这种池化方式不如最大池化和平均池化常见。

全局池化(Global Pooling)

全局池化是一种特殊的池化操作,它将整个特征图作为一个池化窗口。全局最大池化和全局平均池化分别输出整个特征图中的最大值和平均值。全局池化常用于网络的末端,以减少特征图的尺寸,为全连接层做准备。

空间金字塔池化(Spatial Pyramid Pooling)

空间金字塔池化是一种多尺度的池化方法,它将不同尺度的特征图组合起来,以捕获不同尺度的特征信息。

自适应池化(Adaptive Pooling)

自适应池化可以根据输出特征图的期望尺寸动态调整池化窗口的大小,以确保输出特征图的尺寸是固定的。

池化操作的参数通常包括:

  • 窗口大小(Window Size):池化窗口的尺寸,决定了每个池化操作覆盖的输入特征图区域的大小。
  • 步长(Stride):池化窗口在输入特征图上滑动的间隔。如果步长等于窗口大小,池化操作不会重叠;如果步长小于窗口大小,池化操作会重叠。

全连接层(FC):

  1. 定义: 全连接层是神经网络的一种基本层类型,通常位于网络的最后几层,用于分类任务的输出层。在全连接层中,每一个神经元与前一层的每一个神经元都相连接,这意味着每个输入都影响每个输出。

  2. 基本结构: 全连接层由输入层、隐藏层和输出层组成。输入层接收原始数据,隐藏层进行特征提取和非线性变换,输出层产生最终的分类或回归结果。

  3. 参数详解

    • 权重参数:全连接层中的每个连接都有一个对应的权重参数,这些权重在训练过程中学习得到。
    • 偏置参数:每个神经元都有一个偏置项,用于调整神经元的激活值。
  4. 计算方式: 全连接层的核心操作是矩阵向量乘积,即 y=Wx+by=Wx+b,其中 yy 为输出向量,WW 为权重矩阵,xx 为输入向量,bb 为偏置向量。

  5. 作用

    • 全连接层在整个网络中起到“分类器”的作用,将卷积层、池化层和激活函数等操作映射到的隐层特征空间,进一步映射到样本标记空间。
    • 在分类任务中,全连接层通常作为网络的最后一层,直接将全连接层的维度设为类别数量或通过Softmax函数输出每个类别的概率分布,从而实现对输入数据的分类

几层神经网络如何计算:

  1. CONV(Convolutional Layer) - 卷积层:

    • 卷积层是CNN中用于提取输入数据特征的层。它包含多个卷积核(或滤波器),每个卷积核在输入数据上滑动(卷积操作),并在每个位置计算卷积核与输入数据的元素乘积之和,生成新的特征图。
    • 卷积层能够捕捉输入数据的局部特征,如边缘、纹理等,并且通过共享权重减少模型参数。
  2. ReLU(Rectified Linear Unit) - 修正线性单元:

    • ReLU是一种常用的激活函数,定义为 f(x)=max⁡(0,x)f(x)=max(0,x),即当输入x小于0时输出0,大于0时输出x本身。
    • ReLU能够引入非线性到模型中,使得网络能够学习复杂的函数映射,同时它也有助于缓解梯度消失问题,加快训练速度。
  3. POOL(Pooling Layer) - 池化层:

    • 池化层用于降低特征图的空间维度,减少参数数量和计算量,同时提取重要特征。
    • 常见的池化操作包括最大池化(Max Pooling)和平均池化(Average Pooling)。最大池化输出池化窗口内的最大值,而平均池化输出池化窗口内的平均值。
  4. FC(Fully Connected Layer) - 全连接层:

    • 全连接层是神经网络中的一种层,其中每个神经元都与前一层的所有神经元相连。
    • 在CNN中,全连接层通常位于网络的末端,用于整合卷积层和池化层提取的特征,进行最终的分类或回归任务。
    • 全连接层的每个神经元对输入特征进行加权求和,并通过激活函数(如ReLU或Softmax)生成输出

只有CONV,FC算作神经网络层数,RELU,POOL不算

软件下载:

Anaconda与pytorch下载:

PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】_哔哩哔哩_bilibili

pytorch下载时用清华镜像:Anaconda之conda换国内清华源,切换官方与国内源【Anaconda为24版】_哔哩哔哩_bilibili

清华源:BY UP主:Galaxfy(这部分内容为这个up主的,有视频教程)

Step1:生成.condarc文件
conda config --set show_channel_urls yes

Step2:使用everything找到.condarc文件
强烈推荐下载使用everything进行检索,超级快!!
默认位置:C:\Users\<YourUserName>\.condarc

Step3:复制下列清华源到.condarc文件
channels:
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
show_channel_urls: true

Step4:查看是否添加成功
conda info

Step5:清除旧索引的干扰
conda clean -i

其他:还原默认官方源
清空.condarc内的内容

pytorch下载:PyTorch

教程链接:

Pytorch下载安装并运行测试【Windows,Anaconda虚拟环境下】_哔哩哔哩_bilibili

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

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

相关文章

element-ui 中el-calendar 日历插件获取显示的第一天和最后一天【原创】

需要获取el-calendar 日历组件上的第1天和最后一天。可以通过document.querySelector()方法进行获取dom元素中的值&#xff0c;这样避免计算问题。 获取的过程中主要有两个难点&#xff0c;第1个是处理上1月和下1月的数据&#xff0c;第2个是跨年的数据。 直接贴代码&#xff…

一个高度可扩展的 Golang ORM 库【GORM】

GORM 是一个功能强大的 Golang 对象关系映射&#xff08;ORM&#xff09;库&#xff0c;它提供了简洁的接口和全面的功能&#xff0c;帮助开发者更方便地操作数据库。 1. 完整的 ORM 功能 • 支持常见的关系模型&#xff1a; • Has One&#xff08;一对一&#xff09; • …

【大数据学习 | Spark-Core】Spark的改变分区的算子

当分区由多变少时&#xff0c;不需要shuffle&#xff0c;也就是父RDD与子RDD之间是窄依赖。 当分区由少变多时&#xff0c;是需要shuffle的。 但极端情况下&#xff08;1000个分区变成1个分区)&#xff0c;这时如果将shuffle设置为false&#xff0c;父子RDD是窄依赖关系&…

IDEA2024如何创建Web项目以及配置Tomcat

在Web项目的开发过程中&#xff0c;Tomcat作为一款开源的Servlet容器&#xff0c;扮演着至关重要的角色。它不仅能够提供稳定的运行环境&#xff0c;还支持多种Java EE规范&#xff0c;为开发者提供了丰富的功能支持。因此&#xff0c;正确配置Tomcat服务器对于确保Web项目的顺…

【通俗理解】隐变量的变分分布探索——从公式到应用

【通俗理解】隐变量的变分分布探索——从公式到应用 关键词提炼 #隐变量 #变分分布 #概率模型 #公式推导 #期望最大化 #机器学习 #变分贝叶斯 #隐马尔可夫模型 第一节&#xff1a;隐变量的变分分布的类比与核心概念【尽可能通俗】 隐变量的变分分布就像是一场“捉迷藏”游戏…

亚信安全与飞书达成深度合作

近日&#xff0c;亚信安全联合飞书举办的“走近先进”系列活动正式走进亚信。活动以“安全护航信息化 共筑数字未来路”为主题&#xff0c;吸引了众多数字化转型前沿企业的近百位领导参会。作为“走近先进”系列的第二场活动&#xff0c;本场活动更加深入挖掘了数字化转型的基础…

【Vue】 npm install amap-js-api-loader指南

前言 项目中的地图模块突然打不开了 正文 版本太低了&#xff0c;而且Vue项目就应该正经走项目流程啊喂&#xff01; npm i amap/amap-jsapi-loader --save 官方说这样执行完&#xff0c;就这结束啦&#xff01;它结束了&#xff0c;我还没有&#xff0c;不然不可能记录这篇文…

使用ENSP实现默认路由

一、项目拓扑 二、项目实现 1.路由器AR1配置 进入系统试图 sys将路由器命名为R1 sysname R1关闭信息中心 undo info-center enable 进入g0/0/0接口 int g0/0/0将g0/0/0接口IP地址配置为2.2.2.1/24 ip address 2.2.2.1 24进入g0/0/1接口 int g0/0/1将g0/0/1接口IP地址配置为1.…

Ansible--自动化运维工具

Ansible自动化运维工具介绍 1.Ansible介绍 Ansible是一款自动化运维工具&#xff0c;基于Python开发&#xff0c;集合了众多运维工具&#xff08;puppet、cfengine、chef、func、fabric&#xff09;的优点&#xff0c;实现了批量系统配置、批量程序部署、批量运行命令等功能。…

WSL安装不同版本ubuntu(已有ubuntu20.04,再装ubuntu18.04)

参考&#xff1a; 如何在 WSL 中删除指定版本的 Ubuntu&#xff08;以删除 Ubuntu 22.04 为例&#xff09;_wsl卸载某个-CSDN博客 已有ubuntu20.04&#xff0c;现在再安装一个ubuntu18.04 直接参考下面我写的链接的第四步&#xff0c;前面的步骤都不需要再做了 Win11安装WSL…

深度学习:GPT-1的MindSpore实践

GPT-1简介 GPT-1&#xff08;Generative Pre-trained Transformer&#xff09;是2018年由Open AI提出的一个结合预训练和微调的用于解决文本理解和文本生成任务的模型。它的基础是Transformer架构&#xff0c;具有如下创新点&#xff1a; NLP领域的迁移学习&#xff1a;通过最…

websocket是什么?

一、定义 Websocket是一种在单个TCP连接上进行全双工通信的协议&#xff0c;它允许服务器主动向客户端推送数据&#xff0c;而不需要客户端不断的轮询服务器来获取数据 与http协议不同&#xff0c;http是一种无状态的&#xff0c;请求&#xff0c;响应模式的协议(单向通信)&a…

1-golang_org_x_crypto_bcrypt测试 --go开源库测试

1.实例测试 package mainimport ("fmt""golang.org/x/crypto/bcrypt" )func main() {password : []byte("mysecretpassword")hashedPassword, err : bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)if err ! nil {fmt.Println(err)…

CSS —— 子绝父相

相对定位&#xff1a;占位&#xff1b;不脱标 绝对定位&#xff1a;不占位&#xff1b;脱标 希望子元素相对于父元素定位&#xff0c;又不希望父元素脱标&#xff08;父元素占位&#xff09; 子级是 绝对定位&#xff0c;不会占有位置&#xff0c; 可以放到父盒子里面的任何一…

风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计

风尚云网前端学习&#xff1a;一个简易前端新手友好的HTML5页面布局与样式设计 简介 在前端开发的世界里&#xff0c;HTML5和CSS3是构建现代网页的基石。本文将通过一个简单的HTML5页面模板&#xff0c;展示如何使用HTML5的结构化元素和CSS3的样式特性&#xff0c;来创建一个…

django authentication 登录注册

文章目录 前言一、django配置二、后端实现1.新建app2.编写view3.配置路由 三、前端编写1、index.html2、register.html3、 login.html 总结 前言 之前&#xff0c;写了django制作简易登录系统&#xff0c;这次利用django内置的authentication功能实现注册、登录 提示&#xff…

ctfshow单身杯2024wp

文章目录 ctfshow单身杯2024wp签到好玩的PHPezzz_sstiez_inject ctfshow单身杯2024wp 签到好玩的PHP 考点&#xff1a;序列化反序列化 <?phperror_reporting(0);highlight_file(__FILE__);class ctfshow {private $d ;private $s ;private $b ;private $ctf ;public …

ISUP协议视频平台EasyCVR萤石设备视频接入平台银行营业网点安全防范系统解决方案

在金融行业&#xff0c;银行营业厅的安全保卫工作至关重要&#xff0c;它不仅关系到客户资金的安全&#xff0c;也关系到整个银行的信誉和运营效率。随着科技的发展&#xff0c;传统的安全防护措施已经无法满足现代银行对于高效、智能化安全管理的需求。 EasyCVR视频汇聚平台以…

【代码pycharm】动手学深度学习v2-08 线性回归 + 基础优化算法

课程链接 线性回归的从零开始实现 import random import torch from d2l import torch as d2l# 人造数据集 def synthetic_data(w,b,num_examples):Xtorch.normal(0,1,(num_examples,len(w)))ytorch.matmul(X,w)bytorch.normal(0,0.01,y.shape) # 加入噪声return X,y.reshape…

zotero安卓测试版下载和使用

2023年年底&#xff0c;Zotero官方就已经推出了安卓版的测试版Zotero for Android (beta),&#xff0c;但名额有限且只能通过Google商店下载。此外&#xff0c;还有一些第三方开发的安卓应用&#xff0c;如Zoo for Zotero、ZotDroid等。 在首次使用Zotero安卓版时&#xff0c;用…