当前位置: 首页 > news >正文

福田网站建设制作河池市住房城乡建设网站

福田网站建设制作,河池市住房城乡建设网站,html搜索引擎优化,母婴类网站怎么建设9.系统学习-卷积神经网络 简介输入层卷积层感受野池化层全连接层代码实现 简介 卷积神经网络是一种用来处理局部和整体相关性的计算网络结构,被应用在图像识别、自然语言处理甚至是语音识别领域,因为图像数据具有显著的局部与整体关系,其在图…

9.系统学习-卷积神经网络

  • 简介
  • 输入层
  • 卷积层
  • 感受野
  • 池化层
  • 全连接层
  • 代码实现

简介

卷积神经网络是一种用来处理局部和整体相关性的计算网络结构,被应用在图像识别、自然语言处理甚至是语音识别领域,因为图像数据具有显著的局部与整体关系,其在图像识别领域的应用获得了巨大的成功。卷积神经网络中,一般包含5种类型的网络层:
在这里插入图片描述

输入层

输入层(Input Layer)通常是输入卷积神经网络的原始数据或经过预处理的数据,可以是图像识别领域中原始三维的多彩图像,也可以是音频识别领域中经过傅里叶变换的二维波形数据,甚至是自然语言处理任务中一维表示的句子向量。

以图像分类任务为例,输入层输入的图像一般包含 RGB 三个通道,是一个由长宽分别为 H H H W W W 组成的 3 维像素值矩阵 H × W × C H \times W \times C H×W×C,卷积网络会将输入层的数据传递到一系列卷积、池化等操作中进行特征提取和转化,最终由全连接层对特征进行汇总和结果输出。

根据计算能力、存储大小和模型结构的不同,卷积神经网络每次可以批量处理的图像个数不尽相同,若指定输入层接收到的图像个数为 N N N,则输入层的输出数据为:
N × C × H × W N \times C \times H \times W N×C×H×W

其中:

  • N N N 是批量大小(Batch Size)。
  • C C C 是通道数,例如 RGB 图像有 C = 3 C=3 C=3 个通道。
  • H H H W W W 分别是图像的高度和宽度。

卷积层

卷积层(Convolution Layer)通常用作对输入层输入数据进行特征提取,通过卷积核矩阵对原始数据中隐含关联性的一种抽象。卷积操作原理上其实是对两张像素矩阵进行点乘求和的数学操作,其中一个矩阵为输入的数据矩阵,另一个矩阵则为卷积核(滤波器或特征矩阵),求得的结果表示为原始图像中提取的特定局部特征。对应过程如下图所示:
在这里插入图片描述
卷积层中需要用到卷积核(滤波器或特征检测器)与图像特征矩阵进行点乘运算,利用卷积核与对应的特征感受域进行划窗式运算时,需要设定卷积核对应的大小、步长、个数以及填充的方式,
在这里插入图片描述
对应参数解释如表所示
在这里插入图片描述
卷积层有两个重要特性:局部连接权值共享

局部连接是指卷积层的节点仅仅和其前一层的部分节点相连接,只用来学习局部特征。局部感知结构的构思理念来源于动物视觉的皮层结构,其指的是动物视觉的神经元在感知外界物体的过程中起作用的只有一部分神经元。

在计算机视觉中,图像中的某一块区域中,像素之间的相关性与像素之间的距离同样相关,距离较近的像素间相关性强,距离较远则相关性就比较弱。由此可见,局部相关性理论也适用于计算机视觉的图像处理领域。因此,局部感知采用部分神经元接受图像信息,再通过综合全部的图像信息达到增强图像信息的目的。

权值共享是指计算同一深度的神经元时采用的卷积核参数是共享的。权值共享在一定程度上讲是有意义的,是由于在神经网络中,提取的底层边缘特征与其在图中的位置无关。但在某些场景中是无意的,例如在人脸识别任务中,我们期望在不同的位置学到不同的特征。

需要注意的是,权重只是对于同一深度切片的神经元是共享的。在卷积层中,通常采用多组卷积核提取不同的特征,即对应的是不同深度切片的特征,而不同深度切片的神经元权重是不共享的。相反,偏置这一权值对于同一深度切片的所有神经元都是共享的。

权值共享带来的好处是大大降低了网络的训练难度。假设在局部连接中隐藏层的每一个神经元连接的是一个 10 × 10 10 \times 10 10×10 的局部图像,因此有 10 × 10 10 \times 10 10×10 个权值参数。将这 10 × 10 10 \times 10 10×10 个权值共享给剩下的神经元,也就是说隐藏层中一个神经元的权值参数相同,那么此时无论隐藏层神经元的数量是多少,需要训练的参数就是这 10 × 10 10 \times 10 10×10 个权值参数(也就是卷积核的大小)。

感受野

在CONV层每个输出节点的值仅依赖CONV层输入的一个区域,这个区域之外的其他输入值都不会影响输出值,该区域就是感受野。
在这里插入图片描述
图中是个微型CNN,来自Inception‑v3论文,原图是为了说明一个conv5x5可以用两个conv3x3代替,从下到上称为第1 , 2 , 3层:

  • 第 2 层左下角的值:是第 1 层左下红框中 3 × 3 3 \times 3 3×3 区域的值经过卷积,也就是乘加运算计算出来的。即第 2 层左下角位置的感受野是第 1 层左下红框区域。

  • 第 3 层唯一值:是第 2 层所有 3 × 3 3 \times 3 3×3 区域卷积得到的,即第 3 层唯一位置的感受野是第 2 层所有 3 × 3 3 \times 3 3×3 区域。

  • 第 3 层唯一值:是第 1 层所有 5 × 5 5 \times 5 5×5 区域经过两层卷积得到的,即第 3 层唯一位置的感受野是第 1 层所有 5 × 5 5 \times 5 5×5 区域。


感受野计算时需要注意以下几点:

  • 最后一层(卷积层或池化层)输出特征图感受野的大小等于卷积核的大小。

  • i i i 层卷积层的感受野大小和第 ( i + 1 ) (i+1) (i+1) 层的卷积核大小和步长有关,同时也与第 ( i + 1 ) (i+1) (i+1) 层感受野大小有关。

  • 计算感受野大小时忽略了图像边缘的影响,即不考虑 padding 的大小。

如果感受野大小使用的计算方式是采用从最后一层往下计算的方法,即先计算最深层在前一层上的感受野,然后逐层传递到第一层,使用的公式可以表示如下:

R F i = ( R F i + 1 − 1 ) × s t r i d e i + K s i z e i RF_i = (RF_{i+1} - 1) \times stride_i + Ksize_i RFi=(RFi+11)×stridei+Ksizei

其中, R F i RF_i RFi 是第 i i i 层卷积层的感受野, R F i + 1 RF_{i+1} RFi+1 是第 ( i + 1 ) (i+1) (i+1) 层上的感受野, s t r i d e stride stride 是卷积的步长, K s i z e Ksize Ksize 是本层卷积核大小。

如上图感受野的计算过程为:

R F 2 = 3 RF_2 = 3 RF2=3

R F 1 = ( 3 − 1 ) × 1 + 3 = 5 RF_1 = (3 - 1) \times 1 + 3 = 5 RF1=(31)×1+3=5

池化层

池化层又称为降采样层(Downsampling Layer),作用是对感受域内的特征进行筛选,提取区域内最具代表性的特征,能够有效地降低输出特征的尺寸,进而减少模型所需要的参数量。按操作类型通常分为最大池化(Max Pooling)、平均池化(Average Pooling)和求和池化(Sum Pooling),它们分别提取感受域内最大、平均与总和的特征值作为输出。最常用的是最大池化。
在这里插入图片描述

全连接层

全连接层( Full Connected Layer )负责对卷积神经网络学习提取到的特征进行汇总,将多维的特征输入映射为二维的特征输出,高维表示样本批次,低位常常对应任务目标.

代码实现

import torch 
from torch import nn 
%matplotlib inline 
class CNN(nn.Module):def __init__(self):super(CNN, self).__init__()self.conv1 = nn.Sequential(         # input shape (1, 28, 28)nn.Conv2d(in_channels=1,              # input heightout_channels=16,            # n_filterskernel_size=5,              # filter sizestride=1,                   # filter movement/steppadding=2,                  # padding to keep same width/height),                              # output shape (16, 28, 28)nn.ReLU(),                      # activationnn.MaxPool2d(kernel_size=2),    # choose max value in 2x2 area, output shape (16, 14, 14))self.conv2 = nn.Sequential(         # input shape (16, 14, 14)nn.Conv2d(16, 32, 5, 1, 2),     # output shape (32, 14, 14)nn.ReLU(),                      # activationnn.MaxPool2d(2),                # output shape (32, 7, 7))self.out = nn.Linear(32 * 7 * 7, 10)  # fully connected layer, output 10 classesdef forward(self, x):x = self.conv1(x)x = self.conv2(x)x = x.view(x.size(0), -1)           # flatten the output of conv2 to (batch_size, 32 * 7 * 7)output = self.out(x)return output
cnn = CNN() 
print(cnn)  # 网络结构

在这里插入图片描述

http://www.yayakq.cn/news/518970/

相关文章:

  • 如何在百度上做网站推广动漫制作专业认知报告
  • 网站建设图标旅游网站建设的背景意义
  • 房产中介网站开发与设计代码如何做企业网站推广
  • 制作一个网站步骤企业网站建设主要包括哪些内容
  • 个人做网站要备案吗聊城网站制作公司
  • 门户网站底部wordpress必备插件
  • 北京师范大学学风建设专题网站合理规划网站
  • 布吉个人网站建设阿里国际站网站建设
  • 手机自建网站平台企业网站建设的一般要素
  • 响应式网站建设有哪些好处蓝色网站素材
  • 邯郸形象网站建设怎样提升网站访问量
  • 无锡网站的优化推荐几个高端大气上档次网站
  • 专业的手机网站建设公司排名wordpress 注册用户列表
  • 做简单网站用什么软件河南工程建设 协会网站
  • wordpress页面源代码嘉兴有能做网站优化
  • 个人介绍网站内容购物网站开发 需求分析
  • 什么网站可以做平面设计赚钱融创中国最新消息
  • 利用access做网站属于网站的管理 更新 维护
  • 做的网站在百度上搜不出来网站建设国内外研究进展
  • 手机网站域名m.网站后台管理系统展望
  • 织梦商业网站内容管理系统培训学校机构
  • wordpress页面咋恢复天蝎网站推广优化
  • 网站页面布局优化石家庄做网站公司的电话
  • 做哪个网站招出国打工的多重庆网站网络推广推广
  • 怎么看网站文章的收录做网站软文怎么弄
  • 网站建设典型经验帝国建站教程
  • 免费网站ppt模板下载四川seo多少钱
  • 阿里网站怎样做seo东莞网站设计公司淘宝
  • 学校网站建设交流汇报青岛建站行业
  • 网站如何做用户的实名认证知名品牌vi设计案例分析