£300Registration Fee
Register Now- Overview
- Instructors
- Schedule
Course Description
This two-day workshop provides a comprehensive introduction to deep learning and its implementation in Python using PyTorch. Designed for participants new to deep learning, the course covers theoretical foundations, practical implementation, and modern architectures. Day 1 begins with the conceptual and mathematical basis of artificial neural networks, including biological inspiration, perceptrons, activation functions, and the universal approximation theorem. We cover training neural networks through backpropagation, gradient descent, and optimization algorithms, then implement multilayer perceptrons in PyTorch for MNIST digit classification. Day 2 focuses on modern architectures: convolutional neural networks for image data (covering convolution operations, pooling, and CNN architectures), and transformer models for language (covering tokenization, embeddings, self-attention, and the GPT architecture). Participants implement a minimal GPT from scratch and learn to use pre-trained models via Hugging Face Transformers for text classification and generation. Through hands-on coding with real datasets, participants gain both conceptual understanding and practical skills in building, training, and applying deep learning models to research problems.
What You’ll Learn
During the course we will cover the following:
- Understand the biological and mathematical foundations of artificial neural networks, from perceptrons to deep multilayer architectures.
- Explain how forward propagation computes predictions and backpropagation computes gradients through neural networks.
- Implement gradient descent optimization algorithms including SGD, momentum, and Adam for training networks.
- Use activation functions (sigmoid, tanh, ReLU, GELU) appropriately and understand their roles in enabling non-linear representations.
- Build multilayer perceptron (MLP) networks in PyTorch using nn.Module, defining layers and forward passes.
- Create training loops implementing the forward pass, loss computation, backward pass, and parameter updates.
- Apply regularization techniques including dropout, weight decay, and early stopping to prevent overfitting.
- Work with PyTorch tensors, autograd for automatic differentiation, and GPU acceleration for faster training.
- Understand convolutional neural networks: convolution operations, filters, feature maps, pooling, and parameter sharing.
- Implement CNNs in PyTorch using Conv2d, MaxPool2d, and BatchNorm2d layers for image classification tasks.
- Understand the transformer architecture including embeddings, self-attention mechanism (queries, keys, values), multi-head attention, positional encodings, and causal masking.
- Implement a minimal GPT-style language model from scratch in PyTorch for character-level text generation.
- Use tokenization methods including character-level, byte-pair encoding (BPE), and subword tokenization.
- Work with the Hugging Face Transformers library to use pre-trained models (AutoModel, AutoTokenizer) for text tasks.
- Fine-tune pre-trained transformer models on custom datasets using the Trainer API.
- Generate text using sampling strategies including temperature control, top-k sampling, and top-p (nucleus) sampling.
- Monitor training progress through loss curves and validation metrics, and diagnose common training problems.
- Choose appropriate neural network architectures for different data types: MLPs for tabular data, CNNs for images, transformers for text.
- Understand the current landscape of large language models and their capabilities and limitations.
Course Format
Interactive Learning Format
Each day features a well-balanced combination of lectures and hands-on practical exercises, with dedicated time for discussing participants’ own data, time permitting.
Global Accessibility
All live sessions are recorded and made available on the same day, ensuring accessibility for participants across different time zones.
Collaborative Discussions
Open discussion sessions provide an opportunity for participants to explore specific research questions and engage with instructors and peers.
Comprehensive Course Materials
All code, datasets, and presentation slides used during the course will be shared with participants by the instructor.
Personalized Data Engagement
Participants are encouraged to bring their own data for discussion and practical application during the course.
Post-Course Support
Participants will receive continued support via email for 30 days following the course, along with on-demand access to session recordings for the same period.
Who Should Attend / Intended Audiences
This course is designed for researchers, data scientists, and professionals who want to learn deep learning from the ground up and apply neural networks to real-world problems involving images, text, and other complex data. It covers the most important modern architectures, including multilayer perceptrons, convolutional neural networks, and transformers, providing both strong theoretical foundations and hands-on implementation skills. Participants are expected to be comfortable programming in Python, including writing functions, using loops, and working with libraries such as NumPy, with some familiarity with basic machine learning concepts being helpful but not required. No prior experience with PyTorch or neural networks is needed, as all deep learning concepts are taught from first principles. A basic understanding of linear algebra and calculus is helpful for grasping matrix operations and backpropagation, but these ideas are clearly explained, and only a general comfort with mathematical notation and basic statistics is assumed.
Equipment and Software requirements
A laptop or desktop computer with a functioning installation of Python is required. Python is a free, open-source software compatible with Windows, macOS, and Linux systems.
A working webcam is recommended to support interactive elements of the course. We encourage participants to keep their cameras on during live Zoom sessions to foster a more engaging and collaborative environment.
While not essential, using a large monitor—or ideally a dual-monitor setup—can significantly enhance your learning experience by allowing you to view course materials and work in R simultaneously.
All necessary Python packages will be introduced and installed during the workshop. A comprehensive list of required packages will also be shared with participants ahead of the course to allow for optional pre-installation.
Dr. Mark Andrews
Mark is a psychologist and statistician whose work lies at the intersection of cognitive science, Bayesian data analysis, and applied statistics. His research focuses on developing and testing Bayesian models of human cognition, with a particular emphasis on language processing and memory. He also works extensively on the theory and application of Bayesian statistical methods in the social and behavioural sciences, bridging methodological advances with real-world research challenges.
Since 2015, Mark has co-led a programme of intensive workshops on Bayesian data analysis for social scientists, funded by the UK’s Economic and Social Research Council (ESRC). These workshops have trained hundreds of researchers in the practical application of Bayesian methods, particularly through R and modern statistical packages.
Education & Career
• PhD in Psychology, Cornell University, New York (Cognitive Science, Bayesian Models of Cognition)
• MA in Psychology, Cornell University, New York
• BA (Hons) in Psychology, National University of Ireland
• Senior Lecturer in Psychology, Nottingham Trent University, England
Research Focus
Mark’s work centres on:
• Bayesian models of human cognition, especially in language processing and memory
• General Bayesian data analysis methods for the social and behavioural sciences
• Comparative studies of Bayesian vs. classical approaches to inference and model comparison
• Promoting reproducibility and transparent statistical practice in psychological research
Current Projects
• Developing Bayesian cognitive models of memory and linguistic comprehension
• Exploring Bayesian approaches to regression, multilevel, and mixed-effects models in psychology and social science research
• Co-leading ESRC-funded workshops on Bayesian data analysis for applied researchers
Professional Consultancy & Teaching
Mark provides expert training and advice in Bayesian data analysis for academic and applied research projects. His teaching portfolio includes courses and workshops on:
• Bayesian linear and generalized linear models
• Multilevel and mixed-effects models
• Cognitive modelling with Bayesian methods
• Applied statistics in R for psychologists and social scientists
He is also an advocate of open science and is experienced in communicating complex statistical methods to diverse audiences.
Teaching & Skills
• Instructor in Bayesian statistics, time series modelling, and machine learning
• Strong advocate for reproducibility, open-source tools, and accessible education
• Skilled in R, Stan, JAGS, and statistical computing for large datasets
• Experienced mentor and workshop leader at all academic levels
Links
• University Profile
• Personal Page
• ResearchGate
Session 1 – 02:00:00 – Introduction to Artificial Neural Networks
This session establishes the conceptual and historical foundations of neural networks. We begin with biological neurons and how they inspired artificial neurons, tracing the history from early perceptrons through AI winters to the modern deep learning revolution. The perceptron model is introduced: weighted sums of inputs, bias terms, and activation functions that introduce non-linearity. We explore why single-layer perceptrons are limited and how multilayer networks overcome these limitations through hidden layers. Various activation functions are covered (sigmoid, tanh, ReLU, GELU) with their mathematical properties and practical trade-offs. Network architecture is explained: input layers receiving features, hidden layers extracting representations, and output layers making predictions. The universal approximation theorem is discussed, showing that neural networks can approximate any continuous function given sufficient capacity. The session concludes with the modern deep learning revolution enabled by GPUs, large datasets, and algorithmic improvements.
Break – 01:00:00
Session 2 – 02:00:00 – Training Neural Networks
This session explains how neural networks learn from data through backpropagation and gradient descent. We begin with loss functions that quantify prediction errors: mean squared error for regression, cross-entropy for classification. Backpropagation is explained as the method for computing gradients of the loss with respect to every parameter in the network, using the chain rule to propagate errors backward through layers. Gradient descent and its variants are covered: stochastic gradient descent (SGD), momentum methods that accelerate convergence, and adaptive methods like Adam that adjust learning rates per parameter. The mechanics of batch training are explained: mini-batches, epochs, and iterations. Overfitting in neural networks and regularization techniques are covered in detail: dropout (randomly disabling neurons during training), weight decay (L2 regularization penalizing large weights), and early stopping (halting training when validation performance plateaus). Train/validation/test splitting strategies for deep learning are discussed. The session introduces PyTorch’s fundamental concepts: tensors (multidimensional arrays), autograd (automatic differentiation for computing gradients), and computational graphs that track operations for backpropagation.
Break – 01:00:00
Session 3 – 01:00:00 – Multilayer Perceptrons with PyTorch
This session provides hands-on implementation of multilayer perceptrons using PyTorch. We begin with PyTorch fundamentals: creating and manipulating tensors, understanding devices (CPU vs GPU), and data types for numerical computation. Building networks with nn.Module is covered in detail: defining the network class, specifying layers in init, implementing the forward pass that computes predictions. Network architecture decisions are discussed: number of hidden layers, layer widths, activation functions between layers. The complete training loop is implemented step-by-step: moving data to device, forward pass through the network, computing loss, backward pass to compute gradients, and optimizer step to update parameters. We apply these concepts to MNIST digit classification, building a complete MLP (784 input units → hidden layers → 10 output units) and training it to recognize handwritten digits. Monitoring training progress through loss curves and validation accuracy is demonstrated. The skorch library is introduced as a scikit-learn wrapper for PyTorch, providing familiar fit/predict interfaces. Practical tips are covered: debugging network architecture errors, common mistakes (forgetting to zero gradients, incorrect tensor shapes), and using GPU acceleration to speed up training. By the end of this session, participants have trained a working neural network and understand the full pipeline from data to trained model.
Session 7 – 02:00:00 – Numerical Computing with NumPy
This session introduces NumPy, the foundation of Python’s scientific computing stack. We begin by demonstrating why NumPy matters: performance comparisons show NumPy arrays are often 100-200x faster than Python lists for numerical operations. Participants learn to create arrays from lists, use different data types (int32, float64, etc.), and understand the advantages of homogeneous, contiguous memory layout. Array operations are covered comprehensively: element-wise operations, broadcasting rules, aggregations (sum, mean, max, min), and statistical functions. Indexing and slicing techniques include boolean indexing for filtering, fancy indexing with arrays, and reshaping operations. The session concludes with linear algebra operations including dot products and matrix multiplication. All concepts are demonstrated with scientific computing examples relevant to data analysis.
Break – 01:00:00
Session 8 – 02:00:00 – Data Processing with Pandas
This session introduces Pandas, Python’s primary library for tabular data manipulation. We begin with DataFrames and Series as the fundamental data structures, creating them from CSV files, dictionaries, and NumPy arrays. The session covers essential data manipulation operations: selecting columns and rows using various methods, filtering data with boolean indexing, using loc and iloc for explicit indexing. Data manipulation techniques include adding computed columns, sorting, and handling missing data. The powerful groupby operation is covered in detail, demonstrating the split-apply-combine paradigm for aggregations and transformations. Participants learn to compute summary statistics, perform group-wise operations, and reshape data for analysis. Practical exercises use real research datasets to develop data wrangling workflows typical of scientific data analysis.
Break – 01:00:00
Session 9 – 02:00:00 – Visualization and Statistical Analysis
This session covers data visualization and introduces statistical modeling in Python. We begin with Matplotlib for creating customizable plots with low-level control over figure elements. Seaborn is introduced for high-level statistical visualizations including distributions (histograms, KDE plots), relationships (scatter plots, regression plots), and categorical data (box plots, violin plots). The plotnine library demonstrates the grammar of graphics approach familiar to R users, allowing declarative plot construction. The session then introduces statsmodels for statistical analysis, covering basic linear regression, model fitting, and interpreting results including coefficients, p-values, and R-squared. We also cover modules and packages: importing modules, creating custom modules, and navigating Python’s package ecosystem. The session concludes with an overview of additional data science packages (scikit-learn for machine learning, scipy for scientific computing) and resources for continued learning. Participants learn to create publication-quality visualizations and perform basic statistical analyses typical of empirical research.
Frequently asked questions
Everything you need to know about the product and billing.
When will I receive instructions on how to join?
You’ll receive an email on the Friday before the course begins, with full instructions on how to join via Zoom. Please ensure you have Zoom installed in advance.
Do I need administrator rights on my computer?
I’m attending the course live — will I also get access to the session recordings?
I can’t attend every live session — can I join some sessions live and catch up on others later?
I’m in a different time zone and plan to follow the course via recordings. When will these be available?
I can’t attend live — how can I ask questions?
Will I receive a certificate?
When will I receive instructions on how to join?
You’ll receive an email on the Friday before the course begins, with full instructions on how to join via Zoom. Please ensure you have Zoom installed in advance.
Do I need administrator rights on my computer?
I’m attending the course live — will I also get access to the session recordings?
I can’t attend every live session — can I join some sessions live and catch up on others later?
I’m in a different time zone and plan to follow the course via recordings. When will these be available?
I can’t attend live — how can I ask questions?
Will I receive a certificate?
Still have questions?
Can’t find the answer you’re looking for? Please chat to our friendly team.





5.0
