Neural Networks with Python
From Fundamentals to Modern Deep Learning
Build the neural-network foundations behind vision, sequence modelling, transformers, and modern AI.
Neural networks have become a core engineering technology behind image recognition, forecasting, language processing, recommendation systems, speech applications, and generative AI. Although modern frameworks make it possible to assemble sophisticated models quickly, effective practitioners still need to understand what happens beneath the framework: how information moves through a network, how errors are measured, how gradients update parameters, and why one architecture is better suited to a particular type of data than another.
This three-day course develops that understanding using Python and PyTorch. It begins with the mechanics of feed-forward neural networks and progresses into convolutional neural networks for image data, recurrent neural networks for sequential information, and transformer-based architectures used in modern large language models. The emphasis remains practical throughout: building models, preparing data, training networks, evaluating results, and understanding the architectural decisions that affect performance.
The course also introduces the modern pretrained-model workflow. Current PyTorch 2.x development continues to improve neural-network execution, attention mechanisms, hardware acceleration, and large-model training capabilities, while Hugging Face Transformers provides a widely used ecosystem for pretrained text, vision, audio, and multimodal models. Parameter-efficient techniques such as LoRA are also increasingly important because they allow large pretrained models to be adapted without retraining every model parameter.
The instructor has over 30 years of industry experience and will deliver the programme using real industry-demanded concepts, workflows, terminology, and development practices rather than presenting neural networks as a purely academic subject.
Learning Outcomes
By the end of this course, participants should be able to:
- Explain the structure and behaviour of feed-forward neural networks.
- Understand forward propagation, loss functions, backpropagation, and gradient descent.
- Build and train neural networks using Python and PyTorch.
- Select suitable activation functions, loss functions, and optimizers.
- Prepare datasets for neural-network training.
- Identify overfitting, underfitting, and common training problems.
- Build convolutional neural networks for image-related problems.
- Understand convolution, pooling, filters, feature maps, and transfer learning.
- Explain recurrent neural networks and their use with sequential data.
- Understand LSTM and GRU architectures.
- Explain attention and transformer architecture.
- Understand the fundamental architecture and operation of large language models.
- Work with pretrained transformer models.
- Understand embeddings, tokenization, fine-tuning, LoRA, and basic RAG concepts.
- Select appropriate neural-network architectures for common problem types.
Prerequisites
Participants must already be comfortable with:
- Intermediate Python programming
- Functions, classes, modules, packages, and debugging
- NumPy arrays and matrix operations
- Basic algebra, vectors, matrices, derivatives, and chain rule
- Basic probability and statistics
- Classification, regression, training/testing, and evaluation metrics
- Jupyter Notebook or an equivalent Python environment
- Installing packages and basic command-line operations
This course is not suitable for participants who are new to Python, mathematics, or machine learning.
Training Outline
- Neural Networks and Deep Learning Foundations
- Neural networks within machine learning
- Neurons, weights, biases, and layers
- Inputs and outputs
- Parameters and hyperparameters
- Feed-forward neural networks
- Classification and regression networks
- Training versus inference
- Mathematical Foundations for Neural Networks
- Vectors, matrices, and tensors
- Matrix multiplication
- Weighted sums
- Linear transformations
- Derivatives and partial derivatives
- Chain rule
- Gradients
- Forward Propagation and Activation Functions
- Forward propagation
- Hidden layers
- Output layers
- Sigmoid
- Tanh
- ReLU
- Leaky ReLU
- Softmax
- Loss Functions and Backpropagation
- Mean squared error
- Binary cross-entropy
- Multiclass cross-entropy
- Computational graphs
- Gradient calculation
- Backpropagation
- Parameter updates
- Gradient-Based Optimization
- Gradient descent
- Stochastic gradient descent
- Mini-batch training
- Momentum
- Adam
- Learning rates
- Learning-rate scheduling
- PyTorch Fundamentals
- Tensor creation and manipulation
- Tensor shapes and data types
- Tensor operations
- CPU and GPU devices
- Automatic differentiation
- Gradient tracking
- Neural-network modules
- Building Neural Networks with PyTorch
- nn.Module
- Linear layers
- Activation layers
- Model composition
- Forward methods
- Loss functions
- Optimizers
- Model parameters
- Data Preparation and Model Training
- Feature and target preparation
- Feature scaling
- Training, validation, and test datasets
- PyTorch Dataset
- DataLoader
- Batch processing
- Training loops
- Validation loops
- Improving Neural-Network Performance
- Underfitting
- Overfitting
- Training and validation curves
- Weight initialization
- Dropout
- Weight decay
- Early stopping
- Model capacity
- Convolutional Neural Networks
- CNN architecture
- Image tensors
- Convolution operations
- Kernels and filters
- Feature maps
- Stride and padding
- Pooling
- Receptive fields
- Building CNNs with PyTorch
- Convolutional layers
- Pooling layers
- Activation layers
- Flattening
- Fully connected layers
- CNN model construction
- Image classification
- CNN training workflow
- CNN Training and Transfer Learning
- Batch normalization
- Data augmentation concepts
- Pretrained CNN models
- Feature extraction
- Frozen layers
- Fine-tuning
- Transfer learning
- Recurrent Neural Networks
- Sequential data
- Temporal dependencies
- RNN architecture
- Hidden states
- Sequence inputs and outputs
- Backpropagation through time
- Vanishing gradients
- Exploding gradients
- LSTM and GRU Networks
- LSTM architecture
- Cell states
- Input, forget, and output gates
- GRU architecture
- Reset and update gates
- LSTM versus GRU
- Bidirectional networks
- Sequence Modelling with PyTorch
- RNN layers
- LSTM layers
- GRU layers
- Sequence dimensions
- Hidden-state handling
- Sequence classification
- Time-series considerations
- Attention Mechanisms
- Limitations of recurrent processing
- Attention concepts
- Queries, keys, and values
- Attention scores
- Self-attention
- Multi-head attention
- Transformer Architecture
- Token embeddings
- Positional information
- Self-attention layers
- Feed-forward layers
- Residual connections
- Layer normalization
- Encoder architecture
- Decoder architecture
- Large Language Model Fundamentals
- Language modelling
- Tokens and tokenization
- Vocabulary
- Embeddings
- Context windows
- Next-token prediction
- Pretraining
- Inference
- Working with Pretrained Transformers
- Hugging Face Transformers
- Model repositories
- Tokenizers
- Model loading
- Pipelines
- Text generation
- Generation parameters
- Fine-Tuning and LLM Adaptation
- Transfer learning
- Fine-tuning
- Instruction tuning concepts
- Parameter-efficient fine-tuning
- LoRA
- Quantization concepts
- Compute and memory considerations
- Embeddings and Retrieval-Augmented Generation
- Text embeddings
- Vector representations
- Semantic similarity
- Vector retrieval
- Retrieval-augmented generation
- Context augmentation
- Model Evaluation and Diagnostics
- Classification metrics
- Regression metrics
- Confusion matrices
- Training instability
- Data leakage
- Class imbalance
- Generalization
- Practical Neural-Network Operations
- Model saving and loading
- Training and evaluation modes
- Reproducibility
- GPU considerations
- Batch-size considerations
- Memory management
- Inference workflows
- Neural-Network Architecture Selection
- Feed-forward networks
- CNNs
- RNNs
- LSTMs and GRUs
- Transformers
- Large language models
- Transfer learning
- Problem-to-architecture mapping
Disclaimer
This course outline is provided as a structured guideline for the intended training programme. The trainer reserves the professional discretion to amend, reorder, expand, reduce, substitute, or omit individual topics where reasonably necessary to accommodate participant competency, available instructional time, technical limitations, changes in relevant technologies, or other instructional considerations. Such modifications may be made without prior notice where deemed appropriate to preserve the relevance and effectiveness of the training.
Practical, connected learning
My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.