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

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 随机梯度下降

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值