• Stars
    star
    5,720
  • Rank 7,127 (Top 0.2 %)
  • Language
    Jupyter Notebook
  • License
    Other
  • Created over 8 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

T81-558: Keras - Applications of Deep Neural Networks @Washington University in St. Louis

T81 558:Applications of Deep Neural Networks

Washington University in St. Louis

Instructor: Jeff Heaton

The content of this course changes as technology evolves, to keep up to date with changes follow me on GitHub.

  • Section 1. Spring 2023, Monday, 2:30 PM, Location: Eads / 216
  • Section 2. Spring 2023, Online

Course Description

Deep learning is a group of exciting new technologies for neural networks. Through a combination of advanced training techniques and neural network architectural components, it is now possible to create neural networks that can handle tabular data, images, text, and audio as both input and output. Deep learning allows a neural network to learn hierarchies of information in a way that is like the function of the human brain. This course will introduce the student to classic neural network structures, Convolution Neural Networks (CNN), Long Short-Term Memory (LSTM), Gated Recurrent Neural Networks (GRU), General Adversarial Networks (GAN) and reinforcement learning. Application of these architectures to computer vision, time series, security, natural language processing (NLP), and data generation will be covered. High Performance Computing (HPC) aspects will demonstrate how deep learning can be leveraged both on graphical processing units (GPUs), as well as grids. Focus is primarily upon the application of deep learning to problems, with some introduction to mathematical foundations. Students will use the Python programming language to implement deep learning using Google TensorFlow and Keras. It is not necessary to know Python prior to this course; however, familiarity of at least one programming language is assumed. This course will be delivered in a hybrid format that includes both classroom and online instruction.

Textbook

The complete text for this course is here on GitHub. This same material is also available in book format. The course textbook is “Applications of Deep Neural networks with Keras“, ISBN 9798416344269.

If you would like to cite the material from this course/book, please use the following BibTex citation:

@misc{heaton2020applications,
    title={Applications of Deep Neural Networks},
    author={Jeff Heaton},
    year={2020},
    eprint={2009.05673},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

Objectives

  1. Explain how neural networks (deep and otherwise) compare to other machine learning models.
  2. Determine when a deep neural network would be a good choice for a particular problem.
  3. Demonstrate your understanding of the material through a final project uploaded to GitHub.

Syllabus

This syllabus presents the expected class schedule, due dates, and reading assignments. Download current syllabus.

Module Content
Module 1
Meet on 01/23/2023
Module 1: Python Preliminaries
  • Part 1.1: Course Overview
  • Part 1.2: Introduction to Python
  • Part 1.3: Python Lists, Dictionaries, Sets & JSON
  • Part 1.4: File Handling
  • Part 1.5: Functions, Lambdas, and Map/ReducePython Preliminaries
  • We will meet on campus this week! (first meeting)
Module 2
Week of 01/30/2023
Module 2: Python for Machine Learning
  • Part 2.1: Introduction to Pandas for Deep Learning
  • Part 2.2: Encoding Categorical Values in Pandas
  • Part 2.3: Grouping, Sorting, and Shuffling
  • Part 2.4: Using Apply and Map in Pandas
  • Part 2.5: Feature Engineering in Padas
  • Module 1 Program due: 01/31/2023
  • Icebreaker due: 01/31/2023
Module 3
Week of 02/06/2023
Module 3: TensorFlow and Keras for Neural Networks
  • Part 3.1: Deep Learning and Neural Network Introduction
  • Part 3.2: Introduction to Tensorflow & Keras
  • Part 3.3: Saving and Loading a Keras Neural Network
  • Part 3.4: Early Stopping in Keras to Prevent Overfitting
  • Part 3.5: Extracting Keras Weights and Manual Neural Network Calculation
  • Module 2: Program due: 02/07/2023
Module 4
Week of 02/13/2023
Module 4: Training for Tabular Data
  • Part 4.1: Encoding a Feature Vector for Keras Deep Learning
  • Part 4.2: Keras Multiclass Classification for Deep Neural Networks with ROC and AUC
  • Part 4.3: Keras Regression for Deep Neural Networks with RMSE
  • Part 4.4: Backpropagation, Nesterov Momentum, and ADAM Training
  • Part 4.5: Neural Network RMSE and Log Loss Error Calculation from Scratch
  • Module 3 Program due: 02/14/2023
Module 5
Meet on 02/20/2023
Module 5: Regularization and Dropout
  • Part 5.1: Introduction to Regularization: Ridge and Lasso
  • Part 5.2: Using K-Fold Cross Validation with Keras
  • Part 5.3: Using L1 and L2 Regularization with Keras to Decrease Overfitting
  • Part 5.4: Drop Out for Keras to Decrease Overfitting
  • Part 5.5: Bootstrapping and Benchmarking Hyperparameters
  • Module 4 Program due: 02/21/2023
  • We will meet on campus this week! (second meeting)
Module 6
Week of 02/27/2023
Module 6: CNN for Vision
    Part 6.1: Image Processing in Python
  • Part 6.2: Using Convolutional Networks with Keras
  • Part 6.3: Using Pretrained Neural Networks
  • Part 6.4: Looking at Keras Generators and Image Augmentation
  • Part 6.5: Recognizing Multiple Images with YOLOv5
  • Module 5 Program due: 02/28/2023
Module 7
Week of 03/06/2023
Module 7: Generative Adversarial Networks (GANs)
  • Part 7.1: Introduction to GANS for Image and Data Generation
  • Part 7.2: Train StyleGAN3 with your Own Images
  • Part 7.3: Exploring the StyleGAN Latent Vector
  • Part 7.4: GANS to Enhance Old Photographs Deoldify
  • Part 7.5: GANs for Tabular Synthetic Data Generation
  • Module 6 Assignment due: 03/07/2023
Module 8
Week of 03/20/2023
Module 8: Kaggle
  • Part 8.1: Introduction to Kaggle
  • Part 8.2: Building Ensembles with Scikit-Learn and Keras
  • Part 8.3: How Should you Architect Your Keras Neural Network: Hyperparameters
  • Part 8.4: Bayesian Hyperparameter Optimization for Keras
  • Part 8.5: Current Semester's Kaggle
  • Module 7 Assignment due: 03/21/2023
Module 9
Meet on 03/27/2023
Module 9: Transfer Learning
  • Part 9.1: Introduction to Keras Transfer Learning
  • Part 9.2: Keras Transfer Learning for Computer Vision
  • Part 9.3: Transfer Learning for NLP with Keras
  • Part 9.4: Transfer Learning for Facial Feature Recognition
  • Part 9.5: Transfer Learning for Style Transfer
  • We will meet on campus this week! (third meeting)
  • Module 8 Assignment due: 03/28/2023
Module 10
Week of 04/03/2023
Module 10: Time Series in Keras
  • Part 10.1: Time Series Data Encoding for Deep Learning, Keras
  • Part 10.2: Programming LSTM with Keras and
  • Part 10.3: Text Generation with Keras
  • Part 10.4: Introduction to Transformers
  • Part 10.5: Transformers for Timeseries
  • Module 9 Assignment due: 04/04/2023
Module 11
Week of 04/10/2023
Module 11: Natural Language Processing
  • Part 11.1: Hugging Face Introduction
  • Part 11.2: Hugging Face Tokenizers
  • Part 11.3: Hugging Face Data Sets
  • Part 11.4: Training a Model in Hugging Face
  • Part 11.5: What are Embedding Layers in Keras
  • Module 10 Assignment due: 04/11/2023
Module 12
Week of 04/17/2023
Module 12: Reinforcement Learning
  • Kaggle Assignment due: 04/17/2023 (approx 4-6PM, due to Kaggle GMT timezone)
  • Part 12.1: Introduction to the OpenAI Gym
  • Part 12.2: Introduction to Q-Learning for Keras
  • Part 12.3: Keras Q-Learning in the OpenAI Gym
  • Part 12.4: Atari Games with Keras Neural Networks
  • Part 12.5: Application of Reinforcement Learning
Module 13
Meet on 04/24/2023
Module 13: Deployment and Monitoring
  • Part 13.1: Flask and Deep Learning Web Services
  • Part 13.2: Interrupting and Continuing Training
  • Part 13.3: Using a Keras Deep Neural Network with a Web Application
  • Part 13.4: When to Retrain Your Neural Network
  • Part 13.5: Tensor Processing Units (TPUs)
  • Final Project due 05/08/2023
  • We will meet on campus this week! (fourth meeting)

Datasets

More Repositories

1

aifh

Artificial Intelligence for Humans
Java
927
star
2

encog-java-core

Java
742
star
3

encog-dotnet-core

C#
429
star
4

app_deep_learning

T81-558: PyTorch - Applications of Deep Neural Networks @Washington University in St. Louis
Jupyter Notebook
374
star
5

jh-kaggle-util

Jeff Heaton's Kaggle Utilities
Python
278
star
6

encog-javascript

Encog for Javascript.
JavaScript
196
star
7

present

Code from Jeff Heaton's YouTube videos, articles, and conference presentations.
Assembly
177
star
8

encog-java-examples

Java
162
star
9

encog-c

The Encog project for C/C++
C
112
star
10

pyimgdata

Python
110
star
11

jeffheaton-book-code

Source code from my older (pre Artificial Intelligence for Humans books) books. I am no longer updating these older editions.
Java
90
star
12

app_generative_ai

T81-559: Applications of Generative Artificial Intelligence
Jupyter Notebook
85
star
13

mergelife

Evolve complex cellular automata with a genetic algorithm.
Python
75
star
14

encog-java-workbench

Java
60
star
15

pretrained-gan-70s-scifi

Pretrained model 1024x1024 trained on 1970s scifi art
Jupyter Notebook
51
star
16

pretrained-gan-minecraft

Minecraft GAN
Jupyter Notebook
44
star
17

encog-dotnet-more-examples

This project will contain additional examples for Encog, beyond the console examples provided with Encog. These examples are primarily Winforms GUI applications, and may make use of third party libraries other than Encog.
C#
43
star
18

docker-stylegan2-ada

My Docker image for running Stylegan2 ADA with GPU
Dockerfile
39
star
19

papers

Repository to hold source code related to academic papers I've published.
Python
30
star
20

encog-sample-csharp

A sample application for Encog C#.
C#
28
star
21

pretrained-gan-fish

Pretrained model for fish, 256x256
Jupyter Notebook
25
star
22

article-code

Python
23
star
23

stylegan2-toys

Various projects that I've worked on for special effects in StyleGAN2.
Jupyter Notebook
18
star
24

encog-sample-java

Sample stand-alone Encog project
Java
15
star
25

libsvm-java

This is simply a repository to hold the latest libsvm Java, and allow me to track changes. This is not my own project. See homepage URL for source.
14
star
26

pretrained-merry-gan-mas

Jupyter Notebook
13
star
27

docker-jupyter-python-r

Jupyter notebook with Python and R.
Jupyter Notebook
12
star
28

ios_video_classify

A simple IOS application that uses mobilenet to classify 1000 different images from an IOS device's video camera.
Swift
11
star
29

proben1

A copy of the datasets for PROBEN1 from the paper "Proben1: A Set of Neural Network Benchmark Problems and Benchmarking Rules", Lutz Prechelt
Perl
11
star
30

phd-dissertation

Dissertation (Jeff Heaton)
Java
10
star
31

jeffheaton.github.io

The AIFH website.
HTML
10
star
32

cabi_genai_automation

Introduction to Automation with LangChain, Generative AI, and Python
Jupyter Notebook
10
star
33

apollo64

ËœApollo64 BBS: This is an old Commodore 64 based BBS that I created on back in the late 80's. Basic/6510 assembler.
Assembly
10
star
34

pretrained-gan-tech

Technology GAN
Jupyter Notebook
9
star
35

mergelife-experiments

Data for several runs of MergeLife
9
star
36

jeffheaton

8
star
37

ga-csharp

A simple C# Genetic Algorithm
C#
8
star
38

pysamppackage

A sample package for Python to learn how to structure a package.
8
star
39

tf-intro

Jupyter Notebook
7
star
40

encog-silverlight-core

Encog for Silverlight is no longer supported or maintained. Version 3.0 was the last released version.
6
star
41

jlatexmath-example

A simple example of using JLatexMath
Java
6
star
42

stylegan2-cloud

Utilities to run StyleGAN2 ADA Pytorch in the cloud
5
star
43

docker-stylegan3

Docker image to run StyleGAN3 with GPU
Dockerfile
4
star
44

jna-example

Simple Java JNA example with a Maven build script.
Java
3
star
45

jeffheaton-bookcode

Source code from books published by Jeff Heaton
3
star
46

data-mirror

A mirror of some of the files at data.heatonresearch.com
HTML
2
star
47

data

Some common datasets with headers added and properly setup for Pandas/others
2
star
48

jheaton_images

Images that I use for various sites, like Kaggle
2
star
49

baseenv-jupyter

Basic Docker environment for Jupyter and Python
Dockerfile
2
star
50

docker-jupyterhub

My Jupyterhub docker image
2
star
51

dynaface

Dynaface is both a computer application and Python library to measure facial symmetry utilizing advanced AI for both symmetric and asymmetric faces.
Python
1
star
52

kaggle-otto-group

Jeff Heaton's Entry for Kaggle Otto Group Product Classification Challenge
1
star
53

jheaton-ds2

Some of my datasets (public)
1
star
54

docker-mergelife

Docker image for MergeLife
Dockerfile
1
star