মূল ধারণা।
এই নেটওয়ার্কে একটি input x, দুটি hidden neuron আর একটি output y আছে। এতে সাতটি
সংখ্যা আছে যা training বদলায়: প্রতিটি hidden neuron-এর একটি weight ও একটি bias (w1, b1 এবং
w2, b2), আর output-এর প্রতিটি neuron-এর জন্য একটি weight (w3, w4) ও একটি bias
b3।
• Forward pass: প্রতিটি neuron z = w·x + b হিসাব করে, তারপর ReLU সেটি
ধনাত্মক হলে রেখে দেয়, না হলে 0 করে দেয়। output নিজের weight দিয়ে দুটি neuron যোগ করে:
y = w3·h1 + w4·h2 + b3। loss মাপে কতটা ভুল হলো:
L = (y − t)², যেখানে t হলো target।
• Backward pass: loss থেকে শুরু করে এক এক বাক্স করে পেছনে হাঁটুন। প্রতিটি ধাপে একটি ছোট
local slope দিয়ে গুণ হয়, এটিই chain rule। শেষে সাতটি সংখ্যার প্রত্যেকটির একটি gradient (বেগুনি) থাকে:
সেই সংখ্যাটি একটু বাড়লে loss কতটা বদলায়।
• Update: প্রতিটি সংখ্যাকে তার gradient-এর উল্টো দিকে একটি ছোট ধাপ সরান,
new = old − η × gradient, যেমনটি optimizers পাতায় আছে।
এটি বারবার, পাঁচটি পয়েন্টের সবগুলোর ওপর একসঙ্গে করাই হলো training।