神经网络基本概念

一、组成

1.神经元 

(一)定义

 神经元即神经细胞,是神经系统结构和功能的基本单位。人脑中有数1000亿个神经元,其功能是接受(树突)、整合(细胞体)、传导(轴突)和输出(轴突末梢)信息实现信息转换。

(二)生物神经元特性

--兴奋性

--传导性

--时空整合特性

(三)神经元的类型(按功能划分)

-感觉神经元(输入神经元)

-运动神经元(输出神经元)

-联络神经元(中间联系输入输出的神经元)

(四)生物神经元与人工神经元的联系

--x1,x2,x3指的是前边的神经元所为它传入的信息,传导性决定了输入信息x1,x2,x3分别会有一个权值w1,w2,w3,时空整合性体现在中间神经元(图中的求和节点)将输入信息权重进行整合。整合以后跟随一个激活函数,体现了兴奋性,即在达到某个阈值才能输出信号yk。由此可见,生物神经元和人工神经元是相互联系的。

2.神经网络(ANN)

(一)定义

 生物神经细胞功能比较简单,需要通过很多神经元一起协作完成复杂功能,通过一定的连接方式或信息传递方式进行协作的神经元可以看作是一个网络,就是人工神经网络,简称神经网络(ANN)。人工神经网络包括输入层,隐藏层和输出层。

(二)根据不同神经元之间的连接关系,将神经网络分为:

3.感知机

(一)感知机是一种最简单的人工神经网络。

单层感知机本质上是一个二分类器,而分类器是一种机器学习模型,用于将数据分为两个不同的类别。它可以预测输入数据属于两个类别中的哪一个。常见的二分类问题包括正负情感分析、垃圾邮件过滤、疾病诊断等。

由于感知机只有输入层和输出层,所以它只能用来解决线性问题,要想解决非线性问题,就得加入隐藏层。

 (二)神经网络的扩张

--增加网络层数

--增加每层网络的神经元数量

--调整激活函数:对激活函数做扩展

4.激活函数

(一)什么是激活函数?

在多层神经网络当中,上一层结点的输入与后边的输出中间有一个函数关系,这个函数关系就叫激活函数

(二)激活函数的作用

倘若没有激活函数,其实就相当于激活函数为F(x)=x,那么就是每一层节点的输入都是对上一层输出的权值的相加的和,相当于很多个线性函数的叠加成一个线性函数。这样一来就和没有隐藏层的效果一样,也就是跟感知机一样。总的来说,激活函数在这里起到一个引入非线性的作用。

 (三)常见的激活函数
(1)Sigmoid函数 (最常用的)

   优点:单调连续,求导容易,输出有界,输出仅限0~1

   缺点:在远离中心点俩侧导数趋于零,当网络非常深的时候,越来越多的反向传播的梯度会落入饱和区,从而导致梯度的模会越来越小,五层之内会产生梯度退化为零的现象

   (这块不是很懂---)

  (2)   Tanh函数

   相对于Sigmoid函数

   优点:输出在-1~1,而且在中间区域变化更敏感,而若超出这个区间,就会变得缺乏敏感性,处于饱和状态,最终会影响神经网络预测的精度值

(3)Softsign函数

   相对于Tanh函数

   优点:更平缓,更慢,可以更高效的学习,更好地解决梯度消失问题。

   缺点:导数更复杂。

(4)RuLU函数

(5)Softplus函数

(6)Softmax函数

 (四)如何选择激活函数

--非线性

--连续可微性

--有界性

--单调性

--平滑性

5.损失函数

(一)定义

用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负值函数,通常使用L(Y,f(x))来表示,损失函数越小,模型的鲁棒性(指系统或者算法在不同的情况下,仍能够保持稳定和可靠的能力)越好。也就是说,损失函数越小,代表着模型预测值和实际值越接近。

(二)常用的损失函数

--均方误差  (多用于回归问题)

td指的是预测值

od指的是实际值 

--交叉熵误差  (多用于分类问题,它刻画了俩个概率分布之间的距离,是分类问题中使用较多的一种损失函数)

od指的是实际的概率分布

td指的是预测的概率分布

(三)作用 

将回归问题、分类问题转化为优化问题,转化为求损失函数极值的问题

(四)极值

(五)梯度下降法求极值

影响算法的俩因素:初始化的点的位置和梯度下降的步长 

二.网络的训练方法

1.前向传播

(一)定义

输入信号从输入层传输到输出层

(二)对于每个神经元

--计算上层输入的加权平均值

--计算激活函数值

(三)最后输出:模型预测值

2.误差反向传播

(一)定义

它使用链式求导法则将输出层的误差反向传回给网络,使神经网络的权重有了较简单的梯度计算实现方法。另外,前向传播指的是信息的传播,而反向传播指的是误差的传播。

(二)步骤

--从最后一层开始,计算误差对于该层节点参数的梯度

--基于上一层的梯度值,对当前参数的梯度值进行计算,重复该步骤,将参数传播至第一层

第一步  误差反向传播

误差按照权重的比例,分别传给每个计算单元,计算单元指的是隐藏层的神经元

第二步  权重更新

得出每个神经元需要对最后产生的误差负多少责任,然后再根据分的的误差更新权重 

三、常用的俩种神经网络

1.卷积神经网络(cnn)

(一)定义

是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于图像处理有出色的表现。CNN避免了对图像的复杂前期预处理而可以直接输入原始图像。

它包裹卷积层(convolution layer)、池化层(pooling layer)、全连接层(fully connected layer)。三个层在神经网络中都可以有多个。

(二)单核卷积

(三)多核卷积 

图中的特征图一里的7就等于卷积核W0扫过矩阵的面积里的对应数相乘再相加再加上偏置1得到的 

Zero padding=1指的是在输入的图像边缘增加1圈零,因为很多时候输入的图像大小是不一致的,所以填充0来保证图像大小的一致性。

卷积核的数量等于得出特征图的数量

(四)CNN核心思想
(1) 局部感知

(2)参数共享

(五)CNN中卷积层、池化层、全连接层的作用
(1)卷积层

对输入的图像使用6个卷积核得到6个feature map 

CNN自动处理图像的过程就是通过卷积层来实现的

(2)池化层

图一是图二的四倍,但图一中存在许多冗杂的数据比如黑色的夜晚,池化就极大减少了数据量 

--最大池化

 步长(Stride)为2

--池化的作用

先卷积再池化

(3)全连接层

在全连接层之前会把输出拉成一个很长的列向量,这个列向量再经过全连接层(Wx)的计算最后得到输出层

(六)总结

CNN比较适合处理图像的非序列的信息,与时间不是强相关序列性的信息 

2.循环神经网络(rnn)

(一)处理序列数据的问题

序列数据具有上下文相关性,处理的时候不能单靠当前的输入进行判断

在前面介绍的网络中,前一个神经元的输入和后一个神经元的输入是没有关系的

(二)定义

是一种通过隐藏层节点周期性的连接,来捕捉序列化数据中动态信息的神经网络,可以对序列化的数据进行分类。

 图中x是输入单元,s是隐藏单元,o是输出单元。与其他神经网络不同的是中间的环形w。左图按照时间展开后得到右图,在同一个隐藏单元中,在不同的时刻接受了不同的输入,也就是(1)xt是输入序列在时间t处的输入。

St接收了前面St-1的输入和当前St的输入,然后这个隐藏单元输出了一个St,这个St和前边的St-1以及当前输入的Xt有着(2)的关系

U、V、W都是整个神经网络中的参数

由此我们发现,rnn与前面的学的前向神经网络是有一些不同的,rnn可以保存一种上下文的状态,能够在任意长的上下文窗口当中去存储、学习、表达相关的信息,不再局限于传统网络当中空间上的一个边界,它可以在时间上有一个延拓,直观上来讲,本时间的一个隐藏层与下一时刻的隐藏层之间是有一个关系的。所以rnn广泛应用在与序列有关的一些场景。

 

 (三)rnn局限

(四) rnn变种的神经网络(*)

在一个序列当中,当前的这个词它可能既跟前边的词有关系,又跟后边的词有关系就有了双向循环神经网络

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
比较老的资源了,但是还是很经典的一本书,是深度学习的基础。前言 第1章 人工神经网络概述 1.1 神经网络基本概念 1.1.1 生物神经元的结构与功能特点 1.1.2 人工神经元模型 1.1.3 神经网络的结构及工作方式 1.1.4 神经网络的学习 1.2 神经网络的特点及其应用 1.2.1 神经网络的特点 1.2.2 神经网络的应用领域 练习题 第2章 实用神经网络模型与学习算法 2.1 MATLAB快速入门 2.1.1 MATLAB界面组成 2.1.2 MATLAB基本运算 2.1.3 MATLAB绘图函数 2.2 感知器神经网络模型与学习算法 2.2.1 单层感知器 2.2.2 单层感知器的学习算法 2.2.3 单层感知器的MATLAB实现 2.2.4 多层感知器 2.3 线性神经网络模型与学习算法 2.3.1 线性神经元网络模型 2.3.2 线性神经网络的学习算法 2.3.3 线性神经网络的MATLAB实现 2.4 BP神经网络模型与学习算法 2.4.1 BP神经网络模型 2.4.2 BP网络的标准学习算法 2.4.3 BP神经网络学习算法的MATLAB实现 2.5 径向基函数神经网络模型与学习算法 2.5.1 RBF神经网络模型 2.5.2 RBF网络的学习算法 2.5.3 RBF网络学习算法的MATLAB实现 2.6 自组织神经网络模型与学习算法 2.6.1 自组织特征映射神经网络结构 2.6.2 自组织特征映射网络的学习算法 2.6.3 自组织网络学习算法的MATLAB实现 2.7 学习向量量化(LVQ)神经网络模型与学习算法 2.7.1 LVQ神经网络结构 2.7.2 LVQ神经网络的学习算法 2.7.3 LVQ神经网络学习算法的MATLAB实现 2.8 Elman神经网络算法模型与学习算法 2.8.1 Elman神经网络结构 2.8.2 Elman神经网络学习算法 2.8.3 Elman神经网络学习算法的MATLAB实现 2.9 Hopfield神经网络模型与学习算法 2.9.1 离散Hopfield神经网络 2.9.2 连续Hopfield神经网络 2.9.3 Hopfield神经网络的MATLAB实现 2.10 Boltzmann神经网络模型与学习算法 2.10.1 Boltzmann机的网络结构 2.10.2 Boltzmann机学习算法 2.11 模糊神经网络 2.11.1 模糊神经网络主要形式 2.11.2 模糊神经网络模型 2.11.3 模糊神经网络学习方法 2.11.4 模糊逻辑MATLAB函数 练习题 第3章 神经网络优化方法 3.1 BP网络学习算法的改进 3.1.1 消除样本输入顺序影响的改进算法 3.1.2 附加动量的改进算法 3.1.3 采用自适应调整参数的改进算法 …… 第4章 nnToolKit神经网络工具包 第5章 MATLAB混合编程技术 第6章 混合编程案例 附录 2NDN神经网络建模仿真工具 参考文献
卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,主要用于图像识别和计算机视觉任务。它的基本概念包括以下几个方面: 1. 卷积层(Convolutional Layer):卷积层是CNN的核心组成部分,通过使用一系列可学习的滤波器(也称为卷积核)对输入图像进行卷积操作,提取图像的特征。每个滤波器会在输入图像上滑动,并计算出对应位置的卷积结果,生成一个特征图。 2. 池化层(Pooling Layer):池化层用于减小特征图的空间尺寸,同时保留重要的特征信息。常见的池化操作包括最大池化和平均池化,它们分别选取局部区域中的最大值或平均值作为池化结果。 3. 激活函数(Activation Function):激活函数引入非线性变换,增加模型的表达能力。在卷积神经网络中,常用的激活函数包括ReLU(Rectified Linear Unit)、Sigmoid和Tanh等。 4. 全连接层(Fully Connected Layer):全连接层将前面的卷积层和池化层的输出连接起来,并通过一系列的全连接操作进行分类或回归等任务。 5. 权重共享(Weight Sharing):卷积神经网络中的卷积操作具有权重共享的特性,即在不同位置使用相同的卷积核进行卷积计算。这样可以大大减少需要学习的参数数量,提高模型的效率和泛化能力。 6. 多层网络结构:卷积神经网络通常由多个卷积层、池化层和全连接层组成,通过堆叠多个层次来提取更高级别的特征表示。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值