Welcome to SYSEN 5888/6888: Deep Learning at Cornell University! This repository contains a series of tutorials designed to guide you from foundational concepts of deep learning all the way to advanced techniques. Whether you are just getting started or looking to level up your understanding, these materials will help you build a strong skill set in deep learning, covering environment setup, data handling, state-of-the-art architectures, and more.
This course covers:
- Environment Setup & Python Basics: Begin with a solid foundation in Python and Jupyter.
- Data Handling & Visualization: Preprocess and explore data using NumPy, Pandas, and visualization libraries.
- Deep Learning Frameworks: Implement and train neural networks using TensorFlow and Keras.
- Vision & NLP: Gain expertise in CNNs for images and delve into text processing using embeddings, RNNs, and CNNs for language tasks.
- Advanced Architectures: Understand Transformers for sequence tasks, and explore cutting-edge generative models like VAEs and GANs.
- Reinforcement Learning & GNNs: Apply deep RL algorithms and learn Graph Neural Networks for complex data structures.
- LLMs & RAG: Explore Large Language Models and integrate external data sources with Retrieval Augmented Generation techniques.
Below is the updated tutorial structure, including merged and newly added tutorials. Each tutorial includes comprehensive Jupyter notebooks and, in some cases, supplementary slides. Feel free to start from the beginning or jump directly to areas of interest.
# | Tutorial & Link | Description | Topics Covered |
---|---|---|---|
01 | Environment Setup, Jupyter, and Python Basics | Learn: How to configure your environment, navigate Jupyter Notebooks, and review Python fundamentals. | Jupyter, Python Basics, Env Setup |
02 | NumPy, Pandas, and Visualizations | Learn: Core array, data manipulation, and visualization techniques for effective data analysis. | NumPy, Pandas, Data Visualization |
03 | PyTorch and TensorFlow Introduction | Learn: Build a simple neural network using TensorFlow & Keras. | Keras Basics, TensorFlow Setup |
04 | Basics of Vision CNN | Learn: Fundamental principles of CNNs for image classification tasks. | CNN, Computer Vision, MNIST Classification |
05 | CNN in Practice | Learn: Explore deeper CNN architectures, optimization techniques, and best practices. | Advanced CNNs, Optimization Techniques |
06 | Transfer Learning | Learn: Fine-tune pre-trained models for new tasks and leverage TensorFlow Hub. | Transfer Learning, Fine-tuning, TensorFlow Hub |
07 | Object Detection and Segmentation | Learn: Techniques for identifying objects and segmenting images. | YOLOv3, Image Segmentation |
08 | Text & Sequences: Embeddings, RNN, and CNN | Learn: Handle textual data, use embeddings (Word2Vec), and apply RNNs/CNNs for NLP tasks. | NLP Fundamentals, Embeddings, RNN, CNN for Text |
09 | Transformers Implementation | Learn: Implement the Transformer model and leverage attention mechanisms for sequence-to-sequence tasks. | Transformers, Attention, Machine Translation |
10 | Generative Modeling: VAE | Learn: Variational Autoencoders (VAEs) for generative modeling. | VAE, Latent Representations, Generative Models |
11 | Generative Modeling: GAN | Learn: GAN fundamentals, including conditional and cycle-consistent GANs for advanced image generation. | GAN, Conditional GAN, CycleGAN |
12 | Deep Reinforcement Learning | Learn: Apply deep RL algorithms for control problems and decision-making tasks. | Reinforcement Learning, Actor-Critic, DDPG |
13 | GNN and Best Practices | Learn: Work with Graph Neural Networks and optimize training workflows (Keras API, Callbacks, etc.) | GNN, Functional API, Callbacks, Distributed Training |
14 | Large Language Models (LLM) | Learn: Explore LLM fundamentals, fine-tuning, and prompt engineering techniques for text-based tasks. | LLM Basics, Fine-tuning, Prompt Engineering, NLP |
15 | Retrieval Augmented Generation (RAG) | Learn: Integrate external knowledge sources into LLM workflows for improved context and results. | RAG, Knowledge Retrieval, Contextual Augmentation, Vector Databases |
- Check out the official TensorFlow documentation and PyTorch documentation for more details.
- Explore Hugging Face for NLP and model repositories.
A huge thank you to the course instructors, teaching assistants, and contributors who have made these tutorials possible. Your dedication, feedback, and improvements help create a rich learning experience for everyone interested in deep learning.
If you find any issues or have suggestions, feel free to raise an issue or submit a pull request. Don’t forget to ⭐ star this repository to keep track of updates and make it easier to find later!
Happy learning and exploring! 🎉