图解3种常见的深度学习网络结构:FC、CNN、RNN

导读:深度学习可以应用在各大领域中 , 根据应用情况的不同 , 深度神经网络的形态也各不相同 。
常见的深度学习模型主要有全连接(Fully Connected , FC)网络结构、卷积神经网络(Convolutional Neural Network , CNN)和循环神经网络(Recurrent Neural Network , RNN) 。
它们均有着自身的特点 , 在不同的场景中发挥着重要作用 。 本文将为读者介绍三种模型的基本概念以及它们各自适用的场景 。
作者:刘祥龙 杨晴虹 胡晓光 于佃海 白浩杰 深度学习技术及应用国家工程实验室 百度技术学院
来源:华章科技
图解3种常见的深度学习网络结构:FC、CNN、RNN文章插图
01 全连接网络结构全连接(FC)网络结构是最基本的神经网络/深度神经网络层 , 全连接层的每一个节点都与上一层的所有节点相连 。
全连接层在早期主要用于对提取的特征进行分类 , 然而由于全连接层所有的输出与输入都是相连的 , 一般全连接层的参数是最多的 , 这需要相当数量的存储和计算空间 。
参数的冗余问题使单纯的FC组成的常规神经网络很少会被应用于较为复杂的场景中 。 常规神经网络一般用于依赖所有特征的简单场景 , 比如说房价预测模型和在线广告推荐模型使用的都是相对标准的全连接神经网络 。 FC组成的常规神经网络的具体形式如图2-7所示 。
图解3种常见的深度学习网络结构:FC、CNN、RNN文章插图
▲图2-7 FC组成的常规神经网络
02 卷积神经网络卷积神经网络(CNN)是一种专门用来处理具有类似网格结构的数据的神经网络 , 如图像数据(可以看作二维的像素网格) 。 与FC不同的地方在于 , CNN的上下层神经元并不都能直接连接 , 而是通过“卷积核”作为中介 , 通过“核”的共享大大减少了隐藏层的参数 。
简单的CNN是一系列层 , 并且每个层都通过一个可微函数将一个量转化为另一个量 , 这些层主要包括卷积层(Convolutional Layer)、池化层(Pooling Layer)和全连接层(FC Layer) 。
卷积网络在诸多应用领域都有很好的应用效果 , 特别是在大型图像处理的场景中表现得格外出色 。 图2-8展示了CNN的结构形式 , 一个神经元以三维排列组成卷积神经网络(宽度、高度和深度) , 如其中一个层展示的那样 , CNN的每一层都将3D的输入量转化成3D的输出量 。
图解3种常见的深度学习网络结构:FC、CNN、RNN文章插图
▲图2-8 CNN的结构形式
03 循环神经网络循环神经网络(RNN)也是常用的深度学习模型之一(如图2-9所示) , 就像CNN是专门用于处理网格化数据(如一个图像)的神经网络 , RNN是一种用于处理序列数据的神经网络 。
如音频中含有时间成分 , 因此音频可以被表示为一维时间序列;语言中的单词都是逐个出现的 , 因此语言的表示方式也是序列数据 。 RNN在机器翻译、语音识别等领域中均有非常好的表现 。
图解3种常见的深度学习网络结构:FC、CNN、RNN文章插图
▲图2-9 简单的RNN结构
关于作者:刘祥龙 , 副教授 , 博士生导师 , 现任职于北京航空航天大学软件开发环境国家重点实验室 , 主要研究大数据检索、大规模视觉分析、可信赖深度学习等 。
杨晴虹 , 博士 , 中科院系列高级工程师 , 北航软件学院人工智能专业主讲教师 , 美国南康涅狄格州立大学图书信息科学访问学者 , 美国耶鲁大学技术创新实验室数据分析专家 。
胡晓光 , 百度杰出研发架构师 , 10余年自然语言处理研发经验 , 参与的机器翻译项目获得国家科技进步二等奖 , 现负责飞桨核心训练框架和模型算法的研发 , 致力于打造最好用的深度学习平台 。
于佃海 , 百度深度学习平台飞桨(PaddlePaddle)总架构师 。 2008年从北京大学毕业加入百度 , 长期从事机器学习、自然语言处理相关的技术研发和平台建设工作 。
白浩杰 , 北航、大连理工特聘讲师 , 百度认证深度学习布道师 , 美国佛罗里达国际大学高性能数据实验室访问学者 , 致力于移动对象数据库、数据可视化、机器学习、深度学习等方向的研究 。
本文摘编自《飞桨PaddlePaddle深度学习实战》 , 经出版方授权发布 。
图解3种常见的深度学习网络结构:FC、CNN、RNN文章插图
延伸阅读《飞桨PaddlePaddle深度学习实战》
【图解3种常见的深度学习网络结构:FC、CNN、RNN】推荐语:本书由百度官方出品 , 内容全面、由浅入深、注重实践 , 基于飞桨PaddlePaddle深度学习平台 , 较为全面地覆盖了学习深度学习技术所必须具备的基础知识以及深度学习主要核心技术 , 包括相关的数学基础、Python编程基础、机器学习基础以及正向/反向传播算法、卷积神经网络、循环神经网络等 , 尽量做到读懂一本书即可达到“零基础”到“全精通” 。