TensorFlow实现经典深度学习网络(6):TensorFlow实现基于LSTM的语言模型

本文介绍了循环神经网络RNN在自然语言处理中的应用,特别是LSTM模型,它解决了梯度消失问题,适用于长时依赖。文章详细讲解了LSTM的结构,包括输入门、忘记门和输出门,并提供了使用TensorFlow实现LSTM语言模型的步骤和数据集准备。
摘要由CSDN通过智能技术生成

TensorFlow实现经典深度学习网络(6):TensorFlow实现基于LSTM的语言模型


        循环神经网络(Recurrent Neural Networks,RNNs)出现于20世纪80年代,由于神经网络结构的进步和GPU上深度学习训练效率的突破,PNNs已经在众多自然语言处理(Natural Language Processing, NLP)中取得了巨大成功以及广泛应用。RNNs对时间序列数据非常有效,其每个神经元可通过内部组件保存之前输入的信息。RNNs已经被在实践中证明对NLP是非常成功的,如词向量表达、语句合法性检查、词性标注等。在RNNs中,目前使用最广泛最成功的模型便是LSTMs模型,该模型通常比Vanilla RNNs能够更好地对长短时依赖进行表达,该模型相对于一般的RNNs,只是在隐藏层做了手脚。对于LSTMs,后面会进行详细地介绍。下面对RNNs在NLP中的应用进行简单的介绍。

深度语言模型简介:

递归神经网络RNN

• 有2类

    • 时间递归神经网络(Recurrent Neural Network)
        • 针对时间序列

    • 结构递归神经网络(Recursive Neural Network)
        • 针对树状结构

• 优化方法

    • 时序后向传播(Back propagation through time)

• 长时记忆/递归深度问题

    • 梯度爆炸(Gradient exploding) ——梯度剪切

    • 梯度消失(Gradient vanishing) ——特殊设计

        递归网络类似于数据结构中的树形结构,且其每层之间会有共享参数。而最为常用的循环神经网络,它的每层的结构相同,且每层之间参数完全共享。RNN的缩略图和展开图如下:


时序后向传播(BPTT)

• 传统后向传播(BP)在时间序列上的扩展

• t时刻的梯度是前t-1时刻所有梯度的累积

• 时间越长,梯度消失越严重

朴素Vanilla-RNN存在的问题

• 单层神经网络在时间上的扩展

• t-1时刻的隐层状态(Hidden state)会参与t时刻输出的计算

• 严重的梯度消失问题


本文主要使用的为LSTM长短时记忆模型( Long Short-Term Memory )

• Hochreiter & Schmidhuber 于1997提出

• 有效捕捉长时记忆(Long dependency)

• 包含4个神经元组

    • 1个记忆神经元(Memory cell)

    • 3个控制门神经元

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值