INFO-I 418 Deep Learning Neural Networks
3 credits
- Prerequisite(s): INFO-B 210 OR CSCI-A 204 OR CSCI-C 200 OR CSCI 23000; Recommended: Statistics (ECON-E 270 or PBHL-B 280 or PBHL-B 300 or PBHL-B 301 or PBHL-B 302 or PSY-B 305 or SPEA-K 300 or STAT-I301 or STAT-I350) OR INFO-I 415
- Delivery: On-Campus, Online
- Semesters offered: Fall (Check the schedule to confirm.)
Description
Deep learning has resurged with the availability of massive datasets and affordable computing, enabling new applications in computer vision and natural language processing. This course introduces convolutional, recurrent, and other neural network architectures for deep learning. Students design, implement, and train these models to solve real-world problems.
Program Learning Outcomes Supported
- A2: Data Literacy - Recognize that data can have value and play a key role in society by providing opportunities to expand knowledge, to innovate, and to influence.
- B1: Data Science - Organize, visualize, and analyze large, complex datasets using descriptive statistics and graphs to make decisions.
- B5: Data Science - Identify, assess, and select appropriately among data analytics methods and models for solving real-world problems, weighing their advantages and disadvantages.
- B6: Data Science - Understand data science concepts, techniques, and tools to support big data analytics.
Learning Outcomes
- Solve problems in probability and machine learning.
- Evaluate, in the context of a case study, the advantages and disadvantages of deep learning neural network architectures and other approaches.
- Implement deep learning models in Python using the TensorFlow and Keras libraries and train them with real-world datasets.
- Design convolution networks for handwriting and object classification from images.
- Design recurrent neural networks with attention mechanisms for natural language classification, generation, and translation.
- Evaluate the performance of different deep learning models (e.g., with respect to the bias-variance trade-off, overfitting and underfitting, estimation of test error).
- Perform regularization, training optimization, and hyperparameter selection on deep models.
- Analyze a deep learning model in preparation for deployment.
Profiles of Learning for Undergraduate Success (PLUS) Alignment
Instructors align their courses with the Profiles of Learning for Undergraduate Success. The profiles provide students various opportunities to deepen disciplinary understanding, participate in engaged learning, and refine what it means to be a well-rounded, well-educated person prepared for lifelong learning and success.
- P2.1 Problem Solver – Think critically.
- P2.3 Problem Solver – Analyzes, synthesizes, and evaluates.
- P3.2 Innovator – Creates/designs.
Course Overview
Module 0: Introduction to Course/ Getting Started
- Course Basics and Course Navigation
- Course Structure and Schedule
- Accessibility Acknowledgement
- Writing Resources and Student Engagement Roster
- What is Zoom @IU?
- How to Create a Video
Module 1: Introduction to Deep Learning
- What is:
- Deep Learning?
- Artificial Intelligence (AI)?
- Machine Learning (ML)?
- Learning Rules & Data Representation
Module 2: Python Programming Review
- Intensive review of Python programming
- Introduction to Lambda Functions
- Using Google Colaboratory
Module 3: The Mathematical build of Neural Networks
- A First Neural Network
- Data Representations
Module 4: Introduction to TensorFlow and Keras (Part 1)
- The definition of TensorFlow and Keras
- First Step with TensorFlow
Module 5: Introduction to TensorFlow and Keras (Parts 2)
- First Step with Keras
- Layers
- Choosing a Loss Function
- The fit() Method
- Validation Data
- Inference
Module 6: Neural Networks: Classification
- Binary Classification
- Multiclass Classification
Module 7: Neural Networks: Regression
- Data Preparation
- Building a first Model
- K-fold validation
- Generating predictions on new data
Module 8: Fundamentals of machine learning
- The goal of Machine Learning
- Evaluating Machine Learning Models
- Model Fit and Generalization
Module 9: Machine Learning’s Workflow
- Define, Develop, and deploy
Module 10: Working with Keras
- Ways to build Keras Models
- Built-in training and evaluation loops
- Custom training and evaluation loops
Module 11: Deep Learning for Computer Vision (Part 1)
- Introduction to convnets
- Training a convnet from scratch
- Leveraging
Module 12: Deep Learning for Computer Vision (Part 2)
- Three essential computer vision tasks
- Image segmentation
- Modern convnet architecture patterns
- Interpreting
Module 13: Support Vector Machines
- Concept of SVMs
- Maximal Margin Classifier
- Support Vector Classifier (non-separable classes)
- Support Vector Machines (non-linear kernels)
Module 14: Final Project Preparation
Module 15: Final Project Presentation and Final Exam
Policies and Procedures
Please be aware of the following linked policies and procedures. Note that in individual courses instructors will have stipulations specific to their course.