Course Logistics
Course description:
Brains are remarkably complex, massive networks of interconnected neurons that underlie our abilities to intelligently sense, reason, learn, and interact with our world. Technologies for monitoring neural activity in the brain are revealing rich structure within the coordinated activity of these interconnected populations of neurons. In this course, we will discuss machine learning models that can be applied toward 1) understanding how neural activity in the brain gives rise to intelligent behavior and 2) designing algorithms for brain-interfacing biomedical devices. Topics will include basic neurobiology, classical probabilistic machine learning foundations, and modern deep learning approaches, including variational autoencoders and recurrent neural networks. Coursework will include readings from the machine learning and computational neuroscience literature, programming assignments, and a final modeling project applied to neural population data.
Course Goals:
The primary goals for the course are to:
- Build practical foundations for developing machine learning models for neuroscience and neuroengineering applications.
- Enable students to ask research-level questions at the intersection of machine learning and neuroscience.
- Introduce the real-world challenges and opportunities around working with experimental neuroscience data.
Prerequisites:
- Students entering the class should be comfortable programming in Python and should have pre-existing working knowledge of multivariate calculus (e.g., MATH 126), probability & statistics (e.g., CSE 312/STAT390), linear algebra (e.g., MATH 208).
- Some exposure to machine learning (e.g., CSE 446/546) may be helpful for graduate students and is required for undergraduates;
- Prior knowledge of neuroscience is NOT required.
- For a brief refresher, consider consulting the linear algebra and statistics/probability reference materials on the Resources page.
Grading Breakdown:
60%: Homework assignments (5 @ ~12% each)
10%: 1/2 page summaries of ~5 papers we will discuss in class.
10%: In-class participation.
20%: Final project
(No exams)
Registering for the course:
During Period I enrollment:
- CSE PhD or BSMS students can register without restriction.
- CSE undergrads can receive an add code from the CSE graduate advisors (grad-advising [at] cs [dot] washington [dot] edu).
During Period II enrollment:
- Any graduate student satisfying the prereqs can enroll (including non-CSE students).
- Any undergrad satisfying the prereqs can receive an add code from the CSE graduate advisors (grad-advising [at] cs [dot] washington [dot] edu).
Please email Prof. Golub if your experience with registration or with Grad Advising differs from the above.
Frequently Asked Questions
- Q: How will this course compare to CSE 446/546?
- A1: Expect this course to be quite complementary to 446/546. We will learn mostly non-overlapping techniques, though still sticking to a largely probabilistic persepctive.
- A2: We will do quite a bit of math together during class (like in 446/546), but there will be less math on the assignments in this course.
- A3: The ML models we cover will all be motivated by exciting neuroscience applications. Each assignment will include some modeling of real neural data.
- A4: Unlike 446/546, we will not have exams in this course.
- Q: I really want to take this course, but there's a conflict with another course I want to take. When will this course be offered next?
- A: This course will likely be offered again in 26sp.