点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

作者丨Pratik Shukla,Roberto Iriondo

编译|McGL

编辑丨极市平台

导读

目前深度学习中的神经网络种类繁多,用途各异。由于这个分支在指数增长,跟踪神经网络的不同拓扑有助于更深刻的理解。本文将展示神经网络中最常用的拓扑结构,并简要介绍其应用。

图1: 感知器: 大脑中信息存储和组织的概率模型[3] | 来源: 康奈尔航空实验室的Frank Rosenblat标记的感知器。纽约水牛城,1960

1. 感知器(Perceptron(P))

感知器模型也称为单层神经网络。这个神经网络只包含两层:

  • 输入层

  • 输出层

这种类型的神经网络没有隐藏层。它接受输入并计算每个节点的加权。然后,它使用激活函数(大多数是Sigmoid函数)进行分类。

应用:

  • 分类

  • 编码数据库(多层感知器)

  • 监控访问数据(多层感知器)

2. 前馈(Feed Forward (FF))

前馈神经网络是一种其中的节点不会形成循环的人工神经网络。在这种神经网络中,所有的感知器都被安排在输入层接收输入,输出层产生输出。隐藏层与外部世界没有联系,这就是为什么它们被称为隐藏层。在前馈神经网络中,一层的每个感知器与下一层的每个节点连接。因此,所有节点都是完全连接的。需要注意的是,同一层中的节点之间没有可见或不可见的连接。在前馈网络中没有后回路。因此,为了使预测误差最小化,我们通常使用反向传播算法来更新权值。

应用:

  • 数据压缩

  • 模式识别

  • 计算机视觉

  • 声纳目标识别

  • 语音识别

  • 手写字符识别

3. 径向基网络(Radial Basis Network (RBN))

径向基函数网络通常用于解决函数逼近问题。区别于其它神经网络,它们有更快的学习速度和通用逼近能力。径向基神经网络和前馈神经网络的主要区别在于,径向基神经网络使用径向基函数作为激活函数。Logistic(sigmoid)函数的输出值在0到1之间,用来判断答案是是或否。问题是,如果我们有连续的值,则用不了前馈神经网络。径向基神经网络确定生成的输出和目标输出距离多大。在连续值的情况下非常有用。总之,径向基神经网络使用其它的激活函数表现就和前馈神经网络一样。

应用:

  • 函数逼近

  • 时间序列预测

  • 分类

  • 系统控制

4. 深度前馈(Deep Feed-forward (DFF))

深层前馈网络是使用多个隐藏层的前馈网络。只用一层隐藏层的主要问题是过拟合,因此通过增加隐藏层,可以减少过拟合,提高泛化能力。

应用:

  • 数据压缩

  • 模式识别

  • 计算机视觉

  • 心电图噪声滤波

  • 金融预测

5. 循环神经网络(Recurrent Neural Network (RNN))

循环神经网络是前馈神经网络的一种改进形式。在这种类型中,隐藏层中的每个神经元接收具有特定时间延迟的输入。使用这种类型的神经网络,我们需要在当前的迭代中访问之前的信息。例如,当我们试图预测一个句子中的下一个单词时,我们首先需要知道之前使用的单词。循环神经网络可以处理输入并跨时共享任意长度和权重。模型大小不会随着输入的大小而增加,模型中的计算会考虑到历史信息。然而,这种神经网络的问题是计算速度慢。此外,它不能考虑当前状态的任何未来输入。它也无法记住很久以前的信息。

应用:

  • 机器翻译

  • 机器人控制

  • 时间序列预测

  • 语音识别

  • 语音合成

  • 时间序列异常检测

  • 节奏学习

  • 音乐创作

6. 长/短期记忆(Long / Short Term Memory (LSTM))

LSTM 网络引入了一个记忆单元。他们可以处理间隔记忆的数据。如上可见,我们可以在RNN中考虑时间延迟,但如果我们有大量的相关数据,RNN很容易失败,而LSTMs 正好适合。另外,与 LSTMs 相比,RNN不能记忆很久以前的数据。

应用:

  • 语音识别

  • 写作识别

7. 门控循环单位(Gated Recurrent Unit (GRU))

GRU是LSTM的一个变种,因为它们都有相似的设计,绝大多数时候结果一样好。GRU只有三个门,并且它们不维持内部单元状态。

a. 更新门(Update Gate): 决定有多少过去的知识可以传递给未来。
b. 重置门(Reset Gate): 决定过去的知识有多少需要遗忘。
c. 当前记忆门(Current Memory Gate): 重置命运的子部分。

应用:

  • 复调音乐模型

  • 语音信号建模

  • 自然语言处理

8. 自动编码器(Auto Encoder (AE)) :

自动编码器神经网络是一个非监督式机器学习算法。在自动编码器中,隐藏神经元的数量小于输入神经元的数量。自动编码器中输入神经元的数目等于输出神经元的数目。在自动编码器网络中,我们训练它来显示输出,输出和输入尽可能接近,这迫使自动编码器找到共同的模式和归纳数据。我们使用自动编码器来更小的表示输入。我们还可以从压缩的数据中重建原始数据。该算法相对简单,因为自动编码器要求输出与输入相同。

  • 编码器: 转换输入数据到低维

  • 解码器: 重构压缩数据

应用:

  • 分类

  • 聚类

  • 特征压缩

9. 变分自动编码器(Variational Autoencoder (VAE))

变分自动编码器(VAE)使用一种概率方法来描述观测。它显示了一个特征集中每个属性的概率分布。

应用:

  • 在句子之间插入

  • 图像自动生成

10. 去噪自动编码器(Denoising Autoencoder (DAE)

在这种自动编码器中,网络不能简单地将输入复制到其输出,因为输入也包含随机噪声。在 DAE 上,我们制造它是为了降低噪声并在其中产生有意义的数据。在这种情况下,该算法迫使隐藏层学习更鲁棒的特征,以便输出是噪声输入的更精确版本。

应用:

  • 特征提取

  • 降维

11. 稀疏自动编码器(Sparse Autoencoder (SAE))

在稀疏自动编码器网络中,我们通过惩罚隐藏层的激活来构造我们的损失函数,这样当我们将一个样本输入网络时,只有少数节点被激活。这种方法背后的直觉是,例如,如果一个人声称自己是A、 B、 C 和 D 学科的专家,那么这个人可能在这些科目上更多的是一个通才。然而,如果这个人只是声称自己专注于学科D,那么大概率预期可以从这个人的学科 D 的知识中得到启发。

应用:

  • 特征提取

  • 手写数字识别

12. 马尔可夫链(Markov Chain (MC))

马尔可夫链是一个基于某些概率规则经历从一种状态到另一种状态转换的数学系统。过渡到任何特定状态的概率完全取决于当前状态和经过的时间。

例如,一些可能的状态可以是:

  • 信件

  • 数字

  • 天气情况

  • 棒球比分

  • 股票表现

应用:

  • 语音识别

  • 信息及通讯系统

  • 排队论

  • 统计学

13. 霍菲特网络(Hopfield Network (HN)):

在 Hopfield 神经网络中,每个神经元都与其它神经元直接相连。在这个网络中,神经元要么是开的,要么是关的。神经元的状态可以通过接受其它神经元的输入而改变。我们通常使用 Hopfield 网络来存储模式和记忆。当我们在一组模式上训练一个神经网络,它就能够识别这个模式,即使它有点扭曲或不完整。当我们提供不完整的输入时,它可以识别完整的模式,这将返回最佳的猜测。

应用:

  • 优化问题

  • 图像检测与识别

  • 医学图像识别

  • 增强 X 射线图像

14. 波茨曼机(Boltzmann Machine (BM)):

波茨曼机网络包括从一个原始数据集中学习一个概率分布,并使用它来推断没见过的数据。在 BM 中,有输入节点和隐藏节点,一旦所有隐藏节点的状态发生改变,输入节点就会转换为输出节点。例如: 假设我们在核电站工作,安全必须是第一位的。我们的工作是确保动力装置中的所有组件都可以安全使用——每个组件都会有相关的状态,使用布尔值1表示可用,0表示不可用。然而,还有一些组成部分,我们不可能定期测量它们的状态。

此外,没有数据可以告诉我们,如果隐藏的部件停止工作,发电厂什么时候会爆炸。在这种情况下,我们构建了一个模型,当组件更改其状态时,它会发出通知。这样,我们将得到通知检查该组件,并确保动力装置的安全。

应用:

  • 降维

  • 分类

  • 回归

  • 协同过滤

  • 特征学习

15. 受限玻尔兹曼机(Restricted Boltzmann Machine (RBM))

RBM 是 BM 的一种变种。在这个模型中,输入层和隐藏层的神经元之间可能有对称的连接。需要注意的一点是,每一层内部都没有内部连接。相比之下,玻尔兹曼机可能有内部连接的隐藏层。这些限制让模型的训练更高效。

应用:

  • 过滤

  • 特征学习

  • 分类

  • 风险检测

  • 商业及经济分析

16. 深度信念网络(Deep Belief Network (DBN))

深度信念网络包含许多隐藏层。我们可以使用无监督算法调用 DBN,因为它首先学习而不需要任何监督。DBN 中的层起着特征检测器的作用。经过无监督训练后,我们可以用监督方法训练我们的模型进行分类。我们可以将 DBN 表示为受限玻耳兹曼机(RBM)和自动编码器(AE)的组合,最后的 DBN 使用概率方法得到结果。

应用:

  • 检索文件/图像

  • 非线性降维

17. 深度卷积网络(Deep Convolutional Network (DCN))

卷积神经网络是一种神经网络,主要用于图像分类、图像聚类和目标识别。DNN 允许无监督地构造层次图像表示。DNN 被用来添加更复杂的特征,以便它能够更准确地执行任务。

应用:

  • 识别面部,街道标志,肿瘤

  • 图像识别

  • 视频分析

  • 自然语言处理

  • 异常检测

  • 药物发现

  • 跳棋游戏

  • 时间序列预测

18. 反卷积神经网络(Deconvolutional Neural Networks (DN))

反卷积网络是一种反向过程的卷积神经网络。尽管反卷积网络在执行方式上类似于 CNN,但它在 AI 中的应用是非常不同的。反卷积网络有助于在以前认为有用的网络中找到丢失的特征或信号。卷积网络可能由于与其它信号卷积而丢失信号。反卷积网络可以接受一个向量输入并还原成照片。

应用:

  • 图像超分辨率

  • 图像的表面深度估计

  • 光流估计

19. 深度卷积逆图形网络(Deep Convolutional Inverse Graphics Network (DC-IGN))

深度卷积逆图形网络旨在将图形表示与图像联系起来。它使用元素,如照明,对象的位置,纹理,和其它方面的图像设计来进行非常复杂的图像处理。它使用不同的层来处理输入和输出。深度卷积逆图形网络利用初始层通过各种卷积和最大池化进行编码,然后利用后续层进行展开解码。

应用:

  • 人脸处理

20. 生成对抗网络(Generative Adversarial Network (GAN))

给定训练数据,GANs 学习用与训练数据相同的统计数据生成新的数据。例如,如果我们对 GAN 模型进行照片训练,那么一个经过训练的模型就能够生成人眼看起来真实可信的新照片。GAN的目标是区分真实结果和合成结果,以便产生更真实的结果。

应用:

  • 创造新的人体姿势

  • 照片变Emoji

  • 面部老化

  • 超分辨率

  • 服装变换

  • 视频预测

21. 液态机(Liquid State Machine (LSM))

液态机是一种特殊的脉冲神经网络。液态机由大量的神经元组成。这里,每个节点接收来自外部源和其它节点的输入,这些输入可能随时间而变化。请注意,液态机上的节点是随机连接的。在液态机中,激活函数替换为阈值级别。只有当液态机达到阈值水平时,一个特定的神经元才会发出输出。

应用:

  • 语音识别

  • 计算机视觉

22. 极限学习机(Extreme Learning Machine (ELM)):

传统系统处理大量数据的主要缺点是:

  • 基于梯度算法学习速度慢

  • 迭代调优所有参数

极限学习机随机选择隐藏节点,然后通过分析确定输出权重。因此,这些算法比一般的神经网络算法更快。另外,在极限学习机网络中,随机分配的权重通常不会更新。它只需一步就能学会输出权重。

应用:

  • 分类

  • 回归

  • 聚类

  • 稀疏逼近

  • 特征学习

23. 回声状态网络(Echo State Network (ESN))

ESN是循环神经网络的一个子类型。这里每个输入节点接收到一个非线性信号。在 ESN 中,隐藏的节点是稀疏连接的。隐节点的连通度和权值是随机分配的。在ESN上,最终的输出权重是可训练更新的。

应用:

  • 时间序列预测

  • 数据挖掘

24. 深度残差网络(Deep Residual Network (DRN))

具有多层结构的深层神经网络训练很难,且需要花费大量的时间。它也可能导致结果退化。深度残差网络即使有很多层也可以防止结果退化。使用残差网络,其输入的一些部分会传递到下一层。因此,这些网络可以相当深(它可能包含大约300层)。

应用:

  • 图像分类

  • 目标检测

  • 语义分割

  • 语音识别

  • 语言识别

25. Kohonen网络(Kohonen Networks (KN) )

Kohonen 网络是一种无监督算法。Kohonen 网络也称为自组织映射,当我们的数据分散在多个维度,而我们希望它只有一个或两个维度时,这非常有用。它可以认为是一种降维的方法。我们使用 Kohonen 网络可视化高维数据。他们使用竞争学习而不是纠错学习。

各种拓扑结构:

  • 矩形网格拓扑

  • 六边形网格拓扑

应用:

  • 降维

  • 水质评价与预测

  • 沿岸水资源管理

26. 支持向量机(Support Vector Machines (SVM)):

支持向量机神经网络是支持向量机和神经网络的混合算法。对于一组新的样本,它总是试图分为两类: 是或否(1或0)。支持向量机通常用于二分类。这些通常不被认为是神经网络。

应用:

  • 人脸检测

  • 文本分类

  • 分类

  • 生物信息学

  • 手写识别

27. 神经图灵机(Neural Turing Machine (NTM)) :

神经图灵机结构包含两个主要组件:

  • 神经网络控制器

  • 记忆库

在这个神经网络中,控制器通过输入和输出向量与外界进行交互。它还通过与记忆矩阵交互来执行选择性读写操作。图灵机被认为在计算上等同于现代计算机。因此,NTM通过与外部存储的交互,扩展了标准神经网络的能力。

应用:

  • 机器人

  • 制造人造大脑

希望你喜欢这篇关于神经网络主要类型的概述。如果你有任何反馈,或者有什么需要修改或重新审视的地方,欢迎在评论中补充。

References:

[1] Activation Function | Wikipedia | en.wikipedia.org/wiki/A

[2] The perceptron: a probabilistic model for information storage and organization in the brain | Frank Rosenblatt | University of Pennsylvania | ling.upenn.edu/courses/

[3] Frank Rosenblat’s Mark I Perceptron at the Cornell Aeronautical Laboratory. Buffalo, Newyork, 1960 | Instagram, Machine Learning Department at Carnegie Mellon University | instagram.com/p/Bn_s3bj

[4] Backpropagation | Wikipedia | https://en.wikipedia.org/wiki/Backpropagation

原文:https://medium.com/towards-artificial-intelligence/main-types-of-neural-networks-and-its-applications-tutorial-734480d7ec8e

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

总结 27 类深度学习主要神经网络:结构图及应用相关推荐

  1. DL:听着歌曲《成都》三分钟看遍主流的深度学习的神经网络的发展框架(1950~2018)

    DL:听着歌曲<成都>三分钟看遍主流的深度学习的神经网络的发展框架(1950~2018) 视频链接:听着歌曲<成都>三分钟看遍主流的深度神经网络的发展框架(1950~2018) ...

  2. 深度学习(神经网络) —— BP神经网络原理推导及python实现

    深度学习(神经网络) -- BP神经网络原理推导及python实现 摘要 (一)BP神经网络简介 1.神经网络权值调整的一般形式为: 2.BP神经网络中关于学习信号的求取方法: (二)BP神经网络原理 ...

  3. 人工智能、机器学习、深度学习和神经网络的区别

    人工智能 背景:人工智能最初可以追溯至1956年,当时多名计算机科学家在达特茅斯会议上共同提出了人工智能的概念.在随后几十年中,人工智能一方面被认为是人类文明未来的发展方向,另一方面也被认为是难以企及 ...

  4. 零基础入门深度学习(3) - 神经网络和反向传播算法

    无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...

  5. 机器学习、深度学习、神经网络学习资料集合(开发必备)

    最近整理了下AI方面的学习资料,包含了学习社区.入门教程.汲取学习.深度学习.自然语言处理.计算机视觉.数据分析.面试和书籍等方面的知识.在这里分享给大家,欢迎大家点赞收藏. 学习社区 神力AI(MA ...

  6. 深度学习和神经网络的介绍(一)

    1.深度学习和神经网络 1.1 深度学习的介绍 目标: 知道什么是深度学习 知道深度学习和机器学习的区别 能够说出深度学习的主要应用场景 知道深度学习的常见框架 1.1.1 深度学习的概念 深度学习是 ...

  7. 人工智能:通俗易懂理解深度学习与神经网络

    前言 初入学习人工智能领域,为方便对该领域有一个快速清晰的认识,因此收集了相关资料并整理了各位前辈们在此领域的研究现状.由浅入深.循序渐进理解什么是深度学习和神经网络,二者的联系和区别是什么,以及什么 ...

  8. 15个小时彻底搞懂NLP自然语言处理(2021最新版附赠课件笔记资料)【LP自然语言处理涉及到深度学习和神经网络的介绍、 Pytorch、 RNN自然语言处理】 笔记

    15个小时彻底搞懂NLP自然语言处理(2021最新版附赠课件笔记资料)[LP自然语言处理涉及到深度学习和神经网络的介绍. Pytorch. RNN自然语言处理] 笔记 教程与代码地址 P1 机器学习与 ...

  9. 深度学习是什么?深度学习和神经网络的区别是什么

    1.深度学习中什么是人工神经网络? 人工神经网络(Artificial Neural Network,即ANN )是从信息处理角度对人脑神经元网络进行抽象,是20世纪80年代以来人工智能领域兴起的研究 ...

  10. 深度学习:神经网络中的激活函数

    http://blog.csdn.net/pipisorry/article/details/71157037 激活函数 神经网络神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数, ...

最新文章

  1. Kali linux 2016.2(Rolling)里Metasploit的OpenVAS
  2. sama5d3 xplained 系统加载后确认使用的网口
  3. 电话无人应答转总机的配置方法
  4. 三言两语说说进程调度
  5. Cockroach DB 1.0发布
  6. ttc error oracle,ORA-03137: TTC protocol internal error : [12333]错误一例
  7. 单例模式,双重检查实现线程安全
  8. C语言和设计模式(之单件模式)
  9. 【Java I/O流】File、字符集、字节流、字符流、缓冲流、数据流、对象流、序列化、try-with-resources语句
  10. 机器学习实战 利用sklearn库预测科比生涯数据
  11. 华为数通笔记-DHCPv6原理与实验
  12. 什么是seo外链工具
  13. 图像检索代码python_python-图像检索
  14. 爬取企业信息-企业信用信息查询系统-天眼查爬虫
  15. JavaScript点击图片提示
  16. 百度对网站就像西门庆对潘金莲
  17. 简单版捕鱼达人的制做
  18. 学习学习学习学习学习学习
  19. Flutter开始支持Windows了
  20. [vdbench]vdbench典型配置

热门文章

  1. c#读蓝牙数据_c# – 将蓝牙设备连接到具有32feet .NET蓝牙库的计算机
  2. 不同时区时间换算_时区换算-如何计算时区? 爱问知识人
  3. Pyramidal Convolution
  4. python @property 解释
  5. python信用卡客户_银行信用卡客户价值分析(Python数据分析)
  6. 用开源求解器和Pyomo实现灵活的班次安排
  7. 打开和设置IDEA欢迎界面
  8. 高频信号发生器设计—电感三点式振荡电路
  9. 关于地理坐标的精度设置,做测绘的工程师应该懂的基本常识(南方数码CASS11.0.0.6还增加批量转换的方式)
  10. HMC_Recovery_V7R730 安装步骤