[自然语言处理]循环神经网络结构的TensorFlow实现整理
[自然语言处理]循环神经网络结构的TensorFlow实现整理
循环神经网络是一类处理序列数据的隐变量自回归模型:
- 序列数据:音乐、语言、文本等连续的,含义与元素顺序极大相关的数据
- 隐变量自回归模型:形式上,会保留对历史序列观测的“总结”,并且同时更新预测当前序列与“总结”的模型
常见的循环神经网络架构的模型有:RNN,GRU,LSTM
| 网络 | 结构 | 描述 |
|---|---|---|
| RNN | ![]() |
当前时刻的输出由当前输入与隐状态决定 |
| GRU | ![]() |
通过两个门控机制,让模型学习合适的时间更新隐状态、重置隐状态 |
| 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=

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



最低0.47元/天 解锁文章
1153

被折叠的 条评论
为什么被折叠?



