dnn是什么(dnn是什么意思)

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

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

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

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

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

CNN是一种通过卷积计算的前馈神经网络,其是受生物学上的感受野机制提出的,具有平移不变性,使用卷积核,最大的应用了局部信息,保留了平面结构信息。

DNN以向量形式输入,未考虑平面的结构信息,而在图像领域和自然语言处理领域,平面信息很重要,因此CNN比DNN处理结果更好。由于DNN、CNN的输入、输出长度固定,而自然语言处理中的语句长度通常不固定,所以DNN、CNN处理这种问题效率较低,且无法处理时序相关的序列问题。为了解决这些问题,出现了循环神经网络RNN。

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

本文由东北大学计算机科学与工程学院副教授信俊昌进行科学性把关。

(责编:魏思敏、张希)