Training in AI is the iterative process that adjusts a neural network’s learnable weights so its outputs better match labeled examples. Unlike chatting with a finished model or writing prompts, training computes a loss on real labels and updates parameters with gradients. After this page you can walk one training step yourself: forward pass, loss, backpropagation, then a parameter update, using the same loop taught in Stanford CS231n notes and the official PyTorch optimization tutorial.
Here is the win: one concrete mental model of the training loop, grounded in primary sources, not a product pitch. The loop is data, then forward, then loss, then backprop, then update params, then evaluate. Frameworks hide the calculus, but the steps stay the same whether you follow CS231n’s handwritten gradient descent or call loss.backward() and optimizer.step() in PyTorch.
What training in AI actually means
Training is optimization. Stanford’s CS231n optimization notes define it as finding parameters W that minimize a loss measuring how well class scores agree with ground truth labels. The score function maps inputs to predictions; the loss scores those predictions; optimization improves W over time.
A neural network is a stack of linear maps and nonlinear activations. CS231n’s common example writes scores as s = W2 max(0, W1 x), where max(0, ·) is a ReLU. The weights are learned with stochastic gradient descent; gradients come from the chain rule via backpropagation. You should now see training as “fit the weights to labeled data,” not “install an AI app.”
How one training step actually runs
Walk one unit of work the way CS231n Lecture 7 and the PyTorch basics tutorial describe it.
- Sample a mini batch of labeled examples (common sizes are powers of two such as 32, 64, or 128; CS231n’s ILSVRC scale discussion also cites batches of 256).
- Forward pass: push the batch through the layers (matrix multiply, bias, activation) to get scores or logits.
- Compute the loss that compares those scores to the labels (for classification, Softmax cross entropy is standard in CS231n; PyTorch’s
nn.CrossEntropyLosscombines log softmax and negative log likelihood). - Backpropagate: apply the chain rule backward through the computational graph so every weight gets a gradient. CS231n’s backpropagation notes call this recursive chain rule on a graph; each gate multiplies the upstream gradient by its local gradient.
- Update parameters: move weights opposite the gradient,
weights = weights - step_size * weights_grad(vanilla gradient descent in CS231n). In PyTorch the same idea isoptimizer.zero_grad(), forward, loss,loss.backward(),optimizer.step(). - Evaluate on held out data (validation or test) without updating weights, so you can tell learning from memorization.
PyTorch’s official optimization tutorial sets an example learning rate of 1e-3, batch size 64, and a few epochs on FashionMNIST. Those numbers are tutorial defaults, not universal benchmarks. Take this with you: if you can name which of the six steps you are in, you already understand training in AI better than a buzzword glossary.
The constraint you cannot skip
Training needs three things you cannot wish away.
Labeled data (or another feedback signal the loss can read). A differentiable model so gradients exist. A learning rate (step size) small enough to descend and large enough to make progress. CS231n stresses that learning rate is one of the most important hyperparameters: too large and loss can jump up; too small and progress crawls.
Preprocessing matters. CS231n recommends zero centering features using statistics computed on the training split only, then applying that mean to validation and test. Pretending the full dataset’s mean is fair leaks future information.
Also, gradients in PyTorch accumulate by default. If you forget optimizer.zero_grad(), you double count. Design for the constraint first: labels, differentiability, honest train versus test splits, and a tuned step size.
What training in AI is not
| Approach | What it does | Hosting or form | When to pick it |
|---|---|---|---|
| Training a neural net | Fits weights with loss + gradients | Your code, GPU or CPU, datasets you control | You need a model that learns from labeled examples |
| Using a finished chat model | Generates text from a pretrained system | Vendor API or local weights you do not update | Drafting, Q&A, copilots without fitting new weights |
| Prompt only workflows | Steer a fixed model with instructions | Same APIs, no parameter update | Fast experiments when labels and training compute are unavailable |
| Hand written rules | Exact if or else logic | Your codebase | Policies that are already complete and crisp |
A chatbot tries to answer in words. Training tries to move numbers inside a model. Prompting can be powerful, but it is not the training loop. Use the table as a pick rule, not a ranking.
Jobs the training loop is for
- Image classification: map pixels to class scores, the running example across CS231n (including CIFAR-10 vectors of length 3072).
- Tabular or sensor prediction: same loop with different input shapes and often MSE style losses for real valued targets (PyTorch
nn.MSELoss). - Fine tuning a pretrained net: start from existing weights, run the same forward, then loss, then backprop, then update loop on your labels (transfer learning is a CS231n training lecture topic).
- Learning rate and architecture experiments: change depth, width, ReLU versus other activations, and measure validation loss.
- Regularized production training: add L2 weight decay and dropout (CS231n cites inverted dropout and a keep probability of 0.5 as a reasonable default) so larger nets do not merely memorize.
- Developer education: implement one loop in PyTorch or from CS231n notes so later tooling (AutoML, trainers, MLOps) is not a black box.
For a wider map of developer AI tools, see AI tools for developers. For beginner learning paths, see best AI courses for beginners and the AI marketing course for beginners. The cluster hub is AI tools.
If you want structured practice that connects this loop to production skills, compare tracks on program comparison or go deeper on AI Engineering for Devs and the coding bootcamp.
How to choose activations, init, and loss
CS231n’s practical TLDR: use ReLU, watch the learning rate, and avoid sigmoid in hidden layers. ReLU is f(x) = max(0, x). Notes cite roughly 6 times faster SGD convergence versus tanh in Krizhevsky et al., and warn that an aggressive learning rate can leave large fractions of units dead (they mention seeing as much as 40% dead).
For ReLU nets, CS231n recommends He-style initialization: sample Gaussian noise scaled by sqrt(2/n) where n is fan in. Biases are commonly started at zero.
Loss follows the job. Softmax cross entropy for exclusive classes. Independent logistic style losses when many labels can be true at once. Prefer discretizing regression into classification bins when you can, because L2 regression is described as harder to optimize and less robust to outliers in those notes.
Batch Normalization (Ioffe and Szegedy, covered in CS231n) is common because it makes deep nets less sensitive to bad initialization.
You should leave this section with a default starter kit: ReLU, He init, cross entropy for classification, L2 + dropout, BatchNorm when depth grows.
Who should start now
Start here if:
- You can state the six step loop without looking it up.
- You have (or can create) labeled examples and a way to measure validation loss.
- You want to read CS231n notes or the PyTorch optimization tutorial as primary sources, not only social media summaries.
Skip or wait if:
- You only need to call a hosted chat API and will not update weights.
- You cannot access any labeled data or compute for even a toy batch.
- You need guaranteed production metrics today; this page teaches the loop, not a scored leaderboard.
If the first list matches, open the PyTorch optimization tutorial or CS231n’s neural network notes and run one mini batch end to end. Then explore more in the AI tools hub, AI tools for developers, and best AI courses for beginners. Want a path into building and shipping model powered systems? See program comparison, AI Engineering for Devs, and the coding bootcamp.
