随着图像识别技术的发展,我们的现实生活中已经有可以对猫、狗进行分辨的机器了,即给机器一张猫的图片,机器可以正确的预测图片上的动物是猫。那么,机器是怎么做到的呢?

在图像识别领域,应用的最多的就是深度学习,而深度学习又分为不同的模型,如前馈神经网络(feedforward neural network,DNN)、卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(Recurrent Neural Network,RNN)等。使用不同的模型,即让机器使用不同的方法对猫或狗的图片进行预测,取得的预测效果也有所不同。

那么这些不同的模型,它们之间有什么区别和联系呢?

要说深度学习的各种不同的模型,首先要先说一下这些模型的共有基础组成部分,那就是深度学习中的人工神经元,类似于生物学中的神经元,深度学习中的人工神经元可以看作是一个数学模型,多个神经元连接在一起就构成了神经网络。

DNN是一种最简单的神经网络。各个神经元分别属于不同的层,每个神经元和前一层的所有神经元相连接,信号从输入层向输出层单向传播。

CNN是一种通过卷积计算的前馈神经网络,其是受生物学上的感受野机制提出的,具有平移不变性,使用卷积核,最大的应用了局部信息,保留了平面结构信息。
https://www.sohu.com/a/3302020910_120045299
DNN以向量形式输入,未考虑平面的结构信息,而在图像领域和自然语言处理领域,平面信息很重要,因此CNN比DNN处理结果更好。由于DNN、CNN的输入、输出长度固定,而自然语言处理中的语句长度通常不固定,所以DNN、CNN处理这种问题效率较低,且无法处理时序相关的序列问题。为了解决这些问题,出现了循环神经网络RNN。

RNN的输入是序列数据,核心思想是将处理问题在时序上分解为一系列相同的“单元”,单元的神经网络可以在时序上展开,所有循环单元按照链式连接,且能将上一时刻的结果传递给下一时刻。但是RNN存在长期依赖问题,即距离当前节点越远的节点对当前节点处理的影响会变得越来越小。

DNN和RNN和DNN之间的区别相关推荐

  1. DNN、RNN、CNN.…..一文带你读懂这些绕晕人的名词

    DNN.RNN.CNN.-..一文带你读懂这些绕晕人的名词 https://mp.weixin.qq.com/s/-A9UVk0O0oDMavywRGIKyQ 「撞脸」一直都是娱乐圈一大笑梗. 要是买 ...

  2. ztree在刷新时第一个父节点消失_从反向传播推导到梯度消失and爆炸的原因及解决方案(从DNN到RNN,内附详细反向传播公式推导)...

    引言:参加了一家公司的面试和另一家公司的笔试,都问到了这个题!看来很有必要好好准备一下,自己动手推了公式,果然理解更深入了!持续准备面试中... 一. 概述: 想要真正了解梯度爆炸和消失问题,必须手推 ...

  3. 从参数数量视角理解深度学习神经网络算法 DNN, CNN, RNN, LSTM 以python为工具

    从参数数量视角理解深度学习神经网络算法 DNN, CNN, RNN, LSTM 以python为工具 文章目录 1. 神经网络数据预处理 1.1 常规预测情景 1.2 文本预测场景 2.全连接神经网络 ...

  4. DL:基于神经网络的深度学习模型的总概览简介(DNN/CNN/RNN等)、各种网络结构对比、案例应用对比之详细攻略

    DL:基于神经网络的深度学习模型的总概览简介(DNN/CNN/RNN等).各种网络结构对比.案例应用对比之详细攻略 目录 神经网络所有模型的简介(概览) DNN.CNN.RNN结构对比 相关文章 DL ...

  5. DNN、RNN、CNN

    1.DNN(深度神经网络) 神经网络是基于感知机的扩展,而DNN可以理解为有很多隐藏层的神经网络.多层神经网络和深度神经网络DNN其实也是指的一个东西,DNN有时也叫做多层感知机(Multi-Laye ...

  6. FPGA与ASIC:它们之间的区别以及使用哪一种?

    FPGA与ASIC:它们之间的区别以及使用哪一种? FPGA Vs ASIC: Differences Between Them And Which One To Use? VL82C486 Sing ...

  7. Python 应用领域以及版本之间的区别

    Python 应用领域以及版本之间的区别 一.Python应用领域 Python+人工智能,给你更多研究方向选择! 企业级综合实战项目,集六大前沿技术为一体 二. Python 2与Python 3的 ...

  8. java中separator_java - File.separator和路径中的斜杠之间的区别

    java - File.separator和路径中的斜杠之间的区别 在Java Path-String中使用/和普通的File.separator有什么区别? 与双反斜杠相比,/平台独立似乎不是原因, ...

  9. 机器学习、数据科学、人工智能、深度学习和统计学之间的区别!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Vincent Granville,来源:机器之心 在这篇文章中, ...

最新文章

  1. 有关(int)和(int)的区别
  2. python编写请求参数带文件_python requests 库请求带有文件参数的接口实例
  3. UI Component in CRM WebUI and Hybris
  4. mysql注入漏洞修复方案_注入漏洞修复方案
  5. java-jdk各版本特性概述
  6. Blazor VS 传统Web应用程序
  7. 基于LVS对LAMP做负载均衡集群
  8. java 判断当前时间是否为节假日_浅谈Java8日期时间处理
  9. java 注册监听_java注册监听模型
  10. Windows开机自动运行软件目录
  11. AcWing 1209. 带分数(排列型枚举)
  12. Linux 配置LNMP服务器 并配置虚拟主机
  13. C++基础之布尔类型,什么是C++的布尔类型
  14. pandas.DataFrame.rank
  15. 高德API地名转化为坐标
  16. spring第二冲刺阶段第七天
  17. MeScroll 移动端刷新,分页
  18. 论文:Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection通过划块的方式进行小目标检测
  19. 美团实习面(45min + 35min)
  20. 【阿里云】1.阿里云大数据产品体系

热门文章

  1. 未闻花名怎么用计算机,未闻花名(我们仍未知道那天所看见的花的名字)攻略...
  2. dell服务器 安装 Linux,DELL服务器安装linux系统
  3. 响应国策号召 天融信开启安全整合之旅
  4. 【经验】 - \r,\n,\r\n的区别
  5. 最全的 DB2 错误代码大全
  6. 项目中的第三方支付接口
  7. 组合数学——排列组合经典模型
  8. Springboot 开发 Web Flux
  9. 美国权威机构:2005年美国商学院排座次
  10. 【附源码】Java计算机毕业设计企业售后服务管理系统(程序+LW+部署)