简单了解------网络搭建

目录

一.卷积神经网络(CNN)

1.神经网络

2.卷积神经网络

 二.卷积神经网络的结构

1.卷积层--CONV(convolutional layer)

2.池化层--POOL(pooling layer)

2.1最大池化层

2.2池化层的具体作用

3.全连接层--FC(fully-connected layer)

三.卷积神经网络的其他操作

1.激活函数

2.BN操作(Batch Normalization)

3.填充(Padding)


一.卷积神经网络(CNN)

 ·要进行网络搭建,首先应该了解什么是卷积神经网络。

1.神经网络

但在此之前我们先来了解一下“神经网络”

人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型

 人工神经网络的主要任务是根据生物神经网络的原理和实际应用的需要建造实用的人工神经网络模型,设计相应的学习算法模拟人脑的某种智能活动,然后在技术上实现出来用以解决实际问题。因此,生物神经网络主要研究智能的机理;人工神经网络主要研究智能机理的实现,两者相辅相成。

       同时,我们可以从上图得到,神经网络是分为3个部分,分别是输入层,隐含层,输出层;而每一层的连接都是互相交叉相连的(类似于神经元)。

2.卷积神经网络

       在以上对神经网络的了解下,卷积神经网络神经网络的区别是增长了若干个卷积层,而卷积层又可细分为卷积(CONV)和池化(POOL)两部分;而后是全链接层(FC),可与神经网络的隐藏层相对应;最后是softmax层预测输出值。下图为CNN的结构图。

卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一

 二.卷积神经网络的结构

 以LeNet-5为例,3类常见构筑在隐含层中的顺序通常为:输入-卷积层-池化层-全连接层-输出。、

接下来我们了解隐含层中的3类常见构筑

1.卷积层--CONV(convolutional layer)

 卷积层的功能是对输入数据进行特征提取

在卷积操做中,咱们首先须要明确的一个概念是过滤器(核),它是一个通道数n输入图像n相同,但高度宽度为较小奇数。(在下面示例中过滤器是(3,3)的数组)

      当然,在CNN卷积层中过滤器会有多个,运算会稍微复杂但原理是一致的,输出时要将每一个过滤器卷积后的图像叠加在一块儿输出。

2.池化层--POOL(pooling layer)

         池化层夹在连续的卷积层中间, 用于压缩数据和参数的量,减小过拟合。

(如果输入是图像的话,那么池化层的最主要作用就是压缩图像。)

       而池化层用的方法有最大池化(Max pooling)和平均池化(average pooling)

2.1最大池化层

 大致意思是选出每个通道中每个部分最大的值来进行输出。

2.2池化层的具体作用

      1. 特征不变性,在我们压缩图片的基础上,依旧能够识别出图像的内容,图像压缩时去掉的信息只是一些无关紧要的信息,而留下的信息则是具有尺度不变性的特征,是最能表达图像的特征。

     2. 特征降维,当有些信息对于我们做图像任务时没有太多用途或者有重复,我们可以把这类冗余信息去除,把最重要的特征抽取出来。

     3. 在一定程度上防止过拟合,更方便优化。

3.全连接层--FC(fully-connected layer)

       全连接层是神经网络中的那种最普通的层,就是一排神经元。

因为这一层是每一个单元都和前一层的每一个单元相连接,所以称之为“全连接”。(如下图)

 全连接层位于卷积神经网络隐含层的最后部分,并只向其它全连接层传递信号。

三.卷积神经网络的其他操作

1.激活函数

卷积神经网络中的激活函数不是真的要去激活什么。

在神经网络中,激活函数的作用是能够给神经网络加入一些非线性因素,使神经网络可以更好地解决较为复杂的问题。

 如上图,我们无法按照线性函数将蓝色与黄色的图形完全区分开来,所以必须依靠激活函数,利用非线性曲线分成不同的两部分。

常用的激活函数包括Sigmoid函数、Tanh函数、ReLU函数。后续在进一步了解。

2.BN操作(Batch Normalization

Normalization是数据标准化,Batch 可以理解为批量,加起来就是批量标准化。

随着网络的深度增加,每层特征值分布会逐渐的向激活函数的输出区间的上下两端(激活函数饱和区间)靠近,这样继续下去就会导致梯度消失。BN就是通过方法将该层特征值分布重新拉回标准正态分布,特征值将落在激活函数对于输入较为敏感的区间,输入的小变化可导致损失函数较大的变化,使得梯度变大,避免梯度消失,同时也可加快收敛。
出自:CSDN博主「一碗风」https://blog.csdn.net/hffhjh111/article/details/86994445

3.填充(Padding)

 

作用

为了不丢弃原图信息
为了保持feature map 的大小与原图一致
为了让更深层的layer的input依旧保持有足够大的信息量

好了,本文仅仅介绍了我自己所了解的卷积神经网络,作为新手,还有很多不懂的地方,见谅!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Node-RED 是一个基于 Node.js 构建的开源流程编排工具,它具有简单易用的特点,可以帮助用户快速搭建、管理和部署流程应用。Node-RED 的源码分析是对其代码库进行深入剖析,以便了解其内部结构和工作原理。 首先,Node-RED 的源码主要由 JavaScript 编写,大部分代码都是围绕 Node.js 运行时环境展开。其核心功能是基于事件驱动的管道式数据处理,通过流程图的方式将各种节点(Node)串联起来,形成一个数据处理流程。因此,在源码分析中,需要重点关注事件驱动机制、节点的定义与扩展、消息传递机制等方面的实现细节。 其次,Node-RED 采用了 Express 框架来搭建 Web 服务,并通过 WebSocket 实现了实时通信。在源码分析中,需要深入了解其 Web 服务的实现方式,以及与客户端的交互方式和消息传递机制。此外,还需要对其对外部插件和节点的支持机制进行分析,以便了解其扩展性和定制化能力。 最后,在源码分析中还需要深入了解 Node-RED 的核心模块以及各种节点的实现方式,比如文件操作、网络请求、数据库操作等,以及其对于不同数据格式的处理能力。同时,还需要关注其错误处理、安全机制、性能优化等方面的实现方式。 总的来说,Node-RED 的源码分析是一个复杂而全面的工作,需要对 JavaScript 和 Node.js 相关技术有深入的了解,以便更好地理解其内部结构和工作原理,为进一步的定制和扩展工作提供有力的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rise9z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值