Instructor: Asa Ben-Hur
Email: asa@colostate.edu

Course learning objectives

In this course you will learn to:

  • Apply deep neural networks to complex prediction tasks
  • Interpret what a deep neural network has learned
  • Investigate the advantages and limitations of complex deep networks compared to simpler, traditional approaches,
  • Write scientific reports on computational machine learning methods, describing their experiments, results and conclusions
  • Design, conduct, and report on novel machine learning experiments
  • Reproduce experiments described in on-line tutorials, and publications in deep learning.

Along the way, you will also learn to:

  • Read data files of various formats and visualize characteristics of the data
  • Use Machine learning libraries such as PyTorch and scikit-learn

Setting up your system

For implementation, we will be using Python. Previous experience with Python and the NumPy package is helpful. On Canvas, you will find detailed instructions on how to install the necessary packages for this course.

CS 545 compared to CS 445

Note there is overlap between CS 545 and CS 445; CS 545 will go into greater depth and assumes greater mathematical maturity.

Please ask questions!

Class meetings will be a combination of lectures by the instructor and discussions of student questions. All questions are welcome, no matter how simple you think they are; it is always true that someone else has a similar question. You can ask questions in class or via the class Teams group.

Textbook

The course materials are based on the textbook Dive into Deep Learning. However, keep in mind that I am modifying the notebooks provided with the textbook, so I suggest relying on those rather than the published versions. My plan is to cover the important bits in Chapters 1-16.

Grading

Your grade in the course will be based on assignments, coding exercises, a final project, and a final exam:

Course componentPercentage of grade
assignments30%
project30%
exercises10%
final exam30%

Each assignment (and the course project) will require the submission of a jupyter notebook. Your notebook will be graded for correct implementation and results, thorough discussion of your code and observations. Your notebooks also need to be well-organized, concise with good grammar and spelling.

Late assignments will not be accepted unless you make arrangements with the instructor at least two days before the due date.

Four to five regular assignments are planned during the semester. The final assignment is a project designed by you, and will allow you to explore your choice of datasets with machine learning methodologies.

Grading scale

Score

Grade

> 90

A

80-89.9

B

70-79.9

C

60-69.9

D

0-69.9

F

Final Exam

The final exam will be held at the regular scheduled time according to the registrar’s office.