My Podcast interview about machine learning, my talk at Google Next by Sam Charrington

# Author Archives: navacron

# Google Next 2018 – How Publishers Can Take Advantage of Machine Learning

Gave a talk at Google Next 2018 about machine learning.

Talk includes usage of the following for applied machine learning in context of media and news publishing.

- BigQuery
- BQML
- Google NLP
- Google Sound
- AutoML
- TensorFlow
- Spark

# Google Next 2018 – Machine Learning with BigQuery

Gave a talk about BQML along with Abhishek product manager of AI at Google. Democratization of AI via BigQuery.

# Google Launches News Initiative

Google launches Google News initiative to promote quality journalism via technology

https://newsinitiative.withgoogle.com/

Case study, featuring my work using Google Cloud, Machine Learning and BigQuery

# Giving a talk on Machine Leaning for News at Googleplex GDA Leadership Summit

# Machine Learning Case Study in Journalism

This is a case study published of my groups work using machine learning in journalism

# Machine Learning in Journalism Google Blog

Mention of my work applied machine learning at Hearst on this Google blog post

https://www.blog.google/topics/journalism-news/how-publishers-can-take-advantage-machine-learning/

# Recommendation Engine via Deep Learning

Have been reading research work for recommendation engine, specifically that can be used to do better news/blog recommendations.

Links on work in this area including open source code.

##### Fundamental Building Blocks

- Convert a document or paragraph into a vector representation Doc2Vec https://arxiv.org/pdf/1405.4053.pdf
- Using lstm/gru to represent sentences, works better than Doc2Vec for information retrieval tasks. Deep Sentence Embedding Using Long Short-Term Memory Networks: Analysis and Application to Information Retrieval https://arxiv.org/pdf/1502.06922.pdf

##### Survey

- Survey of Deep Recommendation Engines. Good starting point https://arxiv.org/pdf/1707.07435.pdf

##### Recommendation Systems

- Google Deep and Wide https://arxiv.org/pdf/1606.07792.pdf
- Multitask Recommender System Using GRU https://arxiv.org/pdf/1609.02116.pdf
- DeepFM, no need for feature engineering as in Google Deep and Wide https://arxiv.org/abs/1703.04247
- Multi-Rate Deep Learning for Temporal Recommendation. Using multiple time scales and user features trains using DSSM (Deep Semantic Structured Model). http://sonyis.me/paperpdf/spr209-song_sigir16.pdf
- YouTube Recommendation System https://pdfs.semanticscholar.org/bcdb/4da4a05f0e7bc17d1600f3a91a338cd7ffd3.pdf
- Session Based Recommendation System https://arxiv.org/pdf/1511.06939.pdf . Only uses sequence of content, and not the content itself.

##### Code

- Subreddit recommendation. RNN based, does not use content. https://cole-maclean.github.io/blog/RNN-Based-Subreddit-Recommender-System

# Deep Learning Image Recognition and Detection on iOS Camera Using tensorflow

### Classification on iOS

https://github.com/tensorflow/tensorflow/tree/r1.2/tensorflow/contrib/ios_examples

Just ran first ran deep learning model with the camera app example. Pretty good image recognition!!

### Detection on iOS

The next level is object detection, i.e creating a bounding box around detected image.

# Naveed’s favorite Deep Learning papers

Deep learning is progressing rapidly. There is a new interesting research paper every other week. This is a list of essential deep learning research by categories.

## Fundamentals

- Efficient Backprop. Paper on back propagation, the sauce of neural networks by Yann Lecun from AT&T l in 98 – http://yann.lecun.com/exdb/publis/pdf/lecun-98b.pdf
- Gradient Base Learning Applied Document Recognition. Paper described how to do recognition of hand written characters. Also describes LeNet-5 (the original convolution neural network) by Yann Lecun. https://pdfs.semanticscholar.org/d3f5/87797f95e1864c54b80bc98e957da6746e27.pdf

## Regularization

- DropOut – https://arxiv.org/abs/1207.0580
- Batch Normalization – https://arxiv.org/abs/1502.03167

## Convolution Neural Networks (CNN)

These are the recent advances for CNN, original was Lecun-5 in the 98 paper mentioned above .

- AlexNet brought back neural network revolution by winning ImageNet competition- https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks
- VGG Net a very deep NN – https://arxiv.org/abs/1409.1556.pdf
- GoogleNet – https://arxiv.org/abs/1409.4842
- Residual Neural Network – The deepest Neural network 152 layers – https://arxiv.org/abs/1512.03385

## Image Detection

Finding a bounding box around different objects is harder than simply classifying an image. This a class of image localization and detection problems.

- Faster RCNN (there is also Fast RCNN and RCNN, Faster is incremental improvement over all), one of the best – https://arxiv.org/abs/1506.01497
- YOLO, supposed to be the most efficient – https://arxiv.org/abs/1612.08242

## Generative Adversarial Neural Networks

One of the hottest areas of research. This is a class of algorithms where 2 neural networks collaborate to generate e.g. realistic images. One network produces fake images (faker), and the other network learns to decipher fake from real (detective). Both networks compete with each other and try to be good at their jobs, till the faker is so good that it can generate realistic images. Fake it till you make it!

- Generative Adversarial Neural Networks – https://arxiv.org/abs/1406.2661
- CycleGAN – Change doodles to real images https://arxiv.org/abs/1703.10593
- Conditional GAN – Control the output of GAN by classes https://arxiv.org/abs/1411.1784

## Semi Supervised Learning

Getting labeled data is expensive, while unlabeled data is abundant. Techniques to use little bit of training data and lots of unlabeled data.

- Stacked What Where Auto encoders – https://arxiv.org/abs/1506.02351
- Ladder Networks – https://arxiv.org/abs/1507.02672
- Pseudo Labels – http://deeplearning.net/wp-content/uploads/2013/03/pseudo_label_final.pdf
- Surrogate Class – http://papers.nips.cc/paper/5548-discriminative-unsupervised-feature-learning-with-convolutional-neural-networks.pdf

## Visual Question Answering / Reasoning

Research on being able to ask question on images. e.g. asking if there are there more blue balls than yellow about an image.

- Inferring and Executing Programs For Visual Reasoning – https://arxiv.org/abs/1705.03633
- Relation Networks From Deep Mind, generic NN component that can be used on visual and text QA systems – https://arxiv.org/abs/1706.01427.pdf

## Neural Style

Being able to take a picture and a style image e.g. a painting, and redraw the picture in the painting style. See my blog on painting like Picaso.

- Neural Artistic Style – https://arxiv.org/abs/1508.06576

## Recurrent Neural Networks (RNN)

- LSTM – http://dl.acm.org/citation.cfm?id=1246450 Blog explaining LSTM – http://colah.github.io/posts/2015-08-Understanding-LSTMs/
- GRU – https://arxiv.org/abs/1502.02367

## AutoEncoders

This is area of unsupervised learning. An auto encoder is a neural network that tries to recreate the original image. e.g. give it any picture and it will try to recreate the same image. Why would anyone want to do that. The neural network tries to learn a condensed representation of images given that there are commonalities. Auto encoders can be used to pre train a neural network with unlabeled data.

- Lecture Notes Sparse Auto encoders – https://web.stanford.edu/class/cs294a/sparseAutoencoder.pdf

## Visualizing High Dimensional Data

## Text Recognition

- Reading Text in the Wild – https://www.robots.ox.ac.uk/~vgg/publications/2016/Jaderberg16/jaderberg16.pdf

## Neural Programming

- Neural Programmer Interpreters, learn to program for simple tasks – https://arxiv.org/abs/1511.06279

## Neural Physics

- Visual Interaction Networks – Deep mind paper to learn to predict physical future of objects from a few frames – https://arxiv.org/abs/1706.01433

# CatGAN – Cat Faces Generative Adversarial Networks Conditional GAN Using Pytorch

Released CatGan code. This was done as last assignment for NYU Deep Learning course, taught by Yann Lecun. This is a conditional GAN, and can train it to generate 4 different types of cats i.e. white, golden, black and mix.

https://github.com/navacron/deeplearning/tree/master/pytorch/catgan

The following is output conditioned on golden cats. By favorite one is 3rd one from the right in the first row. Everytime the GAN is run it will generate unique cats like these. For more cats visit the github page.

# Evolutionary Strategies to Play Atari Games OpenAi Blog

Alternate to Deep Reinforcement Learning

# Getting Started Deep Learning Amazon EC2 GPU

Added a setup guide to using GPU on Amazon EC2

# PyTorch Deep Learning Neural Network and Chain Rule Tutorial

I have release ipython tutorial notebooks for neural network using pytorch. Pytorch is implementation of torch in python released by Facebook. This is what is being used in the Deep Learning course that I am taking at NYU, taught by professor Yann Lecun

https://github.com/navacron/deeplearning/tree/master/pytorch

This uses the autograd feature that is unique to pytoch and torch (not available in tensorflow). This is pytorch version of cs231n http://cs231n.github.io/neural-networks-case-study/

# Deep Learning Courses Free / Paid

Have been researching what are available options for taking a deep learning course living in NY/NJ. I have already taken most of the free content cs231n, machine learning coursera, udacity. Looking into either NYU or Stanford for an official course for Winter 2017.

Free online courses

- Deep Learning Convolution Neural Networks, Stanford, http://cs231n.stanford.edu/
- Deep Learning Natural Language Processing, Stanford http://cs224d.stanford.edu/syllabus.html
- Deep Learning Udacity, https://www.udacity.com/course/deep-learning–ud730

Paid courses

- Deep Learning, NYU, http://cilvr.cs.nyu.edu/doku.php?id=deeplearning:slides:start
- Deep Learning Natural Language Processing, Stanford Online, http://scpd.stanford.edu/search/publicCourseSearchDetails.do?method=load&courseId=11754
- Self Driving Car Engineer, Udacity, https://www.udacity.com/drive
- Introduction to Deep Learning, Princeton, https://www.cs.princeton.edu/courses/archive/spring16/cos495/