常见的神经网络模型-程序员宅基地

技术标签: 深度学习  人工智能  神经网络  

作者:九章云极DataCanvas
链接:https://www.zhihu.com/question/447419811/answer/2791555188
来源:知乎
 

神经网络,是模拟生物神经网络进行信息处理的一种数学模型。它以对大脑的生理研究成果为基础,其目的在于模拟大脑的某些机理与机制,实现一些特定的功能。神经网络是目前最火的研究方向深度学习的基础,本文将神经网络分成三个主要类别,并详细介绍了每个类别的主要神经网络模型读完本文你将能迅速掌握常用的经典神经网络模型,属于深度学习的基础入门篇

一般来说,神经网络可以分为三种主要类型:前馈神经网络、反馈神经网络和图神经网络。下面我们将分别展开介绍。

1.前馈神经网络

前馈神经⽹络(feedforward neural network)是⼀种简单的神经⽹络,也被称为多层感知机(multi-layer perceptron,简称MLP),其中不同的神经元属于不同的层,由输⼊层-隐藏层-输出层构成,信号从输⼊层往输出层单向传递,中间无反馈,其目的是为了拟合某个函数,由⼀个有向无环图表示,如下:

前馈神经网络结构图

前馈神经⽹络中包含激活函数(sigmoid函数、tanh函数等)、损失函数(均⽅差损失函数、交叉熵损失函数等)、优化算法(BP算法)等。常⽤的模型结构有:感知机、BP神经⽹络、全连接神经⽹络、卷积神经⽹络、RBF神经⽹络等。

感知机

感知器,也可翻译为感知机,是Frank Rosenblatt在1957年就职于Cornell航空实验室(Cornell Aeronautical Laboratory)时所发明的一种人工神经网络。它可以被视为一种最简单形式的前馈式人工神经网络,是一种二元线性分类器。

感知机的主要特点是结构简单,对所能解决的问题存在着收敛算法,并能从数学上严格证明,从而对神经网络研究起了重要的推动作用。

BP神经网络

BP(back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络模型之一 。

BP算法的基本思想是:学习过程由信号的正向传播和误差的反向传播两个过程组成。

正向传播时,把样本的特征从输入层进行输入,信号经过各个隐藏层的处理后,最后从输出层传出。对于网络的实际的输出与期望输出之间的误差,把误差信号从最后一层逐层反传,从而获得各个层的误差学习信号,然后再根据误差学习信号来修正各层神经元的权值。

全连接神经网络

全连接神经网络是一种多层的感知机结构。每一层的每一个节点都与上下层节点全部连接,这就是”全连接“的由来。整个全连接神经网络分为输入层,隐藏层和输出层,其中隐藏层可以更好的分离数据的特征,但是过多的隐藏层会导致过拟合问题。

卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积运算且具有深度结构的前馈神经网络(Feedforward Neural Networks)。

相比早期的BP神经网络,卷积神经网络最重要的特性在于“局部感知”与“参数共享”。

整体架构:输入层——卷积层——池化层——全连接层——输出层

卷积神经网络结构图

输入层:以图片为例,输入的是一个三维像素矩阵,长和宽表示图像的像素大小,深度表示色彩通道(黑白为1,RGB彩色为3)。

卷积层:卷积层也是一个三维矩阵,它的每个节点(单位节点矩阵)都是上一层的一小块节点(子节点矩阵)加权得来,一小块的尺寸一般取3*3或5*5。此层的作用是对每一小快节点进行深入分析,从而提取图片更高的特征。

池化层:池化层不会改变三维矩阵的深度,其作用是缩小矩阵,从而减少网络的参数。

全连接层:跟全连接神经网络作用一样。

Softmax层:得到当前样例属于不同种类的概率分布,并完成分类。

卷积神经网络(CNN)具有一些传统技术所没有的优点:

(1)良好的容错能力、并行处理能力和自学习能力,可处理环境信息复杂,背景知识不清楚,推理规则不明确情况下的问题;

(2)它允许样本有较大的缺损、畸变,运行速度快,自适应性能好,具有较高的分辨率;

(3)它是通过结构重组和减少权值将特征抽取功能融合进多层感知器,省略识别前复杂的图像特征抽取过程。

RBF神经网络

径向神经网络(RBF:Radial basis function)是一种以径向基核函数作为激活函数的前馈神经网络。

RBF神经⽹络是一种三层神经网络,其包括输入层、隐层、输出层。从输入空间到隐层空间的变换是非线性的,而从隐层空间到输出层空间变换是线性的。流图如下:

2.反馈神经网络

反馈神经网络(feedback neural network)的输出不仅与当前输入以及网络权重有关,还和网络之前的输入有关。它是一个有向循环图或是无向图,具有很强的联想记忆能力和优化计算能力。

常⽤的模型结构有:RNN、Hopfield⽹络、受限玻尔兹曼机、LSTM等。

反馈神经网络结构图

循环神经网络

循环神经网络(recurrent neural network,简称RNN)源自于1982年由Saratha Sathasivam 提出的霍普菲尔德网络,是指在全连接神经网络的基础上增加了前后时序上的关系,可以更好地处理比如机器翻译等的与时序相关的问题。

RNN神经网络的结构如下:

循环神经网络的结构图

RNN之所以称为循环神经网络,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。

RNN用于解决训练样本输入是连续的序列,且序列的长短不一的问题,比如基于时间序列的问题。基础的神经网络只在层与层之间建立了权连接,RNN最大的不同之处就是在层之间的神经元之间也建立的权连接。

Hopfield⽹络

Hopfield神经网络是一种单层互相全连接的反馈型神经网络。每个神经元既是输入也是输出,网络中的每一个神经元都将自己的输出通过连接权传送给所有其它神经元,同时又都接收所有其它神经元传递过来的信息。即:网络中的神经元在t时刻的输出状态实际上间接地与自己t-1时刻的输出状态有关。神经元之间互连接,所以得到的权重矩阵将是对称矩阵。

受限玻尔兹曼机

玻尔兹曼机是一大类的神经网络模型,但是在实际应用中使用最多的则是受限玻尔兹曼机(RBM)。

受限玻尔兹曼机(RBM)是一个随机神经网络(即当网络的神经元节点被激活时会有随机行为,随机取值)。它包含一层可视层和一层隐藏层。在同一层的神经元之间是相互独立的,而在不同的网络层之间的神经元是相互连接的(双向连接)。在网络进行训练以及使用时信息会在两个方向上流动,而且两个方向上的权值是相同的。但是偏置值是不同的(偏置值的个数是和神经元的个数相同的),受限玻尔兹曼机的结构如下:

LSTM

长短期记忆网络 LSTM(long short-term memory)是 RNN 的一种变体,其核心概念在于细胞状态以及“门”结构。细胞状态相当于信息传输的路径,让信息能在序列连中传递下去。你可以将其看作网络的“记忆”。理论上讲,细胞状态能够将序列处理过程中的相关信息一直传递下去。因此,即使是较早时间步长的信息也能携带到较后时间步长的细胞中来,这克服了短时记忆的影响。信息的添加和移除我们通过“门”结构来实现,“门”结构在训练过程中会去学习该保存或遗忘哪些信息。

3.图神经网络

图(graph)是⼀种在拓扑空间内按图结构组织来关系推理的函数集合,包括社交⽹络、知识图谱、分⼦图神经⽹络等。

图结构示例

图神经网络就是将图数据和神经网络进行结合,在图数据上面进行端对端的计算。图神经网络直接在图上进行计算,整个计算的过程,沿着图的结构进行,这样处理的好处是能够很好的保留图的结构信息。

图神经网络通常有以下几种网络模型:图卷积网络、图自编码器、图生成网络、图时空网络、图注意力网络。

图卷积网络(Graph Convolutional Networks, GCN)

由传统的卷积神经网络引申出的图卷积网络,图卷积方法可分为两种,基于频谱的方法和基于空间的方法。基于频谱的方法,从图信号处理的角度,引入滤波器来定义图卷积,因此基于频谱的图卷积可理解为从图信号中去除噪声。

基于空间的图卷积方法,通过汇集邻居节点的信息来构建图卷积。当图卷积在节点级运作时,可以将图池化模块和图卷积进行交错叠加,从而将图粗化为高级的子图。

图卷积的卷积操作有三步:

1、每个节点将自身的特征信息传递给邻居节点

2、每个节点将邻居节点及自身的特征信息进行汇集,对局部结构进行进行融合

3、与传统的深度学习中的激活函数类似,在图卷积我们同样要加入激活函数,对节点的信息做非线性变换,增强模型的表达能力

图卷积网络的关键是学习到一个函数将当前节点的特征信息与其邻居节点的特征信息进行汇集。

图自编码器

基于自编码器的 GNN 被称为图自编码器(Graph Auto-encoder,GAE),GAE是无监督学习框架,它将节点/图编码到潜在向量空间并从编码信息中重建图数据。 GAE 用于学习网络嵌入和图形生成分布。对于网络嵌入,GAE 通过重构图结构信息(例如图邻接矩阵)来学习潜在节点表示。对于图的生成,一些方法逐步生成图的节点和边,而另一些方法一次全部输出图。

图生成网络

图 生 成 网 络 ( Graph Generative Network,GGN)是一类用来生成图数据的 GNN,其使用一定的规则对节点和边进行重新组合,最终生成具有特定属性和要求的目标图。

图生成网络的目标是基于一组可观察图来生成图。其中的很多方法都是领域特定的。例如,在分子图生成方面,一些研究将分子图的表征建模为字符串。在自然语言处理中,生成语义图或知识图通常需要一个给定的句子。最近,研究人员又提出了一些通用方法,主要有两个方向:其一是将生成过程看成节点或边的形成,而另一些则使用生成对抗训练。该领域的方法主要使用图卷积神经网络作为构造块。

图时空网络

时空网络图有区别于其他种类的图数据,在该图数据中,图不仅由V、E、A组成,增加了一个X属性,表示的是图在时间维度上的属性变化。

目标是从时空图中学习到不可见的一些模式,这在交通预测、人类的活动预测中变得越来越重要。比如,在道路交通网络就是一种时空图,图的数据在时间维度上是连续的,用图时空网络构建道路交通预测模型,我们就可以更加准确地预测出交通网络中的交通状态。

图时空网络的关键在于考虑同一时间下的空间与事物的关联关系。许多现在的方法使用GCN结合CNN或者RNN对这种依赖关系进行建模。

图注意力网络

注意力机制可以让一个神经网络只关注任务学习所需要的信息,它能够选择特定的输入。在 GNN 中引入注意力机制可以让神经网络关注对任务更加相关的节点和边,提升训练的有效性和测试的精度,由此形成图注意力网络(Graph Attention Network,GAT)。

神经网络模型优化

深度学习模型优化用于各种场景,包括视频分析和计算机视觉。由于大多数这些计算密集型分析都是实时完成的,因此以下目标至关重要:

1.更快的性能

2.减少计算要求

3.优化空间使用

例如,OpenVINO 借助以下工具提供神经网络的无缝优化:

模型优化器——将模型从多个框架转换为中间表示(IR);然后可以使用 OpenVINO Runtime 完成这些操作。OpenVINO 运行时插件是软件组件,包含在 CPU、GPU 和 VPU 等硬件上进行推理的完整实现。

训练后优化工具包 (POT) – 通过 DefaultQuantization 和 AccuracyAwareQuantization 算法应用训练后自动模型量化,加快 IR 模型的推理速度。

神经网络压缩框架 (NNCF) – 与 PyTorch 和 TensorFlow 集成,通过剪枝来量化和压缩模型。常用的压缩算法有8位量化、滤波器剪枝、稀疏、混合精度量化和二值化。

神经网络是所有 AI 算法的核心,目前神经网络在模式识别、自动控制、信号处理、辅助决策、人工智能等众多研究领域都取得了广泛的应用,未来的发展空间还将更加广阔。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hellozhxy/article/details/134881976

智能推荐

Windows下Java环境配置教程_windows java环境配置-程序员宅基地

文章浏览阅读3.7w次,点赞171次,收藏430次。这篇博客介绍Java环境的配置,主要是安装JDK,以及path、JAVA_hOME、CLASSPAT的配置,还会介绍配置这些的原因。_windows java环境配置

【SeedLab】BGP Exploration and Attack Lab_bgp seed-程序员宅基地

文章浏览阅读2.3k次。本实验需要使用SEED互联网仿真器(已集成到docker配置文件)。启动docker容器,配置文件在/Labsetup/outputs/目录下。由于要配置很多docker容器,所以构建+启动过程会比较漫长。.随着docker启动,仿真器也随之运行,仿真器所用到的设备均为docker容器。..._bgp seed

元素选择器之排除特定元素_input排他选择器-程序员宅基地

文章浏览阅读2.1k次。 需求如下:该搜索框是对整个页面的input检索 ,但与弹出层中的input冲突 博主几经辗转 简单处理 解决问题,思路如下:排除掉特定class的input。代码如下:$('input:not(.pop)', this.footer()).on('keyup change', function () { if (that.search() !== th..._input排他选择器

使用JAXB进行XML与JavaBean的转换(支持泛型)_jaxb 泛型-程序员宅基地

文章浏览阅读5.6k次,点赞6次,收藏20次。看到别人有个1024的勋章,特意留了一篇在今年的10.24日,看看会不会获得。在日常开发中可能涉及接口之间的相互调用,虽然在现在微服务的理念推广下,很多公司都采用轻量级的JSON格式做为序列化的格式,但是不乏有些公司还是有一些XML格式的报文,最近就在对接某个合作方的时候遇到了XML报文。在JSON报文爽快的转换下很难试用一个一个的拿报文参数,还是希望能直接将报文转换成Bean。接下来就了解到..._jaxb 泛型

python numpy学习笔记_ndarray的位置-程序员宅基地

文章浏览阅读1.2k次。numpy的主要数据对象是多维数组,其中包含相同类型的元素,通常是数字类型,每个元素都有一个索引。使用numpy前通常要导入包。import numpy as np目录类型维度创建运算索引和切片类型numpy的数组被称为ndarray。numpy.array只处理一维数组,而ndarray对象才提供更多功能。a = np.array([[1, 2, 3], [4, 5, 6]])type(a) # <class 'numpy.ndarray'>dtype属性可以获得元素的数_ndarray的位置

我的世界java版gamemode指令_《我的世界》Java版常用指令代码大全!你想要的都在这里了!...-程序员宅基地

文章浏览阅读1.6w次。还在苦于网上找到的一些指令已经不适用了吗?还在苦于有些地方的指令有误吗?还在苦于有些地方整理的指令不够全面吗?那么你来对地方了!小编为大家整理了《我的世界》原版游戏常用的指令,这些基本足以满足各位的基本需求了!大家来一起看看吧!注:表示的是必须输入的部分,[方括号]表示的是可选择性输入的部分基本命令列表命令描述/?/help的替代命令,提供命令使用帮助。/ban + 玩家名字将玩家加入封禁列表。/..._gamemode指令java

随便推点

更改 MATLAB 当前文件夹 或 将其文件夹添加到 MATLAB 路径。出错_manually add this path to the matlab path-程序员宅基地

文章浏览阅读8.7k次。更改 MATLAB 当前文件夹 或 将其文件夹添加到 MATLAB 路径。出错_manually add this path to the matlab path

iOS之UIView动画_oc uiview animate 关键帧-程序员宅基地

文章浏览阅读5.5k次。在AppStore中的应用越来越重视动画效果的使用,一个良好动画效果可以让两个状态之间平滑地过度,也可以利用动画吸引住用户的眼球_oc uiview animate 关键帧

代码报错原因和处理方法-程序员宅基地

文章浏览阅读8.7k次。代码错误的原因和调试方法_代码报错

深度解析Java游戏服务器开发-程序员宅基地

文章浏览阅读5.2k次,点赞9次,收藏40次。---恢复内容开始---1.认识游戏  1.1什么是游戏    1.1.1游戏的定义              任何人类正常生理需求之外的活动均可称为游戏    1.1.2游戏的分类      RPG角色扮演游戏、ACT动作游戏、AVG冒险游戏、FPS第一人称视角射击游戏、TPS第三人称视角射击游戏、FTG格斗游戏、SPT体育游戏、RAC竞速游戏、RTS即时战略游戏、STG..._深度解析java游戏服务器开发

【ThinkPHP5初体验(二)1】CSRF防范原理(thinkphp5 CSRF ajax令牌)_tp5 开启csrf令牌-程序员宅基地

文章浏览阅读4k次。CSRF是什么我就不解释了,百度一搜全是,比波姐的片源还要多,千篇一律都他么是复制粘贴。那为什么这个令牌(token)操作可以防范CSRF呢?下面我就随便说说说错了大家不要介意。首先我们要知道令牌是存储在session里面的,这个很重要 php代码如下&lt;?php namespace app\index\controller; //我直接允许跨域,因为伪装..._tp5 开启csrf令牌

市盈率、市净率、净资产收益率股息率介绍-程序员宅基地

文章浏览阅读1.7k次,点赞2次,收藏6次。市盈率PE市盈率 = 市值/净利润概念解析:买入一家公司,几年回本,年化收益率:净利润/市值(市盈率的倒数)举例:砖头10万买个砖头,每年拍人带来1万利润,需要10年回本市盈率:10/1 = 10年化收益率:1/10 = 10%市净率PB市净率 = 市值/净资产净资产 = 总资产 - 负债举例:张三便利店,净资产:120万市值:1..._净资产收益率和股息率