Instructor: Rich Krotoff
Course Focus: Applied Deep Learning in PyTorch
Goals of the Course:
Provide tools to tackle deep learning problems in specific areas.
Teach implementation using PyTorch, which is a dominant framework in deep learning.
Classical Use Case: Image classification, exemplified by the ImageNet dataset (1.4 million images, 1000 classes).
Human-level performance is around 95%, highlighting the complexity of distinguishing similar classes (e.g., dog breeds).
Prior to 2013, classification relied on feature-based approaches:
Manual feature extraction and engineering to train classifiers.
Challenges: Complexity and inadequacy of handpicked features.
2013 was pivotal with the introduction of end-to-end models, notably AlexNet, which trained directly on image data without predefined features.
This represented a paradigm shift in deep learning efficiency and effectiveness.
Continued performance improvements in various domains (e.g., speech recognition, natural language processing).
Versatile architectures such as the transformer are now applicable across multiple fields:
Not restricted to one domain and exhibit universal concepts.
Development of BERT models post-image classification advancements.
Pretraining large models on datasets led to improved downstream task performance, surpassing prior state-of-the-art models.
Emergence of large language models that perform tasks without specific training, focusing on ease of use and efficiency.
Prevalent in competitive machine learning and research, with a significant portion of code repositories using it.
Classifies as a research-friendly alternative compared to TensorFlow:
TensorFlow has its merit in deployment, but PyTorch leads in academia and innovation.
Statistics from competition solutions show a predominant use of PyTorch, reinforcing its popularity and effectiveness in practical applications.
PyTorch's ecosystem is rapidly developing, facilitating niche tasks and domains not found in competitors like JAX.
Core advantages of PyTorch:
Simple, natural interface that mirrors Pythonic principles.
Offers dynamic computational graphs that enhance usability compared to static models.
Active community and ecosystem, with third-party libraries supporting various machine learning tasks (e.g., Torchvision, Hugging Face transformers).
Trends and usage within the community demonstrate ongoing support and opportunities for individual contributions at many levels.
Three-part course structure:
Part 1: Basics of PyTorch and tensor structures.
Part 2: Principal model architectures and their inner workings.
Part 3: Application of components in real-world scenarios.
Emphasis on establishing an understanding of tensors, autograd for differentiation, and essential neural network architecture components.
Covers geometrically-inspired neural networks and frameworks while presenting recent models tailored for different data types.
Understanding synergy between architectures like CNNs and recent advancements into graph neural networks.
Introduces the perspectives on why different architectures fit into the overarching geometric deep learning framework.
Explains the significance of large language models (LLMs) in programming tasks and their integration into model deployment.
Promotes transparency in using LLMs for assignments while emphasizing the importance of grounding learning in personal skills and understanding.
Highlights the limitations of exams in relation to LLM usage.
Rich Krotoff's background in physics and machine learning applications, especially focused on healthcare.
Importance of understanding the challenges in data efficiency and model reliability, especially in critical sectors like healthcare.
Tutors assisting through the course have specific technology and field expertise to support students.
Encourages students to explore practical learning avenues via coding in local environments, Jupyter notebooks, and cloud computing options.
Reiterates networking within community platforms for problem-solving and support to enhance the learning experience.