博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DNN和RNN和DNN之间的区别
阅读量:3897 次
发布时间:2019-05-23

本文共 883 字,大约阅读时间需要 2 分钟。

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

在图像识别领域,应用的最多的就是深度学习,而深度学习又分为不同的模型,如前馈神经网络(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存在长期依赖问题,即距离当前节点越远的节点对当前节点处理的影响会变得越来越小。

转载地址:http://wifen.baihongyu.com/

你可能感兴趣的文章
PAT---1058. A+B in Hogwarts (20)
查看>>
PAT---A1001. A+B Format (20)
查看>>
PAT---A1005. Spell It Right (20)
查看>>
PAT---A1035. Password (20)
查看>>
PAT---A1077. Kuchiguse (20)
查看>>
PAT---A1062. Talent and Virtue (25)
查看>>
PAT---A1012. The Best Rank (25)
查看>>
数据库SQL语言语法总结3---查询语句
查看>>
数据库SQL语言语法总结4---数据更新
查看>>
数据库SQL语言语法总结5---视图
查看>>
数据库SQL语言语法总结6---数据控制
查看>>
数据库SQL语言语法总结1---表操作
查看>>
Numpy中stack(),hstack(),vstack()函数详解
查看>>
基于3D卷积神经网络的行为识别
查看>>
K.function用法
查看>>
keras -- multi-loss
查看>>
pytorch数据增强的具体细节
查看>>
pytorch专题 --- load模型
查看>>
VSCode编写C++代码从零开始
查看>>
ESC ubuntu16.04 ipv6配置
查看>>