|
| 1 | +--- |
| 2 | +layout: page |
| 3 | +permalink: /rnn/ |
| 4 | +--- |
| 5 | + |
| 6 | + |
| 7 | +Table of Contents: |
| 8 | + |
| 9 | +- [Intro to RNN](#intro) |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | +<a name='intro'></a> |
| 15 | + |
| 16 | +## Intro to RNN |
| 17 | + |
| 18 | +In this lecture note, we're going to be talking about the Recurrent Neural Networks (RNNs). One |
| 19 | +great thing about the RNNs is that they offer a lot of flexibility on how we wire up the neural |
| 20 | +network architecture. Normally when we're working with neural networks (Figure 1), we are given a fixed sized |
| 21 | +input vector (red), then we process it with some hidden layers (green), and then we produce a |
| 22 | +fixed sized output vector (blue) as depicted in the leftmost model in Figure 1. Recurrent Neural |
| 23 | +Networks allow us to operate over sequences of input, output, or both at the same time. For |
| 24 | +example, in the case of image captioning, we are given a fixed sized image and then through an RNN |
| 25 | +we produce a sequence of words that describe the content of that image (second model in Figure 1). |
| 26 | +Or for example, in the case of sentiment classification in the NLP, we are given a sequence of words |
| 27 | +of the sentence and then we are trying to classify whether the sentiment of that sentence is |
| 28 | +positive or negative (third model in Figure 1). In the case of machine translation, we can have an |
| 29 | +RNN that takes a sequence of words of a sentence in English, and then this RNN is asked to produce |
| 30 | +a sequence of words of a sentence in French, for example (forth model in Figure 1). As a last case, |
| 31 | +we can have a video classification RNN where we might imagine classifying every single frame of |
| 32 | +video with some number of classes, and most importantly we don't want the prediction to be only a |
| 33 | +function of the current timestep (current frame of the video), but also all the timesteps (frames) |
| 34 | +that have come before it in the video (rightmost model in Figure 1). |
| 35 | + |
| 36 | +<div class="fig figcenter fighighlight"> |
| 37 | + <img src="/assets/rnn/types.png" width="100%"> |
| 38 | + <div class="figcaption">Different (non-exhaustive) types of Recurrent Neural Network architectures. Red boxes are input vectors. Green boxes are hidden layers. Blue boxes are output vectors.</div> |
| 39 | +</div> |
0 commit comments