CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?以及他们的主要用途是什么?只知道 CNN 是局部感受和参数共享,比较适合用于图像这方面。刚入门的小白真心求助。
CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?
评论 2
文明发言,友善讨论
流雲10245 years ago
👍
cv君5 years ago
DNN指的是包含多个隐层的神经网络,如图1所示,根据神经元的特点,可以分为MLP、CNNs、RNNs等,下文在区分三者的时候,都从神经元的角度来讲解。MLP是最朴素的DNN,CNNs是encode了空间相关性的DNN,RNNs是encode进了时间相关性的DNN。 MLP是最简单的DNN,它的每一层其实就是fc层(fully connected layer),其神经元见图2所示。 CNNs相对于MLP而言,多了一个先验知识,即数据之间存在空间相关性,比如图像,蓝天附近的像素点是白云的概率会大于是水桶的概率。滤波器会扫过整张图像,在扫的过程中,参数共享。图3、图4、图5、图6是一个3x3的输入经过一个2x2的conv的过程,该conv的stride为1,padding为0。图7是最后的计算结果。 RNNs相对于MLP而言,也多了一个先验知识,即数据之间存在时间相关性,比如一段文字,前面的字是“上”,后面的字是“学”概率更大,是“狗”的概率很小。RNNs神经元的输入会有多个time step,每个time step的输入进入神经元中时会共享参数。图8是一个典型的RNNs示意图,图9是将图8在时间上展开的结果,这里只展开了两步。
