Courses
AI & Data ScienceFree

Deep Learning with Neural Networks

Forty lessons from the perceptron to shipped transformers — backprop by hand, attention arithmetic, LLM training pipelines, PyTorch debugging, and a capstone you can defend line by line

10 modules40 lessons15 hrAdvanced
Advanced
40 lessons in 10 modules
14h 51m of material
40 challenges
English audio
English captions
Certificate on completion

What you'll get

  • Verifiable certificate

  • XP on the leaderboard

  • 30-question final exam with distinction track

  • Capstone system-design project

Your certificate

TTieEduCertificate of Completionawarded toyour nameDeep Learning with Neural NetworksPremium Tier

Preview of the certificate this course issues. Yours will carry your name, score and a verifiable serial — signed, not editable.

What you will build

CAPSTONE: Design an end-to-end deep learning system

Pick one real problem (campus document QA, a code assistant, demand forecasting, medical-image triage — any domain) and produce a design document plus a working proof, defended with arithmetic. The document must cover all seven sections: (1) requirements with pre-registered gates — quality bar vs a baseline, p99 latency, cost ceiling per 1M tokens or per request, safety constraints, and written rollback criteria; (2) data — sources with provenance, dedup/quality filters, labeling plan, time/entity split with a sealed test set; (3) model selection — capacity-vs-data evidence, compute-optimal view (C = 6ND, D ≈ 20N), quantization target, and an explicit reasoned decision on at least one frontier option (MoE, long context, multimodal, on-device); (4) training plan — objective, LR/accumulation schedule in optimizer steps, instrumentation from step 0, checkpoint/resume policy, GPU-hour budget; (5) evaluation — contamination-audited golden set, baselines, one ablation, judge calibration if an LLM judge is used; (6) serving — batching mode, KV-cache budget at your target context and concurrency, TTFT/TPOT targets, cost at stated utilization; (7) monitoring — drift signals, dashboards, feedback filtering, canary and one-command rollback. The working proof: fine-tune or distill a small model, evaluate against the golden set, apply one compression technique from Module 10 with a measured quality-memory-latency frontier, and report one table of ablations. Every number must be measured, cited, or derived — no unattributed figures.

You will submit: Link to the design document (public drive or repo README) plus the repository containing training/eval/serving scripts and the results tables.

From Perceptron to Multilayer Network

Rosenblatt's linear classifier, the XOR failure that exposed its limits, and how stacking layers plus non-linearity turns a single hyperplane into an arbitrarily complex decision boundary.

What you will learn
  • Write the perceptron update rule and trace one training epoch by hand
  • Prove that a single perceptron cannot represent XOR, geometrically and algebraically
  • Explain how a two-hidden-layer network carves decision regions a perceptron cannot
  • Distinguish representational power (what a network CAN fit) from trainability (what SGD actually finds)

In 1958 the New York Times reported that the Navy expected the perceptron to "walk, talk, see, write, reproduce itself and be conscious of its existence". It was a single neuron trained on photosensors. Seven years later, Minsky and Papert proved in one book chapter that this machine cannot even solve XOR — the four-point puzzle any child solves by hand. That single counterexample redirected the entire field, and understanding WHY a linear machine fails XOR, and exactly what machinery fixes it, is the foundation everything else in this course stands on.

The perceptron, precisely. Rosenblatt's perceptron is a single artificial neuron with a hard threshold. It receives inputs x1..xn, computes a weighted sum z = w·x + b, and outputs 1 if z >= 0, else 0. It is a linear classifier: the decision boundary w·x + b = 0 is a hyperplane (a line in 2D, a plane in 3D). Everything on one side is positive, everything on the other negative.

The perceptron learning rule. Training is embarrassingly direct. Predict on an example. If the prediction is correct, do nothing. If the model predicted 0 but the label is 1, nudge every weight toward the input: w_i <- w_i + eta * x_i (and b <- b + eta). If it predicted 1 but the label is 0, nudge away: w_i <- w_i - eta * x_i. The geometric picture: each misclassified example pushes the hyperplane so that it flips that point to the correct side. Rosenblatt's Perceptron Convergence Theorem guarantees this procedure finds a separating hyperplane in finite steps — IF one exists. That if is the whole story.

The XOR wall. XOR (exclusive OR) has four points: (0,0)->0, (0,1)->1, (1,0)->1, (1,1)->0. Try to draw a single straight line separating the 1s from the 0s. You cannot: the two 1s sit at opposite corners of a square, and the two 0s sit on the other diagonal. No hyperplane in the input space separates these classes, so no weight setting of a single perceptron represents XOR — the problem is geometric, not an optimization failure. No amount of training data, better learning rate, or clever initialization rescues a model class that cannot express the answer. This is the distinction between representational failure and training failure, and confusing them is the most common beginner error in the field.

What actually solves it: depth plus non-linearity. A multilayer network (MLP) composes multiple neurons into hidden layers, with a non-linear activation between layers. For XOR, one classic construction uses two hidden neurons computing h1 = ReLU(x1 + x2 - 1) and h2 = ReLU(x1 + x2 - 2)... more cleanly, the standard trick: h1 = AND(x1, x2-ish), h2 = OR-ish, output = h2 - h1. In continuous terms, two hidden ReLU units create two half-plane boundaries; the output layer recombines their regions so the positive area becomes the union of two corners. One hyperplane cannot do this; a composition of two can. The general theorem: a network with one hidden layer of sufficient width and a non-linear activation can approximate any continuous function on a compact set to arbitrary accuracy (the universal approximation theorem). Depth is not required for approximation in principle — it is required for efficiency in practice. Functions like hierarchical image structure need exponentially many neurons in a shallow net but polynomially many in a deep one.

From classifier to feature machine. The deeper insight of the MLP is not "more boundaries", it is that hidden layers learn FEATURES. The first hidden layer learns useful rotations and projections of the raw input; the second layer learns combinations of those; the output layer classifies in the learned feature space. What was a non-linearly-separable problem in the raw input often becomes linearly separable in a well-chosen feature space. This is the connection to classical SVM thinking: hand-engineered features plus a linear classifier, except here the features are learned jointly with the classifier by gradient descent through the whole stack.

The honest caveats. Universal approximation says a solution EXISTS in the weight space. It says nothing about whether SGD finds it in reasonable time, whether it generalizes, or whether the needed width is practical. The gap between "can represent" and "can train" is where most of the next four modules live: optimization, initialization, normalization, and architecture design are all responses to that gap.

Perceptron vs MLP
PropertyPerceptronMultilayer network
Decision boundarySingle hyperplanePiecewise-linear / curved composite boundary
Can represent XORNo — provablyYes — with one hidden layer of >= 2 units
Learning ruleLocal: update on misclassification onlyGlobal: gradient of a loss through all layers
FeaturesUses raw inputsLearns its own intermediate features
Failure mode if it cannot fitOptimization (no separating plane)Optimization or capacity — must diagnose which
xor_mlp.py
1import torch
2import torch.nn as nn
3
4# XOR as a tiny training set
5X = torch.tensor([[0.,0.],[0.,1.],[1.,0.],[1.,1.]])
6y = torch.tensor([[0.],[1.],[1.],[0.]])
7
8# A single linear layer: representational ceiling = a straight line
9linear = nn.Linear(2, 1)          # cannot fit XOR, ever
10# A 2-16-1 MLP with ReLU: can fit XOR
11mlp = nn.Sequential(
12    nn.Linear(2, 16), nn.ReLU(),
13    nn.Linear(16, 1), nn.Sigmoid(),
14)
15
16opt = torch.optim.Adam(mlp.parameters(), lr=0.05)
17lossfn = nn.BCELoss()
18for step in range(500):
19    loss = lossfn(mlp(X), y)
20    opt.zero_grad(); loss.backward(); opt.step()
21print(torch.round(mlp(X)).squeeze())  # -> tensor([0., 1., 1., 0.])
Diagnose before you tune

Model cannot fit even the training set? Either capacity (too small / wrong architecture) or optimization (lr, init, saturation). Fit train but not val? Generalization problem — different playbook. Name the failure before touching hyperparameters.

Universal approximation is not a training guarantee

A theorem about the EXISTENCE of good weights says nothing about SGD finding them. "The network can represent it" and "our run learned it" are different claims — never substitute one for the other in a report or an exam answer.

Trace the perceptron on a linearly separable set — and fail on XOR
Perceptron with 2 inputs, bias-free, learning rate 1. Initial weights w = (0, 0). Train on: A=(1,1)->1, B=(0,0)->0, C=(0,1)->0, D=(1,0)->0? No — use the separable set: A=(1,1)->1, B=(0,0)->0, C=(1,0)->0 (AND-like). (a) Trace updates until convergence or 3 epochs. (b) Explain in one sentence why the same procedure can never fit XOR.
  1. 1

    Epoch 1, point A=(1,1) label 1

    Score = 0*1 + 0*1 = 0 >= 0, so the perceptron predicts 1. Correct. No update. Weights stay (0, 0).

    z = 0; pred = 1 (ties go positive); pred == y -> no update
  2. 2

    Epoch 1, point B=(0,0) label 0

    Score = 0 >= 0, predicts 1. Wrong (label 0). Weights move away from the input: w <- w - 1 * (0,0) = (0,0). No change — this point carries no direction. Continue.

    w = (0,0) - (0,0) = (0,0)
  3. 3

    Epoch 1, point C=(1,0) label 0

    Score = 0, predicts 1. Wrong. Update away: w <- (0,0) - 1*(1,0) = (-1, 0).

    w = (-1, 0)
  4. 4

    Epoch 2, A=(1,1) label 1

    Score = -1*1 + 0*1 = -1 < 0, predicts 0. Wrong. Update toward: w <- (-1,0) + (1,1) = (0, 1).

    w = (0, 1)
  5. 5

    Epoch 2, B=(0,0) label 0

    Score 0 >= 0 predicts 1. Wrong. w <- (0,1) - (0,0) = (0,1). Then C=(1,0): score 0, predicts 1, wrong: w <- (0,1) - (1,0) = (-1, 1).

    after B: (0,1); after C: (-1, 1)
  6. 6

    Epoch 3, verify all points

    A: -1+1 = 0 -> pred 1 (correct). B: 0 -> pred 1 — STILL WRONG. The bias-free perceptron with w=(-1,1) gives B a tie score of 0 which breaks to the positive class. Continue iterating: next A correct, C: -1 < 0 pred 0 correct, B again updates to (-1,1), and so on — with a bias term this oscillation resolves; without one, ties at the origin can persist. The lesson: ties and the missing bias both matter. With bias b and a few more epochs, AND converges to w=(1,1), b=-1.5.

    with bias: converges to w=(1,1), b=-1.5  # AND: fires only at (1,1)

Solution

The perceptron learns AND (a linearly separable function) in a handful of updates: with a bias it settles at w=(1,1), b=-1.5, firing only on (1,1). For XOR, no sequence of these updates can succeed — because no single line separates { (0,1), (1,0) } from { (0,0), (1,1) }, the Perceptron Convergence Theorem's precondition ("a separator exists") is violated, and the algorithm will oscillate forever. Depth is the fix, not patience.

Prove XOR is unseparable to a skeptic

Write a four-sentence proof that no linear classifier can fit XOR. Then sketch (words or a diagram) the two-hidden-unit ReLU construction that can: specify each hidden unit's weights and the output unit's weights so the network outputs 0 at (0,0) and (1,1) and 1 at (0,1) and (1,0).

Hint: For the proof: assume a line w1*x1 + w2*x2 + b separates, derive w1 + b < 0 and w1 + b > 0 (or similar contradiction pair). For the construction: h1 = x1 + x2 - 1 gives 1 at the two "middle" corners, h2 = 2 - x1 - x2 also isolates them; output = min(h1, h2) or a small MLP recombining them.

Common mistakes
  • Believing a bigger learning rate or more epochs can fix a representational failure

    If the model class cannot express the target (perceptron on XOR), training diverges or cycles forever. Increase capacity or change architecture first; tune optimization second.

  • Quoting the universal approximation theorem as "MLPs can learn anything"

    The theorem says good weights EXIST for any continuous function, given enough width. It says nothing about SGD finding them in feasible time, nor about generalization. Quote it with its caveats or not at all.

  • Assuming deeper is always better than wider because depth is more parameter-efficient

    Depth pays when the target has hierarchical structure (vision, language). On low-dimensional tabular problems a single hidden layer often matches deeper nets. Decide by validation, not fashion.

  • Forgetting the bias and then misreading ties in hand-traced perceptrons

    Without a bias, every hyperplane passes through the origin — the classifier loses a whole degree of freedom. In hand-traces, a score of exactly 0 also needs a stated tie-break convention; pick one (>= 0 is positive) and apply it consistently.

Exam / interview angle

GATE-style: (a) Show that no single perceptron can implement XOR. (b) State the universal approximation theorem, and explain in two sentences why it does not guarantee that gradient descent will train a deep network successfully.

(a) XOR requires f(0,0)=0, f(1,1)=0, f(0,1)=1, f(1,0)=1. A perceptron computes sign(w1*x1 + w2*x2 + b) — a single straight boundary. The positives (0,1) and (1,0) lie on opposite sides of any line that separates (0,0) from (1,1): assuming w1*x1 + w2*x2 + b < 0 at (0,0) and (1,1) gives b < 0 and w1 + w2 + b < 0; requiring > 0 at (0,1) and (1,0) gives w2 + b > 0 and w1 + b > 0; summing the last two: w1 + w2 + 2b > 0, contradicting w1 + w2 + b < 0 with b < 0. Hence no separating hyperplane exists. (b) The theorem: any continuous function on a compact set can be approximated arbitrarily well by a one-hidden-layer network with a non-linear activation, given sufficient width. It is an existence result over the weight space; it gives no algorithm, no sample-complexity bound, and no guarantee that SGD reaches the good region in polynomial time — those are optimization and generalization questions, addressed by the techniques of Modules 2 and 3.

Source: Classic GATE CS/AI deep-learning question; also a staple of ML interviews at the "prove it" level.

Lesson summary
  • A perceptron is one neuron with a threshold: its boundary is a single hyperplane, trainable by nudging weights on mistakes.
  • XOR is not linearly separable, so no perceptron can represent it — a representational, not optimization, failure.
  • MLPs compose neurons through hidden layers with non-linear activations, turning raw inputs into learned features where classes become separable.
  • Universal approximation: one hidden layer is enough to APPROXIMATE any continuous function; depth buys efficiency, not mere possibility.
  • Always distinguish three questions: can it represent? can SGD train it? does it generalize?

What you will be able to do

  • Derive forward and backward passes with the chain rule, and verify them against autograd
  • Choose optimizers, schedules, initialization and regularization with quantified justification
  • Design CNN, ResNet and transfer-learning pipelines using receptive-field and parameter arithmetic
  • Explain RNN/LSTM dynamics and hand-compute gate updates and truncated BPTT trade-offs
  • Derive multi-head self-attention, causal masking, and the FLOPs/memory budgets of any transformer
  • Build and evaluate embeddings with similarity, analogy and contrastive (InfoNCE) objectives
  • Run an LLM training pipeline: data quality, BPE, scaling laws, SFT/RLHF/DPO post-training
  • Control generation: greedy vs beam, temperature/top-k/top-p arithmetic, and diffusion sampling
  • Train with PyTorch like an engineer: autograd internals, DataLoader correctness, AMP, accumulation, checkpoint/resume, NaN debugging
  • Compress, serve and evaluate honestly: quantization bounds, distillation, TTFT/TPOT/KV budgets, contamination, and cost per million tokens

About this course

Forty lessons, ten modules, one continuous argument. Every lesson follows the same nine steps — objective, hook, concept, worked example, practice task, common mistakes, exam/interview angle, quiz, summary — and every worked example is arithmetic you can redo on paper: parameter counts, receptive fields, gradient values, attention FLOPs, scaling budgets, quantization error bounds.

Modules 1–4 rebuild the field from first principles: perceptron to MLP, activations and backprop with real numbers, loss-surface geometry, the optimizer ladder (SGD → Adam/AdamW), schedules and warmup, initialization and batch norm, dropout and clipping; then convolutions with output-size and receptive-field arithmetic, the LeNet-to-VGG race, ResNet's identity-shortcut insight, transfer learning, and the RNN line — unrolling, BPTT, vanishing gradients, LSTM/GRU gate surgery, and the single-vector bottleneck that motivated attention.

Module 5 assembles the transformer block by block with a full hand-computed attention matrix, multi-head and positional encoding, masked vs cross attention, the BERT/GPT split, and the FLOP/parameter formulas that let you read any model card. Module 6 turns to embeddings: word2vec-era objectives to contrastive learning with InfoNCE and probing. Module 7 is the modern LLM pipeline — deduplicated data, byte-level BPE, Chinchilla-era scaling laws, and post-training from SFT to RLHF/DPO. Module 8 covers generation as search and sampling: greedy/beam with length normalization, temperature/top-k/top-p on real logits, repetition control and speculative decoding, then diffusion models with hand-computed guidance. Module 9 makes PyTorch an engineering system — tensors as strided views, autograd as the recorded chain rule, Dataset/DataLoader contracts with an annotated training loop, and AMP/accumulation/clipping/checkpointing with the NaN-debugging playbook. Module 10 closes with capacity-vs-data recipes, compression, serving and evaluation economics, and the capstone: a full system design defended with arithmetic.

The interview thread runs through all of it: "backprop this network by hand", "why does attention divide by sqrt(d)", "your validation is 27 points below training — diagnose it", "size the KV cache", "what does this run cost". By the end you have answered all of them yourself, with numbers.

Who this course is for

  • Final-year students and job-seekers targeting ML/DL engineer interviews
  • Software engineers moving into applied deep learning who want first-principles depth
  • Practitioners who have trained models by recipe and now need to debug, compress, and ship them
  • Anyone preparing for advanced exams where backprop, attention, and training-system questions carry the marks

What you should know before you start

Anything here is assumed, not taught. If it is not on the list, the course explains it.

  • Fluency in Python — classes, comprehensions, virtual environments, reading framework source
  • Machine learning fundamentals: train/validation/test discipline, loss functions, gradient descent (a first ML course or equivalent experience)
  • Linear algebra comfort (matrix shapes, multiplication) and calculus (chain rule) — notation is glossed but never introduced from zero
  • A machine with 8 GB RAM for the exercises; a GPU helps (free Colab-class tier is enough) but the first half runs on CPU

Questions before you start

How much time does Deep Learning with Neural Networks take?

The course is 10 modules and 40 lessons — about 15 hr of material in total. Lessons unlock in order, so the time it takes you depends on how much of each lesson you actually read.

Do I get a certificate?

Yes. Finish every lesson and a certificate is issued automatically. Its serial is public: anyone can check it at https://tieedu.com/verify without an account, and a revoked certificate stops verifying.

Is it really free?

Yes — this course is free, and there is nothing to buy to start it.

How is my progress tracked?

On the server, lesson by lesson. Time is credited at real-time speed and capped, so a lesson cannot be marked complete faster than it can be read. That is why the percentage survives a new device.

How do ratings work?

Only learners who finished the course can rate it, and the average shown is calculated from those ratings alone. A course nobody has finished yet carries no rating rather than a default one.

See all

AI Literacy for Everyone

Beginner · AI & Data Science

From "what is AI" to a toolkit you actually run — how the models work, how to prompt them, how to verify what comes back, and how to keep your name on work you can defend

10 modules40 lessons10 hr 31 min
FreeNew

Building Apps with LLMs

Intermediate · AI & Data Science

Architecture, API engineering, UX, context, tools, extraction, evaluation, safety and cost — forty lessons to shipping an LLM feature that survives production

10 modules40 lessons11 hr
FreeNew

Generative AI Essentials

Intermediate · AI & Data Science

Forty deep lessons from generative foundations to a production GenAI spec — mechanics, models, reliability, cost, applied pipelines, safety and compliance

10 modules40 lessons12 hr 30 min
FreeNew

Machine Learning Fundamentals

Intermediate · AI & Data Science

From "what is a label" to defending a deployed system — the forty-lesson path through modelling, evaluation, tuning, production and interviews

10 modules40 lessons13 hr 31 min
FreeNew

Free · lifetime access

Candidate Verified

Real interview questions verified by candidates placed at top tech firms.

View-Only PDF Security

Watermarked licensed PDFs, server-side unlock checks — no raw download paths.

Honest, Server-Driven

Pricing, coupons and unlocks are verified by the backend — no bypasses.

TieEdu — Learn, Evolve, Develop

© 2026 TieEdu Technologies. All rights reserved.

Built for placement season within India

Visitors who arrive through an email link are remembered with a first-party cookie so we can see which pages that mail led them to — never the other way round, never on login or admin pages, and never for anonymous visitors. Every email carries a one-click unsubscribe that stops both mailings and tracking.