নিচের ইন্টারেক্টিভ অনুশীলনীগুলিতে, আপনি নিউরাল নেটওয়ার্কের অভ্যন্তরীণ কার্যকারিতা আরও অন্বেষণ করবেন। প্রথমে, আপনি দেখতে পাবেন কিভাবে প্যারামিটার এবং হাইপারপ্যারামিটারের পরিবর্তনগুলি নেটওয়ার্কের পূর্বাভাসকে প্রভাবিত করে। তারপর আপনি যা শিখেছেন তা ব্যবহার করে একটি নিউরাল নেটওয়ার্ককে নন-লিনিয়ার ডেটা ফিট করার প্রশিক্ষণ দেবেন।
অনুশীলনী ১
নিম্নলিখিত উইজেটটি নিম্নলিখিত কনফিগারেশন সহ একটি নিউরাল নেটওয়ার্ক সেট আপ করে:
-
0.00 , 0.00 , এবং 0.00 মান ধারণকারী 3টি নিউরন সহ ইনপুট স্তর - ৪টি নিউরন সহ লুকানো স্তর
- ১টি নিউরন সহ আউটপুট স্তর
- ReLU অ্যাক্টিভেশন ফাংশনটি সমস্ত লুকানো স্তর নোড এবং আউটপুট নোডে প্রয়োগ করা হয়
নেটওয়ার্কের প্রাথমিক সেটআপ পর্যালোচনা করুন (দ্রষ্টব্য: এখনও ▶️ অথবা >| বোতামে ক্লিক করবেন না ), এবং তারপর উইজেটের নীচের কাজগুলি সম্পূর্ণ করুন।
টাস্ক ১
নিউরাল নেটওয়ার্ক মডেলের তিনটি ইনপুট বৈশিষ্ট্যের মান হল 0.00 । সমস্ত প্রাথমিক মান দেখতে নেটওয়ার্কের প্রতিটি নোডে ক্লিক করুন। Play ( ▶️ ) বোতামে ক্লিক করার আগে, এই প্রশ্নের উত্তর দিন:
তোমার কি মনে হয় কোন ধরণের আউটপুট মান উৎপন্ন হবে: ধনাত্মক, ঋণাত্মক, নাকি ০?
ধনাত্মক আউটপুট মান
আপনি ধনাত্মক আউটপুট মান বেছে নিয়েছেন। ইনপুট ডেটার উপর অনুমান করতে নীচের নির্দেশাবলী অনুসরণ করুন এবং দেখুন আপনার ধারণা সঠিক কিনা।
ঋণাত্মক আউটপুট মান
আপনি নেতিবাচক আউটপুট মান বেছে নিয়েছেন। ইনপুট ডেটার উপর অনুমান করতে নীচের নির্দেশাবলী অনুসরণ করুন এবং দেখুন আপনার ধারণা সঠিক কিনা।
আউটপুট মান ০
আপনি 0 এর আউটপুট মান বেছে নিয়েছেন। ইনপুট ডেটার উপর অনুমান করতে নীচের নির্দেশাবলী অনুসরণ করুন এবং দেখুন আপনার ধারণা সঠিক কিনা।
এখন নেটওয়ার্কের উপরে Play (▶️) বোতামে ক্লিক করুন, এবং দেখুন সমস্ত লুকানো স্তর এবং আউটপুট নোডের মানগুলি কীভাবে পূর্ণ হয়। উপরে আপনার উত্তরটি কি সঠিক ছিল?
ব্যাখ্যার জন্য এখানে ক্লিক করুন
ওজন এবং বায়াস প্যারামিটারগুলি এলোমেলোভাবে কীভাবে শুরু করা হয় তার উপর ভিত্তি করে আপনি সঠিক আউটপুট মান পাবেন। তবে, যেহেতু ইনপুট স্তরের প্রতিটি নিউরনের মান 0, তাই লুকানো-স্তর নোডের মান গণনা করতে ব্যবহৃত ওজনগুলি শূন্য করা হবে। উদাহরণস্বরূপ, প্রথম লুকানো স্তর নোড গণনা হবে:
y = ReLU(w 11 * 0.00 + w 21 * 0.00 + w 31 * 0.00 + b)
y = ReLU(b)
সুতরাং প্রতিটি লুকানো-স্তর নোডের মান বায়াস (b) এর ReLU মানের সমান হবে, যা b ঋণাত্মক হলে 0 হবে এবং b 0 বা ধনাত্মক হলে b নিজেই হবে।
আউটপুট নোডের মান তারপর নিম্নরূপ গণনা করা হবে:
y = ReLU(w 11 * x 11 + w 21 * x 21 + w 31 * x 31 + w 41 * x 41 + b)
টাস্ক ২
নিউরাল নেটওয়ার্ক পরিবর্তন করার আগে, নিম্নলিখিত প্রশ্নের উত্তর দিন:
যদি আপনি প্রথম লুকানো স্তরের পরে নিউরাল নেটওয়ার্কে আরেকটি লুকানো স্তর যোগ করেন এবং এই নতুন স্তরটিকে 3টি নোড দেন, সমস্ত ইনপুট এবং ওজন/পক্ষপাত পরামিতি একই রেখে, তাহলে অন্য কোন নোডের গণনা প্রভাবিত হবে?
ইনপুট নোড ছাড়া নেটওয়ার্কের সকল নোড
আপনি নেটওয়ার্কের সমস্ত নোড বেছে নিয়েছেন, ইনপুট নোড ছাড়া । নিউরাল নেটওয়ার্ক আপডেট করতে নীচের নির্দেশাবলী অনুসরণ করুন এবং দেখুন আপনি সঠিক কিনা।
প্রথম লুকানো স্তরের কেবল নোডগুলি
আপনি প্রথম লুকানো স্তরের নোডগুলি বেছে নিয়েছেন। নিউরাল নেটওয়ার্ক আপডেট করতে নীচের নির্দেশাবলী অনুসরণ করুন এবং দেখুন আপনি সঠিক কিনা।
শুধু আউটপুট নোড
আপনি কেবল আউটপুট নোডটি বেছে নিয়েছেন। নিউরাল নেটওয়ার্ক আপডেট করতে নীচের নির্দেশাবলী অনুসরণ করুন এবং দেখুন আপনি সঠিক কিনা।
এবার নিউরাল নেটওয়ার্কটি পরিবর্তন করে ৩টি নোড সহ একটি নতুন লুকানো স্তর যুক্ত করুন:
- আউটপুট লেয়ারের আগে একটি নতুন লুকানো লেয়ার যোগ করতে 1 লুকানো লেয়ার টেক্সটের বাম দিকে + বোতামে ক্লিক করুন।
- নতুন লুকানো স্তরের উপরে + বোতামটি দুবার ক্লিক করে স্তরটিতে আরও 2টি নোড যোগ করুন।
আপনার উপরের উত্তরটি কি সঠিক ছিল?
ব্যাখ্যার জন্য এখানে ক্লিক করুন
শুধুমাত্র আউটপুট নোড পরিবর্তন হয়। যেহেতু এই নিউরাল নেটওয়ার্কের জন্য অনুমান "ফিড-ফরোয়ার্ড" (শুরু থেকে শেষ পর্যন্ত অগ্রগতি গণনা করে), নেটওয়ার্কে একটি নতুন স্তর যুক্ত হলে কেবল নতুন স্তরের পরে থাকা নোডগুলিই প্রভাবিত হবে, এর পূর্ববর্তী নোডগুলি নয়।
টাস্ক 3
নেটওয়ার্ক গ্রাফের প্রথম লুকানো স্তরের দ্বিতীয় নোডে (উপর থেকে) ক্লিক করুন। নেটওয়ার্ক কনফিগারেশনে কোনও পরিবর্তন করার আগে, নিম্নলিখিত প্রশ্নের উত্তর দিন:
যদি আপনি ওজন w 12 (প্রথম ইনপুট নোডের নিচে প্রদর্শিত, x 1 ) এর মান পরিবর্তন করেন, তাহলে কিছু ইনপুট মানের জন্য অন্য কোন নোডের গণনা প্রভাবিত হতে পারে ?
কোনটিই নয়
তুমি কোনটিই বেছে নিয়েছো না। নিউরাল নেটওয়ার্ক আপডেট করতে নিচের নির্দেশাবলী অনুসরণ করো এবং দেখো তুমি সঠিক কিনা।
প্রথম লুকানো স্তরের দ্বিতীয় নোড, দ্বিতীয় লুকানো স্তরের সমস্ত নোড এবং আউটপুট নোড।
আপনি প্রথম লুকানো স্তরের দ্বিতীয় নোড, দ্বিতীয় লুকানো স্তরের সমস্ত নোড এবং আউটপুট নোড বেছে নিয়েছেন। নিউরাল নেটওয়ার্ক আপডেট করতে নীচের নির্দেশাবলী অনুসরণ করুন এবং দেখুন আপনি সঠিক কিনা।
প্রথম লুকানো স্তর, দ্বিতীয় লুকানো স্তর এবং আউটপুট স্তরের সমস্ত নোড।
আপনি প্রথম লুকানো স্তর, দ্বিতীয় লুকানো স্তর এবং আউটপুট স্তরের সমস্ত নোড বেছে নিয়েছেন। নিউরাল নেটওয়ার্ক আপডেট করতে নীচের নির্দেশাবলী অনুসরণ করুন এবং দেখুন আপনি সঠিক কিনা।
এখন, weight w 12 (প্রথম ইনপুট নোডের নিচে প্রদর্শিত x 1 ) এর জন্য টেক্সট ফিল্ডে ক্লিক করুন, এর মান 5.00 এ পরিবর্তন করুন এবং Enter টিপুন। গ্রাফের আপডেটগুলি পর্যবেক্ষণ করুন।
তোমার উত্তর কি সঠিক ছিল? তোমার উত্তর যাচাই করার সময় সাবধান থাকবে: যদি কোন নোডের মান পরিবর্তন না হয়, তার মানে কি অন্তর্নিহিত গণনা পরিবর্তন হয়নি?
ব্যাখ্যার জন্য এখানে ক্লিক করুন
প্রথম লুকানো স্তরে একমাত্র যে নোডটি প্রভাবিত হয় তা হল দ্বিতীয় নোড (যেটি আপনি ক্লিক করেছেন)। প্রথম লুকানো স্তরের অন্যান্য নোডের মান গণনায় প্যারামিটার হিসাবে w 12 থাকে না, তাই সেগুলি প্রভাবিত হয় না। দ্বিতীয় লুকানো স্তরের সমস্ত নোড প্রভাবিত হয়, কারণ তাদের গণনা প্রথম লুকানো স্তরের দ্বিতীয় নোডের মানের উপর নির্ভর করে। একইভাবে, আউটপুট নোড মান প্রভাবিত হয় কারণ এর গণনা দ্বিতীয় লুকানো স্তরের নোডের মানের উপর নির্ভর করে।
ওজনের মান পরিবর্তন করার সময় নেটওয়ার্কের কোনও নোডের মান পরিবর্তন হয়নি বলে কি আপনার মনে হয়েছে উত্তরটি "কিছুই নয়"? মনে রাখবেন যে নোডের জন্য একটি অন্তর্নিহিত গণনা নোডের মান পরিবর্তন না করেও পরিবর্তিত হতে পারে (যেমন, ReLU(0) এবং ReLU(–5) উভয়ই 0 এর আউটপুট দেয়)। কেবল নোডের মান দেখে নেটওয়ার্ক কীভাবে প্রভাবিত হয়েছিল তা অনুমান করবেন না; গণনাগুলিও পর্যালোচনা করতে ভুলবেন না।
অনুশীলনী ২
ক্যাটাগরিকাল ডেটা মডিউলের ফিচার ক্রস অনুশীলনে , আপনি নন-লিনিয়ার ডেটা ফিট করার জন্য ম্যানুয়ালি ফিচার ক্রস তৈরি করেছেন। এখন, আপনি দেখতে পাবেন যে আপনি এমন একটি নিউরাল নেটওয়ার্ক তৈরি করতে পারেন যা প্রশিক্ষণের সময় স্বয়ংক্রিয়ভাবে নন-লিনিয়ার ডেটা ফিট করতে শিখতে পারে।
তোমার কাজ: এমন একটি নিউরাল নেটওয়ার্ক কনফিগার করো যা নিচের চিত্রের নীল বিন্দু থেকে কমলা বিন্দুগুলিকে আলাদা করতে পারে, প্রশিক্ষণ এবং পরীক্ষার ডেটা উভয়ের ক্ষেত্রেই 0.2 এর কম ক্ষতি অর্জন করতে পারে।
নির্দেশাবলী:
নীচের ইন্টারেক্টিভ উইজেটে:
- নিম্নলিখিত কিছু কনফিগারেশন সেটিংস পরীক্ষা করে নিউরাল নেটওয়ার্ক হাইপারপ্যারামিটারগুলি পরিবর্তন করুন:
- নেটওয়ার্ক ডায়াগ্রামে HIDDEN LAYERS শিরোনামের বাম দিকে + এবং - বোতামে ক্লিক করে লুকানো স্তরগুলি যোগ করুন বা সরান।
- লুকানো স্তর কলামের উপরে + এবং - বোতামে ক্লিক করে লুকানো স্তর থেকে নিউরন যোগ করুন বা সরান।
- চিত্রের উপরে থাকা শেখার হারের ড্রপ-ডাউন থেকে একটি নতুন মান বেছে নিয়ে শেখার হার পরিবর্তন করুন।
- ডায়াগ্রামের উপরে অ্যাক্টিভেশন ড্রপ-ডাউন থেকে একটি নতুন মান নির্বাচন করে অ্যাক্টিভেশন ফাংশনটি পরিবর্তন করুন।
- নির্দিষ্ট পরামিতি ব্যবহার করে নিউরাল নেটওয়ার্ক মডেলকে প্রশিক্ষণ দিতে চিত্রের উপরে প্লে (▶️) বোতামে ক্লিক করুন।
- প্রশিক্ষণের অগ্রগতির সাথে সাথে ডেটার সাথে মানানসই মডেলের ভিজ্যুয়ালাইজেশন, সেইসাথে আউটপুট বিভাগে পরীক্ষার ক্ষতি এবং প্রশিক্ষণ ক্ষতির মানগুলি পর্যবেক্ষণ করুন।
- যদি মডেলটি পরীক্ষা এবং প্রশিক্ষণ ডেটাতে 0.2 এর নিচে ক্ষতি অর্জন না করে, তাহলে রিসেট ক্লিক করুন এবং কনফিগারেশন সেটিংসের একটি ভিন্ন সেট দিয়ে ধাপ 1-3 পুনরাবৃত্তি করুন। পছন্দসই ফলাফল না পাওয়া পর্যন্ত এই প্রক্রিয়াটি পুনরাবৃত্তি করুন।
আমাদের সমাধানের জন্য এখানে ক্লিক করুন
আমরা ০.২ এর নিচে পরীক্ষা এবং প্রশিক্ষণ উভয় ক্ষতি অর্জন করতে সক্ষম হয়েছি:
- ৩টি নিউরন ধারণকারী ১টি লুকানো স্তর যোগ করা হচ্ছে।
- ০.০১ শেখার হার নির্বাচন করা।
- ReLU এর একটি সক্রিয়করণ ফাংশন নির্বাচন করা হচ্ছে।