Title Page Copyright and Credits Hands-On Deep Learning with Go About Packt Why subscribe? Contributors About the authors About the reviewer Packt is searching for authors like you Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Conventions used Get in touch Reviews Section 1: Deep Learning in Go, Neural Networks, and How to Train Them Introduction to Deep Learning in Go Introducing DL Why DL? DL – a history  DL – hype or breakthrough? Defining deep learning Overview of ML in Go  ML libraries Word-embeddings in Go  Naive Bayesian classification and genetic algorithms for Go or Golang ML for Go  Machine learning libraries for Golang  GoBrain A set of numeric libraries for the Go programming language Using Gorgonia The basics of Gorgonia Simple example – addition Vectors and matrices Visualizing the graph Building more complex expressions Summary What Is a Neural Network and How Do I Train One? A basic neural network The structure of a neural network Your first neural network Activation functions Step functions Linear functions Rectified Linear Units Leaky ReLU Sigmoid functions Tanh But which one should we use? Gradient descent and backpropagation Gradient descent Backpropagation Stochastic gradient descent Advanced gradient descent algorithms Momentum Nesterov momentum RMSprop Summary Beyond Basic Neural Networks - Autoencoders and RBMs Loading data – MNIST What is MNIST? Loading MNIST Building a neural network for handwriting recognition Introduction to the model structure Layers Training Loss functions Epochs, iterations, and batch sizes Testing and validation Taking a closer look Exercises Building an autoencoder – generating MNIST digits Layers Training Loss function Input and output Epochs, iterations, and batch sizes Test and validation Building an RBM for Netflix-style collaborative filtering Introduction to RBMs RBMs for collaborative filtering Preparing our data – GroupLens movie ratings Building an RBM in Gorgonia Summary Further reading CUDA - GPU-Accelerated Training CPUs versus GPUs Computational workloads and chip design Memory access in GPUs Real-world performance Intel Xeon Phi CPU NVIDIA Maxwell GPU Understanding Gorgonia and CUDA CUDA Basic Linear Algebra Subprograms CUDA in Gorgonia Building a model in Gorgonia with CUDA support Installing CUDA support for Gorgonia Linux Windows Performance benchmarking of CPU versus GPU models for training and inference How to use CUDA CPU results GPU results Summary Section 2: Implementing Deep Neural Network Architectures Next Word Prediction with Recurrent Neural Networks Vanilla RNNs Training RNNs Backpropagation through time  Cost function RNNs and vanishing gradients Augmenting your RNN with GRU/LSTM units Long Short-Term Memory units Gated Recurrent Units Bias initialization of gates Building an LSTM in Gorgonia Representing text data Importing and processing input Summary Further reading Object Recognition with Convolutional Neural Networks Introduction to CNNs What is a CNN? Normal feedforward versus ConvNet Layers Convolutional layer Pooling layer Basic structure Building an example CNN CIFAR-10 Epochs and batch size Accuracy Constructing the layers Loss function and solver Test set output Assessing the results GPU acceleration CNN weaknesses Summary Further reading Maze Solving with Deep Q-Networks What is a DQN? Q-learning Optimization and network architecture Remember, act, and replay! Solving a maze using a DQN in Gorgonia Summary  Further reading Generative Models with Variational Autoencoders Introduction to VAEs Building a VAE on MNIST Encoding Sampling Decoding Loss or cost function Assessing the results Changing the latent dimensions Summary Further reading Section 3: Pipeline, Deployment, and Beyond! Building a Deep Learning Pipeline Exploring Pachyderm Installing and configuring Pachyderm Getting data into Pachyderm Integrating our CNN Creating a Docker image of our CNN Updating our CNN to save the model Creating a data pipeline Interchangeable models Mapping predictions to models Using the Pachyderm dashboard Summary Scaling Deployment Lost (and found) in the cloud Building deployment templates High-level steps Creating or pushing Docker images Preparing your AWS account Creating or deploying a Kubernetes cluster Kubernetes Cluster management scripts Building and pushing Docker containers Running a model on a K8s cluster Summary Other Books You May Enjoy Leave a review - let other readers know what you think