পোস্টটি পড়া হয়েছে 16,474 বার

প্রিজমাঃ আর্টিফিসিয়াল ইন্টেলিজেন্স ও নিউরাল নেটওয়ার্কের সফল প্রয়োগ

Post updated on 28th November, 2016 at 01:43 pm

প্রিয়তমা স্ত্রী শখ করলেন মোনালিসার মত করে নিজের একটা ছবি আঁকাবেন। লিওনার্দো দ্য ভিঞ্চি যেভাবে পরম মমতায় মোনালিসাকে এঁকেছিলেন সেভাবে আঁকা তার একটা ছবি চাই। আপনি বসে গেলেন তুলি আর কাগজ নিয়ে। দেখলেন আঁকাআঁকির ফলাফল রীতিমত বিভীষিকাময়! স্ত্রীর মন রক্ষার্থে আপনাকে হয়ত সহযোগিতা করতে পারবেন রাশিয়ান তরুণ প্রোগ্রামার Alexey Moiseenkov! তার নেতৃত্বে সম্প্রতি Prisma নামক একখানা মোবাইল অ্যাপ তৈরি হয়েছে। যার আদ্যোপান্ত জানাই আজকের লেখার উদ্দেশ্য।

সারা বিশ্বব্যাপী আলোচনার তুঙ্গে থাকা বর্তমানের মোবাইল অ্যাপ্লিকেশন হচ্ছে প্রিজমা। জুনে প্রথমত Apple App Store এ আইফোনের উপযোগী এই অ্যাপটি রিলিজ করা হয়। দিন বাড়ার সাথে সাথে বেড়েই চলেছে এর ব্যবহারকারীর সংখ্যা। পরে এন্ড্রয়েড প্ল্যাটফর্মের জন্যেও Google Play Store এ রিলিজ দেয়া হয় প্রিজমা।

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

Prisma Labs এর CEO ও কো-ফাউন্ডার Alexey Moiseenkov বলেন যে, তারা ছবির উপর কোন ইফেক্ট বা লেয়ার যুক্ত করেন না বরং পুরো ছবিটিকেই আর্টিফিসিয়াল ইন্টেলিজেন্স (Artificial Intelligence – AI) ও নিউরাল নেটওয়ার্কের (Artificial Neural Network) মাধ্যমে একদম স্কেচ থেকে নতুন করে আঁকা হয়। পুরো ব্যাপারটা নীচে ব্যাখ্যা করার চেষ্টা করছি।

আর্টিফিসিয়াল ইন্টেলিজেন্স বা কৃত্রিম বুদ্ধিমত্তা নিয়ে প্রযুক্তি বিশ্বে দারুণ সব কাজ হচ্ছে। কোনো একটা সফটওয়্যার বা একটা পুরো সিসটেমকে তখনই artificially intelligent বলা হবে যখন কয়েকটি বৈশিষ্ট্য তার মধ্যে পাওয়া যাবে। গুরুত্বপূর্ণ কয়েকটি বৈশিষ্ট্য হচ্ছেঃ

  • Sensor এর মাধ্যমে বা text format এ ইনপুট নিয়ে সেগুলোকে প্রসেস করতে পারবে।
  • প্রসেস হওয়ার পরে পাওয়া information-গুলোকে knowledge আকারে সংরক্ষণ করতে পারবে এবং প্রয়োজন অনুযায়ী সে knowledge কাজে লাগাতে পারবে।
  • Learning capability থাকতে হবে। অর্থাৎ তার কাছে নতুন ধরণের ইনপুট আসলে সে ইন্সট্রাকশন অনুযায়ী সেটাকে শিখে নিয়ে সেগুলোকে knowledge হিসেবে store করবে পরে ব্যবহারের জন্য।
  • সফটওয়্যারটি বা পুরো সিসটেমটিই হবে adaptive. অর্থাৎ পরিবর্তিত পরিস্থিতির সাথে সে নিজেকে খাপ খাইয়ে নিতে পারবে।
  • সিসটেমটা pre-active বা pro-active হতে পারবে। অর্থাৎ নিজে থেকেই কোন একটা কাজ শুরু করতে পারে, আবার এমনও হতে পারে যে তাকে কোনো একটা ইন্সট্রাকশন দিলে তার রিপ্লাই দিবে বা ইন্সট্রাকশন দিলেই সে এক্টিভ হবে।
  • মানুষের মত চিন্তা করবে ও মানুষের মত কাজ করবে। অর্থাৎ কোনো একটা পরিস্থিতিতে মানুষ যে কাজটা করবে একই পরিস্থিতিতে মেশিনও সেরকম আচরণই করবে।

এবার আসি প্রিজমাতে AI এর ব্যবহার কিভাবে হচ্ছে সেই আলোচনায়।

যে কোন শিল্পীরই নিজস্ব কিছু স্বকীয়তা বা বৈশিষ্ট্য থাকে। সঙ্গীত, চলচ্চিত্র, কবিতা বা চিত্রাংকন। প্রতিটা ক্ষেত্রেই মোটামুটি শিল্পীর কিছু ইউনিক বৈশিষ্ট্য থাকে। তার শিল্পকর্ম দেখে বোদ্ধারা ঠিকই বুঝতে পারেন যে এটা কার কাজ। যারা আঁকাআঁকি নিয়ে কাজ করেন তারা হয়ত ভাল বলতে পারবেন যে লিওনার্দো ভিঞ্চি অথবা পাবলো পিকাসো’র ছবির বৈশিষ্ট্যগুলো আসলে কী? আমরা যদি ভিঞ্চির ইউনিক বৈশিষ্ট্যগুলো, কোন ভাবে কম্পিউটার বা কোন মেশিনকে শিখিয়ে দিতে পারি তাহলে সে কিন্তু সেই knowledge-কে কাজে লাগিয়ে কোনো ছবি আর্ট করলে তাতে ভিঞ্চির ছবির বৈশিষ্ট্য কিছু হলেও পাওয়া যাবে। প্রিজমাতে ঠিক এ কাজটাই করা হয়েছে। তাদের সিসটেমকে আগে থেকে শেখানো হয়েছে যে কোন ইফেক্টের বৈশিষ্ট্য বা নিজস্বতা কী? যা আপনার ছবিতে একটি আর্টিস্টিক স্টাইল দিবে, এমন কি তা হতে পারে Munk, Picasso এর মত গুণী শিল্পীদের art এর মত। বর্তমানে প্রিজমাতে ৩০ টির মত ইফেক্ট আছে। যা ৪০ এর কোঠায় নেয়ার প্ল্যান আছে, বলেছেন প্রিজমার প্রধান অ্যালেক্সেই মইসিনকভ।

বলা হচ্ছে পুরো কাজটা করতে নিউরাল নেটওয়ার্ক ব্যবহার করা হয়েছে। একটু ব্যাখ্যা করা যাক Artificial Neural Network এর সম্পর্কেঃ

আমাদের মস্তিষ্কের গঠন অত্যন্ত জটিল। আমরা যা কিছু চিন্তা করি বা স্মৃতি হিসেবে যা সংরক্ষণ করি তা মস্তিষ্কের ক্ষুদ্রতম একক নিউরনের মধ্যে জমা হয়। নিউরনের মধ্যে শুধু তথ্য জমাই থাকে না বরং এই তথ্যগুলো প্রসেসিংও হয়ে থাকে। আর নিউরনগুলো একটার সাথে আরেকটা সংযুক্ত থেকে তৈরি করে neural network। নিউরনগুলো এই নেটওয়ার্ক তৈরির মাধ্যমে নিজেদের মধ্যে তথ্য আদান প্রদান করে। আমরা হাত দিয়ে কোন একটা কিছু স্পর্শ করলাম। এই অনুভূতিটা মুহুর্তের মধ্যেই আমরা টের পাই। হাতের সাথে brain এর যে নিউরনের সংযোগ সেখানে কিছু chemical এর উপস্থিতি ঘটে। এই রাসায়নিক পদার্থগুলোর পরিমাণ ও উপস্থিতি-অনুপস্থিতির উপর ভিত্তি করে অতি সূক্ষ্ম পরিমাণের ইলেক্ট্রিসিটি তৈরি হয়। আর নির্দিষ্ট পরিমাণের ইলেক্ট্রিসিটিই কোনো একটা নির্দিষ্ট অনুভূতির জন্য দায়ী। এই পদ্ধতিটাই ব্যবহার করা হয় কম্পিউটারের ক্ষেত্রে। সিগনাল হিসেবে জিরো-ওয়ান অর্থাৎ নির্দিষ্ট পরিমাণের ইলেক্ট্রিসিটির উপস্থিতি-অনুপস্থিতির ব্যবহার। এই জিরো-ওয়ানের উপর ভিত্তি করেই কম্পিউটার data প্রসেস ও সংরক্ষণ করে।

আমরা যখন সাধারণত কোন ছবি দেখি তা দেখার সাথে সাথেই বুঝে ফেলি যে এটা কোন ছেলের ছবি নাকি মেয়ের। এটা আমরা কিভাবে বুঝি? আমাদের মনের অজান্তেই অসংখ্য ক্যালকুলেশন হয় ব্রেইনের নিউরনগুলোর মধ্যে। Intelligent System এর বৈশিষ্ট্যের সাথে মিলাতে পারি যে, চোখ দিয়ে আমরা ইনপুট নিচ্ছি। নির্দিষ্ট স্নায়ুর মাধ্যমে তা পৌঁছে যাচ্ছে মস্তিষ্কের স্নায়ুকোষ বা নিউরনের কাছে। অসংখ্য নিউরন এই ইনপুট নেয়ার কাজটা করছে। আরো অসংখ্য নিউরন হিসাব-নিকাশ ও condition check করে বের করে দিচ্ছে যে এটা কোন ছেলের ছবি নাকি মেয়ের ছবি। পুরো প্রক্রিয়াটি ঘটে অত্যন্ত দ্রুততার সাথে।

আপনাকে যদি একটা কম্পিউটার প্রোগ্রাম লিখতে বলা হয় যেটা recognize করতে পারবে যে ছবিটা ছেলে নাকি মেয়ের তাহলে কী করবেন? প্রোগ্রাম বাদ দেন, কয়েকটা পয়েন্ট নিজে নিজে চিন্তা করতে পারেন যে কখন বোঝা যাবে একটা ছবি ছেলের না মেয়ের? আমার নিজের কাছে যেটা এক কথায় মাথায় আসে তা হচ্ছে “যদি এটা ছেলের মত দেখা যায় তাহলে এটা ছেলের ছবি”। এই ‘ছেলের মত দেখা যায়’ কিনা এটা আমরা যত সহজে বুঝি বোকাবাক্স কম্পিউটার সেটা এত সহজে বুঝে না। অসংখ্য হিসাব-নিকাশ করতে হয়। গভীরভাবে চিন্তা করলে হয়ত কিছু পয়েন্ট বের করা যাবে যে “সাধারণত মেয়েদের চুল বড় হয়, তাদের ভ্রু একটু এইরকম থাকে, তাদের মুখে দাড়ি-গোঁফ থাকে না ইত্যাদি”। অর্থাৎ কম্পিউটারকে এরকম অসংখ্য condition বা rules check করার মাধ্যমে ডিসিশন নিতে হবে যে এটা ছেলে না মেয়ে। আর যদি সে ডিসিশন নিতে পারে তাহলে তাকে intelligent বা বুদ্ধিমান বলা যাবে। এ জন্য intelligent system কে rule base system-ও বলা হয়।

Biological Neural Network এর আদলে যদি কোন মেশিন বা সফটওয়্যার বানানো যায়, যা মস্তিষ্কের নিউরনের মত নিজেদের মধ্যে নেটওয়ার্ক তৈরি করে ডেটা আদান-প্রদান করবে ও দ্রুততার সাথে ফলাফল প্রদান করবে তাহলে কেমন হয়? এটাই মূলত Artificial Neural Network (ANN) এর আইডিয়া। মস্তিষ্কের মত করে কিছু node এর সংযুক্ত নেটওয়ার্ক একসাথে কাজ করে ডিসিশন দিবে, যা হবে মানুষের ডিসিশনের মত।

প্রিজমার web server এ host করা প্রোগ্রামটা এরকম কৃত্রিম নিউরাল নেটওয়ার্ক গঠন করে আমাদের পাঠানো ছবিগুলোকে প্রথমে নিজে পড়ে ও বুঝে। এরপর তাকে শেখানো ইফেক্টগুলো বা শিল্পীর বৈশিষ্ট্যগুলো দিয়ে একদম স্কেচ থেকে ছবিটাকে সে আঁকে। যেভাবে একজন শিল্পী সাদা ক্যানভাসের উপর ছবি এঁকে থাকেন। আর এই পুরো কাজটা প্রিজমা করে থাকে ২-৩ সেকেন্ডের মধ্যে! সূক্ষ্ম শিল্প বৈশিষ্ট্যের চেয়ে এই দ্রুততম সময়ের মধ্যে আউটপুট প্রদানই প্রিজমাকে করেছে অনন্য। কারণ এরকম স্কেচ থেকে আঁকার মত আরো অ্যাপ্লিকেশন আছে। Prisma এর মত Convolutional Neural Network এর এলগোরিদম ব্যবহার করে আরেক রাশিয়ান Sergey Morugin ডেভেলপ করেন Ostagram নামের একটি ওয়েব অ্যাপ্লিকেশন।

যেই ওপেনসোর্স এলগোরিদমের উপর ভিত্তি করে প্রিজমার কোড করা হয়েছে সেই এলগোরিদম একটা ছবিকে read করে আঁকতে ১০ মিনিট থেকে ১ ঘন্টা সময় নেয়! এই সময়কে কমিয়ে কয়েক সেকেন্ডে নিয়ে আসার জন্য কি পরিমাণ গণিত আর এলগোরিদম নিয়ে কাজ করা হয়েছে সেটা ভাবতেও অবাক লাগে! কম্পিউটার সায়েন্সের স্টুডেন্টরা হয়ত একটু নতুন করে চিন্তা করবে math, algorithm আর programming নিয়ে। শুধু ২-৪টা ওয়েবসাইট ডেভেলপ করা আর আমার মত ২-৪ সস্তা এপ বানানোর দিন যে আস্তে আস্তে শেষ হতে যাচ্ছে এ কথা বলাই যায়। কয়দিন পরে ক্লায়েন্টের রিকোয়ার্মেন্টেও হয়ত AI base কাজকর্ম করার উল্লেখ থাকবে। বা বাইরের বিশ্বে যেই লেভেলের কাজ হচ্ছে আমরা সেই লেভেলের কাজ করতে পারব কিনা সেটাও পরখ করা দরকার। আর্টিফিসিয়াল ইন্টেলিজেন্স নিয়ে কাজ করতে চাইলে ম্যাথ, ডেটা স্ট্রাকচার, এলগোরিদম এগুলোর ভিত মজবুত থাকা লাগবেই! আর ভবিষ্যতের প্রায় সকল সফটওয়্যারেই AI এর বৈশিষ্ট্য থাকবে এটা নিশ্চিত করেই বলা যায়। 

প্রিজমা সংক্রান্ত কয়েকটি তথ্য পয়েন্ট আকারে উল্লেখ করছিঃ

  • প্রিজমা develop করা হয়েছে A Neural Algorithm of Artistic Style (by Leon A. Gatys, Alexander S. Ecker, Matthias Bethge) ও Combining Markov Random Fields and Convolutional Neural Networks for Image Synthesis by (Chuan Li, Michael Wand) এই দুটি পেপারের উপর ভিত্তি করে।
  • iOS এর জন্য প্রিজমা রিলিজ করা হয় ১১ জুন ২০১৬।
  • Android এর জন্য প্রিজমা রিলিজ করা হয় ২৪ জুলাই ২০১৬।
  • Moiseenkov এর আগে mail.ru তে কর্মরত ছিলেন। পরে চাকরি ছেড়ে দিয়ে গঠন করেন Prisma Labs, inc.
  • চার জন প্রোগ্রামারের টিম প্রিজমা ডেভেলপ করতে সময় নিয়েছেন দেড় মাস।
  • এখন image based হলেও আগামীতে এটি সক্ষম হবে ভিডিও’র ক্ষেত্রেও! ভিডিও ও virtual reality নিয়ে কাজ করছেন এখন প্রিজমা টিম।
  • Prisma তৈরিতে invest করেছে My.com. কিন্তু ঠিক কী পরিমান বিনিয়োগ করা হয়েছে তা গোপন রাখা হয়েছে।
  • Alexey Moiseenkov সম্প্রতি ঘুরে এসেছেন Facebook এর কার্যালয় থেকে। ধারণা করা হচ্ছে প্রিজমাকে ফেসবুক কিনে নেয়ার জন্য তাকে হয়ত ৫০০ মিলিয়ন ডলারের একটা অফার দেয়া হয়েছে।
  • এই অ্যাপকে সোশ্যাল মিডিয়া অ্যাপ হিসেবে রূপান্তরের কোন চিন্তা আপাতত তাদের নেই। Moiseenkov এর মতে অনেকগুলো সোশ্যাল মিডিয়া আছে। নতুন করে একে social media network হিসেবে দাঁড় করাতে তিনি আগ্রহী নন।
  • iOS ও Android উভয় প্ল্যাটফর্মের জন্যই এটি ফ্রি একটি অ্যাপ। এমন কি monetization এর জন্য Ad-ও ব্যবহার করা হয় নি। বিশেষজ্ঞরা এর বিজনেস মডেল নিয়ে ধারণা করছেন যে, হয়ত কিছু artistic effect থাকবে যেগুলো হবে paid. এর মাধ্যমেই বিজনেস করবে প্রিজমা। আবার এমনও হতে পারে Prisma এপ দিয়ে revenue তোলার কোন প্ল্যানই নাই। User gather করে অন্য এপ দিয়ে হয়ত তারা বিজনেস করবে।  

Disclaimer:

এটি আমার মৌলিক কোন লেখা নয়। ১০-১২ টি আর্টিকেল পড়ে অনেকটা ভাবানুবাদ করেছি বলা চলে। নিজের জানার স্বল্পতার কারণে কোন কোন বিষয় ভুল বুঝে ভুল ভাবে ব্যাখ্যা করে থাকতে পারি। আপনার চোখে পড়লে অনুগ্রহ করে কমেন্টে জানান। আমি ঠিক করে দিব।

যেসকল সাইটের সাহায্য নিয়েছিঃ Wikipedia, TechCrunch, Digital Trends, Global Voices, The Guardian, Forbes, Quora, Bloomberg, International Business Times, Pocket Lint, GIZMODO, Engadget 1, Engadget 2, Business World Online, Cornell University Library.

 

আমার রিসার্চের উপর কোন মতামত থাকলে জানাবেন। যেহেতু লেখাটা আমি অনেকের থেকে সহযোগিতা নিয়ে লিখেছি তাই এটাকে চুরি না বলে ভদ্র ভাষায় রিসার্চ বলছি। কারণ গুরুজনেরা বলে গেছেনঃ

If you steal from one author it’s plagiarism;
if you steal from many it’s research.”

– Wilson Mizner

Happy Researching… 😉

 

44 thoughts on “প্রিজমাঃ আর্টিফিসিয়াল ইন্টেলিজেন্স ও নিউরাল নেটওয়ার্কের সফল প্রয়োগ

    1. হা হা হা…
      সকালে শুরু করে বিকাল চারটা পর্যন্ত স্টাডি করেছি। এরপর ১ ঘন্টা ঘুমিয়ে মাথা ঠান্ডা করে লিখে পোস্ট করলাম।
      কষ্ট অনেকটাই স্বার্থক! অনেক অনেক মানুষের রেস্পন্স পাচ্ছি। ভয়ে ছিলাম এত বড় লেখা কেউ আদৌ পড়বে কিনা।
      বাই দ্য ওয়ে, ধন্যবাদ আপনাকে। 🙂

  1. হাসান ভাই এর পোস্ট পরে কোন কিছু নতুন শিখবো না। এটা ভাবাও অসম্ভব।

  2. প্রিজমার বিজনেস মডেল নিয়ে জানার আগ্রহ। এমনও হতে পারে, প্রিজমা দিয়ে তারা ব্র্যান্ড ভ্যালু বৃদ্ধি করছে, অন্য কোন প্রোডাক্টের ক্ষেত্রে তা কাজে লাগাবে।

    1. হতে পারে।
      তবে আমি তেমন কোন সুস্পষ্ট বিজনেস মডেলের ব্যাপারে ধারণা পাই নি।

  3. ভাইয়া পোষ্টটা পড়ে মনে হচ্ছে, নতুন অনেক গুলো বিষয়ে ভালো একটা ধারনা পেলাম। 🙂

  4. অনেক তথ্যবহুল লিখা!
    নতুন করে কিছু জানলাম। ধন্যবাদ, ভাইয়া।

Leave a Reply

Your email address will not be published. Required fields are marked *