深度学习及CNN、RNN、GAN等神经网络简介(图文解释 超详细)

简介: 深度学习及CNN、RNN、GAN等神经网络简介(图文解释 超详细)

深度学习概述

理论上来说,参数越多的模型复杂度越高、容量越大,这意味着它能完成更复杂的学习任务。但一般情形下,复杂模型的训练效率低,易陷入过拟合。随着云计算、大数据时代的到来,计算能力的大幅提高可以缓解训练的低效性,训练数据的大幅增加可以降低过拟合风险。因此,以深度学习(Deep Learning,DL)为代表的复杂模型受到了关注


深度学习是机器学习(Machine Learning,ML)领域中一个新的研究方向。它使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。深度学习是一类模式分析方法的统称,就具体研究内容而言,主要涉及三类方法


(1)基于卷积运算的神经网络系统,即卷积神经网络(Convolutional Neural Network,CNN)

(2)基于多层神经元的自编码神经网络,包括自编码(Auto Encoder)以及近年来受到广泛关注的稀疏编码两类(Sparse Coding)

(3)以多层自编码神经网络的方式进行预训练,进而结合鉴别信息进一步优化神经网络权值的深度置信网络(DBN)


通过多层处理,逐渐将底层的特征表示转化为高层特征表示,用简单模型即可完成复杂的分类等学习任务,由此可将深度学习理解为进行特征学习或表示学习。


以往在机器学习用于现实任务时,描述样本的特征通常需要人类专家设计,称为特征工程,众所周知,特征的好坏对泛化性能有至关重要的影响,人类专家设计出好的特征也并非易事,特征学习则通过机器学习技术自身产生好特征,这使机器学习向全自动数据分享又前进了一步


常用的深度学习算法


常见的深度学习算法主要包括卷积神经网络、循环神经网络和生成对抗神经网络(Generative Adversarial Network,GAN)等。这些算法是深度学习的基础算法,在各种深度学习相关系统中均有不同程度的应用


1. 卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN)是第一个被成功训练的多层神经网络结构,具有较强的容错、自学习及并行处理能力。CNN最初是为识别二维图像形状而设计的多层感知器,局部联结和权值共享网络结构类似于生物神经网络,降低神经网络模型的复杂度,减少权值数量,使网络对于输入具备一定的不变性。经典的LeNet-5卷积神经网络结构图如图9-7所示

经典的LeNet-5卷积神经网络包括了输入层、卷积层、池化层、全连接层和输出层

(1)输入层

输入数据结构可以是多维的

(2)卷积层

卷积层使用卷积核提取特征,在卷积层中需要理解局部感受野和共享权值

(3)池化层

池化层是将卷积得到的特征映射图进行稀疏处理,减少数据量

(4)全连接层

在网络的末端对提取后的特征进行恢复,重新拟合,减少因为特征提取而造成的特征丢失

(5)输出层

输出层用于将最终的结果输出,针对不同的问题,输出层的结构也不相同


2. 循环神经网络


循环神经网络(Recurrent Neural Network, RNN)是一类以序列数据为输入,在序列的演进方向进行递归且所有结点(循环单元)按链式连接的递归神经网络(Recursive Neural Network)。之所以是“循环”,是因为其中隐含层结点的输出不仅取决于当前输入值,还与上一次的输入相关,即结点的输出可以指向自身,进行循环递归运算,在处理时间序列相关的场景时效果明显,在分析语音、视频、天气预报、股票走势预测等方面具有突出优势


3. 生成对抗网络


生成式对抗网络(Generative Adversarial Networks,GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。它解决的问题是从现有样本中学习并创建出新的样本,按照人类对事物的学习过程,逐渐总结规律,而并非使用大量数据训练,所以在新的任务处理中,只需要少量的标记样本就可以训练出高效的分类器


GAN网络模型通过生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。生成模型是给定某种隐含信息,随机产生观测数据,判别模型的主要任务是对样本进行区分,首先训练区分网络,从而提高模型的真假辨识能力,然后训练生成网络,提高其欺骗能力,生成接近于真实的训练样本,两种网络之间形成对抗关系,都极力优化自己的性能,直到达到一种动态平衡状态


总结


神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能模拟生物神经系统会真实世界物体所作出的交互反应 。在机器学习中谈论神经网络时一般指的是“神经网络学习

感知机感知器的概念类似于大脑基本处理单元神经元的工作原理。感知器具有许多输入(通常称为特征),这些输入被馈送到产生一个二元输出的线性单元中。因此,感知器可用于解决二元分类问题,其中样本将被识别为属于预定义的两个类之一

BP算法基于梯度下降策略,以目标的负梯度方向对网络参数进行调整。现实任务中使用神经网络时,大多是使用BP算法进行训练。BP算法不仅可以用于多层前馈神经网络,还可以用于其他类型的神经网络。通常所说的BP网络指利用BP算法训练的多层前馈神经网络

深度学习的概念源于人工神经网络的研究,含多个隐藏层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。研究深度学习的动机在于建立模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本等

卷积神经网络是针对二维数据设计的一种模拟“局部感受野”的局部连接的神经网络结构。它引入卷积运算实现局部连接和权值共享的特征提取,引入池化操作实现低功耗计算和高级特征提取。网络构造通过多次卷积和池化过程形成深度网络,网络的训练含有“权共享”和“稀疏”的特点,学习过程类似于BP算法

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
2天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
12 5
|
2天前
|
数据可视化 数据挖掘
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
10 2
|
4天前
|
机器学习/深度学习 算法 Python
Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测
Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测
47 12
|
5天前
|
机器学习/深度学习 传感器 数据可视化
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
20 1
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
|
9天前
|
机器学习/深度学习 数据可视化 测试技术
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
21 0
|
10天前
|
机器学习/深度学习 API 算法框架/工具
R语言深度学习:用keras神经网络回归模型预测时间序列数据
R语言深度学习:用keras神经网络回归模型预测时间序列数据
18 0
|
10天前
|
机器学习/深度学习 数据采集 TensorFlow
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
29 0
|
10天前
|
机器学习/深度学习
HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
19 0
|
2月前
|
机器学习/深度学习 算法 PyTorch
python手把手搭建图像多分类神经网络-代码教程(手动搭建残差网络、mobileNET)
python手把手搭建图像多分类神经网络-代码教程(手动搭建残差网络、mobileNET)
46 0
|
6月前
|
机器学习/深度学习 监控 算法
【tensorflow】连续输入的神经网络模型训练代码
【tensorflow】连续输入的神经网络模型训练代码