নিউরাল নেটওয়ার্ক:দ্যা ব্ল্যাক বক্স ইন্ট্রো!

Abu Kaisar
4 min readOct 17, 2021

ডিপ লার্নিং আজকাল একটি আলোচিত বিষয়। কিন্তু এটা কী যা এটিকে বিশেষ করে তোলে এবং মেশিন লার্নিংয়ের অন্যান্য দিক থেকে আলাদা করে? এটি একটি গভীর প্রশ্ন। এমনকি এর উত্তর দিতে শুরু করার জন্য, আমাদের নিউরাল নেটওয়ার্কের বেসিক শিখতে হবে।

নিউরাল নেটওয়ার্ক হল ডিপ লার্নিং এর কর্মক্ষেত্র। তারা দেখতে ব্ল্যাক বাক্সের মতো, গভীরভাবে তারা অন্য কোনও মডেলের মতো একই জিনিস সম্পাদন করার চেষ্টা করে — ভাল ফলাফল নির্ণয় করতে।

এই পোস্টে, আমরা একটি সাধারণ নিউরাল নেটওয়ার্কের ইনপুট এবং আউটপুট অন্বেষণ করব। এবং শেষ পর্যন্ত, আশা করি আপনারা নিউরাল নেটওয়ার্কগুলি তারা কী করে তা সম্পর্কে আরো ভালো করে জানবেন।

নিউরাল নেটওয়ার্ক কি?

নিউরাল নেটওয়ার্ক, যা কৃত্রিম নিউরাল নেটওয়ার্ক (এএনএন) বা সিমুলেটেড নিউরাল নেটওয়ার্ক (এসএনএন) নামেও পরিচিত, মেশিন লার্নিংয়ের একটি উপসেট এবং ডিপ লার্নিং অ্যালগরিদমের কেন্দ্রবিন্দুতে রয়েছে। তাদের নাম এবং গঠন মানব মস্তিষ্ক দ্বারা অনুপ্রাণিত, যেভাবে জৈবিক নিউরন একে অপরকে সংকেত দেয়।

কৃত্রিম নিউরাল নেটওয়ার্ক (এএনএন) একটি নোড স্তর নিয়ে গঠিত, যার মধ্যে একটি ইনপুট লেয়ার, এক বা একাধিক হিডেন লেয়ার এবং একটি আউটপুট লেয়ার রয়েছে। প্রতিটি নোড, বা কৃত্রিম নিউরন, অন্যটির সাথে সংযোগ স্থাপন করে এবং এর সাথে সংশ্লিষ্ট ওজন এবং থ্রেশহোল্ড থাকে। যদি কোনও পৃথক নোডের আউটপুট নির্দিষ্ট থ্রেশহোল্ড মানের উপরে থাকে, সেই নোডটি সক্রিয় হয়, নেটওয়ার্কের পরবর্তী লেয়ারে ডেটা পাঠায়। অন্যথায়, নেটওয়ার্কের পরবর্তী লেয়ারে কোনও ডেটা প্রেরণ করা হয় না।

নিউরাল নেটওয়ার্কগুলি সময়ের সাথে সাথে তাদের নির্ভুলতা শিখতে এবং উন্নত করতে ট্রেনিং ডেটার উপর নির্ভর করে। যাইহোক, একবার এই শেখার অ্যালগরিদমগুলি নির্ভুলতার জন্য সূক্ষ্মভাবে টিউন করা হলে, তারা কম্পিউটার বিজ্ঞান এবং কৃত্রিম বুদ্ধিমত্তার শক্তিশালী সরঞ্জাম, যা আমাদের উচ্চ গতিতে ডেটা শ্রেণীবদ্ধ এবং ক্লাস্টার করতে দেয়। সর্বাধিক পরিচিত নিউরাল নেটওয়ার্কগুলির মধ্যে একটি হল গুগলের সার্চ ​অ্যালগরিদম।

নিউরাল নেটওয়ার্ক কিভাবে কাজ করে?

ইনপুট ডেটা, ওজন, একটি পক্ষপাত (বা থ্রেশহোল্ড), এবং একটি আউটপুট দ্বারা গঠিত প্রতিটি পৃথক নোডকে তার নিজস্ব লিনিয়ার রিগ্রেশন মডেল হিসাবে ভাবুন। সূত্রটি দেখতে কিছুটা এরকম হবে:

∑wi.xi + bias = w1.x1 + w2.x2 + w3.x3 + bias

output = f(x) = 1 if ∑w1x1 + b>= 0; 0 if ∑w1x1 + b < 0

একবার একটি ইনপুট লেয়ার নির্ধারিত হলে, ওজন নির্ধারণ করা হয়। এই ওজনগুলি যেকোনো ভেরিয়েবলের গুরুত্ব নির্ধারণে সাহায্য করে, বড়গুলি অন্যান্য ইনপুটের তুলনায় আউটপুটে আরও উল্লেখযোগ্যভাবে অবদান রাখে। সমস্ত ইনপুট তারপর তাদের নিজ নিজ ওজন দ্বারা গুণিত হয় এবং তারপর যোগ করা হয়। পরে, আউটপুটটি একটি অ্যাক্টিভেশন ফাংশনের মাধ্যমে পাস করা হয়, যা আউটপুট নির্ধারণ করে। যদি সেই আউটপুট প্রদত্ত থ্রেশহোল্ড অতিক্রম করে, এটি নোডের “ফায়ার” (বা সক্রিয় করে), নেটওয়ার্কের পরবর্তী স্তরে ডেটা প্রেরণ করে। এর ফলে একটি নোডের আউটপুট পরবর্তী নোডের ইনপুটে পরিণত হয়। এক লেয়ার থেকে পরবর্তী লেয়ারে ডেটা প্রেরণের এই প্রক্রিয়া এই নিউরাল নেটওয়ার্ককে ফিডফরওয়ার্ড নেটওয়ার্ক হিসাবে সংজ্ঞায়িত করে।

নিউরাল নেটওয়ার্কের ধরন

নিউরাল নেটওয়ার্কগুলিকে বিভিন্ন প্রকারে শ্রেণিবদ্ধ করা যায়, যা বিভিন্ন কাজে ব্যবহৃত হয়। যদিও এটি প্রকারের একটি বিস্তৃত তালিকা নয়, নীচে সবচেয়ে সাধারণ ধরণের নিউরাল নেটওয়ার্কগুলির প্রতিনিধি হবে যা আপনি এর সাধারণ ব্যবহারের ক্ষেত্রে আসবেন:

পারসেপ্ট্রন হল প্রাচীনতম নিউরাল নেটওয়ার্ক, যা ফ্রাঙ্ক রোজেনব্লাট 1958 সালে তৈরি করেছিলেন। এর একটি একক নিউরন রয়েছে এবং এটি একটি নিউরাল নেটওয়ার্কের সহজতম রূপ:

ফিডফরওয়ার্ড নিউরাল নেটওয়ার্ক, বা মাল্টি-লেয়ার পারসেপ্ট্রন (এমএলপি)। এগুলি একটি ইনপুট লেয়ার, একটি হিডেন লেয়ার বা স্তর এবং একটি আউটপুট লেয়ার নিয়ে গঠিত। যদিও এই নিউরাল নেটওয়ার্কগুলিকে সাধারণত এমএলপি হিসাবেও উল্লেখ করা হয়, এটি লক্ষ্য করা গুরুত্বপূর্ণ যে এগুলি আসলে সিগময়েড নিউরন দ্বারা গঠিত, পারসেপ্ট্রন নয়, কারণ বেশিরভাগ বাস্তব বিশ্বের সমস্যাগুলি অ-রৈখিক(নন লিনিয়ার)। ডেটা সাধারণত এই মডেলগুলিতে তাদের প্রশিক্ষণের জন্য দেয়া হয়, এবং তারা কম্পিউটার ভিশন, ন্যাচারাল ল্যাঙ্গুয়েজে প্রসেসিং এবং অন্যান্য নিউরাল নেটওয়ার্কের ভিত্তি।

কনভোলিউশনাল নিউরাল নেটওয়ার্ক (সিএনএন) ফিডফরওয়ার্ড নেটওয়ার্কের অনুরূপ, তবে এগুলি সাধারণত ইমেজ রিকগনিশন , প্যাটার্ন রিকগনিশন এবং/অথবা কম্পিউটার ভিশনের জন্য ব্যবহার করা হয়। এই নেটওয়ার্কগুলি লিনিয়ার আলজেব্রা, ম্যাট্রিক্স গুণ থেকে নীতিগুলি ব্যবহার করে, একটি চিত্রের মধ্যে নিদর্শনগুলি সনাক্ত করতে পারে।

রিকার্রেন্ট নিউরাল নেটওয়ার্কগুলি (আরএনএন) তাদের প্রতিক্রিয়া লুপ দ্বারা চিহ্নিত করা হয়। স্টক মার্কেটের পূর্বাভাস বা বিক্রয় পূর্বাভাসের মতো ভবিষ্যতের ফলাফল সম্পর্কে ভবিষ্যদ্বাণী করার জন্য সময়-সিরিজের ডেটা ব্যবহার করার সময় প্রাথমিকভাবে এই লার্নিং অ্যালগরিদমগুলি ব্যবহার করা হয়।

নিউরাল নেটওয়ার্ক বনাম ডিপ লার্নিং

ডিপ লার্নিং এবং নিউরাল নেটওয়ার্কগুলি কথোপকথনে বিনিময়যোগ্যভাবে ব্যবহৃত হয়, যা বিভ্রান্তিকর হতে পারে। ফলস্বরূপ, এটি লক্ষণীয় যে ডিপ লার্নিং “ডিপ “ কেবল একটি স্নায়ু নেটওয়ার্কের লেয়ারের গভীরতার কথা উল্লেখ করছে। একটি নিউরাল নেটওয়ার্ক যা তিনটি লেয়ারের বেশি — যা ইনপুট এবং আউটপুট সহ অন্তর্ভুক্ত হবে — একটি ডিপ লার্নিং অ্যালগরিদম হিসাবে বিবেচিত হতে পারে। একটি নিউরাল নেটওয়ার্ক যার মাত্র দুই বা তিনটি লেয়ার রয়েছে তা কেবল একটি বেসিক নিউরাল নেটওয়ার্ক।

--

--