[自然语言处理]循环神经网络结构的TensorFlow实现整理

本文介绍循环神经网络(RNN)及其变种GRU和LSTM的基本原理,并使用TensorFlow实现这些模型。涵盖从低阶API到高阶API的应用实践,适用于自然语言处理任务。

[自然语言处理]循环神经网络结构的TensorFlow实现整理

循环神经网络是一类处理序列数据的隐变量自回归模型:

  • 序列数据:音乐、语言、文本等连续的,含义与元素顺序极大相关的数据
  • 隐变量自回归模型:形式上,会保留对历史序列观测的“总结”,并且同时更新预测当前序列与“总结”的模型

常见的循环神经网络架构的模型有:RNN,GRU,LSTM

网络 结构 描述
RNN RNN 当前时刻的输出由当前输入与隐状态决定
GRU GRU 通过两个门控机制,让模型学习合适的时间更新隐状态、重置隐状态
LSTM LSTM 增加了一个隐状态单元(记忆)来控制输入与遗忘,并通过三个门控机制,决定单元内部的更新

TensorFlow低阶API实现

import tensorflow as tf
# 定义参数
def get_params(vocab_size, num_hiddens):
    num_inputs = num_outputs = vocab_size
    
    def normal(shape):
        return tf.random.normal(shape=shape, stddev=0.01, mean=0, dtype=tf.float32)
    
    # GRU/LSTM
    def three():
        return (
       	    tf.Variable(normal((num_inputs, num_hiddens)), dtype=tf.float32)
            tf.Variable(normal((num_hiddens, num_hiddens)), dtype=
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值