← Back to list

ডিপ লার্নিং বেসিক-পর্ব ১

ডিপ লার্নিং (deep learning) কি বোঝার আগে মেশিন লার্নিং কি সেটা একটু জেনে নেই। মেশিন লার্নিং হচ্ছে এমন একটি টেকনিক যার মাধ্যমে একটি…

Sadia Neela in প্রোগ্রামিং পাতা · 2020-07-18 13:51 · 47 claps · 4.9 min read
#ডিপ-লার্নিং #deep-learning #basics-of-deep-learning #deep-learning-in-bangla #bangla
Open on Medium ↗
Wiki topics: ML · Machine Learning EDU · Education & Learning

ডিপ লার্নিং বেসিক-পর্ব ১

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

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

প্রথমত ট্রেইনিং ডাটা সেট দিয়ে সিস্টেমকে ট্রেইন করা হয় তারপর টেস্টিং ডাটাসেট দিয়ে পরীক্ষা করে দেখা হয় সিস্টেমটি কতটা ইফেক্টিভলি লার্ন করতে পেরেছে। এখন কথা হচ্ছে ট্রেইন করতে সময় কত লাগে? ট্রেইনিং আসলে বিভিন্ন প্যারামিটার এর ওপর নির্ভর করে যেমনঃ

  • নেটওয়ার্কের সাইজ
  • কোডিং অপটিমাইজেশন
  • প্রসেসিং ইউনিট এর স্পীড ইত্যাদি।

ডিপ লার্নিং এর প্রয়োগঃ

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

  • নেচারাল ল্যাঙ্গুয়েজ প্রসেসিং
  • সেলফ ড্রাইভিং কার
  • অবজেক্ট ডিটেকশন
  • ভার্চূয়াল অ্যাসিসটেন্ট যেমন গুগোল অ্যাসিস্ট্যান্ট, সিরি
  • কালারিং ব্ল্যাক এন্ড হোআইট ইমেজ ইত্যাদি ।

applications of deep learning

applications of deep learning

আর্টিফিশিয়াল নিউরাল নেটওয়ার্কঃ

আর্টিফিশিয়াল নিউরাল নেটওয়ার্ক কনসেপ্টটি আমাদের মস্তিষ্কের গঠনের উপর ভিত্তি করে তৈরী করা হয়েছে। আমাদের মস্তিষ্কে অসংখ্য নিউরন যেমন একে অপরের মধ্যে তথ্য আদান প্রদান করে, তেমনি আর্টিফিশিয়াল নিউরাল নেটওয়ার্ক এর নিউরনগুলো নিজেদের মধ্যে ডেটা আদান প্রদান করে থাকে। তবে ANN এর নিউরন ( বা নোড) গুলো layer by layer আকারে থাকে ।একটি নেটওয়ার্কের মূলত তিনটি লেয়ার থাকে।

১. ইনপুট লেয়ার — ইনপুট ডাটাগুলো এখানে থাকবে এবং এগুলো pass হবে হিডেন লেয়ার এ।

২. হিডেন লেয়ার — হিডেন লেয়ারের সংখ্যা এক বা একাধিক হতে পারে। এই লেয়ারে কিছু কম্পিউটেশন হবে এবং এর ফলাফল যাবে পরবর্তী হিডেন লেয়ারে অথবা আউটপুট লেয়ারে (যদি এটি শেষ হিডেন লেয়ার হয়)। হিডেন লেয়ারের সংখ্যা বেশি হলে নেটওয়ার্ককে বলা যেতে পারে ডিপ নিউরাল নেটওয়ার্ক।

৩. আউটপুট লেয়ার — এই লেয়ারে প্রেডিকটেড আউটপুট থাকবে।

Layers of Neural Network

Layers of Neural Network

নিউরাল নেটওয়ার্ককে আর একটু ভালভাবে বোঝার জন্য একটি উদাহরণ দেখা যাক। ধরুন আপনি একটি সিস্টেম ট্রেইন করলেন যেটি মোবাইল এবং ক্যালকুলেটরের ইমেজ কে ক্লাসিফাই করতে পারে।এখন পরীক্ষা করার জন্য মোবাইল এর একটি ইমেজ ইনপুট হিসেবে দিয়ে দেখলেন সিস্টেম মোবাইলকে আইডেন্টিফাই করতে পারে কিনা।

ধরুন ইমেজটির ডাইমেনশন হচ্ছে ২৮ * ২৮ অর্থাৎ মোট ৭৮৪ টি পিক্সেল দ্বারা ইমেজটি গঠিত। প্রত্যেকটি পিক্সেল দ্বারা তৈরি হবে প্রথম লেয়ার অর্থাৎ ইনপুট লেয়ার।

Image to Input Layer

Image to Input Layer

ইনপুট লেয়ারের প্রত্যেকটি নিউরন পরবর্তী লেয়ার (হিডেন লেয়ার) এর নিউরনগুলো সাথে কানেক্টেড হবে চ্যানেলের মাধ্যমে । প্রত্যেকটি চ্যানেলকে একটি করে নিউমেরিক ভ্যালু এসাইন করা হবে যাকে বলে ওয়েট (weight)। তাহলে এখন চ্যানেলগুলোকে বলা হবে ওয়েটেড চ্যানেল। এখন প্রতিটি ইনপুট ভ্যালু দিয়ে তার সাথে সম্পৃক্ত চ্যানেলগুলোর ওয়েট গুণ করে এদের যোগফল কে pass করা হবে হিডেন লেয়ার এর ইনপুট হিসেবে। হিডেন লেয়ারের প্রত্যেকটি নিউরনকে একটি করে নিউমেরিক ভ্যালু এসাইন করা হবে যাকে বলে বায়াস (bias)। ইনপুট হিসেবে পাওয়া যোগফলের সাথে বায়াস যোগ করে এর result পাঠানো হবে অ্যাক্টিভেশন ফাংশনের মধ্যে (অ্যাক্টিভেশন ফাংশন সম্পর্কে আলোচনা করব একটু পরে)। অ্যাক্টিভেশন ফাংশন নির্ধারণ করবে নিউরনটি এক্টিভেট হবে কিনা।

নিচে একটি সিম্পল নিউরাল নেটওয়ার্ক এর হিডেন লেয়ার এর প্রথম নিউরনটির জন্য ক্যালকুলেশন করে দেখানো হল। এভাবেই সবগুলো নিউরনের জন্য ক্যালকুলেশন করা হবে।

Calculation for single node

Calculation for single node

এভাবে যে নিউরনগুলো এক্টিভেট হবে সেই নিউরনগুলো পরবর্তী লেয়ারে ডাটা pass করতে পারবে। সব শেষে ডেটা যাবে আউটপুট লেয়ারে। এভাবেই লেয়ার থেকে লেয়ারে ডাটা স্থানান্তরিত হতে থাকবে যাকে বলা হয় ফরওয়ার্ড প্রপাগেশন।

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

অ্যাক্টিভেশন ফাংশনঃ

অ্যাক্টিভেশন ফাংশন নির্ধারণ করবে কোন একটি নির্দিষ্ট নিউরন এক্টিভেট হবে কিনা। মেশিন লার্নিং এর ভাষায় এর কাজ হচ্ছে নেটওয়ার্ককে non-linear করা । এটি নেটওয়ার্ককে কমপ্লেক্স ম্যাপিং করতে শেখায়। অ্যাক্টিভেশন ফাংশন কে ট্রানসফর্মেশন ফাংশনও বলা হয় কেননা এটি ইনপুটকে ট্রানসফর্ম করে non-linear আউটপুট জেনারেট করে।কিছু উল্লেখযোগ্য অ্যাক্টিভেশন ফাংশন নিয়ে আলোচনা করা যাক।

১. সিগময়েড বা লজিস্টিক ফাংশনঃ এটি একটি জনপ্রিয় non-linear অ্যাক্টিভেশন ফাংশন। এই ফাংশনটির আউটপুট রেঞ্জ হচ্ছে [0,1]।

Sigmoid Function

Sigmoid Function

Sigmoid graph

Sigmoid graph

২. হাইপারবোলিক ট্যানজেন্ট ফাংশন: এই ফাংশনটিকে সিগময়েড ফাংশনের alternative হিসেবে ব্যবহার করা যায়। সিগময়েডের তুলনায় এর সুবিধা হচ্ছে নেগেটিভ আউটপুট ও ম্যাপ করা যায়।

tanh Function

tanh Function

tanh graph

tanh graph

৩. রেকটিফাইড লিনিয়ার ইউনিটঃ এটি ডিপ লার্নিং এর বহুল ব্যবহৃত অ্যাক্টিভেশন ফাংশন । এই ফাংশনটি সমস্ত নেগেটিভ ইনপুট কে জিরো করে দেয়। যদি ইনপুট নেগেটিভ না হয় তাহলে স্বয়ং ইনপুটকেই আউটপুট হিসেবে বের করে দেয়।

Relu Function

Relu Function

Relu graph

Relu graph

এগুলো ছাড়াও আরো বিভিন্ন ধরনের অ্যাক্টিভেশন ফাংশন রয়েছে যেমন বাইনারি স্টেপ ফাংশন, সফটম্যাক্স, এক্সপোনেনশিয়াল লিনিয়ার ইউনিট , Leaky ReLU, Parametric ReLU ইত্যাদি।

পোস্টটির এই পর্ব এখানেই শেষ করছি। ইনশাআল্লাহ পরবর্তী পর্বে আরেকটি গুরুত্বপূর্ণ টপিক কনভলিউশনাল নিউরাল নেটওয়ার্ক নিয়ে আলোচনা করব।

পোস্টটি নীচের লিংক এও পাওয়া যাবে।

https://bitwisey.com/%e0%a6%a1%e0%a6%bf%e0%a6%aa-%e0%a6%b2%e0%a6%be%e0%a6%b0%e0%a7%8d%e0%a6%a8%e0%a6%bf%e0%a6%82-%e0%a6%ac%e0%a7%87%e0%a6%b8%e0%a6%bf%e0%a6%95-%e0%a6%aa%e0%a6%b0%e0%a7%8d%e0%a6%ac-%e0%a7%a7-basics-of-dee/


메타데이터
post_id
f9ba093e0c85
slug
ডিপ-লার্নিং-বেসিক-পর্ব-১-f9ba093e0c85
url
https://medium.com/%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A7%8B%E0%A6%97%E0%A7%8D%E0%A6%B0%E0%A6%BE%E0%A6%AE%E0%A6%BF%E0%A6%82-%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE/%E0%A6%A1%E0%A6%BF%E0%A6%AA-%E0%A6%B2%E0%A6%BE%E0%A6%B0%E0%A7%8D%E0%A6%A8%E0%A6%BF%E0%A6%82-%E0%A6%AC%E0%A7%87%E0%A6%B8%E0%A6%BF%E0%A6%95-%E0%A6%AA%E0%A6%B0%E0%A7%8D%E0%A6%AC-%E0%A7%A7-f9ba093e0c85
canonical_url
https://medium.com/%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A7%8B%E0%A6%97%E0%A7%8D%E0%A6%B0%E0%A6%BE%E0%A6%AE%E0%A6%BF%E0%A6%82-%E0%A6%AA%E0%A6%BE%E0%A6%A4%E0%A6%BE/%E0%A6%A1%E0%A6%BF%E0%A6%AA-%E0%A6%B2%E0%A6%BE%E0%A6%B0%E0%A7%8D%E0%A6%A8%E0%A6%BF%E0%A6%82-%E0%A6%AC%E0%A7%87%E0%A6%B8%E0%A6%BF%E0%A6%95-%E0%A6%AA%E0%A6%B0%E0%A7%8D%E0%A6%AC-%E0%A7%A7-f9ba093e0c85
author_url
https://medium.com/@neela08
status
ok
fetched_at
2026-07-28 23:00:16