Learning in neural networks is the process of automatically adjusting the network's parameters (weights and biases) to improve its performance on a given task.
The Core Challenge:
• We have data (inputs and desired outputs)
• We have a network (with random initial weights)
• We need to find the right weights that map inputs to outputs
• This is fundamentally an optimization problem
💡 Key Insight
Learning is not memorization! The goal is to find patterns in the training data that generalize to new, unseen examples.
The Learning Process
1️⃣
Initialize
Start with random weights (the network knows nothing)
2️⃣
Predict
Feed input through the network to get predictions
3️⃣
Measure Error
Compare predictions with actual outputs
4️⃣
Update Weights
Adjust weights to reduce error
5️⃣
Repeat
Continue until performance is satisfactory
The Learning Problem Visualized
Training Data
Input →
→
Neural Network
Weights?
Need to learn!
→
Desired Output
Target ✓
The Challenge: Find weights that transform inputs into correct outputs for ALL training examples