Syllabus
Instructor
- Dr. Mikhail Dozmorov
- One Capitol Square 738
- mdozmorov@vcu.edu
- @mikhaildozmorov
Course details
- Monday through Friday
- June 8 – 12, 2020
- 9:00am – 12:00pm
- Online
Contacting me
E-mail is preferred. I will try to respond to all course-related e-mails within 1 business day.
Course Description
Deep learning is an actively growing machine learning field for many research and application areas, such as computer vision, speech recognition, time series forecasting. It is becoming the state-of-the-art approach among machine learning methods, especially suitable for extracting useful information from large, unstructured datasets.
This course is an introduction to deep learning theory and practice. It will cover the basics of neural network architectures, main statistical concepts behind training neural networks, and implementation aspects. The main focus will be on programming deep neural networks using TensorFlow and its Keras front-end in R, although the knowledge will also be useful for Python practitioners. The goal of this course is to build a foundation for general understanding of deep learning and hands-on implementation of main types of neural network architectures, and provide material for further development.
Prerequisites
- Suggested reading
- Deep learning with R by François Chollet (the creator of Keras) with J. J. Allaire (the founder of RStudio and the author of the R interfaces to Keras and TensorFlow)
- The Deep Learning textbook by Ian Goodfellow, Yoshua Bengio and Aaron Courville
- MIT Introduction to Deep Learning | 6.S191 - MIT video course by Alexander Amini, Ava Soleimani, and guests. Dense and informative ~45min lectures covering various topics of deep learning. introtodeeplearning.com - course web site with slides, video, and other material
- Machine learning and deep learning resources - a collection of references for further studies
- Code
- R notebooks for the code samples of the book “Deep Learning with R”
- Deep Learning with Keras and TensorFlow in R Workflow - RStudio Conference 2020 workshop by Brad Boehmke
- Skills
- Working knowledge of R, familiarity with RStudio programming environment, command line, GitHub
- No formal course requirements, but basic knowledge of the following will help
- Basic linear algebra: vectors, matrices, determinants
- Simple calculus: derivatives, integrals, gradients
- Some probability theory: probability, random variables, distributions
- Basic statistics knowledge: descriptive statistics, estimators.
- (Linear) modeling
- Hardware
- A laptop, Mac or Linux OSs are recommended. GPU (graphics processing unit) is not required
- Software
- R for Windows or Mac. Review Getting Used to R, RStudio, and RMarkdown book, if necessary
- RStudio Desktop
- Git
- A text editor (Notepad++ on Windows, or Sublime text on any platform)
- Optional: Docker for Windows or Mac is recommended
- Windows only: Git Bash or Cygwin
- Windows only: Rtools
Learning Objectives
- Learn the basic concepts of deep learning and various types of neural networks
- Understand principles of training neural networks
- Implement basic types of neural networks using Keras/TensorFlow R interface
About the class
This is a 1 credit hour course. Both undergraduates and graduate students are welcome to take the course. The class will be conducted via Zoom and include lecture and coding parts. Classes will not be recorded. Course material will be publicly available. The syllabus is subject to change. Observe the VCU Honor Pledge in any class- and homework activities
Course Website: https://bios691-deep-learning-r.netlify.com
Office Hours: contact the Instructor with questions and on-demand Zoom meeting requests
Final project
- A take-home final project (teams of two are encouraged)
- Final project should be submitted as a fully reproducible GitHub repository
- The due date is one month following the course end. Final project page
Class evaluation
Please, evaluate the course Friday afternoon, June 12, 2020. All evaluations are anonymous
Grading Policy
- Online attendance: 10% per class (50% total)
- Final Project: 0-50%
This course will be graded on a Pass/Fail basis. Pass is defined as a grade of at least 70%
Copyright
Every reasonable effort has been made to protect the copyright requirements of materials used in this course by referring to the original sources.
Diversity and inclusivity
A primary goal of this course is to be inclusive and of value to the largest number of contributors, with the most varied and diverse backgrounds possible. All participants in this course are encouraged to help to provide a friendly, safe and welcoming environment for all, regardless of age, gender, gender identity or expression, culture, ethnicity, language, national origin, political beliefs, profession, race, religion, sexual orientation, socioeconomic status, and technical ability.