একটি নিউরাল নেটওয়ার্ক তৈরি করতে যা অরৈখিকতা শেখে, নিম্নলিখিত পরিচিত মডেল কাঠামো দিয়ে শুরু করুন: $y' = b + w_1x_1 + w_2x_2 + w_3x_3$ ফর্মের একটি রৈখিক মডেল ।
আমরা এই সমীকরণটি নীচে দেখানো হিসাবে কল্পনা করতে পারি, যেখানে $x_1$, $x_2$, এবং $x_3$ হল আমাদের তিনটি ইনপুট নোড (নীল রঙে), এবং $y'$ হল আমাদের আউটপুট নোড (সবুজ রঙে)।
ব্যায়াম 1
উপরের মডেলে, ওজন এবং পক্ষপাতের মানগুলি এলোমেলোভাবে শুরু করা হয়েছে। ইন্টারফেসের সাথে নিজেকে পরিচিত করতে এবং লিনিয়ার মডেলটি অন্বেষণ করতে নিম্নলিখিত কাজগুলি সম্পাদন করুন। আপনি আপাতত অ্যাক্টিভেশন ফাংশন ড্রপডাউন উপেক্ষা করতে পারেন; আমরা পরে মডিউলে এই বিষয়টি নিয়ে আলোচনা করব।
$x_1 = 1.00$, $x_2 = 2.00$, এবং $x_3 = 3.00$ ইনপুট মানগুলির জন্য আউটপুট নোডের মান গণনা করতে নেটওয়ার্কের উপরে প্লে (▶️) বোতামে ক্লিক করুন।
ইনপুট স্তরের দ্বিতীয় নোডে ক্লিক করুন এবং মান 2.00 থেকে 2.50 পর্যন্ত বাড়ান। লক্ষ্য করুন যে আউটপুট নোডের মান পরিবর্তন হয়। আউটপুট নোডগুলি নির্বাচন করুন (সবুজ রঙে) এবং আউটপুট মান কীভাবে গণনা করা হয়েছে তা দেখতে গণনা প্যানেলটি পর্যালোচনা করুন।
ওজন ($w_1$, $w_2$, $w_3$) এবং বায়াস ($b$) প্যারামিটার মান দেখতে আউটপুট নোড (সবুজ রঙে) ক্লিক করুন। $w_3$ এর জন্য ওজনের মান কমিয়ে দিন (আবার, মনে রাখবেন যে আউটপুট নোডের মান এবং নীচের গণনাগুলি পরিবর্তিত হয়েছে)। তারপর, পক্ষপাত মান বৃদ্ধি. এই পরিবর্তনগুলি কীভাবে মডেল আউটপুটকে প্রভাবিত করেছে তা পর্যালোচনা করুন।
নেটওয়ার্কে স্তর যুক্ত করা হচ্ছে
মনে রাখবেন যে আপনি যখন ব্যায়াম 1 এ নেটওয়ার্কের ওজন এবং পক্ষপাতের মানগুলি সামঞ্জস্য করেছেন, তখন এটি ইনপুট এবং আউটপুটের মধ্যে সামগ্রিক গাণিতিক সম্পর্ককে পরিবর্তন করেনি৷ আমাদের মডেল এখনও একটি লিনিয়ার মডেল।
কিন্তু ইনপুট লেয়ার এবং আউটপুট লেয়ারের মধ্যে যদি আমরা নেটওয়ার্কে আরেকটি লেয়ার যোগ করি? নিউরাল নেটওয়ার্ক পরিভাষায়, ইনপুট স্তর এবং আউটপুট স্তরের মধ্যে অতিরিক্ত স্তরগুলিকে লুকানো স্তর বলা হয় এবং এই স্তরগুলির নোডগুলিকে নিউরন বলা হয়।
লুকানো স্তরের প্রতিটি নিউরনের মান একটি রৈখিক মডেলের আউটপুট হিসাবে একইভাবে গণনা করা হয়: এর প্রতিটি ইনপুটের গুণফলের যোগফল নিন (পূর্ববর্তী নেটওয়ার্ক স্তরের নিউরনগুলি) এবং একটি অনন্য ওজন প্যারামিটার, প্লাস পক্ষপাত একইভাবে, পরবর্তী স্তরের নিউরনগুলি (এখানে, আউটপুট স্তর) ইনপুট হিসাবে লুকানো স্তরের নিউরন মানগুলি ব্যবহার করে গণনা করা হয়।
এই নতুন লুকানো স্তরটি আমাদের মডেলটিকে পরামিতির আরেকটি সেট ব্যবহার করে ইনপুট ডেটা পুনরায় সংযুক্ত করার অনুমতি দেয়। এটি কি আমাদের মডেলকে অরৈখিক সম্পর্ক শিখতে সাহায্য করতে পারে?
ব্যায়াম 2
আমরা মডেলটিতে চারটি নিউরন সম্বলিত একটি লুকানো স্তর যুক্ত করেছি।
ইনপুট মান $x_1 = 1.00$, $x_2 = 2.00$ এবং $x_3 = 3.00$ এর জন্য চারটি লুকানো-স্তর নোড এবং আউটপুট নোডের মান গণনা করতে নেটওয়ার্কের উপরে প্লে (▶️) বোতামে ক্লিক করুন।
তারপর মডেলটি অন্বেষণ করুন, এবং নিম্নলিখিত প্রশ্নের উত্তর দিতে এটি ব্যবহার করুন।
মডেল প্যারামিটারগুলি পরিবর্তন করার চেষ্টা করুন, এবং লুকানো-স্তর নোডের মান এবং আউটপুট মানের উপর প্রভাব পর্যবেক্ষণ করুন (এই মানগুলি কীভাবে গণনা করা হয়েছিল তা দেখতে আপনি নীচের গণনা প্যানেলটি পর্যালোচনা করতে পারেন)।
এই মডেল nonlinearities শিখতে পারেন?
আপনি যদি লুকানো স্তরের প্রতিটি নোডের উপর ক্লিক করেন এবং নীচের গণনাগুলি পর্যালোচনা করেন, আপনি দেখতে পাবেন যে সেগুলির সবকটিই রৈখিক (গুণ এবং সংযোজন ক্রিয়াকলাপ সমন্বিত)।
আপনি যদি আউটপুট নোডে ক্লিক করেন এবং নীচের গণনাটি পর্যালোচনা করেন, আপনি দেখতে পাবেন যে এই গণনাটিও রৈখিক। রৈখিক গণনার আউটপুটে সঞ্চালিত রৈখিক গণনাগুলিও রৈখিক, যার মানে এই মডেলটি অরৈখিকতা শিখতে পারে না।