their respective means. Figure 1. Figure 1. Connecting the means of the individual columns of data provides a crude approximation of the regression line. The slope is exactly 0.50 and the correlation is approximately r = 0.51. Many, though not all, Sweetpea size heritability Galton (1894)1 1 Stanton (2001). Galton, Pearson, and the Peas. Journal of Statistics Education.
Human-like, or deeply weird?3 bstract s (DNNs) have recently been performance on a variety of most notably visual classification Ns are now able to classify objects an-level performance, questions differences remain between com- A recent study [30] revealed that a lion) in a way imperceptible to to label the image as something eling a lion a library). Here we easy to produce images that are e to humans, but that state-of-the- ecognizable objects with 99.99% with certainty that white noise ally, we take convolutional neu- form well on either the ImageNet en find images with evolutionary cent that DNNs label with high o each dataset class. It is possi- lly unrecognizable to human eyes ar certainty are familiar objects, ages” (more generally, fooling ex- Figure 1. Evolved images that are unrecognizable to humans, 3 Nguyen 2015. Deep Neural Networks are Easily Fooled: High Confidence Predictions for Unrecognizable Images. Computer Vision and Pattern Recognition, IEEE, 2015.
Google's TensorFlow • Under active development, documented • Loads of official and unofficial tutorials (Siraj Raval on You, etc) • Making ML approachable • TensorFlow version 1 is like Swift version 1
Build models with Python • Adapt a standard model: plain old regression, existing pre-trained neural network, or one of many off-the-shelf models • Use TensorFlow, in Python (probably) • Train with your data
Deployment on iOS in various ways • Talk to TensorFlow server over the network • Embed TensorFlow library in the app • Port to Accelerate • Port to MetalPerformanceShaders
Reminiscent of AVFoundation and CoreImage • Deferred execution model • Wire up a "session," inputs, outputs, filters • Framework optimizes data flow on hardware • Computation only as needed
Curiously similar to UI design • Cannot prove anything will work • Starts with hunches and intuitions • Refined through experiment • 98% correct is major victory!
Resources • TensorFlow tutorials and summit videos (tensorflow for poets) • Introduction to Machine Learning (Stanford/ Coursera, Andrew Ng) • This Week in Machine Learning & AI podcast • Saraj Raval's YouTube videos • Deep Learning, by Goodfellow et al.
Conclusion • Yes, ML really is real • Likely coming soon to an API near you • Increasingly approachable, thanks to tooling and resources. (Version 1.0 all over again!) • Python on the server, Swift in the hand
Concepts. Model definition vs training vs execution. Training vs test data. Accuracy and loss function. Overfit vs underfit. Models. Linear and logistic regression. Convolutional, recurrent, and adversarial neural networks. Support vector machines. Ensemble regression trees. Etc. Libraries. TensorFlow. Theano. Caffe. Torch. Keras. SciPy. NumPy. HelloWorlds. MNIST. ImageNet. Iris images. Networks. Inception. AlexNet. VGGNet. Resources. Intro to ML, Andrew Ng (Coursera). Siraj Ravel (Youtube). TensorFlow Summit videos. This Week in Machine Learning.