Sequence to sequence modeling using RNNs with Tensorflow
Recurrent Neural Networks (or RNNs) are a type of neural network architecture that enables the network to compute the output based not only on the current input but also on past output. They are a natural fit to solve sequence to sequence problems where the order of input is an important factor in obtaining accurate predictive performance.
In this talk, we are going to see two cases of sequence-to-sequence modeling using the TensorFlow library:
1. Language translation (English - French)
The code performs English->French translation, but it can easily be adapted to perform the reverse translation as well (as simple as changing the source and target file paths). The translation results obtained at the very end showcase the RNNs ability to take context from past data in the sequence as it learns sentence construction and structure implicitly based purely on the training data.
2. TV Script generation (text generation)
The code generates a script for a scene in "Moe's Tavern" using data from previous "Moe's Tavern" sequences over a period of time from 27 seasons of Simpsons scripts. It is using a subset of the data to generate data within that subset, but the code can be extended to work for the entire dataset as well.
Both of the cases will be demonstrated using publicly available data. The code is available in form of Github links containing Jupyter notebooks in the content URLs.
You should have basic Python and neural network knowledge. Fundamental concepts of recurrent neural networks and sequence to sequence modeling will be covered in the talk.
Experience with using Jupyter notebooks will be useful as well.
I am currently working at IBM India as an Artificial Intelligence/Machine Learning expert. My Ph.D. thesis focuses on using machine learning and computer vision techniques to solve challenges in face recognition by improving the computation and combination of robust representations. I have had the opportunity to be a part of crafting a machine learning based solution for real world use cases in these domains.