人工神经网络ANN

article/2025/10/23 10:26:44

一、基本概念

      ANN:Artificial neural network前馈神经网络的缩写

二、模型构建

2.1 神经元

      

2.2 激活函数

意义:激活函数是用来让给神经网络加入非线性因素的,因为线性模型的表达能力不够。如果没有激活函数,那么该网络仅能表达线性映射,此时即便有再多的隐藏层,其整个网络跟单层神经网络也是等价的。

激活函数应该如下性质:

1)非线性;

2)连续可微,容易求导,梯度下降法进行参数求解的要求;

3)范围最好不饱和,当有饱和的区间段时,若系统优化进入该阶段,梯度近似为0,网络的学习就会停止;

4)单调性,单调神经网络的误差函数是凸的,容易进行凸优化;

激活函数有哪几种,各自的特点及使用场景?

1)sigmoid

          

        

f′(x)=f(x)(1−f(x))

sigmoid也有其自身的缺陷,最明显的就是饱和性,具体来说,由于在后向传播过程中,sigmoid向下传导的梯度包含了一个f'(x)因子,因此一旦输入落入饱和区,f'(x)就会变得接近于0,导致了向底层传递的梯度也变得非常小。此时,网络参数很难得到有效训练和更新。这种现象称为梯度消失。一般来说,sigmoid网络在5层之内就会产生梯度消失现象。

此外,sigmoid函数的输出均大于0,使得输出不是0均值,这称为偏移现象,这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。

2)tanh

tanh也是一种非常常见的激活函数,与sigmoid相比,它的输出均值是0,使得其收敛速度要比sigmoid快,减少迭代次数。然而,tanh一样具有饱和性,从而造成梯度消失。

3. ReLu

优点:

梯度计算简单,即是非线性函数,又避免了sigmoid的指数计算量大的问题

半饱和

半区域抑制,既有优点(神经网络稀疏性),又有缺点(神经元死亡),起到了类似于L1的正则化通,可以在一定程度上缓解过拟合。

为什么ReLu比sigmoid好?

1.连乘导致梯度下降;

2.饱和区域:sigmoid是双饱和区,ReLU单侧饱和,而且ReLU的单侧饱和可以实现神经网络的稀疏性,有好处。

2.3 模型构建图

     

三、损失函数

从神经网络的学习目标来说,如果是要做个分类器的话就是交叉熵损失函数,要做回归问题的话就用MSE.

3.1 交叉熵损失函数

1) softmax

多分类的normailization,它是将神经网络得到的多个值,进行归一化处理,使得到的值在[0,1]之间,让结果变得可解释。即可以将结果看做是概率,某个类别的概率大,将样本归为该类别的可能性也越高。softmax公式如下:

          

2)交叉熵损失函数

神经网络的多分类问题,先用softmax把概率进行归一化,再采用交叉熵损失函数作为loss function。

3.4 L1和L2正则解决过拟合

3.5 Dropout的过拟合方案

Dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时。

对于随机梯度下降来说,由于是随机丢弃,故而每个mini-batch都在训练不同的网络。

我们可以把dropout当做一种多模型效果平均的方式。对于减少测试集中的错误,我们可以将多个不同神经网络的预测结果取平均,而因为dropout的随机性,我们每次dropout后,网络模型都可以看成是一个不同结构的神经网络,提升了网络的鲁棒性。

四、模型优化

 4.1 优化方法 — 梯度下降法

4.2 参数更新,反向传播算法

梯度下降是反复迭代计算loss函数对w,b的偏导。反向传播思想可以用来方便的求出loss函数对每个参数的导数,其基本原理是求导时的链式法则。

BP思想:计算输出与标签见的损失函数值,然后计算其相对于每个神经元的梯度,根据梯度方向更新权值。

(1)将训练集数据输入到ANN的输入层,经过隐藏层,最后达到输出层并输出结果,这是ANN的前向传播过程;

(2)由于ANN的输出结果与实际结果有误差,则计算估计值与实际值之间的差,将该差值从输出层向隐藏层方向传播,直至传播到输入层;

(3)在反向传播的过程中,根据误差调整各种参数的值;不断迭代上述过程,直至收敛。

五、神经网络参数初始化问题

 

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/AqbMemFm.shtml

相关文章

人工神经网络简介

1. 人工神经网络的概念 人工神经网络(Artificial Neural Network,ANN)简称神经网络(Neural Network)或类神经网络,是一种模仿生物神经网络的结构和功能的数学模型,用于对函数进行估计或近似。 和…

人工神经网络概念及组成,人工神经网络基本概念

1、什么是BP神经网络? BP算法的基本思想是:学习过程由信号正向传播与误差的反向回传两个部分组成;正向传播时,输入样本从输入层传入,经各隐层依次逐层处理,传向输出层,若输出层输出与期望不符&…

智能计算:人工神经网络(ANN)

2022/5/25 文章目录 神经网络一、神经网络基本简介二、神将网络的典型结构三、神经网络的学习算法四、BP神经网络 神经网络 人类的大脑是如何工作的呢? 在计算机上能模仿大脑的工作原理吗? 人工神经网络(Artificial Neural Network&#xf…

人工神经网络的应用实例,人工神经网络算法实例

神经网络算法实例说明有哪些? 在网络模型与算法研究的基础上,利用人工神经网络组成实际的应用系统,例如,完成某种信号处理或模式识别的功能、构作专家系统、制成机器人、复杂系统控制等等。 纵观当代新兴科学技术的发展历史&…

人工神经网络概念及组成,人工神经网络基本结构

1、简述人工神经网络的结构形式 神经网络有多种分类方式,例如,按网络性能可分为连续型与离散型网络,确定型与随机型网络:按网络拓扑结构可分为前向神经网络与反馈神经网络。本章土要简介前向神经网络、反馈神经网络和自组织特征映射神经网络…

C语言实现矩阵卷积运算

直观的说卷积操作可以理解为——每次透过一个较小的“窗口”去覆盖被输入进来的大窗口中的某一部分所得出的结果。每次得出结果后小窗口就会根据步长滑动至下一个位置并重复这一计算过程,最终得到卷积后的输出矩阵结果。 卷积的计算过程可由下图直观说明。 必须注…

卷积神经网络互相关运算和卷积运算原理

卷积神经网络用的其实不是卷积运算,实际用的是互相关运算;互相关运算和卷积运算的区别在于对输入结果所加的权重系数的顺序不同而已,但由于神经网络本身就是训练参数的,所以两者的输出结果其实是一样的,而互相关运算相…

全网最全的卷积运算过程

卷积运算 1.卷积核的通道(也叫滤波器)的个数得与被卷积的图片通道数相同 eg:输入图片是102410243,即通道数为3,那么每个卷积核得有3个通道 2.卷积核做的是线性运算,核上的每个值与它滑动到的对应位置上的值相乘&…

多维卷积运算

多维卷积运算 如果输入的图片是灰度图,每个像素点的值是一个整数,只需使用2D卷积运算。 但如果输入的图片是彩色的,每个像素点的值是1个由3个整数组成的组,例如(R,G,B)(155,23,222). 对于这样多维的输入图片,需要使用…

信号与系统 - 卷积运算

信号的时域分解 卷积积分 卷积定义 卷积积分的图解法 举例1 举例2 总结 卷积的性质 交换律 分配律 结合律 奇异函数的卷积性质 普通函数与冲激函数的卷积 普通函数与阶跃函数的卷积 普通函数和冲击偶函数卷积 举例 卷积的微积分分特性 卷积的微分特性 卷积的积分特性 卷积的…

【15】opencv卷积运算

参考: 【OpenCV学习笔记】之卷积及卷积算子(convolution)_点滴成海~的博客-CSDN博客_卷积算子(关于卷积运算) opencv RNG函数 - 0MrMKG - 博客园(对于RNG函数的解答) (一&#xf…

机器学习4:卷积运算简介

机器学习4:卷积运算简介【旧笔记整理】 (1)卷积运算简介: 卷积即在卷积核滑动过程中,矩阵与卷积核对应位置的数据相乘最后乘积求和的计算过程。 (2)卷积运算的特性: ①稀疏连接&…

【OpenCV 例程200篇】52. 图像的相关与卷积运算

【OpenCV 例程200篇】52. 图像的相关与卷积运算 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 滤波通常是指对图像中特定频率的分量进行过滤或抑制。图像滤波是在尽可能保留图像细节特征的条件…

Python遥感图像处理应用篇(五):python如何使用numpy对遥感图像做卷积运算

本篇接着上一篇(Python遥感图像处理应用篇(四):python如何使用numpy读取遥感图像光谱值)继续深入,对遥感图像做卷积运算处理 1.基本思路 1.1 设置卷积核 这里就用3*3大小的卷积核吧,可以根据需求任意设置卷积核数据达到图像均衡化、锐化、边缘增强等不同效果。 1.2 中心…

求助:MATLAB中实现卷积运算和理论分析中的卷积运算有什么区别?

MATLAB中实现卷积运算和理论分析中的卷积运算有什么区别。 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 …

通过具体的例子说明一维和二维的相关运算、卷积运算究竟是怎么做的。

在图像处理中,大量的算法中用到的运算其实都是相关运算和卷积运算。 所以,我们很有必要知道相关运算、卷积运算究竟是怎么做的。 本篇博文通过具体而简单的例子向大家说明相关运算、卷积运算究竟是怎么做的。 01-一维相关运算 下图显示了一维序列n与窗口…

卷积运算与互相关运算

在卷积神经网络中,虽然卷积层得名于卷积(convolution)运算,但我们通常在卷积层中使用更加直观的互相关运算(cross-correlation)运算。 卷积运算与互相关运算的联系 卷积运算与互相关运算类似。为了得到卷积运算的输出,只需将核数组左右翻转…

卷积运算(CNN卷积神经网络)

文章目录 图像卷积互相关运算卷积层图像中目标的边缘检测学习卷积核小结 图像卷积 最近学习到了卷积深度网络,有些本质概念太深暂时还没有理解透彻,现在主要记录下卷积神经网络中的一些计算。 以下介绍与计算均出自李沐老师的《动手学深度学习》&#…

java 怎么做卷积运算,入门教程之算法系列(二):卷积运算与模糊操作

卷积在信号处理领域有极其广泛的应用,也有严格的物理和数学定义。 OpenCV中对图像进行模糊操作,其背后的原理就是卷积运算,可是究竟卷积运算是什么,模糊的卷积算法又是如何实现的呢?本文将进行讨论。考虑到大部分读者的非专业性,本人将尽量不使用专业术语,而使用通俗易懂…

python实现卷积运算

一、卷积定义与朴素计算方法: 图1 卷积定义与计算方法 二、 Python代码实现 结合伪代码实现python代码如下(因为我是先写的代码,后才发现上面的伪代码,所以循环次序略有不同): import torch.nn as nn im…