Presented by Kevin Perko, Head of Data Science at Scribd
Next DSS NYC Event 👉 https://datascience.salon/newyork/
Next DSS LA Event 👉 https://datascience.salon/la/
Kevin will cover his experience using deep learning, going from scratch to deploying models in production to improve the product experience. He goes in-depth in terms of how we started deep learning from scratch, including navigating the maze of frameworks and hyper-parameters to optimize. Kevin will discuss pitfalls of using other people's algorithms and make a call for more rigor in publishing data science blog posts. Kevin closes with how his failure turned into an open source contribution and the work in moving from dev to production.
3. Who is the talk for?
People interested in our experience using deep learning
Product side of deep learning
Not a technical talk on how to best utilize LSTM
cells/activation functions/networks architectures/GANS/etc
13. Spelling correction
Spelling correction is solved right? If you have enough data
Google is ok, we are not
They can take a probabilistic approach, good for them :P
We need to get fancier
14. Let’s get started
1. Read blog posts
2. Read books
3. Read tutorials
4. Watch videos
5. Deep Learn
17. Which one to pick?
We did a comprehensive framework bakeoff…
AND THE WINNER IS ?!?!
J/K
We picked Keras
- Abstraction layer (easier to get started)
- Familiarity with Python
18. Life as a Deep Learner
http://everythingbrilliant.co.uk/wp-content/uploads/2017/01/emotional-journey-of-creating-anything-new.jpeg
32. Sequence to Sequence mapping
TL;DR
Given a sequence of things turn them into another sequence
Spelling Correction
‘Cande’ -> ‘candy’
English -> Spanish language translation
‘Hello’ -> ‘hola’
40. Data science blog posts
Not reproducible
Proprietary data sets that are not shared
Incorrect accuracy metrics
Someone please solve this (Academic + Industry partnership
on peer reviewed + reproducible data science algorithms)
45. What’s edit distance?
Number of letters (operations) to replace to transform a given word into another
kitten -> sitting = edit distance of 3
1. k -> s (substitution)
2. e -> i (substitution)
3. _ -> g (insertion)
48. Production
Developed on AWS, but need to deploy on internally
We can’t use OpenNMT
Ops :(, they have their reasons but FML
What’s next?
Tensorflow to the rescue!!!
50. Let’s figure out Tensorflow
1. Read blog posts
2. Read books
3. Read tutorials
4. Watch Videos
5. Deep Learn
51. Outcome
Added a week of development time...BUT
Simpler and Faster algorithm
Basis for production deployment
52.
53.
54. SO CLOSE!
We can properly correct spelling but…
We also have to guess partial words correctly
Query: ‘ub of the centry’
Corrected to: ‘club of the century’ ← Where we are
Correct query: ‘pub of the century’ ← Where we need to go
55. Dictionary matching FTW
Build a dictionary where the keys are phrases with 1 word dropped.
{ [joy luck]: “joy luck club”, [luck club]: “joy luck club”}
58. How much time does it add?
● Seq2Seq model adds 15ms
● Dictionary lookup adds .2ms
59. Why do we hard things
Hard Problem (Spelling) -> Knowledge accumulation
New problem -> Query parsing
[‘john grisham pelican brief’] -> [author,author,title,title]