Andrew Beam, PhD
Postdoctoral Fellow
Department of Biomedical Informatics
Harvard Medical School
April 17th, 2017
twitter: @AndrewLBeam
Deep Learning 101 companion series of blog posts:
http://beamandrew.github.io
Previous Talk:
https://www.youtube.com/watch?v=xuIKzt5G21c
https://www.nytimes.com/2016/12/14/magazine/the-great-ai-awakening.html?_r=0
Image credit: https://research.googleblog.com/2016/09/a-neural-network-for-machine.html
One of the very first ideas in machine learning and artificial intelligence
Are today's neural nets any different than their predecessors?
"[The perceptron is] the embryo of an electronic computer that [the Navy] expects will be able to walk, talk, see, write, reproduce itself and be conscious of its existence." - Frank Rosenblatt, 1958
Warren McCulloch and Walter Pitts (1943)
Thresholded logic unit with hardcoded weights
Intended to mimic "integrate and fire" model of neurons
Rosenblatt's Perceptron, 1957
Minsky and Papert show that the perceptron can't even solve the XOR problem
Kills research on neural nets for the next 15-20 years
Rumelhart, Hinton, and Willams show us how to train multilayered neural networks
Unsupervised pre-training of "deep belief nets" allowed for large and deeper models
Image credit: https://www.toptal.com/machine-learning/an-introduction-to-deep-learning-from-perceptrons-to-deep-networks
Imagenet Database
Large Scale Visual
Recognition Challenge (ILSVRC)
Pivotal event occurred in an image recognition contest which brought together 3 critical ingredients for the first time:
In 2011, a misclassification rate of 25% was near state of the art on ILSVRC
In 2012, Geoff Hinton and two graduate students, Alex Krizhevsky and Ilya Sutskever, entered ILSVRC with one of the first deep neural networks trained on GPUs, now known as "Alexnet"
Result: An error rate of 16%, nearly half what the second place entry was able to achieve.
The computer vision world immediately took notice
Alexnet paper has ~ 10,000 citations since being published in 2012!
Several key advancements has enabled the modern deep learning revolution
Several key advancements have enabled the modern deep learning revolution
Availability of massive datasets
with high-quality labels
Standardized benchmarks of progress and open source tools
Community acknowledgment that
open data -> everyone gets better
Several key advancements have enabled the modern deep learning revolution
Advent of massively parallel computing by GPUs. Enabled training of huge neural nets on extremely large datasets
Several key advancements have enabled the modern deep learning revolution
Methodological advancements have made deeper networks easier to train
Architecture
Optimizers
Activation Functions
Several key advancements have enabled the modern deep learning revolution
Robust frameworks and abstractions make iteration faster and less error prone
Automatic differentiation allows easy prototyping
This all leads to the following hypothesis
Deep Learning Hypothesis: The success of deep learning is largely a success of engineering.
Personal belief: Things are different with neural nets this time around
These advancements have been transferred to other fields
Doctors were crucial... in creating the labeled dataset!
These advancements have been transferred to other fields
Off the shelf, pre-trained deep neural network + 130,000 images = expert level diagnostic accuracy
Pretend we just have one variable:
... and a class label:
Pretend we just have one variable:
... and a class label:
... we construct a function to predict y from x:
Pretend we just have one variable:
... and a class label:
... we construct a function to predict y from x:
... and turn this into a probability using the logistic function:
Pretend we just have one variable:
... and a class label:
... we construct a function to predict y from x:
... and turn this into a probability using the logistic function:
... and use Bernoulli negative log-likelihood as loss:
Pretend we just have one variable:
... and a class label:
... we construct a function to predict y from x:
... and turn this into a probability using the logistic function:
This is good old-fashioned logistic regression
... and use Bernoulli negative log-likelihood as loss:
How do we learn the "best" values for ?
How do we learn the "best" values for ?
Gradient Decscent
This in essence is the entire "learning" algorithm
behind modern deep learning. Keep this in mind.
Gradient Decscent
How do we learn the "best" values for ?
With a small change, we can turn our logistic regression model into a neural net
MLPs learn a set of nonlinear features directly from data
"Feature learning" is the hallmark of deep learning approachs
Computers struggle to understand human language
Natural Language Processing: A field of computer science studying how to get computers to understand human language
Humans use language in a very fluid manner
Imagine the following hypothetical human-computer dialog
Humans use language in a very fluid manner
Human: Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo
Imagine the following hypothetical human-computer dialog
Humans use language in a very fluid manner
Human: Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo
Imagine the following hypothetical human-computer dialog
Computer:
https://en.wikipedia.org/wiki/Buffalo_buffalo_Buffalo_buffalo_buffalo_buffalo_Buffalo_buffalo
Computers struggle to understand human language
Example question in NLP: How do we "measure" how "similar" two words are?
Computers struggle to understand human language
"You shall know a word by the company it keeps"
Papers in Linguistics 1934–1951 (1957) London: Oxford University Press.
Similar Contexts -> Similar Meaning
Word vectors encode semantic similarity between words
Introduced by neural net community to tackle hard problems in NLP
Key Idea: Represent a word as a point in space
Key Idea: Represent a word as a point in space
Neural Net's Goal: Construct vectors such that two vectors are similar if the corresponding words occur in similar contexts and are dissimilar otherwise.
Text collection in -> vector for each word out
Word vectors encode semantic similarity between words
Word vectors encode certain properties of words
MEDICAL CONCEPT VECTORS DEMO
Word vectors are the building blocks for deep learning
Using word vectors, we can construct a neural network analyzes large amount of medical data and:
- Takes in a patient description and produces a diagnosis
- Reads a medical question and selects the right answer
- Retrieves the most relevant piece of text for a users query
Huge potential for improving medicine and healthcare