人工神经网络ANN的一些概念的集合

神经网络中view(),torch.flatten(),torch.nn.Flatten()详解 神经网络view(),torch.flatten(),torch.nn.Flatten()1、view()2、torch.nn.Flatten()3、torch.flatten() 在神经网络中经常看到view(),torch.flatten(),torch.nn.Flatten()这几个方法。这几个方法一般用于改变tensor的形状。为日后方便使用下面就一一透彻的理解一下。 1、view() view()的原理很简单,其实就是把原先tensor中的数据进行排列,排成一行,然后根据所给的view()中的参数 阅读详情

神经网络,学生时,特意修了这门课,但完全找不到感觉,内容基本不理解,实验无头绪。经历了一些项目实践,现在回头再理解NN,一些概念自然就理解了。

1. 

单层神经网络:
输入
输出
激活函数: 非线性,就是指这个激活函数。z是各输入数据与系数的加权和,a是输出。
权值系数w,与输入仍然成线性关系


多层神经网络
表象的概念:
输入层
输出层
隐藏层
----
权值:也扩展至二维w(i, j)


根据传播形式:
前向传播
前馈网络: 无闭环
反向传导算法: 如何求解神经网络。  训练,  识别。


2. 

一个重要概念:  梯度下降算法 --> 批量梯度下降算法

cost function: 代价函数,即 计算值与真实值的差异。一般用均方差表示。

代价函数的概念极其重要,因为它是进行分类和回归的中心。代价函数就是衡量 参数w和b依据。 代价函数越小,那么计算出的参数w,b就越好。


我们的目标: 针对w,b;求代价函数的最小值。


代价函数除了均方差的概念,为防止过度拟合,还需增加一个 规则化项(也叫权重衰减项),以减小权重的幅度。
又一个概念:
过度拟合overfitting: 有什么现象,后果? 就是训练时,数据噪声太大,拟合出来的模型,不能满足实际的数据应用。就是拟合失败,训练失败。模型能适用训练数据,不适合一般的数据。
解决方法: 对神经网络,增加权重衰减项; 对决策树,依据一定规则修剪树。


3. 

如何求w,b,让代价函数cost function有一个最小值?

采用训练的方式,重复计算,并保证w,b能收敛。这就是机器学习。

1). w,b初始化为一个值。一般初始化为一个很小的、接近为0的随机值,如正态分布N(0, 0.01)。(为什么?) 

如果将所有系数都初始化为0,则对于隐藏层,所有的输入值都相同。随机,就是使对称失效。(这个就是那么个意思,解释起来太拗口)。初始化系数都为0.任何输入 相乘后,激活函数的输入都等于b,偏置项。

2). 取输入,输出对(x,y)

3). 然后利用梯度下降算法。计算最优的w,b。

相同的输入、输出,只需要不停的更新w,b即可。


4). 最后考虑局部解与全局最优解的问题。


4. 

概念: 梯度下降算法。 最优化中的基本算法之一。又称最速下降法。 沿负梯度方向下降最快。一种简单的形式:x(k+1)=x(k)-a*g(k),g(k)为梯度方向,a是一个学习系数。

求cost function的负梯度方向。求各方向的偏导,相加,求模,相除。

带入此点系数w,b,x,y。即可求出此点的具体的梯度方向。


最后,如何求偏导。神经网络的cost function只是个概念,只有象形的公式,没有具体的公式。所以,无法利用直接的公式进行求导。


1) 前向传播,计算所有节点的激活值

2)反向传播,计算所有节点的残差

3)利用残差,更新偏导数dw, db



这里又推出一种算法: 反向传播算法。用于计算偏导d(w,b)/ d(w),   d(w, b) / d(b)。


两个关键的概念: 残差、反向求残差


5.

这里又提出一个概念:残差。

残差:每个节点都有残差值,其表明了每个节点对最终输出值(即 代价函数、最终方差值)的影响。

最终输出节点的残差是 代价函数 在此节点的求导,获取其对 代价函数的影响值 。

经推导,此残差就是 激活函数的输出值 与 实际值之差,再乘以 激活函数的导数值。

对二阶函数的求导,就是一阶函数,乘以此激活函数的导数。


对于输出值与实际值之间的差值,可以理解为偏差,

\begin{align}\delta^{(n_l)}_i= \frac{\partial}{\partial z^{(n_l)}_i} \;\;        \frac{1}{2} \left\|y - h_{W,b}(x)\right\|^2 = - (y_i - a^{(n_l)}_i) \cdot f'(z^{(n_l)}_i)\end{align}


对于隐藏单元的残差: 即隐藏单元 对 总的代价函数的影响。

求导,推导出 前后两个单元间的影响。


前后两个单元的影响,就是权值,加上激活函数的影响。

一次计算时, 权值是常数。 激活函数的一阶导数。


利用反向传播的形式,由最后一层,逐步向第一层的方向推导。

 \delta^{(l)}_i = \left( \sum_{j=1}^{s_{l+1}} W^{(l)}_{ji} \delta^{(l+1)}_j \right) f'(z^{(l)}_i)

不仅要求出 当前层的 激活值的导数,还要计算出一个加权平均值,是第l+1层所有残差对上一层第i个节点的残差的影响。这个需要好好理解,多看看推导是有好处的。


计算出残差后,就能计算所谓的偏导数了。

 \begin{align}\frac{\partial}{\partial W_{ij}^{(l)}} J(W,b; x, y) &= a^{(l)}_j \delta_i^{(l+1)} \\\frac{\partial}{\partial b_{i}^{(l)}} J(W,b; x, y) &= \delta_i^{(l+1)}.\end{align}

第l层,第i个节点,j的含义是第l+1的数据。。。 这个要好好理解。

就是所谓的反向传播算法了。实际上是,反向求偏导数的一种算法。


以上是前馈神经网络在有监督学习中的应用。


7.

opencv中提供了CvANN_MLP类来实现 NN 算法。

CvANN_MLP首先会指定 MLP的拓扑结构和激活函数:

层数:包括输入、隐藏、输出各层的数目。一般是一个一维矩阵。

激活函数: 默认是双曲正切函数


训练:

拿到输入和结果数据后,就能进行训练参数的设置了。

CvANN_MLP_TrainParameter包括了算法的种类选择,反向传播算法back_prop,还是rprop算法,及其他们的主要参数。

而且,需要设定算法运行的最大迭代次数,和误差截止值(相邻两次迭代误差之差)

执行训练函数。MLP相对收敛较慢,不过结果较好。结束后,MLP就训练好了。


剩下的就是分类了。predict函数,就能拿到结果了。


8.

对于神经网络,有监督学习是首先拿到训练数据的分类标签的。而对于无监督学习,是无法拿到分类标签的。

只能自学习,进行聚类。自编码神经网络就是满足这种需求。

目的:发现输入数据的自身的一些特征,或一些结构,或一些相关性。

输入数据的压缩表示:相当于降维表示;与PCA有点类似。

稀疏性限制:假设sigmoid函数是激活函数,那么输出结果接近1,表示被激活,输出结果接近0,表示被抑制。当神经元大部分处于抑制状态,就称为对神经元的稀疏性限制。 ps: 使用tanh作为激活函数,当神经元输出接近-1的时候,神经元是被抑制的。

所以,神经元的激活度的表示很重要。

9.

一般会求出神经元 的 平均活跃度。

稀疏性参数,就是专门指定 神经元的平均活跃度的标准值。一般是一个比较小的值,如0.05.为了达到这一目标,需要对优化函数加入一个惩罚因子。

这个惩罚因子会随着,平均活跃度和稀疏参数的差值变大而单调递增。当两者相等时,惩罚因子也为0。一般惩罚因子选择用以下函数

 \begin{align}\sum_{j=1}^{s_2} {\rm KL}(\rho || \hat\rho_j),\end{align} 其中 \textstyle {\rm KL}(\rho || \hat\rho_j) = \rho \log \frac{\rho}{\hat\rho_j} + (1-\rho) \log \frac{1-\rho}{1-\hat\rho_j} 就是 稀疏性参数与神经元平均活跃度的 相对熵。


而 总体代价函数就可以表示为:

\begin{align}J_{\rm sparse}(W,b) = J(W,b) + \beta \sum_{j=1}^{s_2} {\rm KL}(\rho || \hat\rho_j),\end{align}

直接跳到这一步,很难理解。 因为J 值如何计算? 因为选用的是恒等式 f = x,那么目标值与输入值相等,代价函数应该是与w, b密切相关,KL函数也是间接与w,b相关的。

仍然是,反向传播算法,只不过增加了一个 相对熵的 求导运算。

从 \begin{align}\delta^{(2)}_i = \left( \sum_{j=1}^{s_{2}} W^{(2)}_{ji} \delta^{(3)}_j \right) f'(z^{(2)}_i),\end{align}

到

\begin{align}\delta^{(2)}_i =  \left( \left( \sum_{j=1}^{s_{2}} W^{(2)}_{ji} \delta^{(3)}_j \right)+ \beta \left( - \frac{\rho}{\hat\rho_i} + \frac{1-\rho}{1-\hat\rho_i} \right) \right) f'(z^{(2)}_i) .\end{align}
就这样了。理论理解还是需要一个接受的过程的(慢慢理解吧)。

更一步学习的概念:

稀疏编码。


理论概念过了一遍,其效果如何哪?

这个无监督的神经网络,学习了一番之后,有什么能力那?

可视化每个训练好的隐藏单元。每个隐藏单元对应一幅图像。

10.

这里涉及到概念:

范数:一种实值函数。有1, 2, 无穷阶的形式。 1阶对应 绝对值,二阶对应 模,无穷 对应最大值。

最大激励:输出值比较大

平凡解:无意义的解,如线性Ax = 0,解是x=0.即0解


以上的概念都来自:

http://deeplearning.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B

以及opencv手册


MAP: 极大后验估计,与贝叶斯规则化 相关。 贝叶斯规则化 将高斯先验概率 引入参数中,计算MAP估计。(需扩展学习: 贝叶斯 规则化)

对应的概念: 极大似然估计。


激活函数选择,线性,还是非线性函数?

如果是线性,等于连续的向量/矩阵相乘,得出的结果仍然是一个矩阵/向量。而其他表达,如一些二元结构的东西,用线性是无法直接表达的。这是线性的缺陷。

对于二元结构的表达,应用非线性函数,如双曲正切函数,就能较好的表达二元结构。

ANN, RNN和LSTM的通俗理解 深度学习,神经网络ANN,递归神经网络RNN,LSTM 阅读详情

相关推荐

人工神经网络ANN(BP网络)

人工神经网络ANN,简称神经网络,是指由大量的 处理单元(神经元)互相连接而形成的复杂网络结构,是对人脑组织结构和运行机制的某种抽象、简化和模拟。人工神经网络(简称ANN ),以数学模型模拟神经元活动,是基于模仿大脑神经网络结构和功能而建立的一种信息处理系统。它有多层和单层之分,每一层包含若干神经元,不同的神经元与相应的权重连接从而组成的线性或非线性的分类...

winner_liuhuan的博客 1万+

11 种主要神经网络结构图解

转载 来自微信公众号:AI有道 随着深度学习的快速发展,人们创建了一整套神经网络结构来解决各种各样的任务和问题。尽管有无数的神经网络结构,这里有十一种对于任何深度学习工程师来说都应该理解的结构,可以分为四大类: 标准网络、循环网络、卷积网络和自动编码器。 标准网络 1 | 感知器(Perceptron) 感知器是所有神经网络中最基本的,也是更复杂的神经网络的基本组成部分。它只连接一个输入神经元和一个输出神经元。 2 | 前馈(Feed-Forward)网络 前馈网络是感知器的集合,其中有三种

qq_36182852的博客 1万+

人工神经网络(ANN)入门二

在人工神经网络(ANN)入门一中我们可以用单层的人工神经网络解决AND和OR的运算。但是很多问题例如异或运算(exclusive-or)不能使用单层的神经网络找到这样一个线性平面把训练集中的数据分开。下面表格中是一个异或运算 x_1 x_2 output 1 1 -1 0 1 1 0 0 -1 1 0 1

诗蕊的专栏 2万+

目标识别

1.研究意义 众所周知,当前是信息时代,信息的获得、加工、处理以及应用都有了飞跃发展。人们认识世界的重要知识来源就是图像信息,在很多场合,图像所传送的信息比其他形式的信息更丰富、真切和具体。人眼与大脑的协作使得人们可以获取、处理以及理解视觉信息,人类利用视觉感知外界环境信息的效率很高。事实上,据一些国外学者所做的统计,人类所获得外界信息有80%左右是来自眼睛摄取的图像。由此可见,视觉作为人类获取

liuheng0111的博客 6万+

机器学习(六):人工神经网络 ANN

机器学习系列主要为 我在国科大研一期间,在《机器学习方法与应用》课程中所学知识概述,以及课后补充学习的内容。 ---------------------------------------------------------------------------------------------------------------------------------- 梯度下降和delta...

qq_33378809的博客 582

一篇文章“简单”认识《人工神经网络》(更新版)

人工神经网络 (Artificial Neural Network, ANN),由人工神经元构成的网络,模拟人类的大脑;它模拟生物过程以反映人脑某些特征的计算结构。 神经元及其突触是神经网络的基本器件;模拟生物网络首先模拟生物神经元。 人工神经元 在人工神经网络中,人工神经元经常成为“处理单元”;从网络的观点出发常称为“节点”。 人工神经元是对生物神经元的一种形式化描述,它对生物神经元的信息处理过程进行抽象,并用数学语言描述。 人工神经网络 简介 它由处理单..

黎国溥 1万+

OpenCV 神经网络 - 多层感知器(MLP)

一、简述 人工神经网络(ANN) 简称神经网络(NN),能模拟生物神经系统对物体所作出的交互反应,是由具有适应性的简单单元(称为神经元)组成的广泛并行互连网络。 二、M-P神经元 “M-P神经元模型”(McCulloch and Pitts,1943)是开创性的人工神经元模型,将复杂的生物神经元活动通过简单的数学模型表示出来,提出最早且影响最大。 如下图所示,来自其它神经元的信号,,传递过来作为输入信号,并通过带权重的连接 (connection) 继续传递,然后神经元的总输入值与阈值θ...

qq_27278957的博客 5206

从零开始用飞牛fnas搭建集成DeepSeek-R1的远程AI工作台

从零开始用飞牛fnas搭建集成DeepSeek-R1的远程AI工作台

AI+全栈,AI+应用,实操落地,前沿技术 3804

【Python · Pytorch】人工神经网络 ANN(上)

本文介绍人工神经网络的基础概念,为博主自用笔记提纲。

茶色喵的博客 2889

协方差矩阵

对两个类内协方差矩阵进行对角化,可以将它们变换为对角矩阵。这个过程可以通过对每个协方差矩阵进行特征值分解来实现,从而得到它们的特征向量和特征值,进而得到它们的对角矩阵形式。这个过程的意义在于,它可以帮助我们找到一个新的坐标系,使得在这个坐标系下,每个特征之间都是独立的,从而简化了计算。具体来说,当我们使用对角协方差矩阵作为特征向量的坐标系时,它意味着每个特征之间都是相互独立的,从而方便了进一步的分析和处理。在实际应用中,对角化协方差矩阵可以用于降维、特征选择和分类等任务。

m0_55196097的博客 1万+

C#与YOLOv8工业缺陷检测实战:从算法到PLC集成的工程化落地

目标检测作为计算机视觉的核心任务,其原理是通过深度学习模型在图像中定位并识别物体。这项技术的关键价值在于将AI的感知能力转化为实际生产力,尤其在工业自动化领域,它能实现高效、精准的视觉检测。在工业缺陷检测这一典型应用场景中,稳定性和实时性是核心挑战。本文聚焦于如何将YOLOv8这一先进的目标检测模型,与C#上位机开发及工业相机硬件深度集成,构建一个能够7x24小时稳定运行的智能检测系统。文章深入探讨了从模型训练、ONNX部署,到与PLC通信联调的完整工程化路径,并针对工业环境中常见的稳定性、性能及调试问题提

weixin_33508411的博客 236

至少包含一个浅层人工神经网络和一个深层人工神经网络_人工神经网络(ANN)的公式推导...

1. ANN简介人工神经网络(Artificial Neural Network,ANN)是计算机领域用于处理机器学习问题的强大工具,其广泛应用于回归与分类等问题中,它模拟了生物体神经细胞的运作原理,将一个个具有层次关系,连接关系的人工神经元组成网络结构,通过数学表达的方式模拟神经元之间的信号传递,从而可建立一个具有输入与输出关系、并可通过网络方式可视化的的非线性方程,我们称之为人工神经网络。一般...

weixin_39886612的博客 511

抖音私信卡片私信名片的原理分析

简单说一下它的功能吧:抖音私信卡片,解决了客户封号严重、引流效率低的痛点,所以从去年到现在,依然是热销品。"抖音快手私信名片链接跳转"是2022年抖音快手引流最新技术,可以生成卡片链接,支持标题、描述、logo以及跳转落地页的完全自定义配置.支持微信公众号和微信号复制唤起微信客户端app添加,同时也支持任意链接落地页跳转提高粉丝引流转化率,关注转化率,引流转化率,安全绿色私信卡片功能1、跳转微信用户点击卡片,自动跳转微信界面,显示好友和群聊二维码2、跳转链接用户点击卡片,自动跳转到指定链接,支持任意链接。3

m0_71385839的博客 5189

人工神经网络概念梳理与实例演示

引言这段时间花了不少精力在了解人工神经网络(ANN),对其设计思想和基本算法有了一定的了解,把相关知识整理如下,一方面梳理思路,增强理解,另一方面也希望对想了解ANN的人有点帮助。1 时代大背景首先,我们了解以下人工神经网络的发展历史。1943年,神经科学家和控制论专家Warren McCulloch和逻辑学家Walter Pitts基于数学和阈值逻辑算法创造了一种神经网络计算模型; 1957年,心

抱朴守拙 4万+

VASP吸附计算1:CO在Pt(111)面的吸附|Materials Studio建模

介绍用VASP计算CO-Pt体系电荷密度的流程。

weixin_50519490的博客 5943

沁恒CH32V30X学习笔记02--GPIO的使用教程及2次封装驱动

刚复位后,GPIO 口运行在初始状态,这时大多数 IO 口都是运行在状态所有的 GPIO 口都可以被配置外部中断输入通道,但一个外部中断输入通道最多只能映射到一个GPIO 引脚上,且外部中断通道的序号必须和 GPIO 端口的位号一致,,两方都是一对一的关系。复用功能。

Car12 705

ANN & Some Review

Hebb Net 定义单层前馈神经网络,使用扩展的 Hebb 规则训练。Application 1:实现 AND 函数(二值输入与目标)输入向量 (x1,x2,1)(x_1,x_2,1),目标输出(target)为 1 或 0。对每条样本,用 Δwi=xi y\Delta w_i = x_i\,y、Δb=y\Delta b=y 更新权重,反复迭代直到收敛。

m0_74331272的博客 1174

《多模态融合改进》目录一览 | 专栏介绍 :全网 第一份 完整的多模态改进教程,提供《多模态模型改进完整项目包》-开箱即用

在大家订阅专栏后,便可获得多模态模型改进完整项目包-开箱即用,方便简单

Limiiiing的博客 1万+

人工神经网络入门(0) —— 关于人工神经网络的FAQ

今天早上发了一篇关于ANN的文章,给大家演示了一个简单的学习AND运算和OR运算的程序,但是发现大家有很多疑问。所以通过这篇文章,我希望能对大家的一些常见的疑问给予解答这里的 训练 一词怎么解释? 学会? 大家通过使用这个程序可以发现:ANN在通过训练以后,可以计算出正确的结果,如1 AND 1 = 1,等等。如果您阅读了代码会发现,程序中并没有给出如何计算1 A

565

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

人工神经网络中的一种——反向传播神经网络(BP ANN)

久远的记忆,发上来和有缘人分享一下,格式有些乱掉了。。。 内部交流系列一 人工神经网络中的一种——反向传播神经网络(BP ANN) ·写在前面的话 一个人的理解难免有偏颇,所以以下的言论不可全信,要抱着怀疑的态度审视。本着传达思想又不吓到人的目的,相关的名字可能不会解释太多,有兴趣的话可以查资料深入了解一下。 (注:人工神经网络这是一个大的学科分支,以下主要针对BP ...

Ailong10111的博客 1351

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

人工神经网络(ANN)

激活函数 \varphi(如 Sigmoid:\frac{1}{1+e^{-x}} 或 ReLU)打破了线性限制,赋予了网络拟合任意复杂函数的能力。:\eta 是学习率。:随机初始化网络中所有的权重 w 和偏置 b(RBF 网络则先通过 K-Means 确定中心,宽度用启发式(如中心间平均距离)确定)。根据任务不同,可以是分类任务的类别概率(如 k 维向量),也可以是回归任务的连续预测值(如 1 维标量)。,将输出层的误差逐层反向传递,计算每个权重对误差的“责任”(偏导数),然后沿负梯度方向更新权重。

博客 240

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【20200506】数据挖掘DM课程课业打卡九之人工神经网络 Artificial Neural Networks (ANN)

【20200506】数据挖掘DM课程课业打卡九之人工神经网络 Artificial Neural Networks -ANN 一、课业打卡八之支持向量机 填空题 二、知识点巩固 1、关于人工神经网络 2、人工神经网络——感知器 3、多层人工神经网络 4、人工神经网络中的激活函数 5、人工神经网络中的激活函数之线性整流函数(Rectified Linear Unit, ReLU) 6、Logistic回归 7、Logistic回归之梯度下降法(Gradient Decent) 8、 Logistic回归之梯度

小啊呜的博客 1593

人工神经网络发展历史及算法应用综述

简 介: 人工神经网络概念自提起以来,它的发展经历了起起落落,而如今人工神经网络也与各个领域相结合,实现它的价值。人工神经网络主要用来处理分类与回归的问题。决定神经网络发展的三个基本要素主要有:神经元的数学模型、神经元的网络连接方法、以及神经网络学习方法,而将这三者综合起来便是不同的网络模型与算法。 关键词: ANN,算法,应用 作者:柯悦 #mermaid-svg-zyOcjMMOuv7tcU6g .label{font-family:'trebuchet ms', verdana, ari..

TSINGHUAJOKING 7980
上一篇: 导航中mapviewer接口的一些概念和实现
下一篇: 与PCA相关的一些概念的集合
viewcode
博客等级 码龄16年 993粉丝 108原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值