BP算法和RNN_模型CNN-RNN-LSTM和GRU简介

本文介绍了深度学习中常用的模型,包括CNN、RNN,以及RNN的变种LSTM和GRU。深度学习模型在计算机视觉等领域广泛应用,而RNN因其递归特性适合处理序列数据,但存在梯度消失问题。LSTM和GRU通过门控机制缓解这一问题,简化版的GRU在计算效率和模型复杂性上更具优势。
摘要由CSDN通过智能技术生成

987b90e2c08868e5b7781b94144f6add.png

深度学习自从2006年以后已经“火”了十多年了,目前大家看到的,最普遍的应用成果是在计算机视觉、语音识别和自然语言处理(NLP)。最近工业界也在努力地扩展它的应用场景,比如游戏、内容推荐和广告匹配等等。

深度模型架构分三种:

  1. 前向反馈网络:MLP,CNN;
  2. 后向反馈网络:stacked sparse coding, deconvolutional nets;
  3. 双向反馈网络:deep Boltzmann machines, stacked auto-encoders

卷积神经网络(Convolutional Neural Network, CNN) 应该是最流行的深度学习模型,在计算机视觉也是影响力最大的。下面介绍一下深度学习中最常用的CNN模型,以及相关的RNN模型,其中也涉及到著名的LSTM和GRU。


基本概念

计算神经生物学对构建人工神经元的计算模型进行了重要的研究。试图模仿人类大脑行为的人工神经元是构建人工神经网络的基本组成部分。基本计算元素(神经元)被称为节点(或单元),其接收来自外部源的输入,具有产生输出的一些内部参数(包括在训练期间学习的权重和偏差)。 这个单位被称为感知器。感知器的基本框图如下图所示。

图显示神经元的基本非线性模型,其中 1, 2, 3,... 是输入信号; 1, 2, 3,⋯ 是突触权重; 是输入信号的线性组合; φ(∙)是激活函数(例如sigmoid), 是输出。 偏移 与输出的线性组合器相加,具有应用仿射变换的效果,产生输出 。 神经元功能可以用数学表示如下:

c9c651205eb8dd56ccd312719ae4cbdc.png
神经元的基本模型

2e732853ad6c9a719ce65a7019d4fb0a.png

人工神经网络或一般神经网络由多层感知器(MLP)组成,其中包含一个或多个隐藏层,每层包含多个隐藏单元(神经元)。 具有MLP的NN模型如图所示。

aa43ad59709b5564fdd30b9dbceae506.png
带有MLP的NN模型

多层感知器输出

87e53f082f8d9a51251b09fef379d6ed.png

学习率(learning rate)是训练DNN的重要组成部分。它是训练期间考虑的步长,使训练过程更快。但是,选择学习率是敏感的。如果为η较大,网络可能会开始发散而不是收敛;另一方面,如果η选择较小,则网络需要更多时间收敛。此外它可能很容易陷入局部最小值。

有三种常用方法可用于降低训练期间的学习率:常数、因子和指数衰减。首先,可以定义一个常数ζ,基于定义的步长函数手动地降低学习率。 其次,可以在训练期间根据以下等式调整学习率:

7f3ba4c29a52bb70751602302bbeee8f.png

指数衰减的步进函数格式为:

8efee60e397861cb4faf83d1a172a856.png

梯度下降法是一阶优化算法,用于寻找目标函数的局部最小值。算法1解释了梯度下降的概念:

算法1 梯度下降

输入:损失函数ε,学习率η,数据集 , 和模型F(θ, )

输出:最小化ε的最优θ

重复直到收敛:

adc1d6f211c4b2e25c751eda62fcc20f.png

结束

由于训练时间长是传统梯度下降法的主要缺点,因此随机梯度下降(Stochastic Gradient Descent ,SGD)方法用于训练深度神经网络(DNN)。 算法2详细解释了SGD。

算法2 随机梯度下降

输入:损失函数ε,学习率η,数据集 ,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值