Table of Contents
1 Cover
6 1 Prefix – Learning to “Think Deep” 1.1 So What Do I Mean by Changing the Way You Think?
7 2 Setting Up a Python Environment for Deep Learning Projects 2.1 Python Overview 2.2 Why Use Python for Data Science? 2.3 Anaconda Python 2.4 Jupyter Notebooks
8 3 Modelling Basics 3.1 Introduction 3.2 Start Where You Mean to Go On – Input Definition and Creation 3.3 Loss Functions 3.4 Overfitting and Underfitting 3.5 Regularisation 3.6 Evaluating a Model 3.7 The Curse of Dimensionality 3.8 Summary
9 4 Feedforward Networks and Multilayered Perceptrons 4.1 Introduction 4.2 The Single Perceptron 4.3 Moving to a Deep Network 4.4 Vanishing Gradients and Other “Deep” Problems 4.5 Improving the Optimisation 4.6 Parallelisation of learning 4.7 High and Low‐level Tensorflow APIs 4.8 Architecture Implementations 4.9 Summary 4.10 Papers to Read
10 5 Recurrent Neural Networks 5.1 Introduction 5.2 Basic Recurrent Neural Networks 5.3 Long Short‐Term Memory (LSTM) Networks 5.4 Gated Recurrent Units 5.5 Using Keras for RNNs 5.6 Real World Implementations 5.7 Summary 5.8 Papers to Read
11 6 Convolutional Neural Networks 6.1 Introduction 6.2 Fundamental Principles of Convolutional Neural Networks 6.3 Graph Convolutional Networks 6.4 Real World Implementations 6.5 Summary 6.6 Papers to Read
12 7 Auto‐Encoders 7.1 Introduction 7.2 Getting a Good Start – Stacked Auto‐Encoders, Restricted Boltzmann Machines, and Pretraining 7.3 Denoising Auto‐Encoders 7.4 Variational Auto‐Encoders 7.5 Sequence to Sequence Learning 7.6 The Attention Mechanism 7.7 Application in Chemistry: Building a Molecular Generator 7.8 Summary 7.9 Real World Implementations 7.10 Papers to Read
13 8 Optimising Models Using Bayesian Optimisation 8.1 Introduction 8.2 Defining Our Function 8.3 Grid and Random Search 8.4 Moving Towards an Intelligent Search 8.5 Exploration and Exploitation 8.6 Greedy Search 8.7 Diversity Search 8.8 Bayesian Optimisation 8.9 Summary 8.10 Papers to Read
14 Case Study 1: Solubility Prediction Case Study CS 1.1 Step 1 – Import Packages CS 1.2 Step 2 – Importing the Data CS 1.3 Step 3 – Creating the Inputs CS 1.4 Step 4 – Splitting into Training and Testing