MPATE-GE 2039: Deep Learning for Media
Course Description
Deep learning, a sub-field of machine learning and artificial intelligence, has promoted breakthroughs in managing and creating media content, and continues to shape the future of the multimedia landscape. This course provides a hands-on, project-oriented introduction to deep learning, for the classification, retrieval, and creation of media content, with emphasis in audio-visual content. Students will create and work with existing deep learning models using Python libraries, and think critically about the application of these models for media. This course will provide students with an understanding of how these tools work, and how to use them in the context of their work, so they can participate in the ongoing revolution between machine learning and media content.
Course Objectives
The goal of this course is to provide students with:
- Basic knowledge of deep learning, including definitions, pipeline development, and evaluation.
- Practical skills for working with open source deep learning resources in Python.
- Awareness of the current state-of-the art practices in the retrieval, classification and creation of audio-visual content.
- The ability to critically analyze the behavior of deep learning systems in the context of media.
Student Learning Outcomes
By the end of the course, students will be able to:
- Explain and describe basic concepts of deep learning, including definitions, pipeline development, and evaluation.
- Code deep learning pipelines using open source Python libraries.
- Assess deep learning systems in new audio-visual data.
- Explain current trends in deep learning for the classification and generation of audio and image.
Required Skills
Basic knowledge of Python is required. Basic knowledge of linear algebra is recommended.
Required Course Materials
A computer with Internet access.
Course Requirements
Class participation
This course will be highly participatory and interactive. We will have conversational lectures, live-coding demonstrations and group readings. It is expected and essential that students participate actively in class. For the class readings, we are going to follow the role-playing paper reading format of Jacobson and Raffel. In this format, students read the same paper, but each student takes one specific role for that week. We will work with three different roles, to be determined at the beginning of the course. Each student will participate by choosing one role in the semester. Papers will be assigned to students during the first week of classes. See a short guide on how to read a paper.
Homework assignments
There will be 3 homework assignments. Each assignment will consist of Python code snippets and written components to be completed by you. These assignments are individual. You will have two weeks to complete each assignment. For the homework assignments, your lowest score will be dropped. If you can’t finish one assignment for any reason, you should make the time to cover the material, but no need to panic about late assignments.
Final Project
The final project can be done in groups of 2-3, and will have a code and presentation component. Projects will be presented during the last class. A project can cover the assessment of an existing deep learning system in new data, or a new system proposed by the students. The project will have four assignments through the semester as follows:
Topic, group definition and data report. Each group will propose a project’s topic and composition and will submit a short report (max. 2 pages) describing the scope of the work and data resources they will use. The project’s final scope and composition will be determined jointly with the instructor. Examples of feasible projects will be provided by the instructor in advance to guide the students in the definition of their project.
Documented code, and data. Students will submit their working (and well documented!) code along with the data they investigated. The code should run out-of-the-box, and should have instructions on how to run it if needed.
Final Presentation. All students from each group should participate in a final presentation. Presentations should last between 5-10 minutes, and will be followed by a short Q&A from the class.
Your grade for the class will be determined by the following break-down:
- 40% assignments (individual)
- 30% final project (groups)
- 30% class participation (individual)
Classes will be in person weekly unless indicated by the instructor, and materials will be available on NYU Brightspace.
Recommended Readings
Main textbook:
- Chollet, F. (2021). Deep learning with python. Second Edition. Manning Publications. (DLwP)
Other recommended readings:
- Ian Goodfellow, Yoshua Bengio, Aaron Courville. Deep Learning. 2016. MIT Press.
- Abu-Mostafa, Yaser S. Learning from data: a short course. 2012. AMLBook.
- David Foster. Generative Machine Learning. 2019. O’Reilly Media, Inc
- Tuomas Virtanen, Mark D. Plumbley, Dan Ellis. Computational Analysis of Sound Scenes and Events, Chapter 4 (Brian McFee).
Class Environment
Please do your part by seeking to promote the success of others, and by treating each other in ways that respect and celebrate the diversity of talent.
- Preparation: Students come to this class from a wide range of backgrounds. If you feel that there are gaps in your knowledge, please speak to me and I will help you find additional materials as needed.
- Classroom environment: The classroom is an open forum for discussion. Please do not be afraid to ask any question, no matter how basic it may seem.
- Accessibility: If you have any accessibility requirements, please present a letter from the Moses Center so that I can ensure that materials comply with your needs.
- Mental Health & Wellness: The NYU Wellness Exchange (212-443-9999) offers a range of services. I am available to speak with you about stresses related to your work in my course.
- Preferred name and pronouns: You are always welcome to write your preferred name on all class assignments. If you have a name and/or pronoun that doesn’t match the class roster, please let me know.
- Class expenses: If obtaining any material for use in our class presents a financial hardship, please let me know and I will do my best to arrange for loaner materials.
- Feedback: I will solicit (anonymous) feedback throughout the course. Please let me know if any aspect of our course or class community can be improved.
- Academic Integrity and Honesty: All students are expected to do their own work on homework. Please also refer to the general NYU academic integrity statement.
- Diversity: NYU values an inclusive and equitable environment for all students. If this standard is not being upheld, please feel free to speak with me.
Resources at NYU
Access your course materials: NYU Brightspace
Databases, journal articles, and more: Bobst Library
Assistance with strengthening your writing: NYU Writing Center
Obtain 24/7 technology assistance: IT Service Desk
Weekly Schedule
- This open source tutorial on Python and Numpy
- This GitHub starter course (we will do this in class as well)
- Course structure and schedule
- Why deep learning? Why now?
- Frame a machine learning problem, collect a dataset, understand your data, choose a measure of success
- Recommended reading: DLwP Chapter 1, Chapter 6
- Practice: GitHub basics, submitting homework
- Data representations: scalars, vectors, matrices, tensors, sequential data
- Data operations
- Practice: train a first neural network for handwritten digit classification; adapt the network for audio instrument classification
- Recommended reading: DLwP Chapter 2.1-2.3
- Gradient-based optimization: derivative, derivative of tensors, stochastic gradient descent, backpropagation
- Practice: gradient descent
- Recommended reading: DLwP Chapter 2.4
- Keras and Tensorflow, layers and models, loss function, metrics, inference
- Recommended reading: DLwP Chapter 3
- ASSIGN: paper readings for the semester
- Underfitting and overfitting, improving model fit, model biases and ethical implications, interpretability
- Practical example: a biased classifier, an ethically questionable classifier, a classifier that doesn’t generalize
- Recommended reading: DLwP Chapters 4, 5
- ASSIGN: homework 1 · Role-playing paper reading 1
- An introduction to Computer Vision, convolutional networks, max-pooling
- Practical example: image classification, training from scratch
- Recommended reading: DLwP Chapter 8
- Image data augmentation, feature extraction with a pre-trained model
- Recommended reading: DLwP Chapter 8
- DUE: homework 1 · ASSIGN: homework 2 · Role-playing paper reading 2
- An introduction to Machine Listening, audio manipulation, spectrograms, audio data augmentation
- Recommended reading: Computational Analysis of Sound Scenes and Events, Chapter 4
- DUE: homework 2 · ASSIGN: homework 3
- Temporal convolutional networks for audio
- Training from scratch and feature extraction with a pre-trained model
- Role-playing paper reading 3
- Overview and applications, embedding space, contrastive loss
- Practical example: audio-visual cross modal retrieval
- DUE: homework 3 · ASSIGN: project 1 · Role-playing paper reading 4
- Overview of style transfer in image and audio; style loss and content loss
- Recommended reading: DLwP Chapter 12.3
- DUE: project 1 · ASSIGN: project 2 · Role-playing paper reading 5
- GANs for image generation, challenges and tricks, diffusion techniques overview
- Recommended reading: DLwP Chapter 12.5
- Role-playing paper reading 6
- Variational Autoencoders for audio generation, sampling from audio latent spaces
- Recommended reading: DLwP Chapter 12.4
- DUE: project 2 · ASSIGN: project 3 · Role-playing paper reading 7
- DUE: project 3