Towards Effective and Efficient Learning at Scale

Total Page:16

File Type:pdf, Size:1020Kb

Towards Effective and Efficient Learning at Scale Effective and Efficient Learning at Scale Adams Wei Yu AUGUST 2019 CMU-ML-19-111 Machine Learning Department School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Thesis Committee: Jaime Carbonell, Co-Chair Alexander Smola, Co-Chair (Amazon) Ruslan Salakhutdinov Quoc Le (Google) Christopher Manning (Stanford) Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy. Copyright c 2019 Adams Wei Yu This research was supported by a grant from the Boeing Company, a fellowship from the Nvidia Corporation, a fellowship from the Snap Inc, a fellowship from the Thomas and Stacey Siebel Foundation and a Carnegie Mellon University presidential fellowship. Keywords: Large Scale Optmization, Deep Neural Networks, Machine Reading Compre- hension, Natural Language Processing To my beloved wife, Yanyu Long and son, Ziheng Yu. iv Abstract How to enable efficient and effective machine learning at scale has been a long- standing problem in modern artificial intelligence, which also motivates this thesis research. In particular, we aim at solving the following problems: 1. How to efficiently train a machine learning model? 2. How to speed up inference after the model is trained? 3. How to make the model generalize better? We approach those problems from two perspectives: models and algorithms. On one hand, we design novel models that are intrinsically fast to train and/or test. On the other, we develop new algorithms with rapid convergence guarantee. Not surprisingly, the above three problem are not mutually exclusive and thus solving one of them might also benefit others. For example, 1) a new model that can enable parallel computation helps accelerate both training and inference; 2) a fast algorithm can save time for hyper-parameter tuning and/or make it affordable for training with more data, which in return boosts the generalization performance. This thesis consists of two parts. The first part presents new machine learn- ing models with a focus on sequential data such as natural language processing and question answering. Firstly, we propose a model, LSTM-Jump, that can skip unim- portant information in text, mimicking the skimming behavior of human reading. Trained with an efficient reinforcement learning algorithm, this model can be sev- eral times faster than a vanilla LSTM in inference time. Then we introduce a text encoding model that totally discards recurrent networks, which thus fully supports parallel training and inference. Based on this technique, a new question-answering model, QANet, is proposed. Combined with data augmentation approach via back- translation, this model stays at the No.1 place in the competitive Stanford Question and Answer Dataset (SQuAD) from March to Aug 2018, while being times faster than the prevalent models. It was also the deepest neural network model for NLP when invented. The second part proposes large scale learning algorithms with provable conver- gence guarantee. To enable fast training of neural networks, we propose a general gradient normalization algorithm for efficient deep networks training. This method can not only alleviate the gradient vanishing problem, but also regularize the model to achieve better generalization. When the amount of training data becomes huge, we need appeal to distributed computation. We are particularly interested in the ubiquitous problem, empirical risk minimization, and propose a few algorithms to attack the challenges posed by the distributed environment. We first show that a ran- domized primal-dual coordinate method DSPDC can achieve a linear convergence rate in the single-machine setting. Then by further leveraging the structural informa- tion of the problem, we propose an asynchronous algorithm DSCOVR, which enjoys a linear convergence rate as well on the distributed parameter server environment, by executing periodical variance reduction. vi Acknowledgments It has been a great journey for me in the past few years as a PhD student at CMU, filled with growing, learning and developing. I could not have asked for more. The first person I am greatly indebted to along this journey is my advisor Jaime Carbonell, the nicest person I have ever met in my life. Jaime always gives me a lot of freedom in choosing research topics and publishing in different areas, which helps me become a well-rounded young researcher. As a guru in machine learning and natural language processing, he knows almost everything in these two areas and provides plenty of insightful advices for each topic I had worked on. Without his kind support and guidance, I could not have achieved what I have now, not even close. Jaime is also a perfect role model of diligence. He is the only professor I know who had worked at CMU for 40 years but never taken a sabbatical break. Working with such an intelligent and hard-working person makes me hardly slow down my pace in research. I would also like to thank Alex Smola, my another advisor. Alex has tons of research ideas every day, a lot more than what I can digest, yet most of which would lead to great papers. Although it was a pity that Alex left CMU in the middle, his last wisdom proved to be very important for me – “Walk out of your comfort zone”. I followed his suggestion and started to work on deep learning in 2016, which totally changed my research path. I should thank Quoc Le as well, who recruited me to Google Brain as an intern, even when he knew I was completely a layman of deep learning. Quoc opens the door for me to neural networks, teaches me how to think out of the box, and shares with me uncountably many crazy ideas. I am really lucky to have him as a mentor and close friend in my career. Thanks also goes to the other thesis committee members, Ruslan Salakhutdinov and Chris Manning, for their time and effort on giving me invaluable feedbacks. As a world-class expert, Russ always impresses me by his deep understanding of every aspect of neural networks. I really enjoy the discussion with him, whose output turns out to be part of this thesis. I still remember the questions raised by Chris when I was giving a talk in Stanford NLP group, which helped shape my oral presentation. The meeting in person after the talk was also enlightening. I was grateful that Chris shared his viewpoint on the future of NLP under the deep learning era. I am fortunate enough to have worked with so many talents in optimization, which is a major part of this thesis. Firstly, I would thank Fatma Kılınc¸-Karzan, who mentored me on my first paper in CMU, which turned out to be an INFORMS data mining best student paper candidate. I need to thank Suvrit Sra, who taught a fantas- tic course Advanced Optimization and Randomized Methods, the course project of which turned out to be my second paper in CMU. The discussion and collaboration after he moved to MIT continued, which was enjoyable. I also enjoy the collab- oration with Qihang Lin, one of the solidest optimization researchers I have ever met. I really appreciate Lin Xiao for hosting me in Microsoft Research Redmond for a fruitful summer internship. He set up a good example for me, teaching me the importance of patience in doing solid research in optimization. I was impressed by the breadth of Yaoliang Yu’s horizon, and the discussion with him was always enlightening. I would not be able to grow to what I have been today without my fantastic collaborators, whom I would like to thank here as well: Maria Florina Balcan, Jaime Carbonell, Kai Chen, Weizhu Chen, David Dohan, Simon S. Du, Lei Huang, Fatma Kılınc¸-Karzan, Quoc Le, Hongrae Lee, Bo Li, Mu Li, Qihang Lin, Thang Luong, Wanli Ma, Mohammad Norouzi, Ruslan Salakhutdinov, Aarti Singh, Alex Smola, Suvrit Sra, Yining Wang, Lin Xiao, Tianbao Yang, Yaoliang Yu and Rui Zhao. I am also grateful to Diane Stidle, Mallory Deptola, Alison Chiocchi and all other MLD stuff members for making our big ML family well-organized. I want to say sorry to Diane for always bringing her trouble but she is consistently patient and helpful. I apologize for forgetting someone who should be acknowledged. Last but not the least, I need to thank my parents for their long-lasting support and help during my life. I am particularly thankful to my wife Yanyu Long. Yanyu, to maintain our family ship, you gave up the job in China, came with me to CMU, started from scratch to become a surgeon in the US and gave birth to our lovely boy in the meanwhile. You have faced much higher pressure and conquered way more challenges than I have, both physically and psychologically, with your bravery, courage and determination. You are simply my hero and this thesis is dedicated to you! viii Contents 1 Introduction 1 1.1 Background and Motivation . .1 1.2 Part One: Efficient and Effective Deep Learning Models for Sequential Data Processing . .2 1.2.1 Fast Recurrent Model to Capture Important Information . .2 1.2.2 Recurrence Free Model for Parallel Training and Inference . .2 1.3 Part Two: Efficient Algorithms for General Model Training . .3 1.3.1 Layer-wise Normalized Gradient Method for Training Deep Neural Net- works....................................3 1.3.2 Distributed Optimization on Parameter Servers . .3 1.4 Excluded Research . .5 I Efficient and Effective Models for Sequential Data Processing 7 2 Learning to Skip Unimportant Information in Sequential Data 9 2.1 Introduction . .9 2.2 Related Work . 10 2.3 Methodology . 11 2.3.1 Model Overview . 11 2.3.2 Training with REINFORCE . 12 2.3.3 Inference . 13 2.4 Experimental Results . 13 2.4.1 Number Prediction with a Synthetic Dataset .
Recommended publications
  • Halifax, Nova Scotia Canada August 13 17, 2017
    Halifax, Nova Scotia ­ Canada August 13 ­ 17, 2017 23rd ACM SIGKDD Conference on Knowledge Discovery and Data Mining Contents KDD 2017 Agenda at a Glance KDD 2017 Chairs’ Welcome Message Program Highlights Keynote Talks Research and Applied Data Science Tracks Applied Data Science Track Invited Talks Applied Data Science Panels Tutorials Hands‐On Tutorials Workshops KDD 2017 Tutorial Program KDD 2017 Workshop Program Full Day Workshops ‐ Monday August 14, 8:00am ‐5:00pm Half Day Workshops ‐ Monday August 14, 8:00am ‐ 12:00pm Half Day Workshops ‐ Monday August 14, 1:00am ‐ 5:00pm KDD Cup Workshop ‐ Wednesday August 16, 1:30pm ‐ 5:00pm KDD 2017 Hands‐On Tutorial Program Tuesday August 15, 2017 Wednesday August 16, 2017 Thursday August 17, 2017 KDD 2017 Conference Program Monday August 14 2017 Detailed Program Monday August 14, 2017 5:15pm – 7:00pm, KDD 2017 Opening Session ‐ Scoabank Centre Tuesday August 15, 2017 Detailed Program Wednesday August 16, 2017 Detailed Program Thursday August 17, 2017 Detailed Program KDD 2017 Conference Organizaon KDD 2017 Organizing Commiee Research Track Senior Program Commiee Applied Data Science Track Senior Program Commiee Research Track Program Commiee Applied Data Science Track Program Commiee KDD 2017 Sponsors & Supporters Halifax, Points of Interest Useful Links and Emergency Contacts KDD 2017 Agenda at a Glance Saturday, August 12th Level 8 ­ Summit 8:00AM ­ 5:00PM Workshop: Broadening Participation in Data Mining (BPDM) ­ Day 1 Suite/Meeting Room 5 4:00PM ­ 6:00PM KDD 2017 Registration Level 1 Atrium
    [Show full text]
  • Big Graph Analytics Platforms
    Full text available at: http://dx.doi.org/10.1561/1900000056 Big Graph Analytics Platforms Da Yan The University of Alabama at Birmingham [email protected] Yingyi Bu Couchbase, Inc. [email protected] Yuanyuan Tian IBM Almaden Research Center, USA [email protected] Amol Deshpande University of Maryland [email protected] Boston — Delft Full text available at: http://dx.doi.org/10.1561/1900000056 Foundations and Trends R in Databases Published, sold and distributed by: now Publishers Inc. PO Box 1024 Hanover, MA 02339 United States Tel. +1-781-985-4510 www.nowpublishers.com [email protected] Outside North America: now Publishers Inc. PO Box 179 2600 AD Delft The Netherlands Tel. +31-6-51115274 The preferred citation for this publication is D. Yan, Y. Bu, Y. Tian, and A. Deshpande. Big Graph Analytics Platforms. Foundations and Trends R in Databases, vol. 7, no. 1-2, pp. 1–195, 2015. R This Foundations and Trends issue was typeset in LATEX using a class file designed by Neal Parikh. Printed on acid-free paper. ISBN: 978-1-68083-242-6 c 2017 D. Yan, Y. Bu, Y. Tian, and A. Deshpande All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, mechanical, photocopying, recording or otherwise, without prior written permission of the publishers. Photocopying. In the USA: This journal is registered at the Copyright Clearance Cen- ter, Inc., 222 Rosewood Drive, Danvers, MA 01923. Authorization to photocopy items for internal or personal use, or the internal or personal use of specific clients, is granted by now Publishers Inc for users registered with the Copyright Clearance Center (CCC).
    [Show full text]
  • An Introduction to Deep Reinforcement Learning Full Text Available At
    Full text available at: http://dx.doi.org/10.1561/2200000071 An Introduction to Deep Reinforcement Learning Full text available at: http://dx.doi.org/10.1561/2200000071 Other titles in Foundations and Trends® in Machine Learning Non-convex Optimization for Machine Learningy Prateek Jain and Purushottam Ka ISBN: 978-1-68083-368-3 Kernel Mean Embedding of Distributions: A Review and Beyond Krikamol Muandet, Kenji Fukumizu, Bharath Sriperumbudur and Bernhard Scholkopf ISBN: 978-1-68083-288-4 Tensor Networks for Dimensionality Reduction and Large-scale Optimization: Part 1 Low-Rank Tensor Decompositions Andrzej Cichocki, Anh-Huy Phan, Qibin Zhao, Namgil Lee, Ivan Oseledets, Masashi Sugiyama and Danilo P. Mandic ISBN: 978-1-68083-222-8 Tensor Networks for Dimensionality Reduction and Large-scale Optimization: Part 2 Applications and Future Perspectives Andrzej Cichocki, Anh-Huy Phan, Qibin Zhao, Namgil Lee, Ivan Oseledets, Masashi Sugiyama and Danilo P. Mandic ISBN: 978-1-68083-276-1 Patterns of Scalable Bayesian Inference Elaine Angelino, Matthew James Johnson and Ryan P. Adams ISBN: 978-1-68083-218-1 Generalized Low Rank Models Madeleine Udell, Corinne Horn, Reza Zadeh and Stephen Boyd ISBN: 978-1-68083-140-5 Full text available at: http://dx.doi.org/10.1561/2200000071 An Introduction to Deep Reinforcement Learning Vincent François-Lavet Peter Henderson McGill University McGill University [email protected] [email protected] Riashat Islam Marc G. Bellemare McGill University Google Brain [email protected] [email protected] Joelle Pineau Facebook, McGill University [email protected] Boston — Delft Full text available at: http://dx.doi.org/10.1561/2200000071 Foundations and Trends® in Machine Learning Published, sold and distributed by: now Publishers Inc.
    [Show full text]
  • MMDS 2014: Workshop on Algorithms for Modern Massive Data Sets
    MMDS 2014: Workshop on Algorithms for Modern Massive Data Sets Stanley Hall University of California at Berkeley June 17{20, 2014 The 2014 Workshop on Algorithms for Modern Massive Data Sets (MMDS 2014) will address algorithmic and statistical challenges in modern large-scale data analysis. The goals of MMDS 2014 are to explore novel techniques for modeling and analyzing massive, high-dimensional, and nonlinearly-structured scientific and internet data sets; and to bring together computer scientists, statisticians, mathematicians, and data analysis practitioners to promote the cross-fertilization of ideas. Organizers: Michael Mahoney, Alexander Shkolnik Petros Drineas, Reza Zadeh, and Fernando Perez Workshop Schedule Tuesday, June 17, 2014: Data Analysis and Statistical Data Analysis Time Event Location/Page Registration & Opening Lobby outside Stanley Hall 8:00{9:45am Breakfast and registration 9:45{10:00am Organizers Welcome and opening remarks First Session Stanley Hall 10:00{11:00am Ashok Srivastava, Verizon pp. 13 Large Scale Machine Learning at Verizon (Tutorial) 11:00{11:30am Dan Suciu, University of Washington pp. 14 Communication Cost in Big Data Processing 11:30{12:00pm Gerald Friedland, ICSI pp. 9 Content-based search in 50TB of consumer-produced videos 12:00{2:00pm Lunch (on your own) Second Session Stanley Hall 2:00{2:30pm Bill Howe, University of Washington pp. 10 Myria: Scalable Analytics as a Service 2:30{3:00pm Devavrat Shah, MIT pp. 13 Computing stationary distribution, locally 3:00{3:30pm Yiannis Koutis, University of Puerto Rico pp. 12 Spectral algorithms for graph mining and analysis 3:30{4:00pm Jiashun Jin, Carnegie Mellon University pp.
    [Show full text]
  • KDD'15 Chairs and Organizing Committee
    KDD’15 Chairs and Organizing Committee Honorary Chair: Usama Fayyad (ChoozOn Corporation) General Chairs: Longbing Cao (University of Technology, Sydney) Chengqi Zhang (University of Technology, Sydney) Program Chairs: Thorsten Joachims (Cornell University) Geoff Webb (Monash University) Industry and Government Track Dragos Margineantu (Boeing Research) Program Chairs: Graham Williams (Australian Taxation Office) Industry and Government Track Rajesh Parekh (Groupon) Invited Talks Chairs: Usama Fayyad (ChoozOn Corporation) Workshop Chairs: Johannes Fuernkranz (Technische Universität Darmstadt) Tina Eliassi-Rad (Rutgers University) Tutorial Chairs: Jian Pei (Simon Fraser University) Zhihua Zhou (Nanjing University) KDD Cup Chairs: Jie Tang (Tsinghua University) Ron Bekkerman (University of Haifa) Panel Chairs: Hugh Durrant-Whyte (Nicta) Katharina Morik (Technische Universität Dortmund) Poster Chairs: Dacheng Tao (University of Technology, Sydney) Hui Xiong (Rutgers University) Best Paper Chairs: Jure Lescovec (Stanford University) Kristian Kersting (Technische Universität Dortmund) Doctoral Dissertation Award Chair: Kyuseok Shim (Seoul National University) Innovation and Service Award Chair: Ted Senator (Leidos) Test-of-Time Paper Award Chair: Martin Ester (Simon Fraser University) Local Arrangements Chairs: Jinjiu Li (IDA) Shannon Cunningham (Executivevents) Guandong Xu (University of Technology, Sydney) Student Travel Award Chairs: Wei Wang (UCLA) Xingquan Zhu (Florida Atlantic University) Jeffrey Yu (Chinese University of Hong Kong)
    [Show full text]
  • Generalized Low Rank Models
    Full text available at: http://dx.doi.org/10.1561/2200000055 Generalized Low Rank Models Madeleine Udell Operations Research and Information Engineering Cornell University [email protected] Corinne Horn Electrical Engineering Stanford University [email protected] Reza Zadeh Computational and Mathematical Engineering Stanford University [email protected] Stephen Boyd Electrical Engineering Stanford University [email protected] Boston — Delft Full text available at: http://dx.doi.org/10.1561/2200000055 R Foundations and Trends in Machine Learning Published, sold and distributed by: now Publishers Inc. PO Box 1024 Hanover, MA 02339 United States Tel. +1-781-985-4510 www.nowpublishers.com [email protected] Outside North America: now Publishers Inc. PO Box 179 2600 AD Delft The Netherlands Tel. +31-6-51115274 The preferred citation for this publication is M. Udell, C. Horn, R. Zadeh and S. Boyd. Generalized Low Rank Models. Foundations and Trends R in Machine Learning, vol. 9, no. 1, pp. 1–118, 2016. R This Foundations and Trends issue was typeset in LATEX using a class file designed by Neal Parikh. Printed on acid-free paper. ISBN: 978-1-68083-141-2 c 2016 M. Udell, C. Horn, R. Zadeh and S. Boyd All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, mechanical, photocopying, recording or otherwise, without prior written permission of the publishers. Photocopying. In the USA: This journal is registered at the Copyright Clearance Cen- ter, Inc., 222 Rosewood Drive, Danvers, MA 01923. Authorization to photocopy items for internal or personal use, or the internal or personal use of specific clients, is granted by now Publishers Inc for users registered with the Copyright Clearance Center (CCC).
    [Show full text]
  • REZA ZADEH [email protected] Reza-Zadeh.Com 650.898.3193
    REZA ZADEH [email protected] reza-zadeh.com 650.898.3193 SUMMARY Founder CEO at Matroid, Adjunct Professor at Stanford University Served on the Technical Advisory board of Microsoft and Databricks Ph.D. from Stanford. Masters from Carnegie Mellon. Bachelors from Waterloo. Advanced research and engineering positions at Google, Twitter, IBM Focused on Machine Learning, Distributed Computing, and Discrete Applied Mathematics Contributor to Apache Spark and TensorFlow, initial creator of the Linear Algebra Package in Spark Wrote an O'Reilly Media book on TensorFlow, used at Matroid for Computer Vision Created and taught courses on distributed algorithms and discrete mathematics at Stanford Mentored undergraduate, masters, and Ph.D. students on research Sifted through petabytes of data by way of Google MapReduce and Apache Hadoop, Pig, Spark Published and refereed for Machine Learning conferences and journals Organized international conferences and workshops on Machine Learning Interactive resume at http://reza-zadeh.com. EDUCATION Ph.D. in Computational Mathematics Stanford University Advisor: Gunnar Carlsson April 2014 Thesis: Large Scale Graph Completion. Master of Computer Science Carnegie Mellon University August 2010 Fully funded research masters. Bachelor of Mathematics, Honors Computer Science, Software Engineering University of Waterloo August 2008 Active in undergraduate research and programming competitions. EXPERIENCE Matroid January 2016 - Current Palo Alto, California Chief Executive Officer • Making Computer Vision Simple. $15.5
    [Show full text]
  • Declarative Machine Learning Systems
    DECLARATIVE MACHINE LEARNING SYSTEMS Piero Molino Christopher Ré Department of Computer Science Department of Computer Science Stanford University Stanford University [email protected] [email protected] July 20, 2021 1 Introduction In the last twenty years machine learning (ML) has progressively moved from a academic endeavor to a pervasive technology adopted in almost every aspect of computing. ML-powered products are now embedded in every aspect of our digital lives: from recommendations of what to watch, to divining our search intent, to powering virtual assistants in consumer and enterprise settings. Moreover, recent successes in applying ML in natural sciences [Senior et al., 2020] had revealed that ML can be used to tackle some of the hardest real-world problems humanity faces today. For these reasons ML has become central in the strategy of tech companies and has gathered even more attention from academia than ever before. The process that led to the current ML-centric computing world was hastened by several factors, including hardware improvements that enabled the massively parallel processing , data infrastructure improvements that enabled storage and consumption of massive datasets needed to train most ML models, and algorithmic improvements that allowed better performance and scaling. Despite these successes, we argue that what we have witnessed in terms of ML adoption is only the tip of the iceberg. Right now the people training and using ML models are typically experienced developers with years of study working within large organizations, but we believe the next wave of ML systems will allow a substantially larger amount of people, potentially without any coding skills, to perform the same tasks.
    [Show full text]
  • Framework Design for Improving Computational Efficiency and Programming Productivity for Distributed Machine Learning
    Framework Design for Improving Computational Efficiency and Programming Productivity for Distributed Machine Learning Jin Kyu Kim CMU-CS-18-127 December 2018 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Thesis Committee: Garth A. Gibson (Co-Chair) Eric P. Xing (Co-Chair) Phillip Gibbons Joseph E. Gonzalez (University of California Berkeley) Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy. Copyright c 2018 Jin Kyu Kim This research was sponsored by the National Science Foundation under grant number CCF-1629559, the Defense Advanced Research Projects Agency under grant number FA8702-15-D-0002, Samsung, and Intel ISTC-CC. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of any sponsoring institution, the U.S. government or any other entity. Keywords: Distributed Systems, Large-Scale Machine Learning, Programming Frame- work, Computer Science Dedicated to my family and friends. iv Abstract Machine learning (ML) methods are used to analyze data in a wide range of areas, such as finance, e-commerce, medicine, science, and engineering, and the size of machine learning problems has grown very rapidly in terms of data size and model size in the era of big data. This trend drives industry and academic communities toward distributed machine learning that scales out ML training in a distributed system for completion in a reasonable amount of time. There are two challenges in implementing distributed machine learn- ing: computational efficiency and programming productivity. The traditional data-parallel approach often leads to suboptimal training performance in dis- tributed ML due to data dependencies among model parameter updates and nonuniform convergence rates of model parameters.
    [Show full text]
  • The Future of Machine Intelligence
    The Future of Machine Intelligence Perspectives from Leading Practitioners David Beyer “We’rejustatthe beginningof anexplosionof intelligentsoftware.” — Tim O’Reilly Conference Leadership Tim O’Reilly Peter Norvig O’Reilly Media, Founder and CEO Director of Research at Google Inc. Explore opportunities for applied AI oreillyaicon.com D2333 The Future of Machine Intelligence Perspectives from Leading Practitioners David Beyer Beijing Boston Farnham Sebastopol Tokyo The Future of Machine Intelligence by David Beyer Copyright © 2016 O’Reilly Media Inc. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://safaribooksonline.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or [email protected]. Editor: Shannon Cutt Cover Designer: Randy Comer Production Editor: Nicole Shelby Illustrator: Rebecca Demarest Interior Designer: David Futato February 2016: First Edition Revision History for the First Edition 2016-02-29: First Release The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. The Future of Machine Intelligence, the cover image, and related trade dress are trademarks of O’Reilly Media, Inc. While the publisher and the author have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the author disclaim all responsibility for errors or omissions, including without limi‐ tation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk.
    [Show full text]