MatConvnet工具箱文档翻译理解(3)

2023-12-02 11:32

本文主要是介绍MatConvnet工具箱文档翻译理解(3),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第2章 神经网络计算

本章简要介绍了神经网络的计算方面,尤其是卷积神经网络,强调了理解和使用MatConvNet所需的概念。

2.1概述

神经网络(NN)是将数据x(例如图像)映射到输出向量y(例如图像标签)的函数。函数g = fL … f 1是较简单函数序列fl的组合,称为计算块或层。令x1; x2; :::; xL是网络中每个层的输出,并且令x0 = x表示网络输入。通过应用具有参数wl的函数fl,从先前输出xl-1计算每个中间输出xl = fl(xl-1; wl)。

在卷积神经网络(CNN)中,数据具有空间结构,是3D阵列或张量,其中第一两维H1(高度)和W1(宽度)被解释为空间维度。第三维度C1被解释为特征通道的数量。因此,张量x1表示C1维特征向量的H1 * W1字段,每个空间位置一个。张量中的第四维N1跨越多个数据样本,这些数据样本被打包在单个批次中用于效率并行处理。一个批次中的数据样本N1的数量被称为批量基数。网络被称为卷积,因为函数f1是本地和转换不变操作符(即非线性滤波器),如线性卷积。

还可以设想具有多于两个空间维度的CNN,其中附加尺寸可以表示体积或时间。 事实上,几乎没有先验对神经网络中数据格式的限制。 许多有用的NN包含卷积层与处理其他数据类型(例如文本字符串)的层的混合,或者执行不严格符合CNN假设的其他操作。

MatConvNet包括各种图层,包含在matlab /目录中,例如vl_nnconv(卷积),vl_nnconvt(卷积转置或去卷积)vl_nnpool(最大和平均池),vl_nnrelu(ReLU激活),vl_nnsigmoid(Sigmoid激活),vl_nnsoftmax(softmax运算符),vl_nnloss(分类正常丢失),vl_nnbnorm(分批正规化),vl_nnspnorm(空间规范化),vl_nnnormalize(局部响应规范化LRN)或vl_nnpdist(p距离)。 
有足够多的层来实现许多有趣的最先进的网络开箱即用,甚至从其他工具箱,如caffe导入。 
NNs通常用作分类器或回归。在fig. 1.1的示例中,输出^ y = f(x)是概率的向量,一个用于1000个可能的图像标签(狗,猫,三叶虫,…)中的每一个。如果y是图像x的真实标签,我们可以通过损失函数来测量CNN性能,该损失函数对分类错误赋予惩罚。然后可以调整或学习CNN参数以最小化在标记的示例图像的大数据集上的平均损失。

学习通常使用随机梯度下降(SGD)的变体。 虽然这是一个有效的方法(对于这种类型的问题),但网络可能包含几百万个参数,需要在数百万的图像上进行训练; 因此,效率是MATLAB设计中的一个重要部分,如第1.4节中进一步讨论的。 SGD还需要计算CNN导数,如下一节所述。

2.2网络结构

在最简单的情况下,NN中的层按顺序排列; 然而,更复杂的互连也是可能的,并且事实上在许多情况下非常有用。 本节讨论这种配置,并引入一个图形符号来可视化它们。

2.2.1序列

首先考虑网络中的计算块f。 这可以表示示意性地作为接收数据x和参数w作为输入并且产生数据y作为输出的框: 
这里写图片描述 
如上所述,在最简单的情况下,块被链接在序列f1-> f2-> … fL中,产生以下结构: 
这里写图片描述
给定输入x0,评估网络是评估所有块的简单问题。从左到右,其定义复合函数xL = f(x0; w1;:::; wL)。

2.2 网络结构

这里写图片描述

2.2.2定向非循环图

一个不限于一个接一个地链接层。 事实上,评估NN唯一的要求是,当必须评估层时,在其之前已经评估了其所有输入。 当层之间的互连形成有向无环图或简称DAG时,这是可能的。 
为了可视化DAG,引入用于网络变量的附加节点是有用的,fig.2.1的示例中那样。这里框表示函数,圆圈表示变量(参数被视为特殊类型的变量)。 在该示例中,x0和x4是CNN的输入,x6和x7是输出。 
函数可以采取任何数量的输入(例如f3和f5取两个)并且具有任何数量的输出(例如f4具有两个)。 这个图的几个值得注意的属性: 
1图表是二分的,在某种意义上,箭头总是从框到圆和 
从圆圈到框。 
2函数可以有任意数量的输入或输出; 变量和参数可以具有任意数量的输出(具有更多一个输出的参数被共享在不同层之间); 变量最多只有一个输入和参数无。 
3没有输入箭头和参数的变量不由网络计算,但必须在评估之前设置,即它们是输入。 任何变量(或甚至参数)可以用作输出,但是这些变量通常是没有输出的变量。 
4由于图是非循环的,因此可以通过对函数和函数进行排序来评估CNN一个接一个地计算它们(在该示例中,评估函数阶f1; f2; f3; f4; f5将工作)。

2.3计算具有反向传播的导数

学习NN需要计算相对于网络的损失的导数参数。使用称为反向传播的算法计算导数,其是用于导数的链规则的存储器有效实现。首先,我们讨论单层的导数,然后讨论整个网络的导数。

2.3.1张量函数的导数

···这一章公式太多,不知道怎么在这个编辑器页面上打公式,暂时放一下,以后有时间再补上···主要是原理,在前面CNN基本模型里已经有分析,做这个主要还是为了用工具包···

这篇关于MatConvnet工具箱文档翻译理解(3)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/445194

相关文章

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

基于C#实现将图片转换为PDF文档

《基于C#实现将图片转换为PDF文档》将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片,所以本文将介绍如何使用C#将JPG/PNG图片转换为PDF文档,需要的可以参考下... 目录介绍C# 将单张图片转换为PDF文档C# 将多张图片转换到一个PDF文档介绍将图片(JPG、PNG)转

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。