Register Now

Login


Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Login


Register Now

Welcome to Our Site. Please register to get amazing features .

Neural Network – নিউরাল নেটওয়ার্ক এর সুচনা

Neural Network – নিউরাল নেটওয়ার্ক এর সুচনা

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

আন্দাজ করুন তো নিজের মাকে দেখে চিনতে আমাদের কতক্ষণ সময় লাগতে পারে?উত্তরটা হচ্ছে আনুমানিক ০.১ সেকেন্ড।আমাদের মস্তিষ্কটা হচ্ছে নিউরনের আখড়া। চোখ যা দেখে সে সেই তথ্য মস্তিষ্কে পাঠিয়ে দেয়, এরপর নিউরনে ফায়ারিং হয়। এই ফায়ারিং গোলা-বারুদের নয় বরং ফলাফলের। আমাদের মস্তিষ্কে আনুমানিক ১০^১১ টি নিউরন আছে, যারা একে অপরের সাথে সংযুক্ত। একটি নিউরন আবার প্রায় ১০^৪ টি নিউরনের সাথে সংযুক্ত থাকে। এদের কাজ হচ্ছে এদের কাছে আসা তথ্য ঠিকভাবে প্রসেস করে পরবর্তী নিউরনকে দেয়া, এভাবে “দশে মিলে” কাজ করে তারা একটা সিদ্ধান্তে পৌঁছায়। যেটা দিয়ে আমরা পরীক্ষার হলে পরীক্ষা দিই, প্রিয় মানুষগুলোকে চিনতে পারি আরো কত জটিল কাজ করি।আমরা মঙ্গল গ্রহে বাস করার চিন্তা করতে পারছি যেই মস্তিষ্ক দিয়ে সেই মস্তিষ্কের সকলকিছু এখনো আমরা জানতে পারি নাই। কিন্তু এই মস্তিষ্কের গঠন আর কাজের ধরন সম্পর্কে আমরা যতোটুকু জানতে পেরেছি তা দিয়েই আমরা এগিয়ে যাচ্ছি।এখন ব্যাপার হচ্ছে আমাদের মস্তিষ্ক সবচেয়ে দ্রুত সময়ে যেই কাজ করতে পারে তা করতেও সে সময় নেয় প্রায় ১০^-৩ সেকেন্ড যেখানে মোটামোটি মানের কম্পিউটারের সময় লাগে প্রায় ১০^-১০ সেকেন্ড। কিন্তু মানব মস্তিষ্ক এতোটুকু সময় বেশি নিয়েও যেই জটিল কাজ করতে পারে, মানব সৃষ্ট কম্পিউটার তো তা পারে না।দুইটা বিশাল বিশাল সংখ্যা গুণ করতে দিলে কিংবা খুব বড় কোন সখ্যার বর্গমূল বের করতে দিলে যেকোন মানুষের অনেক সময় লাগবে ক্ষেত্র বিশেষে নাও পারতে পারে। কম্পিউটার কিন্তু খুব কম সময়ে নির্ভুলভাবে তা নির্ণয় করে দিবে। অপরদিকে আমরা মানুষরা যেভাবে ৪ বছরের বাচ্চার আঁকা-বাঁকা লিখা দেখেও বুঝতে পারি সে কি লিখতে চেয়েছে কিংবা তার অস্পষ্ট উচ্চারণ শুনেও আমরা বুঝতে পারি সে কি বুঝাতে চাচ্ছে, কম্পিউটারের পক্ষে কি কাজটা খুব সহজে করা সম্ভব? উত্তরটা অবশ্যই না। কম্পিউটার হলো বোকা, ওকে যা বলে দেয়া হয় তার থেকে “এক কলমও” ও বেশি বুঝতে পারে না যায় না।অসম্ভব বলেই তো মানুষ কোনদিন বসে থাকে নি, মানুষের কাজগুলো কম্পিউটারকে দিয়ে করাতে হলে মানুষের কাছ থেকেই কিছু ধার নিতে হবে। আর তা হলো মানুষের মস্তিষ্কের কাজের ধরন, সেই থেকে অনুপ্রাণিত হয়েই এসেছে Artificial Neural Network. মানুষের নিউরনের কাজের ধারার আদলে নির্মিত Neural Network। যা দিয়ে এখন “বোকা”টাও বিভিন্ন ভাষার হাতের লিখা, কোনটা মানুষ কোনটা বেড়াল তা চিনতে পারে। কাজটা মোটেও খুব সহজ নয়।Neural Network এর বাস্তবসম্মত একটা উদাহরণ নিয়ে কথা বলি –আমাদের প্রত্যেকের হাতের লিখা আলাদা, একই অক্ষর আমরা একেকজন একেকভাবে লিখে থাকি। কম্পিউটারের নিজস্ব কোন বুদ্ধি নেই, আমি-আপনি যতোটুকু বলবো ওর জানা বা করার ক্ষমতা ততোটুকুই। নিউরাল নেটওয়ার্ক ব্যবহার করে হাতের লিখা চেনার মতো জটিল কাজ কম্পিউটারের পক্ষে এখন করা সম্ভব হচ্ছে। প্রতিটা জিনিস(দৃশ্যত) পিক্সেলে আমরা রিপ্রেজেন্ট করতে পারি। 0-9 পর্যন্ত প্রতিটা সংখ্যার একটা নির্দিষ্ট প্যাটার্ন আছে, একটা নির্দিষ্ট ফ্রেমে বন্দী করে ব্যাপারটা চিন্তা করতে পারি। 28×28 2-D একটা ফিল্ড চিন্তা করি, যেকোন একটা সংখ্যা আঁকতে নির্দিষ্ট কিছু বক্সের উপর দিয়ে আমার কলম ঘুরাতে হবে। এটা হবে আমার মেশিনের জন্য ইনপুট। সে এটাকে খুব ছোট ছোট ভাগে ভাগ করবে – Part A। এই ছোট ছোট পার্টগুলি দিয়ে আরেকটু বড় একটা পার্টের সাথে মিল খুঁজে পাবে। যেমনঃ 1 এর ক্ষেত্রে ধরি ছোট ছোট পার্টগুলি হলো চারটা লম্বা দাগ। যার সমষ্টি করলে(একটার উপর একটা দাঁড় করালে) 1 হয়। এবার পরের ধাপে দেখবে দুইটা লম্বা দাগ যোগ করে কি পাই? কারণ 4 এর ক্ষেত্রে দেখুন ওর 1 এর মতো লম্বা দাগের একটা প্রোপার্টি আছে। দ্বিতীয় ধাপে এই লম্বা দাগের কাছাকাছি গেলো। এবার ও পরের ধাপে সিদ্ধান্ত নিবে ধরি – আচ্ছা – আমার এই সংখ্যায় আমি একটা লম্বা দাগ পেয়েছি তাঁর সাথে আর কিছু নাই। তার মানে এটা 1.

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

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

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

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

আর্টিফিশিয়াল নিউরাল নেটওয়ার্ক নিজে নিজে শিখে নিতে পারে। শেখার উপর ভিত্তি করে লিঙ্ক এর weight পরিবর্তন হয়।

দুই ধরনের আর্টিফিশিয়াল নিউরাল নেটওয়ার্ক রয়েছে।

  • Feedforward ANN
  •  Feedback ANN

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

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

প্রথাগতভাবে, নিউরাল নেটওয়ার্ক (Neural Network) বলতে একটি নেটওয়ার্ক অথবা একটি জৈবিক নিউরনের (Biological Neurons) সার্কিটকে বোঝানো হত। আধুনিক যুগে নিউরাল নেটওয়ার্ক বলতে আরও একটি নেটওয়ার্ক কে বোঝায় যা আর্টিফিসিয়াল নিউরাল নেটওয়ার্ক (Artificial neural network) নামে পরিচত, যা মূলত আর্টিফিসিয়াল নিউরন বা নোডের সমন্নয়। সুতরাং, নিউরাল নেটওয়ার্ক শব্দটির দুইটি আলাদা ব্যবহার রয়েছেঃ

১. জৈবিক নিউরাল নেটওয়ার্ক হচ্ছে প্রকৃত জৈবিক নিউরন নেটওয়ার্ক যার মাধ্যমে স্নায়ুতন্ত্র একে অপরের সাথে যোগাযোগ করে থাকে। স্নায়ুবিজ্ঞানএদেরকে নিউরন এর দল হিসেবে সনাক্ত করে।
২. কৃত্রিম নিউরাল নেটওয়ার্ক তৈরি হয়েছে কৃত্রিম নিউরনের (প্রোগ্রামিং দ্বারা নির্মানকৃত জৈবিক নিউরনের অনুরূপ) সংযোগ দ্বারা। কৃত্রিম নিউরাল নেটওয়ার্ক কে ব্যবহার করে জৈবিক নিউরাল নেটওয়ার্ক কে বোঝা সম্ভব অথবা প্রকৃত জৈবিক মডেল তৈরি না করেও কৃত্রিম বুদ্ধিমত্তার (Artificial Intelligence) অনেক সমস্যা সমাধান করা সম্ভব। প্রকৃতপক্ষে, জৈবিক স্নায়ুতন্ত্র অসম্ভব জটিল এবং এর কিছু বৈশিষ্ঠ্যের কারণে একে দিয়ে কৃত্রিম নেটওয়ার্ককে বুঝানো অর্নথক বলে মনে হয়।

সাধারণত জৈবিক নিউরাল নেটওয়ার্ক বলতে বোঝায় রাসায়নিক ভাবে সংযুক্ত, পরস্পর সহযোগী কিছু নিউরন এর দলকে। এক একটি নিউরন অপর অনেক নিউরনের সাথে যুক্ত থাকতে পারে। একটি নেটওয়ার্কে নিউরনের মোট সংখ্যা কিংবা, মোট রাসায়নিক সংযুক্তি সংখ্যার হিসাব অনেক ব্যপক। একটি নিউরন অপর একটি নিউরনের সাথে যে যোগসূত্র দিয়ে যুক্ত তাকে সিনাপ্স বলে। axon এবং dendrites এ সিনাপ্স ঘটতে দেখা যায়, অবশ্য Dendrodendritic microcircuits দ্বারা অনান্য বিবিধ প্রকার সংযুক্তিও ঘটতে দেখা যায়। নিউরোট্রান্সমিটার যে শুধু মাত্র বৈদুতিক সংকেত সঞ্চালন করে তা নয়, এর ব্যতিক্রম ও দেখা যায়। আর এ সমস্ত কারনেই নিউরাল নেটওয়ার্ক কে অনেক জটিল বলে মনে করা হয়।

কৃত্রিম বুদ্ধিমত্তা (Artificial intelligence) এবং বোধ ভিত্তিক মডেল (Cognative model) দ্বারা নিউরাল নেটয়ার্ক এর কিছু বৈশিষ্ট্যাবলীকে অনুকরণের (simulate) চেষ্টা করা হয়। প্রথম দিকে নিউরাল নেটয়ার্ক এর নির্দিষ্ট কিছু কাজ সমাধা করার কথা চিন্তা করা হলেও পরের দিকে জৈবিক নিউরাল নেটওয়ার্ক এর গাণিতিক মডেল তৈরির করার দিকে মননিবেশ করা হয়।

কৃত্রিম বুদ্ধিমত্তা (Artificial intelligence) দ্বারা কৃত্রিম নিউরাল নেটওয়ার্ককে বোঝানো হয়, ছবি বিশ্লেষণ অথবা সমন্বয় সাধনযোগ্য নিয়ন্ত্রণ কে কম্পিউটার সফটওয়্যার বা স্বশাসিত রোবোট এ খুব সুন্দর ভাবেই প্রয়োগ করা হয়েছে। বেশির ভাগ কৃত্রিম নিউরাল নেটওয়ার্কই পরিসংখ্যানিক অনুমান, বাছাইকরন ও নিয়ন্ত্রন তত্ত্বের ভিত্তিতে গঠিত।

সোর্সঃ উইকি,mc.

 

About Ask me anything


Follow Me

Leave a reply

Captcha Click on image to update the captcha .