Stephen Merity (@smerity)
Joint work with the MetaMind team:
Caiming Xiong, Richard Socher, and more
With good data, deep learning can give high accuracy in image and text classification
It's trivially easy to train your own classifier
with near zero ML knowledge
6th and 7th grade high school students created a custom vision classifier for TrashCam
[Trash, Recycle, Compost] with 90% accuracy
Work by MM colleagues: Caiming Xiong, Kai Sheng Tai, Ivo Mihov, ...
AlexNet training throughput based on 20 iterations
Slide from Julie Bernauer's NVIDIA presentation
VQA dataset: http://visualqa.org/
* TIL Lassi = popular, traditional, yogurt based drink from the Indian Subcontinent
Visual Genome: http://visualgenome.org/
Visual Genome: http://visualgenome.org/
1 Mary moved to the bathroom. 2 John went to the hallway. 3 Where is Mary? bathroom 1 4 Daniel went back to the hallway. 5 Sandra moved to the garden. 6 Where is Daniel? hallway 4 7 John moved to the office. 8 Sandra journeyed to the bathroom. 9 Where is Daniel? hallway 4 10 Mary moved to the hallway. 11 Daniel travelled to the office. 12 Where is Daniel? office 11 13 John went back to the garden. 14 John moved to the bedroom. 15 Where is Sandra? bathroom 8 1 Sandra travelled to the office. 2 Sandra went to the bathroom. 3 Where is Sandra? bathroom 2
Extract from the Facebook bAbI Dataset
Imagine I gave you an article or an image, asked you to memorize it, took it away, then asked you various questions.
Even as intelligent as you are,
you're going to get a failing grade :(
Why?
Optimal: give you the input data, give you the question, allow as many glances as possible
Where is your model forced to use a compressed representation?
Most importantly,
is that a good thing?
Figure from Chris Olah's Visualizing Representations
Figure from Chris Olah's Visualizing Representations
Figure from Bahdanau et al's
Neural Machine Translation by Jointly Learning to Align and Translate
Results from Bahdanau et al's
Neural Machine Translation by Jointly Learning to Align and Translate
For full details:
+ The module produces an ordered list of facts from the input
+ We can increase the number or dimensionality of these facts
+ Input fusion layer (bidirectional GRU) injects positional information and allows interactions between facts
Composed of three parts with potentially multiple passes:
Each fact receives an attention gate value from [0, 1]
The value is produced by analyzing [fact, query, episode memory]
Optionally enforce sparsity by using softmax over attention values
If the gate values were passed through softmax,
the context vector is a weighted summation of the input facts
Given the attention gates, we now want to extract a context vector from the input facts
Issue: summation loses positional and ordering information
If we modify the GRU, we can inject information from the attention gates.
By replacing the update gate u with the activation gate g,
the update gate can make use of the question and memory
If we modify the GRU, we can inject information from the attention gates.
VisualQA dataset has over 200k images and 600k questions
The DMN make heavy use of RNNs
Focus on three experiments: