এখনকার দুনিয়াতে নিয়মিত মোবাইল ফোন বা ইন্টারনেট ব্যবহার করেন অথচ আর্টিফিশিয়াল ইন্টেলিজেন্স বা কৃত্রিম বুদ্ধিমত্তার সাথে একেবারেই অপরিচিত, এমন মানুষের সংখ্যা প্রায় নেই বললেই চলে। তোমরাও নিশ্চয়ই শুনেছ বিভিন্নরকম AI engine এর কথা। সোশ্যাল মিডিয়াতে ছবি দিলেই ঝপাঝপ ‘অটো-ট্যাগ’ হয়ে যাচ্ছে, গুগলে সার্চ দিলেই খড়ের গাদা থেকে একেবারে সূঁচ এনে হাজির করছে, ভয়েস অ্যাসিস্ট্যান্টকে ডাক দিয়ে প্রশ্ন জিজ্ঞেস করলে খুঁজে দিচ্ছে উত্তর, চালাচ্ছে পছন্দের গান বা সিনেমা—এই সবকিছুর পিছনেই কাজ করছে কৃত্রিম বুদ্ধিমত্তার কেরামতি। এ তো গেলো রোজকার জীবনের সাধারণ রোজনামচার কথা। এর বাইরে আর্টিফিশিয়াল ইন্টেলিজেন্সের ঢালাও প্রয়োগ রয়েছে সমস্ত ক্ষেত্রে—ব্যাঙ্কিং থেকে জ্যোতির্বিজ্ঞান, স্বাস্থ্য থেকে ফুড ডেলিভারি।
কৃত্রিম বুদ্ধিমত্তার সুবিধা হল এই যে, এর খুঁটিনাটি দেখার ক্ষমতা মানুষের চেয়ে অনেক বেশি। আমরা আমাদের অভিজ্ঞতার উপর নির্ভর করে অনেক কিছু অনুমান করে নিতে পারি। কম্পিউটারের সেই অভিজ্ঞতার ঝুলি স্বাভাবিকভাবেই মানুষের মত অত প্রকাণ্ড নয়। তাকে যেটুকু শেখানো হয়, সে সেটুকুই শেখে—ওটুকুই তার অভিজ্ঞতা।
কম্পিউটারকে ধোঁকা দেওয়া
মনে করো, তোমাকে একটি বিড়ালের ছবি দেখানো হলো। জিজ্ঞেস করা হলো এটা কীসের ছবি? ছেলেবেলা থেকে রোগা-মোটা হুলো-মেনি নানারকম বিড়াল দেখে বড় হয়েছি আমরা সকলেই। তাই তুমি চটজলদি ছবি দেখে চিনেও নেবে। এবার সেই একই ছবি দেখানো হলো কম্পিউটারকে। কম্পিউটারকেও আগে নানা ধরনের মেনি হুলো কাবুলি বিড়ালের ছবি দেখিয়ে প্রশিক্ষণ দেওয়া হয়েছে যে এদের বলে বিড়াল—বাচ্চাদের যেমন শেখানো হয় আর কি! সুতরাং সেও বলে দিতে পারবে যে এটা বিড়ালের ছবি। কিন্তু এই যে দেখার পদ্ধতি, তা আমাদের দেখার পদ্ধতির থেকে কিছুটা আলাদা।
আমাদের অসংখ্য বিড়াল দেখার অভিজ্ঞতা থাকায় একটা ছবিতে যে বিড়াল আছে, সেটা চিনতে আলাদা করে ছবির প্রতিটা অংশ খুঁটিয়ে দেখার দরকার পড়ে না। বরং আমরা এক ঝলকে বুঝে নিই যে এই তো তেকোনা কান, মার্বেলের মতো চোখ, খোঁচা খোঁচা গোঁফ—এ স্বয়ং মার্জার ম্যাডাম ছাড়া আর কেউ হতেই পারেন না। অন্যদিকে যন্ত্র এই ছবির প্রতিটি পিক্সেলকে আলাদা করে পর্যবেক্ষণ করে। প্রতিটি রঙের প্রত্যেক আণুবীক্ষণিক বর্ণ-বিন্দুকে পৃথকভাবে বিচার করে তবে সে সিদ্ধান্ত নেয় যে এ ছবি বিড়ালের।
আর সেখানেই গোলমাল। যন্ত্রের এই খুঁটিয়ে দেখার ‘চোখ’কে সহজেই বোকাও বানানো যায়। বিড়ালের ছবির সাথে কিছু মিশ্র রঙের পিক্সেলকে যদি নির্দিষ্ট প্যাটার্নে মিশিয়ে দেওয়া যায়, তবে তা সাধারণভাবে আমাদের চোখে ধরা পড়বে না। আমরা যেমন ছবি ছিল, তাই দেখব। কিন্তু কম্পিউটারের আণুবীক্ষণিক চোখে সেই পিক্সেলগুলি ধরা পড়বে। আর এই রঙের পিক্সেলের মিশ্র ভেজাল তাকে ছবিটি সম্পর্কে ভুল অনুমান করতে বাধ্য করবে। ছিল বিড়াল, হয়ে যাবে রুমাল।
কৃত্রিম বুদ্ধিমত্তাকে এই ধরনের বোকা বানিয়ে দেওয়ার নাম হলো, অ্যাডভার্সারিয়াল অ্যাটাক (adversarial attack) বা অভিঘাতী আক্রমণ।
বহুক্ষেত্রে অনেক উন্নত কৃত্রিম বুদ্ধিমান অ্যালগরিদমকে ইচ্ছে করে ধোঁকা দেওয়া হয় এই অভিঘাতী আক্রমণ শানিয়ে। এর ফলে শুধু তো বিড়ালকে রুমাল বা রুমালকে বিড়াল বলে অনুমান করা নয়, ক্ষতি হতে পারে লক্ষ লক্ষ ডলারের। দেশের প্রতিরক্ষা ব্যবস্থায় গোলযোগ দেখা যেতে পারে, বিশ্বের বড় বড় প্রতিষ্ঠানকে সম্মুখীন হতে হয় অনেক অযাচিত পরিস্থিতির। সেই জন্য বিশ্ব জুড়ে বহু গবেষণা চলেছে ক্রমাগত—কী করে যন্ত্রকে বাঁচানো যায় এই জাতীয় আক্রমণ থেকে—কীভাবে তাকে আরো একটু মানুষ করা যায়।
যন্ত্রের শিক্ষাকে কীভাবে আরো মজবুত করা যায়
এখনো সেভাবে সব দিক দিয়ে প্রতিরোধক্ষম সমাধান আমাদের হাতে আসেনি। কিন্তু মানুষের চেষ্টা তো থেমে থাকে না। সম্প্রতি ইউনিভার্সিটি অফ ক্যালিফোর্নিয়া, সান ডিয়েগোর একদল নিউরোসায়েন্টিস্ট গবেষণা করে যন্ত্রকে আরো কিছুটা মনুষ্যত্ব প্রদানের চেষ্টা করেছেন। মানুষের এক বিশেষ গুণ দিয়েই তারা মোকাবিলা করতে চান অভিঘাতী আক্রমণের। কোন গুণ? যেটা শীতের দিনে লেপের তলায় আমাদের সকলেরই অত্যন্ত পছন্দের—ঘুম!
কম্পিউটার ঘুমাবে—তাতে আশ্চর্যের কী? ল্যাপটপকে ‘স্লিপ’ মোডে রেখে দেওয়া তো এখন ওয়ার্ক ফ্রম হোমের জমানায় আমাদের নিত্যকার কাজ। কিন্তু এ ঘুম সে ঘুম নয়। এ ঘুম একেবারে মানুষের মতো ঘুম।
মানুষের ঘুমের মধ্যে মস্তিষ্কে বেশ কয়েকটি প্রয়োজনীয় কাজ হয়। তার মধ্যে প্রধানতম হলো দীর্ঘস্থায়ী স্মৃতি বা লংটার্ম মেমরি নির্মান। দৈনন্দিন জীবনে আমাদের চারপাশে যা ঘটনা ঘটছে তা থেকে কিছু বাছাই ঘটনা বা অভিজ্ঞতা স্থান করে নেয় মস্তিষ্কের ‘লাইব্রেরী’তে। আর সেগুলি থেকে যায় জীবনভর। ২০১৫ সালে মুক্তি পাওয়া ডিজনির ‘ইনসাইড আউট’ ছবিটির কথা যদি তোমার ‘লংটার্ম মেমরি’তে থাকে, তাহলে ব্যাপারটা সহজেই বুঝতে পারবে। সেখানে রাইলি নামের ছোট্ট মেয়েটির মনের মণিকোঠায় যত্ন করে তুলে রাখা হতো সব সুখস্মৃতিকে—দীর্ঘমেয়াদি করে তোলার জন্য। আর এই কাজটা করার জন্য ঘুমই হলো আদর্শ সময়। সমস্ত ইন্দ্রিয়রা যখন নিদ্রামগ্ন, তখন সারাদিনে জোগাড় করা যাবতীয় তথ্য বিশ্লেষণ করে তার থেকে পাওয়া অভিজ্ঞতাকে সঞ্চিত করে রাখে সদাজাগ্রত আমাদের মস্তিষ্ক।
আর এই ব্যাপারটিই যন্ত্রের ক্ষেত্রে করা যায় কি না তার পরীক্ষা করেছেন মাকসিম বাজেনভ (Maksim Bazhenov) ও তাঁর দল [১, ২]।
মানুষের স্নায়ুতন্ত্রের নকল
মানুষের শরীরে ছড়িয়ে থাকে স্নায়ু। এই স্নায়ুতন্ত্রের মাধ্যমেই বহির্জগতের সাথে আমাদের মস্তিষ্কের যাবতীয় যোগাযোগ। এর সাহায্যে সমস্ত ইন্দ্রিয়গ্রাহ্য অনুভূতির জটিল বিচারের মাধ্যমে তথ্য বিশ্লেষণ করে তৈরি হয় আমাদের অভিজ্ঞতা। আর এই অভিজ্ঞতা থাকার ফলেই আমরা বিড়ালকে বিড়াল বা আরশোলাকে আরশোলা বলে চিনতে পারি।
বয়সের সাথে অভিজ্ঞতার ভাণ্ডার যত পূর্ণ হয়, তত জ্ঞানবৃদ্ধ হই আমরা। ঘ্যানঘ্যানে বাচ্চাদের তাই সহজেই ভোলানো যায়, কিন্তু পরিণত বয়স্ক মানুষের অভিমান জমে হয়ে থাকে পাহাড়ের মতো। সে যাই হোক, মানবশরীরের স্নায়ুতন্ত্রকে নকল করে যন্ত্রকে শেখানোর যে পদ্ধতি অবলম্বন করা হয়, তাকে বলে আর্টিফিসিয়াল নিউরাল নেটওয়ার্ক (artificial neural network) বা কৃত্রিম স্নায়ুতন্ত্র। প্রদেয় তথ্যকে সকল প্রকারের কাটাছেঁড়া করে বিভিন্ন গাণিতিক জটিল সমীকরণের মাধ্যমে যন্ত্রকে প্রশিক্ষণ দেওয়া হয় [৩]।
কীভাবে?
বিড়াল আর আরশোলার ছবির কথাই চিন্তা করো। একটা ছবি মানে আসলে কী? তোমাদের কম্পিউটারের পর্দায় একটা যে কোনো ছবিকে যদি সর্বাধিক জুম করে দেখো, তাহলে দেখতে পাবে অসংখ্য বর্গাকার রঙের বিন্দু পর পর পাশাপাশি এবং উপর-নিচে সাজানো রয়েছে। এদেরকে বলে পিক্সেল বা বর্ণবিন্দু। সাদা-কালো ছবির জন্য সাদা আর কালো এই দুটো রঙ হলেই চলে। রঙিন ছবির ক্ষেত্রে সাধারণত তিনটি রঙ দরকার হয়–লাল, সবুজ এবং নীল।
দেখা গেছে, এই তিনটি বর্ণকে বিভিন্ন অনুপাতে মিশিয়ে আমাদের চর্মচক্ষে যে সমস্ত রঙ ধরা পড়ে, তাদের সকলকেই সৃষ্টি করা যায়। তাই রঙিন ছবির প্রতিটি বর্ণবিন্দুকে এই তিন রঙের একটা অনুপাত হিসাবে প্রকাশ করা যায়। আমাদের কম্পিউটার বা মোবাইল ফোন তো অত রঙ-টঙ বোঝে না, বোঝে খালি সংখ্যা। প্রতিটি বর্ণবিন্দুকে তাই কম্পিউটার দেখে তিনটি সংখ্যা হিসাবে–কতটা লাল, কতটা নীল আর কতটা সবুজ।
এই তিনটি সংখ্যাকে একসাথে আমরা গণিতের পরিভাষায় একটা টুপল (Tuple) ও বলতে পারি। সুতরাং বিড়ালের সম্পূর্ণ ছবিতে যদি এক লক্ষ এমন বর্ণবিন্দু থাকে, তাহলে তোমার কম্পিউটার তাকে দেখবে এক লক্ষটি টুপল হিসাবে। একইভাবে আরশোলার ছবিকেও অমন এক লক্ষ ভিন্ন ভিন্ন টুপলের সমাহার হিসাবে দেখা হবে। ছবি দেখা তো হলো, কিন্তু কোনটা কার ছবি সেটা কীভাবে জানা যাবে?
ছোট বাচ্চাদের শেখানোর মতই কম্পিউটারকেও শেখাতে হয় টুপলরূপী বর্ণবিন্দু কীভাবে সজ্জিত থাকলে তা হবে বিড়াল, আর কীভাবে থাকলে তা হবে আরশোলা। প্রাণীদের স্নায়ুতন্ত্রের মতোই কৃত্রিম স্নায়ু ব্যবহার করা হয় কম্পিউটারকে শিক্ষা দেওয়ার কাজে। অবশ্যই সেসব অঙ্কের নানাবিধ সমীকরণের আকারে।
প্রাণীর স্নায়ুতন্ত্রের প্রতিটি স্নায়ুর থাকে একটা মাথা, যাকে বলে ডেন্ড্রন (dendron) আর সাথে লম্বা একটি দেহ, যার পোশাকি নাম অ্যাক্সন (axon)। এই অ্যাক্সন অন্য প্রান্তে আঙুলের মত অংশ দিয়ে খামচে ধরে রাখে পরের ডেনড্রনকে। তাদের বলে সাইন্যাপটিক টার্মিনালস (synaptic terminals)। আর এই সাইন্যাপটিক টার্মিনাল দিয়েই এক স্নায়ু থেকে অন্য স্নায়ুর মাধ্যমে আমাদের সমস্ত ইন্দ্রিয়গ্রাহ্য জিনিস ইন্দ্রিয় থেকে সোজা গিয়ে জমা হয় মস্তিষ্কের ‘হার্ড ডিস্কে’।
কম্পিউটারেও আর্টিফিসিয়াল নিউরাল নেটওয়ার্ক (ANN) বা কৃত্রিম স্নায়ুতন্ত্র নির্মাণ করা হয় অনুরূপ আকারে। ডেনড্রনের মতো এখানে কম্পিউটার প্রোগ্রামিং-এর মাধ্যমে তৈরি করা হয় নোড এবং তার অ্যাক্সন-এর অনুরূপ এই নোডগুলির কানেকশনস (connections)। নোড বা তাদের এই কানেকশনগুলি আদতে কিছু গাণিতিক সমীকরণ। বিড়াল বা আরশোলার ছবির মধ্যে সংখ্যার প্যাটার্নগুলির সাহায্যে এই সমীকরণগুলির মাধ্যমে কিছু অজানা ধ্রুবকের মান নির্ধারণ করে কম্পিউটার মনে রেখে দেয় [৩]।
যন্ত্রের ঘুম
এই শিক্ষা পদ্ধতির মাঝেই একটু সময় ঘুমের প্রয়োজন দেখেছেন বাজেনভ আর সহকর্মীরা। ঐ যে উপরে কৃত্রিম নিউরাল নেটওয়ার্কের কথা বললাম, সেই নেটওয়ার্কে কিছু পরিবর্তন করে তাকে পরিণত করা হয় একটা স্পাইকিং নিউরাল নেটওয়ার্কে (SNN)। স্পাইকিং নিউরাল নেটওয়ার্কের সাথে সাধারণ নিউরাল নেটওয়ার্কের একটা তফাৎ আছে। স্পাইকিং-এ সিগন্যাল একটা স্নায়ু থেকে আরেকটাতে তখনই যায় যখন স্নায়ুর ইনপুটগুলো সব মিলে একটা মাত্রা ছাড়ায়। অর্থাৎ এই ধরণের নিউরাল নেটওয়ার্কে সময়ের একটা ধারণা রয়েছে। কোনো সময়ে সিগন্যাল যাচ্ছে, কখনো যাচ্ছে না। মানুষের মস্তিষ্কের স্নায়ুতন্ত্রও অনেকটা এইভাবেই কাজ করে।
স্পাইকিং নিউরাল নেটওয়ার্কে পরিবর্তনের পর শুরু হয় ঘুম। নেটওয়ার্কের সংযোগগুলোকে এবার বাড়ানো-কমানো হয় কিছু নিয়ম অনুযায়ী। এই সময় বাইরে থেকে কোনো ইনপুট আসে না। ঠিক যেমনটা হয় ঘুমের সময়। এই সময় আমাদের মগজ সকল ইন্দ্রিয়কে প্রসুপ্ত করে রাখলেও নিজে জেগে থাকে। অফিসের কাজকর্ম সেরে এবার তার নিজের কাজকর্ম সারার সময়। এই সময় Spike-timing-dependent plasticity বা সংক্ষেপে STDP নামে একটি পদ্ধতিতে মস্তিষ্ক তার স্নায়ুগুলির অভ্যন্তরীণ যোগাযোগকারী অংশগুলির ক্ষমতা ব্যবহারের উপযোগী করে তোলে।
বাজেনভ-এর কৃতিত্ব হলো এই যে, STDP-র একটি সরলীকৃত সংস্করণকে গাণিতিক ফর্মূলার মাধ্যমে তিনি তার SNN-র মধ্যে সংযোজিত করেছেন। ঘুমের সময় এই ফর্মুলা ব্যবহৃত হবে। তখন আর সাধারণ নিউরাল নেটওয়ার্কের প্রশিক্ষণের মত বাইরে থেকে বিড়াল বা আরশোলার ছবি দেখিয়ে যন্ত্রকে শিক্ষিত করা হবে না। বরং, ঘুমের আগে প্রাপ্ত শিক্ষাকে ব্যবহার করে বিভিন্ন সমীকরণগুলিকে যথোচিত পরিবর্তন করে ভরা হবে যন্ত্রের অভিজ্ঞতার ঝুলি। এই অভিজ্ঞতাই মানুষের ‘লংটার্ম মেমরি’র মত কিছু গাণিতিক জটিল সমীকরণের রূপে থেকে যাবে কম্পিউটারের ‘মেমরি’তে।
আমাদের অভিজ্ঞতালব্ধ জ্ঞান যেমন খুঁটিয়ে না দেখেই বিড়ালকে বিড়াল বলে চিনে ফেলে, বাজেনভ বলছেন, যন্ত্রের ‘ঘুম’ পূর্ব আহরিত তথ্যের অতিরিক্ত খুঁটিনাটি সরিয়ে ফেলে তাকে সামগ্রিক অভিজ্ঞতা হিসাবে সঞ্চিত রাখতে সাহায্য করবে। ফলে কম্পিউটারের এই তথ্য ভিত্তিক প্রশিক্ষণ এবং তারপর কিছুটা “ঘুম” অ্যাডভার্সিয়াল অ্যাটাক থেকে কম্পিউটারকে কিছুটা রক্ষা করতে পারবে। পরীক্ষার মাধ্যমে তারা নিজেদের বক্তব্যকে প্রমাণও করেছেন। যদিও তা এখনো একশো শতাংশ প্রতিরোধ থেকে যোজন মাইল দূরে। তবু ছোট্ট ছোট্ট পায়ে চাঁদের পাহাড় পৌঁছনোর স্বপ্ন তো দেখাই যায়। কে বলতে পারে, ভবিষ্যতের যন্ত্র হয়তো আমাদের মতোই শীতের দুপুরে চাদরের তলায় দিবানিদ্রার আয়োজন করে বলবে, আমি যন্ত্র বলে কি মানুষ নই!
প্রচ্ছদ: Pixabay
তথ্যসূত্রঃ
[১] https://www.quantamagazine.org/ai-researchers-fight-noise-by-turning-to-biology-20211207/
[২] মূল গবেষণাপত্র : https://openreview.net/forum?id=r1xGnA4Kvr
[৩] নিউরাল নেটওয়ার্ক-এ কিরকম অঙ্ক কষা হয় সেইটা নিয়ে এই লেখাতে কিছুটা আভাস পাবেন: https://bigyan.org.in/2019/08/mathematics-of-neural-networks/ ।