Introduction
RNNs process sequential data by maintaining internal state across timesteps.
Simple RNN
from tensorflow.keras import layers
model = keras.Sequential([
layers.Embedding(10000, 64, input_length=100),
layers.SimpleRNN(64),
layers.Dense(1, activation="sigmoid")
])
LSTM
model = keras.Sequential([
layers.Embedding(10000, 64, input_length=100),
layers.LSTM(64, return_sequences=True),
layers.LSTM(32),
layers.Dense(1, activation="sigmoid")
])
GRU
model = keras.Sequential([
layers.Embedding(10000, 64, input_length=100),
layers.GRU(64),
layers.Dense(1, activation="sigmoid")
])
Practice Problems
- Build RNN for text classification
- Use LSTM for sequence modeling
- Compare RNN architectures
- Handle variable length sequences
- Stack multiple RNN layers