#!/usr/bin/env python # coding: utf-8 # In this tutorial session, we will explore how to model sequential data using recurrent neural networks (RNNs). In the first part, we will build an intuition on some moving parts of RNNs on a toy problem. The second part of the tutorial will showcase an example of applying RNNs to a more realistic dataset of textual data. # # Here we will use [Pytorch](https://colab.research.google.com/drive/1y9raF4S_HM3XU8e6es5j_l0WerKTQJeu#scrollTo=9OpW6mo6Nwgy&line=1&uniqifier=1) library, which is a popular open-source library that provides many convenient tools for building artificial neural networks. # # Part 1: simple example (learning a sine wave) # In[ ]: import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim import math import numpy as np torch.manual_seed(2024) np.random.seed(2024) get_ipython().run_line_magic('matplotlib', 'inline') import matplotlib.pyplot as plt # Let's first generating some data! # In[ ]: def generate_sinus_wave(train_len, valid_len): time_steps = np.linspace(0, 8*np.pi, train_len+valid_len) data = np.sin(time_steps) xs = data[:train_len-1] ys = data[1:train_len] # as discussed in class, targets are shifted by 1 step train_x = torch.Tensor(xs).view(-1, 1, 1) train_y = torch.Tensor(ys) return data, time_steps, train_x, train_y # In[ ]: seq_length = 200 #total sequence length portion_train =0.1 #portion of the sequence length used for training train_len = int(seq_length*portion_train) valid_len = seq_length-train_len data, time_steps, train_x, train_y = generate_sinus_wave(train_len = train_len, valid_len = valid_len) #plot our data fig, ax = plt.subplots(figsize=(20,5)) plt.scatter(time_steps[:train_len], data[:train_len], s=90, label='train') plt.scatter(time_steps[train_len:], data[train_len:], label='valid') ax.legend() # We formulate the task as predicting the point at time step $t+1$ given the sequence of previous inputs up untill time step $t$. We, therefore, need to shift our targets by one as mentioned in the class. Let's have a closer look at our input and target data again **(note: targets are shifted by 1)**. # In[ ]: #plot our data fig, ax = plt.subplots(figsize=(20,5)) plt.scatter(time_steps[:train_len-1], train_x, s=90, c='g', label='train') plt.scatter(time_steps[1:train_len], train_y, s=20, c='r', label='targets') ax.legend() # We will use data generated from a sine curve for our toy sequential prediction problem. Namely, given some part of the sequence as training data (blue points in the visualization above), our model will be tasked to generate the rest of the sequence (orange points). # ![rnn.png](data:image/png;base64,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1WC4C/QhJARiY2NF//R10/VBe/JYv76GnrEaytvKlSvFO1T9/PPPRYe+usSB96YDV+9NzwoeNmyYdzP7CCCAAAIIIIAAAggggAACCCCAwKALWNONQe8SHUAgfAV0XdGbbW63+2aHBP37jz/+uCQnJ5v6WVxcLJs2bTK1de58/PHHnS9v/H766advvOYFAggggAACCCCAAAIIIIAAAgggEEwChKrBdDfoCwJhIhATEyP33nuvZTRr1661tB08eFDOnTtnak9MTBTqqZpI2EEAAQQQQAABBBBAAAEEEEAAgSASIFQNoptBVxAIJwFf9VD1TFXvmbhr1qyxDPvuu++W+Ph4SzsNCCCAAAIIIIAAAggggAACCCCAQDAIEKoGw12gDwiEocDDDz8saWlpppGVlpbKp59+amr75JNPTPt659lnn7W00YAAAggggAACCCCAAAIIIIAAAggEiwCharDcCfqBQJgJOJ1Oeeihhyyj8iwBsG/fPrl48aLpGL041fLly01t7CCAAAIIIIAAAggggAACCCCAAALBJECoGkx3g74gEGYCzz//vGVEX3/9tbS2thrtvh79v//++yUqKsryORoQQAABBBBAAAEEEEAAAQQQQACBYBEgVA2WO0E/EAhDgSVLlkhWVpZpZOXl5bJx40ajbf369ab39I6vINZyEA0IIIAAAggggAACCCCAAAIIIIDAIAoQqg4iPpdGINwFIiIifD7Kr0sA7Nq1S/Lz800EmZmZ8sADD5ja2EEAAQQQQAABBBBAAAEEEEAAAQSCTYBQNdjuCP1BIMwEfM083bx5s7z66quWkS5btkxsNv61ZIGhAQEEEEAAAQQQQAABBBBAAAEEgkqA9CKobgedQSD8BObNmyd5eXmmgVVVVcnq1atNbXpn1apVljYaEEAAAQQQQAABBBBAAAEEEEAAgWATIFQNtjtCfxAIQ4EVK1bcdFQ5OTmyaNGimx7HAQgggAACCCCAAAIIIIAAAggggMBgCxCqDvYd4PoIDAGBnsxAfeyxx4aABENEAAEEEEAAAQQQQAABBBBAAIFwECBUDYe7yBgQCHKB6dOny6RJk7rt5QsvvNDt+7yJAAIIIIAAAggggAACCCCAAAIIBIsAoWqw3An6gUCYCzzxxBNdjnDcuHEya9asLt/nDQQQQAABBBBAAAEEEEAAAQQQQCCYBAhVg+lu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GkdaQSAooKCqJpj68MMPU/LY/ubNm50UAJ9//jmTVgWVWUAAAQQQQAABBBBAAAEEEEAAAQTKT4CgavnZc+YcFVAQ9KmnnrJVq1al5AqVm1WP/7/55pumtikIIIAAAggggAACCCCAAAIIIIAAAuUrQFC1fP05e44JlJSUODlQJ02aZBqxmqqyZcsWGzlypE2cONH279+fqmZpBwEEEEAAAQQQQAABBBBAAAEEEEAgAQGCqgmgcQgCfgJLly615557zjZt2uS3S0L1gUmrXn/9dVu5cmVCbXAQAggggAACCCCAAAIIIIAAAggggEBqBAiqpsaRVhBwJpJ66aWXbNq0aWnR2LZtm2kE7JgxY0wpASgIIIAAAggggAACCCCAAAIIIIAAAuUjQFC1fNw5a44J6FF/TST12muvpWRyKj8ejYBVbtUFCxb47UI9AggggAACCCCAAAIIIIAAAggggECaBQiqphmY5vNDQKNIX3zxRZs3b15aL3j37t02e/Zs+89//mNapiCAAAIIIIAAAggggAACCCCAAAIIlL0AQdWyN+eMOSagfKcff/yxvffee2VyZZs3b3bONXXq1JROhlUmneckCCCAAAIIIIAAAggggAACCCCAQA4IEFTNgZvIJZSvwLp16+yZZ56x1atXl0lH9u/fb19//bW9+uqrpgArBQEEEEAAAQQQQAABBBBAAAEEEECgbAUIqpatN2fLMQEFON955x375JNPynTU6JYtW2zChAk2btw4KykpyTFVLgcBBBBAAAEEEEAAAQQQQAABBBDIbAGCqpl9f+hdhgssXbrUnn76adu+fXuZ9lQTY61Zs8aZGGvlypVlem5OhgACCCCAAAIIIIAAAggggAACCOS7AEHVfH8FcP0JC+zdu9eee+45mzVrVpmOUg10WIHc6dOnOyNl1RcKAggggAACCCCAAAIIIIAAAggggEDZCBBULRtnzpKDAgpovvbaa7Zv375yu7qNGzc6k1bNmTOn3PrAiRFAAAEEEEAAAQQQQAABBBBAAIF8EyComm93nOtNicC2bdvs8ccft+XLl6ekvUQb2b17tymg+tZbb5n6REEAAQQQQAABBBBAAAEEEEAAAQQQSL8AQdX0G3OGHBNQPtPRo0fb2LFjTRNVlXfZunWrffTRRzZp0iQ7ePBgeXeH8yOAAAIIIIAAAggggAACCCCAAAI5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/fv34+HDh/HgwYN8Q6v/X8juUv/W4vvdvPTze6G201+agXr27NkYHx+PiYmJmJycjIsXL+Zl/sLUdgR9Zr8FhKr7Lao9AgQIECBAgAABAgQIEOgGAaFqN4yCa+h6gRSuptmrq6ur8fTp03j8+HEOWZ88eRIfPnw48OsfGRmJsbGxmJqailu3buUZqum1dAMqYeqBD8+hvgCh6qEefsUTIECAAAECBAgQIECgWgGharVDq7ASAikgSkcKWN+8eRMLCwsxPz+fg9Znz57F4uJiiW4/afP48eNx7ty5uH79ety8eTOuXr0aly5dinTzqRSk7m490JoD+8m/e4FAxwSEqh2j1hEBAgQIECBAgAABAgQIdFBAqNpBbF3VJdAKWNN5eXk5lpaW4t27d/Ho0aN4+fJlvH37Nm8T8P59c3OpJoRNn9v7+PffKQjd+2j9fezYsUizTlNgev78+bh27VrcuHEjh6qnTp2KtHdqK0Rt/c/edjwncJAC6Xvue3mQI6BvAgQIECBAgAABAgQIECghIFQtoarNQyewNyBNWwVsbGzE1tZWbG5uxsrKSrx69Spev36dn6+trcX6+no+0vO0Z2t/f38MDg7G0NDQx2N0dDTvh3rhwoUcqqZwta+5udXAwMA/QiqB1aH7un1RBQtVv6jhcrEECBAgQIAAAQIECBAg0KbAvoSqewOlNvv1MQKHVqCd34ug9NB+PaorvNOhqt9OdV8hBREgQIAAAQIECBAgQKArBfYlVO3KylwUAQIECBAgQIAAAQIECBAgQIAAAQIECgj0FGhTkwQIECBAgAABAgQIECBAgAABAgQIEKhWQKha7dAqjAABAgQIECBAgAABAgQIECBAgACBEgJC1RKq2iRAgAABAgQIECBAgAABAgQIECBAoFoBoWq1Q6swAgQIECBAgAABAgQIECBAgAABAgRKCAhVS6hqkwABAgQIECBAgAABAgQIECBAgACBagWEqtUOrcIIECBAgAABAgQIECBAgAABAgQIECghIFQtoapNAgQIECBAgAABAgQIECBAgAABAgSqFRCqVju0CiNAgAABAgQIECBAgAABAgQIECBAoISAULWEqjYJECBAgAABAgQIECBAgAABAgQIEKhWQKha7dAqjAABAgQIECBAgAABAgQIECBAgACBEgJC1RKq2iRAgAABAgQIECBAgAABAgQIECBAoFoBoWq1Q6swAgQIECBAgAABAgQIECBAgAABAgRKCAhVS6hqkwABAgQIECBAgAABAgQIECBAgACBagWEqtUOrcIIECBAgAABAgQIECBAgAABAgQIECghIFQtoapNAgQIECBAgAABAgQIECBAgAABAgSqFRCqVju0CiNAgAABAgQIECBAgAABAgQIECBAoISAULWEqjYJECBAgAABAgQIECBAgAABAgQIEKhWQKha7dAqjAABAgQIECBAgAABAgQIECBAgACBEgJC1RKq2iRAgAABAgQIECBAgAABAgQIECBAoFoBoWq1Q6swAgQIECBAgAABAgQIECBAgAABAgRKCAhVS6hqkwABAgQIECBAgAABAgQIECBAgACBagWEqtUOrcIIECBAgAABAgQIECBAgAABAgQIECghIFQtoapNAgQIECBAgAABAgQIECBAgAABAgSqFRCqVju0CiNAgAABAgQIECBAgAABAgQIECBAoITA30jgXJU+8y7GAAAAAElFTkSuQmCC) # As we have seen in the class, a simple recurrent network cell takes the current input at $X_t$ and produces an output ($y_t$) and a new hidden state that is passed through a recurrent connection to the next time step (in the figure above the recurrent connection uses weights W). # # Let's first implement this simple RNN cell using Pytorch. Note, we will replace the $tanh$ activation with $sigmoid$ (covered in the previous tutorial), as it produced better empirical results for the sine wave task (yes, Deep Learning is a very empirical field). # # As you might recall from the previous lecture on feed-forward neural networks, the second equation in the figure above ($y_t = f(Vh_t)$) looks very similar to the feedforward layer. Indeed it is one, where $V$ denotes our learnable weights and $f$ is our activation function. Pytorch already provides us with an implementation of such a layer. We will add it outside of our simple RNN cell for convenience. # # In[ ]: class RNN_Cell(nn.Module): def __init__(self, input_size, hidden_size): super(RNN_Cell, self).__init__() self.input_size = input_size self.hidden_size = hidden_size self.U = torch.nn.Parameter(torch.randn(input_size, hidden_size)) #we will randomly innitialize out trainable parameters self.W = torch.nn.Parameter(torch.randn(hidden_size, hidden_size)) self.b = torch.nn.Parameter(torch.randn(hidden_size)) def forward(self, x_t, state): h_prev = state #here, we simply write down the equations from the figure above in the pytorch 'language' a = torch.mm(x_t, self.U) + torch.mm(h_prev, self.W) + self.b h = torch.sigmoid(a) return h # Now, having implemented our simple recurrent cell, we need to put cells together to form a network. # # Remember the principle of RNNs? The same(!) cell is used repeatedly receiving the new $X_t$ and the previous hidden state as input. # # We will also add our missing feed-forward layer (equation $y_t = f(Vh_t)$) here (we will set $f$ to identity, since we dont need any additional activation function here). # In[ ]: class RNN(nn.Module): def __init__(self, input_dim, hidden_size): super(RNN, self).__init__() self.hidden_size = hidden_size self.rnn_cell = RNN_Cell(input_dim, hidden_size) self.linear = nn.Linear(hidden_size, 1) # here is out missing equation from before, in Torch the feed-forward layers are called Linear def init_hidden(self,): return torch.zeros(1,self.hidden_size) #we will initialize our hidden state with zeros def forward(self, X, h=None): self.h = self.init_hidden() if h is None else h outputs = [] # we will process the sequence here for X_t in X: self.h = self.rnn_cell.forward(X_t, self.h) y_t = self.linear.forward(self.h) outputs.append(y_t) return torch.stack(outputs), self.h # **Question 1 (RNNs)** : in the standard feed-forward neural network, all the training and test samples are considered independently. Can you explain how this can be a bad fit for sequential data modeling like stock market prediction or sequential sine curve fitting? # # In which line of code in the $forward$ function in the previous cell do we explicitly break the assumption of data samples in the sequence being independent from each other? # # # **Question 2 (RNNs)**: given your answers to the previous question, can you explain in your own words, which role the hidden state ($h$) plays in RNNs? # # # # # # # Okay, we have implemented the 'forward path' of our RNN model. But what about the actual learning. The learning algorithm that is usually used to train RNNs is called [backpropagation through time](https://en.wikipedia.org/wiki/Backpropagation_through_time). Don't be afraid of the fancy name though, the essential idea that underlines this and many other learning algorithms for the deep neural network is just repeatedly applying the chain rule of differentiation: # # if $F = f(y), y = g(x)$, we have that $ \frac{dF}{dx} = \frac{dF}{dy} \frac{dy}{dx} $ (given f and g are differential functions). # ![Screen Shot 2020-10-07 at 5.18.40 PM.png](data:image/png;base64,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) # The above image depicts a simple RNN with 3 states. Let's put it into mathematical equations ignoring the activation functions (and assuming our learnable weights are just scalars). # # $h_o = U x_0$ # # $h_1 = U x_1 + W h_0$ # # $h_2 = U x_2 + W h_1$ # # Suppose we are dealing with a regression problem, let's include a simple L2 loss: # # $E = \frac{1}{2} (h_2 - y)^2 $, where $y$ is the ground truth. # # **Question 3 RNNs (Bonus)** : write down equations for the backpropagation through time for states $h_0$, $h_1$ and $h_2$ (hint: simply use chain-rule starting from the error term). # # # # Don't worry, we are not going to and code the backpropagation equations by hand, Pytorch will do the tedious work of differentiation for us. # # Finally, let's now train our simple RNN on the input sequence generated previously. # In[ ]: hidden_size = 10 learning_rate = 0.01 # In[ ]: model = RNN(1,hidden_size) # first we instantiate our model criterion = nn.MSELoss() # we are using means squered error as loss function here # this will set-up an optimizer for parameter updates, feel free to ignore this for now! optimizer = optim.Adam(model.parameters(), learning_rate) epochs = 300 # one epoch corresponds to a single pass through the entire training data for epoch in range(epochs): optimizer.zero_grad() output, _ = model(train_x) loss = criterion(output.view(-1), train_y) loss.backward() optimizer.step() if epoch % 10 == 0: print("Epoch {}: loss {}".format(epoch, loss.item())) # Let's see how our trained model can predict the training labels. Given a point from our training data (time $t$), we will ask our model to generate the next point ($t+1$), one point at a time. We will carry over the hidden state along the sequence generation. # In[ ]: def make_predictions_train(model): predictions = [] hidden_prev = None # we will go over all points in out training sequence for i in range(train_x.shape[0]): input = train_x[i] input = input.view(1, 1, 1) #we will give the current (single) point and the (current) hidden state as input to our model pred, hidden_prev = model(input, hidden_prev) # <- we cary over the previous hidden state predictions.append(pred.data.numpy()[0][0]) return predictions, hidden_prev predictions_train, hidden_prev = make_predictions_train(model) #plot fig, ax = plt.subplots(figsize=(20,5)) plt.scatter(time_steps[:train_len-1], data[:train_len-1], s=90, label='actual') plt.scatter(time_steps[1:train_len], predictions_train, label='predicted') ax.legend() # As we can see in the plot above, that our model has learned to fit the training part of the sequence almost perfectly. # # But what about the unseen part of the sequence? # In[ ]: def generate_unseen_sequence(model, length, starting_point, hidden_state): predicts=[] input = torch.Tensor(starting_point).view(1,1,1) for i in range(length): pred, hidden_state = model(input, hidden_state) predicts.append(pred.data.numpy()[0][0]) input = pred return predicts # Let's generate the part of the sequence which was hidden from the model at training. Note, from the model's perspective, it is like generating completely new unseen data. If our data was e.g. text instead of a simple sine wave, we could ask our model to generate a completely new text, isn't that cool? # # Note, to generate unsee part of the sequence: # - we will first condition on the last point from the seen sequence, and ask the model to generate a new point # - then we will pass this newly generated point and the new hidden state as input to out model # - thde model wil then generate a new point conditioned on a point previously generated by the model # - in theory we could generate an infinitely long sequence on new data in this way. # In[ ]: generated_points = generate_unseen_sequence(model, valid_len, starting_point=predictions_train[-1], hidden_state=hidden_prev) predictions = predictions_train+generated_points #concatenate two lists #plot fig, ax = plt.subplots(figsize=(20,5)) plt.scatter(time_steps, data, s=90, label='actual') plt.scatter(time_steps[1:train_len], predictions[:train_len-1], label='predicted') plt.scatter(time_steps[train_len:], predictions[train_len-1:], label='generated') ax.legend() # As can be seen in the plot above, our model's performance is quite poor when it comes to generating the unseen part of the sequence (shown in green). # # Looking at our training sequence (the orange part in the plot above), does it actually contain the information needed to be able to capture the periodic nature of the siune wave? Well, even as a human, if you had never seen a sine wave before, you probably would not be able to learn what a sine wave is solely from observing half of the period length of a sine wave (you would probably think it's just a parabola). # **Question 4 (RNNs)**: try increasing the training sequence length ($portion\_train$) in the code snippet below. (hint: set the training length such that it includes at least one complete cycle of the sine wave) # In[ ]: portion_train = 0.1 # change this parameter to try out a longer training sequence to cover at least one period train_len = int(seq_length*portion_train) valid_len = seq_length-train_len data, time_steps, train_x, train_y = generate_sinus_wave(train_len = train_len, valid_len = valid_len) fig, ax = plt.subplots(figsize=(20,5)) plt.scatter(time_steps[:train_len], data[:train_len], s=90, label='train') plt.scatter(time_steps[train_len:], data[train_len:], label='valid') ax.legend() # Let's train our model again and see the result. # In[ ]: model = RNN(1,hidden_size) optimizer = optim.Adam(model.parameters(), learning_rate) epochs = 500 # for epoch in range(epochs): optimizer.zero_grad() output, _ = model(train_x) loss = criterion(output.view(-1), train_y) loss.backward() optimizer.step() if epoch % 10 == 0: print("Epoch {}: loss {}".format(epoch, loss.item())) # In[ ]: #get training data predictions predictions_train, hidden_prev = make_predictions_train(model) #generate unsee points generated_points = generate_unseen_sequence(model, valid_len, starting_point=predictions_train[-1], hidden_state=hidden_prev) #concatenate two lists predictions = predictions_train+generated_points #plot fig, ax = plt.subplots(figsize=(20,5)) plt.scatter(time_steps, data, s=90, label='actual') plt.scatter(time_steps[1:train_len], predictions[:train_len-1], label='predicted') plt.scatter(time_steps[train_len:], predictions[train_len-1:], label='generated') ax.legend() # And voilĂ , our new model is somewhat better in capturing the periodic nature of the sine wave. # # Note, if you re-run the training procedure for several times you will observe that each time you get a different result. This is due to the random reinnitialization of the trainable weight in our RNN cell each time you restart training (re-instantiate the network object): # # ``` # self.U = torch.nn.Parameter(torch.randn(input_size, hidden_size)) # # self.W = torch.nn.Parameter(torch.randn(hidden_size, hidden_size)) # ``` # # We certainly could try to get some better results by either: # - further hyperparameter tuning # - further increasing the length of the training sequence (MORE DATA is always good) # # These are valid strategies often used in deep learning to improve the performance of the models. Yet, many times the real innovations comes from improving the actual learning algorithms. # # So let's try to replace our simple RNN cell with a different cell - an LSTM cell. As mentioned in class, LSTM cells are better in 'remembering' long term dependencies in the data. Please, refer to this [blog article](http://colah.github.io/posts/2015-08-Understanding-LSTMs/) to see how LSTMS are different from the standard RNNs. # In[ ]: class RNN_wLSTM(nn.Module): def __init__(self, input_dim, hidden_size): super(RNN_wLSTM, self).__init__() self.hidden_size = hidden_size ### NEW CELL ### #we will use the pytorch implementation of the LSTM cell self.rnn_cell = nn.LSTMCell(1, hidden_size) ################ self.linear = nn.Linear(hidden_size, 1) # here is out missing equation from before, in Torch the feed-forward layers are called Linear def init_hidden(self,): return (torch.zeros( 1, self.hidden_size), torch.zeros( 1, self.hidden_size)) def forward(self, X, h=None): self.h = self.init_hidden() if h is None else h outputs = [] # we will process the sequence here for X_t in X: self.h = self.rnn_cell(X_t, self.h) y_t = self.linear.forward(self.h[0]) outputs.append(y_t) return torch.stack(outputs), self.h # In[ ]: model = RNN_wLSTM(1, hidden_size) optimizer = optim.Adam(model.parameters(), 0.1) epochs = 300 for epoch in range(epochs): optimizer.zero_grad() output, _ = model(train_x) loss = criterion(output.view(-1), train_y) loss.backward() optimizer.step() if epoch % 10 == 0: print("Epoch {}: loss {}".format(epoch, loss.item())) # In[ ]: #get training data predictions predictions_train, hidden_prev = make_predictions_train(model) #generate unsee points generated_points = generate_unseen_sequence(model, valid_len, starting_point=predictions_train[-1], hidden_state=hidden_prev) #concatenate two lists predictions = predictions_train+generated_points #plot fig, ax = plt.subplots(figsize=(20,5)) plt.scatter(time_steps, data, s=90, label='actual') plt.scatter(time_steps[1:train_len], predictions[:train_len-1], label='predicted') plt.scatter(time_steps[train_len:], predictions[train_len-1:], label='generated') ax.legend() # As can be seen in the plot above, LSTMs can better capture the period length and the amplitude of our wave and are more robust (converge consistently to a similarly good result if you re-run the training for everal times). # # Part 2: language modeling # # # Let's have a look on mode complex task of language generation now. We will build an RNN that will generate text one character at a time (this part largely relies on the tutorial put together by Yen-Ling Kuo and Eugenio Piasini that can be found [here](https://colab.research.google.com/drive/1jR_DGoVDcxZ104onxTk2C7YeV7vTt1DV#scrollTo=dRNYHWwYyd4Q)). First, let's download some training data, which consists of Shakespear's texts. # In[ ]: input_file = 'input.txt' get_ipython().system('if [ ! -f $input_file ]; then wget https://raw.githubusercontent.com/karpathy/char-rnn/master/data/tinyshakespeare/input.txt; fi') # We will write a function that will generate random chunks of text as input sequences to our RNN. # In[ ]: get_ipython().system('pip3 install unidecode') import random import unidecode file = unidecode.unidecode(open('input.txt').read()) def random_chunk(chunk_len=200): start_index = random.randint(0, len(file) - chunk_len) end_index = start_index + chunk_len + 1 return file[start_index:end_index] # Let's have a look on some random input sequence. # In[ ]: print(random_chunk()) # We will convert words to integer indexes such that each character has a unique id. # # We also provide a function to produce a random training sequence. The input is the character at time $t$. The target is the expected character to see at $t+1$. # In[ ]: import string # Turn string into list of longs def char_tensor(str, print_=False): tensor = torch.zeros(len(str), 1).long() for c in range(len(str)): tensor[c][0] = string.printable.index(str[c]) if print_: print(f"Character: {str[c]} gets index {tensor[c][0]}") return tensor char_tensor('Hello, how are you?', print_=True) def random_train_data(): chunk = random_chunk() input = char_tensor(chunk[:-1]) target = char_tensor(chunk[1:]) return input, target # Now, we will set up the model. # # This model will take as input the character for time step $t$ and is expected to output the character at $t+1$. There are three layers - one embedding layer that encodes the input character into a dense vector, one recurent layer that operates on that dense vector and a hidden state, and a decoder layer that outputs the probability distribution over all possible characters. # # Note, we will use a [GRU](https://en.wikipedia.org/wiki/Gated_recurrent_unit) cell here, which is another variation of recurent cell similar to LSTM. # # In[ ]: class ShakespeareRNN(nn.Module): def __init__(self, input_size, hidden_size, output_size, n_layers=1): super(ShakespeareRNN, self).__init__() self.input_size = input_size self.hidden_size = hidden_size self.output_size = output_size self.n_layers = n_layers self.embeding_size = 6 self.embedding = nn.Embedding(len(string.printable), self.embeding_size) self.rnn = nn.GRU(self.embeding_size, hidden_size, num_layers=n_layers) self.decoder = nn.Linear(hidden_size, output_size) def init_hidden(self): return torch.zeros(self.n_layers, 1, self.hidden_size) def forward(self, input, hidden): x = self.embedding(input) x, hidden = self.rnn(x.view(1,1,x.size(-1)), hidden) output = self.decoder(x) tag_scores = F.log_softmax(output[-1], dim=1) return output, hidden # In[ ]: def evaluate(model, prime_str='A', predict_len=100): hidden = model.init_hidden() prime_input = char_tensor(prime_str) predicted = prime_str # Use priming string to "build up" hidden state for p in range(len(prime_str) - 1): _, hidden = model(prime_input[p], hidden) input = prime_input[-1] for p in range(predict_len): output, hidden = model(input, hidden) # Sample from the network as a multinomial distribution output_dist = output.data.view(-1).exp() top_i = torch.multinomial(output_dist, 1)[0] # Add predicted character to string and use as next input predicted_char = string.printable[top_i] predicted += predicted_char input = char_tensor(predicted_char) return predicted # It's time to train our model! # In[ ]: n_characters = len(string.printable) hidden_size = 100 n_layers = 2 epochs = 2000 lr = 0.005 model = ShakespeareRNN(n_characters, hidden_size, n_characters, n_layers) optimizer = torch.optim.Adam(model.parameters(), lr=lr) criterion = nn.CrossEntropyLoss() for epoch in range(epochs): loss = 0 input, target = random_train_data() chunk_len = len(input) hidden = model.init_hidden() model.zero_grad() for x,y in zip(input, target): out, hidden = model(x, hidden) loss += criterion(out[-1], y) loss.backward() optimizer.step() loss = loss.item() / chunk_len if epoch % 100 == 0: print('[(%d %d%%) %.4f]' % (epoch, epoch / epochs * 100, loss)) print(evaluate(model, 'Wh', 100), '\n') # Let's use out model to generate some text conditionaning on different starting sequences: # In[ ]: print(evaluate(model, 'Wh', predict_len=100), '\n') # In[ ]: print(evaluate(model, 'How', predict_len=100), '\n') # In[ ]: print(evaluate(model, 'JULIET', predict_len=100), '\n')