F U L L COLOR A N D R E W G L A S S N E R D E E P L E A R N I N G A V I S U A L A P P R O A C H
(This page has no text content)
(This page has no text content)
San Francisco D E E P L E A R N I N G A V i s u a l A p p r o a c h Andrew Glassner
DEEP LEARNING: A VISUAL APPROACH. Copyright © 2021 by Andrew Glassner. All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13: 978-1-7185-0072-3 (print) ISBN-13: 978-1-7185-0073-0 (ebook) Publisher: William Pollock Executive Editor: Barbara Yien Production Editors: Maureen Forys and Rachel Monaghan Developmental Editor: Alex Freed Cover and Interior Design: Octopod Studios Cover Illustrator: Gina Redman Technical Reviewers: George Hosu and Ron Kneusel Copyeditor: Rebecca Rider Compositor: Maureen Forys, Happenstance Type-O-Rama Proofreader: James Fraleigh With the exception of the images noted at the end of the book in the Image Credits, all the images in this book are produced by the author. All original images may be freely downloaded from https://github.com/ blueberrymusic and used as the reader pleases. For information on book distributors or translations, please contact No Starch Press, Inc. directly: No Starch Press, Inc. 245 8th Street, San Francisco, CA 94103 phone: 1-415-863-9900; info@nostarch.com www.nostarch.com Library of Congress Cataloging-in-Publication Data Names: Glassner, Andrew S., author. Title: Deep learning : a visual approach / Andrew Glassner. Description: San Francisco, CA : No Starch Press, Inc., [2021] | Includes bibliographical references and index. Identifiers: LCCN 2020047326 (print) | LCCN 2020047327 (ebook) | ISBN 9781718500723 (paperback) | ISBN 9781718500730 (ebook) Subjects: LCSH: Machine learning. | Neural networks. Classification: LCC Q325.5 .G58 2021 (print) | LCC Q325.5 (ebook) | DDC 006.3/1--dc23 LC record available at https://lccn.loc.gov/2020047326 LC ebook record available at https://lccn.loc.gov/2020047327 No Starch Press and the No Starch Press logo are registered trademarks of No Starch Press, Inc. Other product and company names mentioned herein may be the trademarks of their respective owners. Rather than use a trademark symbol with every occurrence of a trademarked name, we are using the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The information in this book is distributed on an “As Is” basis, without warranty. While every precaution has been taken in the preparation of this work, neither the author nor No Starch Press, Inc. shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in it.
For Niko, who’s always there with a smile, a paw, and a wag.
(This page has no text content)
About the Author Dr. Andrew Glassner is a Senior Research Scientist at Weta Digital, where he uses deep learning to help artists produce visual effects for film and television. He was Technical Papers Chair for SIGGRAPH ’94, Founding Editor of the Journal of Computer Graphics Tools, and Editor-in-Chief of ACM Transactions on Graphics. His prior books include the Graphics Gems series and the textbook Principles of Digital Image Synthesis. Glassner holds a PhD from UNC-Chapel Hill. He paints, plays jazz piano, and writes nov- els. His website is www.glassner.com, and he can be followed on Twitter as @AndrewGlassner. About the Technical Reviewers George Hosu is a software engineer and world traveler with a broad inter- est in statistics and machine learning. He works as the lead machine learn- ing engineer on an autoML and “explainable AI” project called Mindsdb. In his spare time, he writes to strengthen his understanding of epistemol- ogy, ML, and classical mathematics, and how they all come together to generate a meaningful map of the world. You can find his writing at https://blog.cerebralab.com/. Ron Kneusel has been working with machine learning in industry since 2003 and completed a PhD in machine learning from the University of Colorado, Boulder, in 2016. Ron currently works for L3Harris Tech- nologies, Inc. He has two books available from Springer: Numbers and Computers, and Random Numbers and Computers.
(This page has no text content)
B R I E F C O N T E N T S Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii PART I: FOUNDATIONAL IDEAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Chapter 1: An Overview of Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chapter 2: Essential Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Chapter 3: Measuring Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Chapter 4: Bayes’ Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Chapter 5: Curves and Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Chapter 6: Information Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 PART II: BASIC MACHINE LEARNING . . . . . . . . . . . . . . . . . . . . . . . . . . .153 Chapter 7: Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Chapter 8: Training and Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Chapter 9: Overfitting and Underfitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Chapter 10: Data Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Chapter 11: Classifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Chapter 12: Ensembles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 PART III: DEEP LEARNING BASICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311 Chapter 13: Neural Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Chapter 14: Backpropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Chapter 15: Optimizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
x Brief Contents PART IV: BEYOND THE BASICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .427 Chapter 16: Convolutional Neural Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Chapter 17: Convnets in Practice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 Chapter 18: Autoencoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 Chapter 19: Recurrent Neural Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 Chapter 20: Attention and Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 Chapter 21: Reinforcement Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601 Chapter 22: Generative Adversarial Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649 Chapter 23: Creative Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693 Image Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
C O N T E N T S I N D E T A I L ACKNOWLEDGMENTS xxi INTRODUCTION xxiii Who This Book Is For . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxiv This Book Has No Math and No Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv There Is Code, If You Want It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv The Figures Are Available, Too! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv Errata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxvi About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxvi Part I: Foundational Ideas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxvi Part II: Basic Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii Part III: Deep Learning Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii Part IV: Deep Beyond the Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii Final Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviii PART I: FOUNDATIONAL IDEAS 1 1 AN OVERVIEW OF MACHINE LEARNING 3 Expert Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Supervised Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Unsupervised Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Reinforcement Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Deep Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2 ESSENTIAL STATISTICS 15 Describing Randomness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Random Variables and Probability Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Some Common Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Continuous Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Discrete Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Collections of Random Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Expected Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Dependence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Independent and Identically Distributed Variables . . . . . . . . . . . . . . . . . . . . . 29 Sampling and Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Selection with Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Selection Without Replacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Covariance and Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Covariance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
xii Contents in Detail Statistics Don’t Tell Us Everything . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 High-Dimensional Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3 MEASURING PERFORMANCE 47 Different Types of Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Dart Throwing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Simple Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Conditional Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Joint Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Marginal Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Measuring Correctness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Classifying Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 The Confusion Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Characterizing Incorrect Predictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Measuring Correct and Incorrect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Recall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Precision-Recall Tradeoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Misleading Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 f1 Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 About These Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Other Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Constructing a Confusion Matrix Correctly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4 BAYES’ RULE 83 Frequentist and Bayesian Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 The Frequentist Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 The Bayesian Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Frequentists vs . Bayesians . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Frequentist Coin Flipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Bayesian Coin Flipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 A Motivating Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Picturing the Coin Probabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Expressing Coin Flips as Probabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Bayes’ Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Discussion of Bayes’ Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Bayes’ Rule and Confusion Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Repeating Bayes’ Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 The Posterior-Prior Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 The Bayes Loop in Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Multiple Hypotheses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Contents in Detail xiii 5 CURVES AND SURFACES 117 The Nature of Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 The Derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Maximums and Minimums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Tangent Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Finding Minimums and Maximums with Derivatives . . . . . . . . . . . . . . . . . . . 125 The Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Water, Gravity, and the Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Finding Maximums and Minimums with Gradients . . . . . . . . . . . . . . . . . . . . 128 Saddle Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6 INFORMATION THEORY 133 Surprise and Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Understanding Surprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Unpacking Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Measuring Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Adaptive Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Speaking Morse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Customizing Morse Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Entropy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Cross Entropy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Two Adaptive Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Using the Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Cross Entropy in Practice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Kullback–Leibler Divergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 PART II: BASIC MACHINE LEARNING 153 7 CLASSIFICATION 155 Two-Dimensional Binary Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 2D Multiclass Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Multiclass Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 One-Versus-Rest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 One-Versus-One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 The Curse of Dimensionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Dimensionality and Density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 High-Dimensional Weirdness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
xiv Contents in Detail 8 TRAINING AND TESTING 181 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Testing the Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Test Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Validation Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Cross-Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 k-Fold Cross-Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 9 OVERFITTING AND UNDERFITTING 195 Finding a Good Fit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Overfitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Underfitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Detecting and Addressing Overfitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Early Stopping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Regularization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Bias and Variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Matching the Underlying Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 High Bias, Low Variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Low Bias, High Variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Comparing Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Fitting a Line with Bayes’ Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 10 DATA PREPARATION 221 Basic Data Cleaning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 The Importance of Consistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Types of Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 One-Hot Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Normalizing and Standardizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Standardization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Remembering the Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Types of Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Slice Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Samplewise Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Featurewise Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Elementwise Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Inverse Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Information Leakage in Cross-Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Shrinking the Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Feature Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Dimensionality Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Principal Component Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 PCA for Simple Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 PCA for Real Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Contents in Detail xv 11 CLASSIFIERS 263 Types of Classifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 k-Nearest Neighbors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Decision Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Introduction to Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Using Decision Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Overfitting Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Splitting Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 The Basic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 The SVM Kernel Trick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Naive Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Comparing Classifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 12 ENSEMBLES 297 Voting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Ensembles of Decision Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Bagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Random Forests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Extra Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 PART III: DEEP LEARNING BASICS 311 13 NEURAL NETWORKS 313 Real Neurons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Artificial Neurons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 The Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Modern Artificial Neurons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Drawing the Neurons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Feed-Forward Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 Neural Network Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Initializing the Weights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Deep Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Fully Connected Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Tensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Preventing Network Collapse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Activation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Straight-Line Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Step Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Piecewise Linear Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Smooth Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
xvi Contents in Detail Activation Function Gallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Comparing Activation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Softmax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 14 BACKPROPAGATION 351 A High-Level Overview of Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Punishing Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 A Slow Way to Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Backprop on a Tiny Neural Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Finding Deltas for the Output Neurons . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 Using Deltas to Change Weights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Other Neuron Deltas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 Backprop on a Larger Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 The Learning Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 Building a Binary Classifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Picking a Learning Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 An Even Smaller Learning Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 15 OPTIMIZERS 387 Error as a 2D Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Adjusting the Learning Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 Constant-Sized Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Changing the Learning Rate over Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Decay Schedules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 Updating Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Batch Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Stochastic Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Mini-Batch Gradient Descent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Gradient Descent Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 Nesterov Momentum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 Adagrad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 Adadelta and RMSprop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 Adam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 Choosing an Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 Regularization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 Batchnorm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Contents in Detail xvii PART IV: BEYOND THE BASICS 427 16 CONVOLUTIONAL NEURAL NETWORKS 429 Introducing Convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 Detecting Yellow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 Weight Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 Larger Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 Filters and Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 Multidimensional Convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 Multiple Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 Convolution Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 1D Convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 1×1 Convolutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 Changing Output Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Striding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Transposed Convolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 Hierarchies of Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 Simplifying Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 Finding Face Masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 Finding Eyes, Noses, and Mouths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Applying Our Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 17 CONVNETS IN PRACTICE 473 Categorizing Handwritten Digits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 VGG16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 Visualizing Filters, Part 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 Visualizing Filters, Part 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 Adversaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 18 AUTOENCODERS 495 Introduction to Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 Lossless and Lossy Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 Blending Representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 The Simplest Autoencoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 A Better Autoencoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 Exploring the Autoencoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 A Closer Look at the Latent Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 The Parameter Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 Blending Latent Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 Predicting from Novel Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Convolutional Autoencoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 Blending Latent Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 Predicting from Novel Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
xviii Contents in Detail Denoising . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 Variational Autoencoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Distribution of Latent Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 Variational Autoencoder Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 Exploring the VAE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 Working with the MNIST Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 Working with Two Latent Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 Producing New Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 19 RECURRENT NEURAL NETWORKS 539 Working with Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 Common Natural Language Processing Tasks . . . . . . . . . . . . . . . . . . . . . . . 540 Transforming Text into Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 Fine-Tuning and Downstream Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 Fully Connected Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 Testing Our Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 Why Our Network Failed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 Recurrent Neural Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 Introducing State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 Rolling Up Our Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 Recurrent Cells in Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 Training a Recurrent Neural Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 Long Short-Term Memory and Gated Recurrent Networks . . . . . . . . . . . . . . . 553 Using Recurrent Neural Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 Working with Sunspot Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 Generating Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 Different Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 Seq2Seq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 20 ATTENTION AND TRANSFORMERS 565 Embedding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 Embedding Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 ELMo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 Attention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574 A Motivating Analogy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574 Self-Attention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 Q/KV Attention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579 Multi-Head Attention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 Layer Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 Transformers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 Skip Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582 Norm-Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583 Positional Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584 Assembling a Transformer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586 Transformers in Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
Comments 0
Loading comments...
Reply to Comment
Edit Comment