LSTM RNN Notes - Programming-from-A-to-Z/A2Z-F16 GitHub Wiki
Examples
Background Reading
Tools and Resources
Glossary
- RNN: Recurrent Neural Network
- LSTM: Long Short-Term Memory
- Supervised Learning: training with "known" data
- Epoch: single pass through the entire training set
- Model: The results of a training process (can be saved for later use).
- Word (or char) vector: You can’t feed a string as training input to a neural network. A "word vector" is a way of representing text data that a neural network can understand. There isn't one way of doing this, but the end result is typically a big array of values describing every word (or char) from a given corpus and it's likelihood of appearing with another word around it. Here is a JavaScript demo of "word2vec" and more from google's word2vec.
- Prediction: The output of a neural network with arbitrary inputs.
- Learning Rate: This is a value that tells the neural network how fast to change its weights based on errors. When it is first training, it should learn fast but as it gets better that learning should "slow down."
- Perplexity: A measurement of accuracy: how much is the model guessing? A perplexity of 1 is no guessing, a perplexity of 10 is guessing between 10 options.
- Temperature: Affects the randomness of predictions. High temperatures (1.0+) will produce more unexpected outcomes but you'll see more "errors". Low temperatures will produce expected outcomes, but include a lot of repetition or most common words.
Installing Tensorflow and Keras
- Tensorflow installation (below is for Python 2 on Mac OSX with CPU only, for other OS and GPU training, see this link)
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.11.0-py2-none-any.whl
$ sudo pip install --upgrade $TF_BINARY_URL
- Keras installation
$ sudo pip install keras