![Title image: An Introduction To Deep Learning](images/title.png)
## Course Information ##
A survey class of neural network implementation and applications. Topics include: optimization - stochastic gradient descent, adaptive and 2nd order methods, normalization; convolutional neural networks - image processing, classification, detection, segmentation; recurrent neural networks - semantic understanding, translation, question-answering; cross-domain applications - image captioning, vision and language.
### Instructor ###
Joseph Redmon
- Email: pjreddie@cs.washington.edu
- Class: Tu/Thur 10:00-11:20 am, [Kane](https://www.washington.edu/maps/#!/kne) 120
#### Note: Our classroom has moved to Kane 120, not in CSE2 ####
### TAs ###
Samuel Ainsworth
- skainswo@cs.washington.edu
Ivan Montero
- ivamon@cs.washington.edu
Prashant Rangarajan
- prashr@cs.washington.edu
Tobias Rohde
- tobiasr@cs.washington.edu
### Office Hours ###
- Monday:
- Joe, 10am-11am via [Zoom](https://washington.zoom.us/j/3362756951)
- Tuesday:
- Ivan, 4pm-5pm in Allen 4th Floor Breakout Area
- Wednesday:
- Samuel, TBD
- Thursday:
- Prashant, 2pm-3pm via [Zoom](https://washington.zoom.us/j/95033420579)
- Friday:
- Tobias, 10am-11am in Gates 150 this week, Gates 131 after this week
### Resources ###
- Ed Discussion Board: https://edstem.org/us/courses/14938/discussion/
- Canvas: https://canvas.uw.edu/courses/1477508
- Zoom: https://washington.zoom.us/j/99114176043
## Homeworks ##
- [Homework 0: Neural Networks](https://github.com/pjreddie/uwnet/blob/master/hw0.md) Due Monday October 18th.
- [Homework 1: Convolutional Neural Networks](https://github.com/pjreddie/uwnet/blob/main/hw1.md) Due Wednesday Nov 3rd (updated).
- [Homework 2: Batch Norm and Language Models](https://github.com/pjreddie/uwnet/blob/main/hw2.md) Due Monday Nov 22nd.
## Final Project: ##
There will be a final project worth 20% of your final grade. The project can be done individually or in teams.
For your final project you should explore any topic you are interested in related to deep learning. This could involve training a model for a new task, building a new dataset, improving deep models in some way and testing on standard benchmarks, etc. You project should probably involve some implementation, some data, and some training. The amount of effort and time should be approximately 2 homework assignments.
Your final project presentation will be a website describing your project, and a 2-3 minute video. This summary should mention the problem setup, data used, techniques, etc. It should include a description of which components were from preexisting work (i.e. code from github) and which components were implemented for the project (i.e. new code, gathered dataset, etc).
## Lectures ##
#### Lecture 1: Machine Learning Review
- [Slides](https://docs.google.com/presentation/d/18Hwleyj4aOX53KOoS8hOW0jLEcI3GIfodguToMK1BEI/edit?usp=sharing)
#### Lecture 2: Neural Networks and Optimization
- [Slides](https://docs.google.com/presentation/d/1ktTiLEPLnG4jr1MFpk0qczdfXyA3rDBu2Sv7v1YAAQ0/edit?usp=sharing)
#### Lecture 3: Training Neural Networks
- [Slides](https://docs.google.com/presentation/d/1wvz_SrFdFf0PV53ZVNxoz1dGDWU3dWrQoZQvoW_-ZHc/edit?usp=sharing)
#### Lecture 4: Convolutional Neural Networks
- [Slides](https://docs.google.com/presentation/d/1nhqXbYITrKeW_m1y-aEl7kPunhtxD2dtVosfkzGGA6k/edit?usp=sharing)
#### Lecture 5: Image Classification
- [Slides](https://docs.google.com/presentation/d/1L_v6K2ZxibIfWwJj7R7OcGyo3EPX6w3F5Ph-UV1lswI/edit?usp=sharing)
#### Lecture 6: Convolutional Network Architectures
- [Slides](https://docs.google.com/presentation/d/1_WfkFr4U6w6GHcnA6qMMNWBnpBwmqSywxxTIj6uU_7E/edit?usp=sharing)
#### Lecture 7: Segmentation and Detection
- [Slides](https://docs.google.com/presentation/d/1ex-h5l0Oz-dtzphK-mP-XLGP6_pLc94oNYKtDvcwdQo/edit?usp=sharing)
#### Lecture 8: Object Detection
- [Slides](https://docs.google.com/presentation/d/1ChKuWTzEywx9VFdbCEYZX-PccGNa4jyiTsRqMVgLlP8/edit?usp=sharing)
#### Lecture 9: Vision and Language
- [Slides](https://docs.google.com/presentation/d/1i9QlZ03R4zGwiydQDx1UMClQMXmxPVgRXq-qrojBjIg/edit?usp=sharing)
#### Lecture 10: Transformers
- [Slides](https://pjreddie.github.io/uwnet/slides/10#1)
- [PDF](./Transformers.pdf)
#### Lecture 11: Sampling From Recurrent Models
- [Slides](https://pjreddie.github.io/uwnet/slides/11#1)
- [PDF](./Sampling.pdf)
#### Lecture 12: GANs
- [Slides](https://pjreddie.github.io/uwnet/slides/13#1)
- [PDF](./GANs.pdf)
#### Lecture 13: Alpha Go
- [Slides](https://docs.google.com/presentation/d/13YJPp72XCW1OSC0vDOmiFjrcZlmJz3y-DlH_RZ8oVfs/edit?usp=sharing)
#### Lecture 14: Advanced Optimization
- [Slides](https://docs.google.com/presentation/d/1XVf5lNIIthqLGWPH9_XdzYDfvcMwyVR9N5KHXIEfloQ/edit?usp=sharing)
#### Lecture 15: Training Networks
- [Binary Classification](https://colab.research.google.com/drive/1NARbN9kniByK_loutD7Dy1uzJMHqkeV5?usp=sharing)
- [Multi-Class](https://drive.google.com/file/d/1c3laGaocFSIwVQsiPuzRLpAUtAUiAfCc/view?usp=sharing)
- [Cifar](https://colab.research.google.com/drive/1D-1xARxSZxIn2gIeRi9XRsPMMHpEt9UH?usp=sharing)
## Course Policies ##
- Collaboration is encouraged! Feel free to discuss howemork and class material with other students. However, make sure you understand the concepts. Each student will complete and submit their own work. Do not directly or indirectly copy other students' work.
- If you are working together or helping another student, work on teaching them concepts and answering general questions, not directly telling them what code to write. You're all smart; you should understand the line between productive collaboration and giving someone answers.
- **For homeworks you may work with one other student in full collaboration** (i.e. sharing code, etc). Both students should still understand and contribute approximately equally to the solution and please note who you work with on your homework submission either as a comment in the code or in canvas.
- Each student has 8 penalty-free late days for the whole quarter. Beyond that, late submissions are penalized up to 10% per day late.