সৌমিক: প্রথম প্রশ্নটা রাখি। মেশিন লার্নিং-কে একজন স্কুলপড়ুয়া বা কলেজপড়ুয়ার কাছে কীভাবে ব্যাখ্যা করবেন?
রজার: মেশিন লার্নিং-এর একটা কাজ চালানোর মত সংজ্ঞা দি। আমার মনে হয়, আধুনিক মেশিন লার্নিং আসলে তথ্যের মধ্যে pattern সন্ধানের একটা উপায়। তোমার হাতে তথ্য আছে প্রচুর, এবার সেই তথ্য ঘেঁটে দেখতে হবে তাতে কোনো pattern বা নকশা খুঁজে পাও কিনা। হতে পারে সেটা ছবির মধ্যে মুখ খুঁজে পাওয়া কিম্বা দুই ভাষার গঠনগত মিল খুঁজে এক ভাষা থেকে অন্য ভাষায় রূপান্তর। এই তথ্যের মধ্যে নকশা খুঁজতে গিয়ে আমরা যে algorithm বা সমাধানপদ্ধতিগুলো ব্যবহার করি, সেগুলো কিন্ত পূর্বনির্ধারিত নয়। যা তথ্য ভরা হচ্ছে, সেই অনুযায়ী পদ্ধতিগুলো নিজেরাই পাল্টাতে থাকে। আপাতত এটাকেই মেশিন লার্নিং-এর সংজ্ঞা হিসেবে ধরে নাও।
শৌর্য: এখনো অব্দি সমাজে মেশিন লার্নিং-এর সবথেকে বড় প্রভাব কী?
রজার: আসলে দুটো প্রশ্ন একসাথে করলে। একদিকে রয়েছে প্রয়োগের প্রশ্ন – বৃহত্তর সমাজে মেশিন লার্নিং-এর সাড়া জাগানো কিছু প্রয়োগ কী কী? কিন্তু, এটাও জিজ্ঞেস করতে পারো – আমরা যেভাবে “বিজ্ঞানটা করি”, তাতে মেশিন লার্নিং কী প্রভাব ফেলেছে?
আমি দ্বিতীয় প্রশ্নটা দিয়ে শুরু করি। এই যে একটা পূর্বনির্ধারিত পদ্ধতি (algorithm) না চালিয়ে তথ্যের সাথে পরিবর্তনশীল কোনও পদ্ধতি নিয়ে কাজ করা — এই ব্যাপারটাই নতুন, আগে খুব একটা হয়নি। ধরো ইংরেজি থেকে বাংলা অনুবাদ করার একটা প্রোগ্রাম লিখতে চাই। সব আগে থেকে বলে দেওয়া আছে, এরকম একটা প্রোগ্রাম লিখতে পারি। সবথেকে সহজ প্রোগ্রাম হলো, কোনও ইংরেজি শব্দ পেলে সেটা বাংলা দিয়ে প্রতিস্থাপন করো। বুঝতেই পারছ এভাবে অনুবাদ করলে খুব একটা ভালো হবে না। মানুষে করে এমন বেশিরভাগ কাজই এই ধরণের পূর্বনির্ধারিত প্রোগ্রাম লিখে হয় না।
মেশিন লার্নিং আমাদের একটা উপায় দিলো যাতে একটা লোককে শুরুতেই বসে সব নিয়ম ঠিক করে ফেলতে হবে না। আমরা এমন একটা প্রোগ্রাম লিখতে পারবো যে নিজে থেকেই অনুবাদ করা শিখে নেবে — আমরা শুধু তাকে গাদা গাদা উদাহরণ ইনপুট হিসেবে দেব। উদাহরণগুলো হতে পারে ইংরেজি শব্দ আর তার বাংলা অনুবাদ কিম্বা সম্পূর্ণ কথোপকথনের অনুবাদ।
এইখান থেকে প্রয়োগ সংক্রান্ত প্রশ্নটারও একটা উত্তর দেওয়া যায়। আমার মনে হয়, মেশিন লার্নিং-এর একটা অন্যতম বড় প্রয়োগ দেখা গেলো যখন Google সংস্থার অনুবাদ যন্ত্র Google Translate এই পদ্ধতি ব্যবহার শুরু করলো [১]। ওরা এই সময় প্রথাগত প্রোগ্রামিং থেকে সরে এসে নিউরাল নেটওয়ার্ক (neural network) এবং তথ্যচালিত সমাধানপদ্ধতির (algorithm) দ্বারস্থ হলো। যা তথ্য আসছে, সেই অনুযায়ী সমাধানপদ্ধতিটা যাতে পাল্টাতে থাকে, সেই ব্যবস্থা করলো।
আমার মতে প্রয়োগের কথা ভাবলে, এতদিন অব্দি মানুষের একচেটিয়া এই কাজগুলোই মেশিন লার্নিং-এর সবথেকে বড় প্রয়োগ। বিশেষ করে, মুখ চিনতে পারা (facial recognition) বা কথা বুঝতে পারা (natural language processing), এগুলো তো মেশিন লার্নিং গবেষণার মধ্যে শুরু থেকেই ঢুকে আছে। আমি এর সাথে জুড়বো, কিছু গেম খেলতে পারা বা “গো” খেলাটার সমাধান বার করা।
“গো” খেলাটার সমাধান করতে পারাটা মেশিন লার্নিং-এর প্রগতিতে একটা বড়সড় মাইলফলক ছিল। ধরো, কম্পিউটারকে “গো” খেলা শেখাতে চাও। খেলাটা খুবই শক্ত, প্রত্যেক দানে অনেকগুলো জায়গায় গুটি বসানোর সম্ভাবনা রয়েছে। সব সম্ভাবনা মাথায় রাখতে গেলে খেলার জটিলতা সূচকীয় হারে (exponentially) বেড়েই যাবে। এরকম একটা সূচকীয় জটিলতার সমস্যাকে যে মেশিন লার্নিং বাগে আনতে পারে, “গো” খেলার সমাধান সেইটা দেখিয়ে দিল।
এখান থেকে মেশিন লার্নিং-এর আরেকটা প্রয়োগের কথা কথা বলতে হয়: এমন সব কাজ যেখানে reinforcement learning ব্যবহার করা হয় – যেমন চালক-বিহীন গাড়িতে [২]। এখানেও কিন্তু তথ্যের মধ্যে নকশা (pattern) খোঁজা হচ্ছে, কিন্তু তথ্যটা কীভাবে যোগান দেওয়া হচ্ছে, সেইখানে একটা নতুনত্ব রয়েছে।
সৌমিক: পদার্থবিদ্যার গবেষণাতে মেশিন লার্নিং কী প্রভাব ফেলেছে?
রজার: মেশিন লার্নিং-এর শুরু থেকেই পদার্থবিদ্যায় প্রভাব ছিল। যেমন, ইউরোপের গবেষণা সংস্থা CERN অনেক আগে থেকে মেশিন লার্নিং-এর ব্যবহার শুরু করে। তাদের দেখাদেখি যেসব জায়গায় অনেক তথ্য উৎপাদিত হয়, যেমন অন্যান্য উচ্চশক্তির পদার্থবিদ্যা (high energy physics) বা কণা পদার্থবিদ্যা (particle physics) পরীক্ষায়, সেসব জায়গাতেও মেশিন লার্নিং-এর প্রচলন শুরু হয়। সবই শেষপর্যন্ত অনেক তথ্য হাতে থাকার ফল। CERN-এর কথা যদি ভাবো, কাঁড়ি কাঁড়ি তথ্য উৎপন্ন হয়। কতটা তথ্য সেই আন্দাজ দিতে হলে আমাকে পেটাবাইট-এর (petabyte) ঘরে যেতে হবে।
এরপর আসে তথ্যের মধ্যে হাতড়ানো। ATLAS বা সেইরকম কোনও কণা শনাক্তকারী যন্ত্রের (particle detector) বিপুল তথ্য থেকে খুঁজে বের করতে হয় কাঙ্ক্ষিত কণার চিহ্ন, সে Higgs boson-ই হোক কী অন্য কোনো কণা। বিজ্ঞানী মশাই এই তথ্য সাঁতরে যে কণাটা দেখতে চাইছেন, সেইটার চলার পথের (track) সাথে সদ্য পাওয়া তথ্যের কোথাও মিল আছে কিনা, খোঁজার চেষ্টা করেন। এই বিপুল তথ্যের মধ্যে খোঁজার সমস্যাটা CERN-এর অনেক দশক ধরে ছিল। তাই মেশিন লার্নিং আসতেই তারা চেষ্টা করে এইটা ইস্তামাল করে কণার চিহ্ন খুঁজতে। এটা লক্ষ্যণীয় কারণ CERN সবসময়েই প্রযুক্তিগত দিক থেকে এগিয়ে ছিল। World Wide Web-টাও এক অর্থে তাদেরই তৈরি।
পদার্থবিদ্যার যেখানেই অনেক তথ্য নিয়ে কাজ করতে হয়, সেখানেই মেশিন লার্নিং কাজে লাগে। যেমন, মহাকাশবিদ্যা আরেকটা উদাহরণ। আমি মেশিন লার্নিং দিয়ে লোকজনকে বিভিন্ন ছায়াপথের আলোর বর্ণালীর (spectra) ভিত্তিতে শ্রেণিবিভাজন করতে দেখছি।
আমি নিজে পদার্থ-প্রযুক্তি বিজ্ঞান (material science), কোয়ান্টাম কম্পিউটিং (quantum computing) আর কোয়ান্টাম ইনফরমেশন-এর (quantum information) সন্ধিস্থলে কাজ করি। আমরা সবে বুঝতে শুরু করেছি যে কোয়ান্টাম যন্ত্র, যেমনটা রাজীবুল [৩] বানায়, বা কোয়ান্টাম পদার্থ, যেগুলো গবেষণাগারে ব্যবহার করি, সেগুলোও বিপুল তথ্যের ভাণ্ডার। যত দিন যাবে, আমার মনে হয় আমাদের বিষয়গুলোতেও মেশিন লার্নিং-এর ব্যবহার বাড়বে।
শৌর্য: যেহেতু পদার্থবিদ্যা নিয়ে কথা হচ্ছে, আপনার কি মনে হয় মেশিন লার্নিং দিয়ে পদার্থবিদ্যার নতুন কোনও মৌলিক সত্যের কাছাকাছি যাওয়া যেতে পারে? বা গেছে? যেমন, নিউটনের সূত্রের মত মৌলিক কিছু।
রজার: ভালো প্রশ্ন। এইটা নিয়েই কিছুদিন আগে এমরি বিশ্ববিদ্যালয়ে একটা ওয়ার্কশপ হল [৪]। সেখানে অনেকেই ছিল যারা এই প্রশ্নটা নিয়ে ভাবে — কীভাবে মেশিন লার্নিং-এর সাহায্যে মৌলিক কোনো সত্য আবিষ্কার করা যায়।
দুভাবে ব্যাপারটা দেখা যায়। প্রথমত, অনেক মৌলিক সত্যই তথ্য থেকে উঠে এসেছিল। একেবারে শুরুর দিকে কেপলারের গ্রহের চলন নিয়ে সূত্রগুলো যদি ভাব, ওগুলো বেরিয়েছিল কারণ টাইকো ব্রাহে গ্রহের অবস্থান মেপে টেবিলের পর টেবিল বানিয়ে রেখেছিলেন। নিউটনের সূত্রও তাই — বাস্তবের পর্যবেক্ষণ থেকে অনুপ্রাণিত। কোয়ান্টাম মেকানিক্স আরেকটা উদাহরণ। কোয়ান্টামের গোড়াপত্তন হয় হাইড্রোজেন পরমাণুর বামার সিরিজ (Balmer series) মাপা থেকে; সেই যে বিভিন্ন শক্তিস্তরগুলোর মধ্যে তফাৎ ছিল, তার থেকে। এই শক্তিস্তরগুলো মিলেছিল পর্যবেক্ষণ থেকে পাওয়া তথ্যের মধ্যে এবং এটাকেই ভালো করে বুঝতে আসে বোর অ্যাটম (Bohr atom), আর তারপর কোয়ান্টাম মেকানিক্স।
আমার মনে হয়, আজকের দিনে, তুমি যদি তথ্যটাকে ঠিকঠাক খাঁচায় ফেলতে পারো আর তারপর আড়ালের সূত্রটাকে খুঁজে বার করতে চাও, মেশিন লার্নিং সেটা করতে পারবে। যেমন, আমার গ্রুপেই বিশেষ আপেক্ষিকতাবাদ (special relativity) নিয়ে এরকম একটা কাজ করেছিলাম। ধরো, একটা ঘটনা দুজন পর্যবেক্ষক দেখছে। দুজনের পর্যবেক্ষণ থেকে একরাশ তথ্য পাওয়া গেল। সেগুলোকে নিউরাল নেটওয়ার্ক-এ ফেলে দিলে নেটওয়ার্ক-টা বলে দিতে পারবে এই দুজনের পর্যবেক্ষণে কোন রাশিটা সংরক্ষিত (conserved quantity)। আমার তো মনে হয়, যে কোনো সূত্র যাকে পদার্থবিদ্যাতে মৌলিক বলা হয়, ঠিক তথ্য দিতে পারলে, মেশিন লার্নিং দিয়ে নতুন করে আবিষ্কার করা যাবে।
কিন্তু মেশিন লার্নিং নতুন কিছু বের করতে পারবে কি? এইটা অতটা পরিষ্কার না। প্রথম কথা হলো, আমরা কোয়ান্টামের Schrodinger equation-এর মত ছোটখাটো সহজ সূত্রের অনেকগুলোই জেনে গেছি। নতুন কোনো মৌলিক সূত্র আছে কিনা সেটা কিন্তু পরিষ্কার না। যেমন, কোয়ান্টাম মেকানিক্স আর মাধ্যাকর্ষণের মেলবন্ধন ঘটিয়ে একটা quantum gravity তত্ত্বের খোঁজ চলছে। সেরকম কিছু যে আছে, সেটা কিন্তু স্পষ্ট নয়।
তবে একটা জায়গায় মেশিন লার্নিং খুব কাজে লাগতে পারে বলে আমার দৃঢ় বিশ্বাস। সেটা হলো বহু-কণাতন্ত্র (many body systems) নিয়ে গবেষণা। নিউটনের সূত্র কিম্বা কোয়ান্টাম মেকানিক্স সবই কয়েকটামাত্র কণা থাকলে (few body systems) তখনই প্রকৃতপক্ষে কাজে আসে। আমার মনে হয়, নতুন সূত্র আবিষ্কারের সীমান্তটা এখন এই বহুকণার জগতে। এরকম জগতে আমাদের সাধারণ ধ্যানধারণাগুলো খুব একটা কাজ করে না। বহু কণা একসাথে কাজ করলে তাদের সম্মিলিত প্রভাব কী হবে আর তার থেকে কী সূত্র বেরোবে, সেটা মেশিন লার্নিং-এর মত কিছুই স্বচ্ছন্দে বলতে পারে। যদি ভেবে দেখো, ছোট কোয়ান্টাম কম্পিউটার-এর মত নিয়ন্ত্রিত কোয়ান্টাম যন্ত্র কিন্তু ওই বহু-কণাতন্ত্রের আওতাতেই পড়ছে, অতএব সূত্র বেরোলে প্রয়োগও বেরোবে।
সৌমিক: কীরকম সময় থেকে আপনি মেশিন লার্নিং নিয়ে উৎসাহী হতে শুরু করলেন?
রজার: সময়টা বোধহয় ২০১৫ অথবা ২০১৬-এর শেষের দিক। পেরিমিটার ইনস্টিটিউটে আমাদের যে গ্রুপটি রয়েছে, আমরা সাধারণত একসঙ্গে লাঞ্চ করতে বসি। সেখানে পদার্থবিদ্যা ও আরও বিভিন্ন বিষয় নিয়ে আমাদের আলোচনা হয়। একটা সময় ছিল যখন আমরা বেশিরভাগ দিন মেশিন লার্নিং নিয়ে আলোচনা করতাম। কোনো এক সময় সময় আমার মনে হল, আমরা যখন এতটা আলোচনাই করছি, তখন এই বিষয়ে আমাদের কিছু কাজ শুরু করা উচিত।
তারপর থেকে আমরা নিজেরাই নিজেদেরকে মেশিন লার্নিং শেখানো শুরু করলাম। খুব ছোট ছোট কোডিং প্রজেক্ট শুরু হল, নিউরাল নেটওয়ার্ক এর ওপর পড়াশুনো শুরু হল। মাইকেল নিয়েলসেনের মেশিন লার্নিং-এর ওপর বইটা আমাদের খুব সাহায্য করেছিল [৫]। আমার মনে হয় বইটা সকলেরই পড়া দরকার — বিশেষ করে সেইসব পদার্থবিদদের, যারা মেশিন লার্নিং নিয়ে আরও জানতে চান।
বইটা পড়ার সঙ্গে সঙ্গেই ভাবতে শুরু করলাম, কীভাবে আমাদের পড়াটাকে নিজেদের গবেষণায় প্রয়োগ করতে পারি। ২০১৬-য় আমরা প্রথম একটা প্রয়োগ বার করতে পারলাম, সেটা হলো আইসিং মডেল নিয়ে [৬]। আমরা দেখালাম যে দ্বিমাত্রিক আইসিং মডেল থেকে পদার্থের যেসব অবস্থা পাওয়া যায়, সেগুলোকে ফিড-ফরোয়ার্ড নিউরাল নেটওয়ার্ক-এর মাধ্যমে শ্রেণীবিভক্ত করা সম্ভব [৭, ৮]। এটা আমরা একটা ছোট অনুশীলন হিসেবে দেখতে চেয়েছিলাম। কিন্তু মজার ব্যাপার হল, আমাদের বর্তমানের বহু গবেষণার মূল সূত্রপাত ওই শুরুর প্রজেক্ট-টা থেকেই। বাকিটা ইতিহাস, সেই ২০১৬ থেকে এই নিয়ে গবেষণা এখনো চলছে!
শৌর্য: আপনি ইতিমধ্যেই আপনার গবেষণা নিয়ে বলেছেন কিছুটা, কিন্তু আরেকটু বিশদে যদি বলেন: ভবিষ্যতে আপনার গবেষণায় মেশিন লার্নিং-কে কীভাবে প্রয়োগ করার কথা ভাবছেন? সেইসঙ্গে আপনার গবেষণাটা নিয়েও যদি কিছু বলেন।
রজার: হ্যাঁ, নিশ্চই। বেশ কিছু ভাবনাচিন্তা আমাদের পরিকল্পনার মধ্যে রয়েছে।
প্রথমত আমরা তথ্যের মধ্যে নকশা (pattern) খুঁজি। তথ্য মূলত আসে বিভিন্ন ধরনের কোয়ান্টাম বহু-কণা তন্ত্র (quantum many-body systems) থেকে। যেমনটা রাজীবুলের ল্যাব বা কানাডা ও মার্কিন যুক্তরাষ্টের বেশ কিছু ল্যাব থেকে পাওয়া যায়, এবং যাতে মজাদার কিছু পাওয়ার সম্ভাবনা থাকে। মজাদার তথ্য মানে এমন তথ্য যেটা ঘেঁটে পদার্থবিদ্যার দৃষ্টিভঙ্গি থেকে ইঙ্গিতবহ একটা নকশা পাওয়া যেতে পারে। এরকম নকশা যেটা হয়তো পরীক্ষামূলক গবেষকদের কাজে আসবে পরীক্ষার ফলাফল ব্যাখ্যা করতে। এই ধরণের কাজে, আমরা যখন যেরকম তথ্য পাই, সেখান থেকে গবেষণা শুরু করি। বাজারে যে মেশিন লার্নিং পদ্ধতিগুলো (algorithm) চালু আছে, সেগুলো এই তথ্যের উপর চালিয়ে দেখি।
দ্বিতীয় ধরণের কাজ হলো, এই ধরণের কঠিন বহু-কণার সমস্যার মহড়া বা সিমুলেশন-গুলোকে (simulation) আরো উন্নত করা। আগের তথ্যনির্ভর কাজটার সাথে এর তফাৎ হলো, আগের কাজটাতে তথ্য আসে বাইরে থেকে। এই দ্বিতীয় ধরণের কাজে সাধারণত আমাদের হাতে যাকে বলে একটা হ্যামিলটনিয়ান (Hamiltonian), সেইটা থাকে। হ্যামিলটনিয়ান-টা নির্ণয় করে সময়ের সাথে সাথে বহু-কণাতন্ত্র-টা কীভাবে অবস্থা পাল্টাচ্ছে। এটাকেই আমরা বলি একটা মডেল। ধরা যাক, এরকম একটা মডেলের সময়ের সাথে বিবর্তন আমরা কম্পিউটারে ধরতে চাই। সেটা কিন্তু খুবই কঠিন কাজ। জানো বোধহয়, একটা কোয়ান্টাম কম্পিউটার-কে এমনি কম্পিউটার দিয়ে ধরা যায় না। অতএব, আমাদের কাজের একটা প্রয়োগ হবে কোয়ান্টাম কম্পিউটারকে সিমুলেশন-এ ধরার প্রযুক্তিটাকে আরো উন্নত করা। আমি আশাবাদী যে মেশিন লার্নিং থেকে যে জিনিসগুলো নিচ্ছি, যেমন নিউরাল নেটওয়ার্ক (neural network) কি স্টোকাস্টিক গ্রেডিয়েন্ট ডিসেন্ট (stochastic gradient descent), সেগুলো সিমুলেশন প্রযুক্তির গবেষণায় বিপ্লব ঘটাবে।
তৃতীয় যে বিষয়টায় আমরা গবেষণা করি, সেটা খোদ মেশিন লার্নিং পদ্ধতিগুলোর (algorithm) খুঁটিনাটি নিয়ে। আমরা চালক-বিহীন গাড়ি বা “গো” খেলার AlphaGo, এগুলোকে দেখি, আর বলি, “আচ্ছা, এরা reinforcement learning বা কোনো deep convolutional network এখানে কাজে লাগিয়েছে। আমরা কি নিজেদের গবেষণায় এগুলো লাগাতে পারি? তারপর দেখতে পারি, কোথায় খাটে, কোথায় খাটে না?” যেই না ভাবা, অমনি আমরা পদ্ধতিগুলোকে নিজেদের কাজের উপযোগী করে তোলার চেষ্টা করি। যেমন ধরো, ছবি চেনায় যেধরনের দ্বিমাত্রিক convolutional filter ব্যবহার করা হয়, সেরকম একটা নিলাম। কিন্তু আমাদের তথ্যগুলো বহুমাত্রিক, অতএব filter-এর মাত্রা পাল্টাতে হলো। এটা একটা সহজ উদাহরণ। মোদ্দা কথা হলো, আমার গবেষণাদলে আমরা মেশিন লার্নিং পদ্ধতিগুলোকে নিই আর কিছুটা এদিক সেদিক পরিবর্তন করে পদার্থবিদ্যা গবেষণার যোগ্য করে তুলি।
আমরা আশা করি যে এই গবেষণার কিছুটা মেশিন লার্নিং প্রযুক্তির গোটাটাকেই সমৃদ্ধ করবে। কিন্তু হয়তো সেটা হবে না, হয়তো মেশিন লার্নিং গবেষণার মূলস্রোত ওই ছবি চেনা কি শ্রেণীবিভাজন, এই ধরণের প্রয়োগেই বেশি ব্যস্ত। হয়তো পদার্থবিদ্যা গবেষণার প্রয়োগগুলো মেশিন লার্নিং-এর সনাতন প্রয়োগস্থলের থেকে যথেষ্ট আলাদা। সেক্ষেত্রে এরকম হতে পারে যে আমরা এমন একগোছা মেশিন লার্নিং পদ্ধতি বের করছি যেগুলো সরাসরি পদার্থবিদ্যা গবেষণাতেই কাজে লাগবে।
শৌর্য: এ বিষয়ে একটা কথা জিজ্ঞেস করতে ইচ্ছা করছে — আপনারা যে ধরণের কাজ করে থাকেন, সেখানকার তথ্য ঠিক ছবি, ভিডিও, অথবা অডিও নয়; অন্য কিছু। অর্থাৎ আপনাদের প্রতিষ্ঠিত মেশিন লার্নিং পদ্ধতিগুলোকে আপনাদের মত করে সাজিয়ে নেন — তাই তো?
রজার: ঠিক তাই। এর একটা ভালো উদাহরণ হলো কনভোলুশনাল নিউরাল নেটওয়ার্ক (convolutional neural network)। এই ধরণের নেটওয়ার্ক-এ তোমার কাছে একটা দ্বিমাত্রিক ফিল্টার (two-dimensional filter) থাকে। একটা দ্বিমাত্রিক ছবি রয়েছে, আর ফিল্টার-টাকে তার উপর চালাচ্ছো। এটা করতে হলে তোমার আঞ্চলিকতার (locality) একটা ধারণা থাকতে হবে [৯]। অর্থাৎ কোন দুটো ছবির পিক্সেল প্রায় কাছাকাছি, সেই নিয়ে একটা ধারণা থাকা প্রয়োজন।
কিন্তু এই ধারণাটা দ্বিমাত্রিক। এই নেটওয়ার্ক-টাকেই যদি পদার্থবিদ্যায় লাগাতে হয়, শুধু যে মাত্রা বাড়াতে হবে, তাই নয়, আঞ্চলিকতার ধারণাটাকেও পাল্টাতে হবে। কাছাকাছি মানে কী, সেটার সনাতন ধারণাতে আটকে থাকলে চলবে না কারণ কোয়ান্টাম জগতে দূরের জিনিসের মধ্যেও একটা সম্পর্ক থাকে (quantum entanglement) [১০]। তারপর হয়তো গোটা ব্যবস্থাটার মধ্যে ঢোকাতে হবে যে স্থান পরিবর্তনের সাথে নিয়ম পাল্টায় না (translational invariance)। এক্ষেত্রে স্থান পরিবর্তন মানে কী, সেটাও পাল্টে যায়, যদি তুমি একটা কেলাস (crystal)-এর ভিতরের ল্যাটিস (lattice) নিয়ে কাজ করো। এই ধরণের ব্যাপারগুলো সাধারণ ছবি চেনার প্রয়োগে ঢোকাতে হয় না।
পদার্থবিদ্যার এইসব নিয়মগুলোই আমরা সাধারণ মেশিন লার্নিং-এর কাঠামোর মধ্যে ঢোকাতে চেষ্টা করি।
শৌর্য: তাহলে আপনাদের কাজে “তথ্য” ব্যাপারটা ঠিক কী?
রজার: অনেক কিছু হতে পারে। হয়তো একটা কিউবিট আছে (কোয়ান্টাম তথ্যের একক)। সেটাকে তুমি মেপে জিনিসটা ১ বা ০ দেখলে। এরম অনেকগুলো পরিমাপ নাও, সেটাই আমাদের তথ্য। বা হয়তো নিউট্রনের বিচ্ছুরণ ঘটছে। প্রতিটা নিউট্রন কীভাবে বিচ্ছুরিত হচ্ছে, সেইটা তথ্য।
আমি কয়েকটা উদাহরণ দিচ্ছি শুধু, কিন্তু তথ্য বলতে অনেক কিছুই হতে পারে। হয়তো এই তথ্যের আড়ালে যেটা খুঁজছি, তাদের মধ্যে কিছু মিল রয়েছে। যেমন, মাত্রা, আঞ্চলিকতা, দূরের জিনিসের প্রভাব, এই ধারণাগুলোকে ঢোকাতে হচ্ছে মেশিন লার্নিং-এর কাঠামোর মধ্যে।
সৌমিক: অনেকেই বলেন মেশিন লার্নিং-এ কী হচ্ছে বোঝা যায়, কিন্তু কীভাবে হচ্ছে কিছুই বোঝা যায় না। সেটা নিয়ে অনেকে সমালোচনাও করেন। সেটা কতটা সত্যি?
রজার: এটা খুবই ভালো প্রশ্ন। কিছুদিন আগে এমরি বিশ্ববিদ্যালয়ে যে কনফারেন্সে গিয়েছিলাম, সেখানেও অনেকেই এই ব্যাখ্যা করতে পারা বা না পারা নিয়ে প্রশ্ন তুলেছিল। এটা খুবই জরুরি প্রশ্ন, বিশেষ করে যখন মেশিন লার্নিং পদ্ধতিগুলো (algorithm) অনেক ক্ষেত্রে সিদ্ধান্ত নেওয়ার ভারটা মানুষের কাছ থেকে নিয়ে নিচ্ছে। কীভাবে সিদ্ধান্তগুলো নিচ্ছে, তার উপর গবেষণা থেকেই ব্যাখ্যাযোগ্য কৃত্রিম বুদ্ধিমত্তা (explainable AI) বিষয়টা শুরু হয়েছে। এখানে আমরা জিজ্ঞেস করি, কীভাবে অমুক সিদ্ধান্তে আসা গেল?
পদার্থবিদ্যার ক্ষেত্রে আমি বলবো, এই প্রশ্নের দুটো উত্তর হয়। ধরো নিউটনের সূত্রের মত কোনও সূত্র বের করতে চাও। তখন অবশ্যই কী হচ্ছে বোঝার সাথে সাথে কীভাবে হচ্ছে সেটাও বুঝতে হবে। হয়তো যে নিউরাল নেটওয়ার্কটা কাজে লাগাচ্ছ পরীক্ষানিরীক্ষার জন্য, সেটাকে যতটা সম্ভব কাটছাঁট করে ছোটো করলে। একটা কি দুটো কি তিনটে স্নায়ুতে (neuron) গিয়ে ঠেকালে। তারপর সেই ছোটো নেটওয়ার্কটায় কী হচ্ছে দেখলে, কেন হচ্ছে সেটা বের করার চেষ্টা করলে। আসলে খুব বড় নিউরাল নেটওয়ার্ক হয়ে গেলে ভেতরে কী হাতিঘোড়া হচ্ছে বুঝতে খুব সমস্যা হয়!
এইটা মেশিন লার্নিং আর পদার্থবিদ্যা, দুটোতেই একটা বড়সড় গবেষণার জায়গা। গবেষণার উদ্দেশ্য হলো, নিউরাল নেটওয়ার্ক থেকে যে ফলাফলগুলো পাওয়া যায়, সেগুলোকে মানুষের ব্যাখ্যার আওতায় আনতে হবে। আমার মনে হয়, সত্যিই কাগজে কলমে লেখা যাবে, এরকম কোনও মৌলিক সূত্র বার করার পিছনে মানুষের হাত থাকবেই। তাই মেশিন থেকে যা বেরোচ্ছে, সেগুলোকে বুঝতে পারতে হবে, বুঝতে পারার উপায় খুঁজে বার করতে হবে।
তবে এটাও হতেই পারে যে এমন মৌলিক সূত্র পদার্থবিদ্যায় আছে যেগুলোর ব্যাখ্যা মানুষ সহজে দিতে পারবে না। আবার সেই বহু-কণাতন্ত্রের প্রশ্নটাতে ফিরে যেতে হয়। যেমনটা বলছিলাম, ঐখানে কিন্তু সূত্রগুলো অনেককিছুর সংমিশ্রণের শেষে বেরিয়ে আসে (emergent laws) এবং সেগুলো আমরা হয়তো সহজে ব্যাখ্যা দিতে পারবো না।
কিন্তু একটা ক্লাসিক্যাল কম্পিউটারের কথাই ধরো। ওর মধ্যে কী ঘটছে, একদম গোড়া থেকে সবকিছুর ব্যাখ্যা দিতে পারবে কি? অবশ্যই না। ফোনে যে ছবিগুলো ভেসে উঠছে, সেটা তো কই একদম ভিতরের ট্রান্সিস্টর থেকে শুরু করে ব্যাখ্যা দেওয়ার চেষ্টা করি না আমরা। এবং সেই নিয়ে আমাদের মনে কোনো সংশয়ও নেই। তাই, আমি এই জটটা ছাড়ানোর চেষ্টা করছি: ধরো এমন ঘটনা যদি থাকে যেগুলো হয়তো মানুষের ব্যাখ্যায় ধরাই দেয় না, সেরকম ক্ষেত্রে মানুষের ব্যাখ্যা দেওয়ার ইচ্ছের সাথে একে কীভাবে মেলাবো?
নিউরাল নেটওয়ার্ক এর একটা উত্তর দিতে পারে। তুমি যদি একটা গভীর নিউরাল নেটওয়ার্ক-এর (deep neural network) কথা ভাবো, ওতে অনেকগুলো স্তর থাকে। মাঝের স্তরগুলোতে কী ঘটছে, সেই নিয়ে কিন্তু এখন অনেক গবেষণা চলছে। একেকটা স্তরে শুরুর তথ্যটা ক্রমে একটা কোনো আকার ধারণ করছে কিনা (hierarchical representation of data), সেই খোঁজ চলছে। তুমি যদি কখনো মুখ চেনার অ্যাপগুলোর (facial recognition applications) মাঝের স্তরের ছবি দেখে থাকো, বেশ কিছু বিখ্যাত ছবি আছে, দেখবে শুরুর স্তরে হয়তো একগাদা পিক্সেল দেখছে, কিন্তু পরের স্তরে গিয়ে হয়তো অবয়বের একটা আকার দেখা গেল, তারপরের স্তরে নাকমুখ, ইত্যাদি।
শৌর্য: হ্যাঁ, একেকটা স্তরে বিভিন্ন বৈশিষ্ট্য চিনতে পারা যায়।
রজার: একদম তাই। এর মানে বৈশিষ্ট্যের একটা ক্রমবিন্যাস (hierarchy) আছে। এরকমটা হলে মনে সন্তুষ্টি আসে বটে, কিন্তু আসলে যে এরকমটা হতেই হবে, তার কোনো মানে নেই। যেমন, পদার্থবিদ্যায় এরকম বৈশিষ্ট্যের ক্রমবিন্যাস থাকবে, এরকম আশা করা উচিত না।
আমার মতে আসল প্রশ্ন হলো, সব কিছুরই কি বোধগম্য ব্যাখ্যা দেওয়া সম্ভব? এই ধরণের বহু কণা তন্ত্রের ক্ষেত্রে যদি এমন ঘটনা ঘটে যেগুলো ব্যাখ্যায় ধরা যায় না, আমার মনে হয়, এদের মেশিন লার্নিং দিয়ে সমাধান করার মধ্যে কোনো দোষ নেই। হতেই পারে যে একটা বৈজ্ঞানিক তত্ত্বের বাকি গুণাগুণগুলো তুমি পাবে, যেমন পুনরাবৃত্তি করা যাবে এমন ফলাফলের কথা আগাম বলতে পারা। বোধগম্য ব্যাখ্যা দেওয়া গেল কি গেল না, সেই প্রশ্নে আটকে থাকার হয়তো প্রয়োজন নেই।
(মূল ইন্টারভিউটা ইংরেজিতে নেওয়া হয়েছিল। ইংরেজি থেকে বাংলায় অনুবাদ করেছে ‘বিজ্ঞান’ টীম-এর সৌমিক ঘোষ ও অনির্বাণ গঙ্গোপাধ্যায়।)
(চলবে)
তথ্যসূত্র ও অন্যান্য টুকিটাকি:
[১] গুগুল ট্রান্সলেট মেশিন লার্নিং ব্যাবহার করা শুরু করে ২০১৬ থেকে। এই লিঙ্কে বিশদে দেওয়া আছেঃ https://en.wikipedia.org/wiki/Google_Neural_Machine_Translation ।
[২] একটা নির্দিষ্ট প্রকারের মেশিন লার্নিং ব্যাবহার হয় চালক বিহীন গাড়িতে। তার নাম “reinforcement learning”। বিশদে জানতে এই লিঙ্কে দেখঃ https://en.wikipedia.org/wiki/Reinforcement_learning ।
[৩] রজার মেলকোর সহকর্মী অধ্যাপক রাজীবুল ইসলাম – কোয়ান্টামের পরীক্ষামূলক গবেষক। ওনার ল্যাবরেটরি। রাজীবুল bigyan.org.in-এর সহ-প্রতিষ্ঠাতা।
[৪] এমরি বিশ্ববিদ্যালয়ের ওয়ার্কশপটা শুনতে হলে এই লিঙ্কে যাওঃ https://www.youtube.com/watch?v=DRh1OlGlRxo।
[৫] মাইকেল নিয়েলসেনের মেশিন লার্নিং-এর ওপর ‘Neural Networks and Deep Learning’ বইটা এখানে বিনামূল্যে পাবে : http://neuralnetworksanddeeplearning.com/ ।
[৬] আইসিং মডেল থেকে কীভাবে পদার্থের নানান দশা পাওয়া যায়, সেই নিয়ে জানতে এখানে দেখো : https://en.wikipedia.org/wiki/Ising_model । বিজ্ঞানী আইসিং-এর একটি জীবনী এবং আইসিং মডেল-এর সংক্ষিপ্ত বিবরণ বিজ্ঞানের পাতাতেও পাবে: https://bigyan.org.in/2021/09/ising-model-failure-and-success/ ।
[৭] নিউরাল নেটওয়ার্ক দিয়ে তৈরি অ্যালগরিথম একটা বিশেষ ধরণের মেশিন লার্নিং অ্যালগরিথম। “বিজ্ঞানে”-র এইখানে আরও বিশদে পাবেঃ https://bigyan.org.in/2020/03/13/ai-neural-network/ ।
[৮] রজার মেলকো আর হুয়ান কারাসকিল্লা-র আইসিং মডেল-এ মেশিন লার্নিং-এর প্রয়োগ এখানে দেখতে পারো: https://arxiv.org/abs/1605.01735 ।
[৯] আঞ্চলিকতার (locality) ধারণা নিয়ে আরো জানতে এখানে দেখতে পারো: https://en.wikipedia.org/wiki/Principle_of_locality ।
[১০] Quantum entanglement নিয়ে আরো জানতে এখানে দেখতে পারো: https://www.quantamagazine.org/entanglement-made-simple-20160428/ ।
Khub prashongik akta alochona, tobe aamar mote Neural Network(NN) bishoy take jotodin akta black box hisebe dakha hobe totodin mone hoi na khub akta dur e egono sombhob, ar bortoman e je competition suru hoyeche ta dekhe mone hoi na keu khub akta ei rohosso uddhar e basto, borong kichu akta input diye kichu chomotkar jinish paoar jonne basto. Ar jodio ba dhore ni, esob kore kichu paoa sombhob, sekhtre proshno uthbe, je somosto proshno gulo thik algorithm aakar e bhaba jai, sekhane NN kaaj korbe bole mone hoi na. Echara mathematics eo Deep Learning er application dakha jachhe. Jekhane akta bishoy er mul bhitti holo logic, intuition bhabte help korleo rigorous proof e akmatro accept kora hoi, sekhane ei dhoroner jinish koto ta ba kibhabe effect korbe ta jante aami khub e aagrohi. Tai jodi kono mathematician jini DL sombhndhe aware, tar boktobbo tule dhorle bhalo hoi. Ar sob seshe akta jinish bolte chai, kichu na bhebe akta input diye akta output paoar je khelay gota biswo je meteche tar bhobiswot ki aadeo ujjol naki samnei oppekha korche aaro akta AI winter.