深度学习之GRU网络

1、GRU概述

  GRU是LSTM网络的一种效果很好的变体,它较LSTM网络的结构更加简单,而且效果也很好,因此也是当前非常流形的一种网络。GRU既然是LSTM的变体,因此也是可以解决RNN网络中的长依赖问题。

  在LSTM中引入了三个门函数:输入门、遗忘门和输出门来控制输入值、记忆值和输出值。而在GRU模型中只有两个门:分别是更新门和重置门。具体结构如下图所示:

    

  图中的zt和rt分别表示更新门和重置门。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略得越多。

2、GRU前向传播

  根据上面的GRU的模型图,我们来看看网络的前向传播公式:

    

    

    

    

    

  其中[]表示两个向量相连,*表示矩阵的乘积。

3、GRU的训练过程

  从前向传播过程中的公式可以看出要学习的参数有Wr、Wz、Wh、Wo。其中前三个参数都是拼接的(因为后先的向量也是拼接的),所以在训练的过程中需要将他们分割出来:

    

    

    

  输出层的输入:

    

  输出层的输出:

    

  在得到最终的输出后,就可以写出网络传递的损失,单个样本某时刻的损失为:

    

  则单个样本的在所有时刻的损失为:

    

  采用后向误差传播算法来学习网络,所以先得求损失函数对各参数的偏导(总共有7个):

    

    

    

    

    

    

    

  其中各中间参数为:

    

    

    

    

    

  在算出了对各参数的偏导之后,就可以更新参数,依次迭代知道损失收敛。

  概括来说,LSTM和CRU都是通过各种门函数来将重要特征保留下来,这样就保证了在long-term传播的时候也不会丢失。此外GRU相对于LSTM少了一个门函数,因此在参数的数量上也是要少于LSTM的,所以整体上GRU的训练速度要快于LSTM的。不过对于两个网络的好坏还是得看具体的应用场景。

参考文献:

  GRU神经网络

  GRU与LSTM总结

***本文为参考各位大神博客的笔记*

原文地址:https://www.cnblogs.com/jiangxinyang/p/9376021.html

时间: 2024-11-06 09:47:11

深度学习之GRU网络的相关文章

深度学习图像分割——U-net网络

写在前面: 一直没有整理的习惯,导致很多东西会有所遗忘,遗漏.借着这个机会,养成一个习惯. 对现有东西做一个整理.记录,对新事物去探索.分享. 因此博客主要内容为我做过的,所学的整理记录以及新的算法.网络框架的学习.基本上是深度学习.机器学习方面的东西. 第一篇首先是深度学习图像分割--U-net网络方面的内容.后续将会尽可能系统的学习深度学习并且记录. 更新频率为每周大于等于一篇. 深度学习的图像分割来源于分类,分割即为对像素所属区域的一个分类. 有别于机器学习中使用聚类进行的图像分割,深度学

深度学习大规模道路网络自动提取

好久没有更新了,近期做了一个工作,就是用深度学习方法来自动提取高分辨率遥感影像上的道路网络,16年的时候都是用的什么SVM,什么增强线性指数等 手工设计的线性目标增强特征,然后去提取道路,那些个东西说白了,没啥用,在一个小区域可能做的有那么点效果,但是换一个场景,立马就没了,没有任何普适性 可言,之前用深度学习方法做过高分辨率影像变化监测工作,这一次,我重新把网络进行了设计,用于提取道路网络,最终生成道路中心,并进行大规模场景实验,结果 还是非常不错的,个人觉得在一定程度上可以减少人工提取道路网

深度学习——深卷积网络:实例探究

1. 三个经典网络 红色部分不重要,现在已经不再使用 这篇文章较早,比如现在常用max,而当时用avg,当时也没有softmax 这篇文章让CV开始重视DL的使用,相对于LeNet-5,它的优点有两个:更大,使用ReLU 以作者名字命名 same表示使用same过滤器,也就是输入和输出维度一致 16表示总共有16个CONV和FC,这篇文章指出了信道数和维度变化的规律性(随网络增加/减少),缺点是参数实在太多了 阅读论文顺序:2-3-1 2. 残差网络 残差网络由残差块组成,它使得网络可以变得更深

深度学习框架的评估与比较

转自深度学习微信公众号 本文来自:InfoQ http://www.infoq.com/cn/news/2016/01/evaluation-comparison-deep-learn 人工智能无疑是计算机世界的前沿领域,而深度学习无疑又是人工智能的研究热点,那么现在都有哪些开源的深度学习工具,他们各自的优缺点又是什么呢?最近zer0n和bamos在GitHub上发表了一篇文章,对Caffe.CNTK.TensorFlow.Theano和Torch等深度学习工具从网络.模型能力.接口.部署.性能

[译]深度学习(Yann LeCun)

深度学习 严恩·乐库  约书亚•本吉奥  杰弗里·希尔顿 摘要深度学习是计算模型,是由多个处理层学习多层次抽象表示的数据.这些方法极大地提高了语音识别.视觉识别.物体识别.目标检测和许多其他领域如药物发现和基因组学的最高水平.深学习发现复杂的结构,在大数据集,通过使用反向传播算法来说明如何一台机器应改变其内部参数,用于计算每个层中表示从前一层的表示.深度卷积网络在处理图像.视频.语音等方面都带来了新的突破,而递归网络在连续的数据,如文本和语音有更出彩的表现.引言机器学习技术增强了现代社会的许多方

深度学习与自然语言处理(7)_斯坦福cs224d 语言模型,RNN,LSTM与GRU

翻译:@胡杨([email protected]) && @胥可([email protected]) 校对调整:寒小阳 && 龙心尘 时间:2016年7月 出处: http://blog.csdn.net/han_xiaoyang/article/details/51932536 http://blog.csdn.net/longxinchen_ml/article/details/51940065 说明:本文为斯坦福大学CS224d课程的中文版内容笔记,已得到斯坦福大学

(转)零基础入门深度学习(6) - 长短时记忆网络(LSTM)

无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就out了?现在救命稻草来了,<零基础入门深度学习>系列文章旨在讲帮助爱编程的你从零基础达到入门级水平.零基础意味着你不需要太多的数学知识,只要会写程序就行了,没错,这是专门为程序员写的文章.虽然文中会有很多公式你也许看不懂,但同时也会有更多的代码,程序员的你一定能看懂的(我周围是一群狂热的Clean

深度学习网络训练技巧汇总

转载请注明:炼丹实验室新开了一个专栏,为什么叫炼丹实验室呢,因为以后会在这个专栏里分享一些关于深度学习相关的实战心得,而深度学习很多人称它为玄学,犹如炼丹一般.不过即使是炼丹也是可以摸索出一些经验规律的,希望和各位炼丹术士一起多多交流. 训练技巧对深度学习来说是非常重要的,作为一门实验性质很强的科学,同样的网络结构使用不同的训练方法训练,结果可能会有很大的差异.这里我总结了近一年来的炼丹心得,分享给大家,也欢迎大家补充指正. 参数初始化. 下面几种方式,随便选一个,结果基本都差不多.但是一定要做

深度学习网络调参技巧

转自https://zhuanlan.zhihu.com/p/24720954?utm_source=zhihu&utm_medium=social 之前曾经写过一篇文章,讲了一些深度学习训练的技巧,其中包含了部分调参心得:深度学习训练心得.不过由于一般深度学习实验,相比普通机器学习任务,时间较长,因此调参技巧就显得尤为重要.同时个人实践中,又有一些新的调参心得,因此这里单独写一篇文章,谈一下自己对深度学习调参的理解,大家如果有其他技巧,也欢迎多多交流. 好的实验环境是成功的一半 由于深度学习实