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