মোবাইল অ্যাপে মেশিন লার্নিং

বিভাগ: কম্প্যুটার সায়েন্স, মেশিন লার্নিং (April 10, 2020)

 
 
 

মেশিন লার্নিং, বর্তমানের এই বহুল চর্চিত বিষয়টিকে ব্যবহার করে কিভাবে আমরা আমাদের মোবাইল ফোনে বানিয়ে ফেলতে পারি দরকারি অ্যাপ্লিকেশন?


মেশিন লার্নিং এর আবির্ভাব 

স্বাভাবিকভাবেই পাঠক হয়ত ভাবছেন: মোবাইল অ্যাপে মেশিন লার্নিং? হ্যাঁ, এখন আর কোন কিছুই অসম্ভব নয়। তথ্য প্রযুক্তির এই সময়ে আমাদের চারপাশ ঘিরে রয়েছে কৃত্তিম বুদ্ধিমত্তা বা আর্টিফিশিয়াল ইন্টেলিজেন্স। আর এই আর্টিফিশিয়াল ইন্টেলিজেন্স-এর অন্যতম শাখা মেশিন লার্নিং। যারা ইঞ্জিনিয়ারিং বিষয়ে  পড়াশোনা করেছেন বা করছেন সবাই কম বেশি এই শব্দটির সাথে পরিচিত। সহজ কথায় বলতে গেলে মানুষের বুদ্ধিমত্তা ব্যবহার করে মেশিনকে শিখানো।

বর্তমান সময়ে সবথেকে বহুল ব্যবহৃত শব্দ মেশিন লার্নিং। হাতের স্মার্ট ওয়াচ থেকে শুরু করে ঘরের স্মার্ট টিভি, সবকিছুতেই পাওয়া যায় মেশিন লার্নিং এর নিত্য নতুন প্রযুক্তির ছোঁয়া। প্রযুক্তিনির্ভর এই পৃথিবীতে প্রতিনিয়ত নতুন নতুন আবিষ্কারে ব্যবহৃত হচ্ছে কৃত্রিম বুদ্ধিমত্তা বা আর্টিফিশিয়াল ইন্টেলিজেন্স। বিগত কয়েক বছর ধরে সারা বিশ্বে আর্টিফিশিয়াল ইন্টেলিজেন্স এর অন্যতম শাখা মেশিন লার্নিং তার ডাল পালা ছড়িয়েছে বিস্ময়করভাবে। সবাই যেখানে প্রতিনিয়ত মেশিন লার্নিং এর সুফল ভোগ করছে, সেইখানে মেশিন লার্নিং এর এলগরিদমগুলোকে কিভাবে আরও সহজ করে, সর্বত্র ব্যাবহারকারির উপযোগী করে তৈরি করা যায় তা নিয়ে কাজ করে যাচ্ছে বিশ্বের নামী দামী টেক জায়েন্টরা (গুগল, অ্যামাজন, অ্যাপল, স্যামসাঙ, হুয়াওয়ি এবং আর অনেকে)। মেশিন লার্নিং ব্যবহার করে আপনি সহজেই অপটিক্যাল ক্যারেক্টার রিকগনিশনের (OCR) মাধ্যমে ছবি থেকে অক্ষর, এবং অক্ষর থেকে শব্দ চিহ্নিত করতে পারবনে। এর ফলে মোবাইলেই মেশিন লার্নিং ব্যবহার করে অফলাইন অবস্থাতেই বিদেশি ছবির বাংলা অর্থ বের করে ফেলা সম্ভব। শুধু তাই না, অফলাইন ট্রান্সলেশন, টেক্সট ক্লাসিফিকেশন থেকে শুরু করে ভয়েস সিনথেসিসসহ প্রয়োজনীয় আরও অনেক কিছুই  এই মেশিন লার্নিং-এর দ্বারা করা সম্ভব। চিত্র ১-এ মানুষের মস্তিস্ক এবং মেশিনের শেখাকে একত্রে করে দেখানো হয়েছে।

ছবি ১: মানুষের বুদ্ধিমত্তা এবং মেশিনের শেখা (সূত্র)

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

এজন্য, মেশিন লার্নিং-কে শুধুমাত্র বইয়ের মধ্যে সীমাবদ্ধ না রেখে, বাস্তবে এর ব্যবহার সবার মাঝে ছড়িয়ে দেয়ার জন্য আমার এই ছোট প্রয়াস আমি যার নাম দিয়েছি “মোবাইলে অ্যাপে মেশিন লার্নিং”। জেনে রাখা ভালো, মেশিন লার্নিং এলগরিদমগুলো কিন্তু অনেক জটিল গাণিতিক সমীকরণের সমন্বয়য়ে তৈরি। তবে হ্যাঁ, আমি কিন্তু কোন জটিল সমীকরণের সূত্র আজ লিখব না। যেহেতু এটি সকল পাঠকদের জন্য লেখা, আমি চেষ্টা করেছি যতটুকু সম্ভব একটা সহজ সরল লেখনীর মাধ্যমে আপনাদের কাছে বিষয়টি বোধগম্য করে তোলা। তাহলে, শুরু করা যাক।

বাস্তব অভিজ্ঞতা এবং মেশিন লার্নিং

ভালো হয় যদি একটা গল্প দিয়ে শুরু করি। ২০১৯ সালের সেপ্টেম্বর মাসে একটি কনফারেন্সে রিসার্চ পেপার উপস্থাপনার জন্য পর্তুগাল গিয়েছিলাম। সেখানে বেশ কিছু জায়গাতে আমাকে তাদের ভাষা বুঝতে হোঁচট খেতে হয়েছে। স্বাভাবিকভাবেই রেস্তোরাঁ, ট্যাক্সি, রাস্তার লেন, এবং কিছু কিছু ক্ষেত্রে বিখ্যাত জায়গাগুলোর বিবরণ আমাকে গুগলের সাহায্য নিয়ে বাংলা ভাষায় অনুবাদ করতে হয়েছিল। কিন্তু, এর জন্য আমাকে প্রতিটা মুহূর্তের ছবি গুগলের সার্ভারে পাঠাতে হয়েছে প্রসেস করার জন্য, যেটা বেশ সময়সাপেক্ষ এবং ব্যয়বহুল ছিল।


ছবি ২: মোবাইলে মেশিন লার্নিং নিয়ে কাজ করার জন্য ফায়ারবেস এমএল কিট  (সূত্র)

স্বাভাবিকভাবেই চিন্তা করলাম প্রতিবার সম্পূর্ণ ছবিটাকে না পাঠিয়ে যদি প্রসেসিং-টা আমার মোবাইল-এই করা যেত আর ছবির শব্দটাকে সার্ভারে পাঠানো যেত বা যদি আমার মোবাইলে পর্তুগিজ শব্দগুলোর বাংলা অর্থের ডাটাবেস থাকতো যেটি আমার লোকাল মেশিনে ইনট্রিগ্রেট করা থাকতো, তাহলে একই সাথে মোবাইল ডেটা এবং প্রসেসিং টাইম দুটোরই প্রয়োজনীতা কমে আসতো। যেই ভাবনা সেই খোঁজা, খুঁজতে গিয়ে আবিষ্কার করলাম সম্প্রতি মেশিন লার্নিং ডেভেলপারদের জন্য গুগল উন্মুক্ত করেছে অতি কাঙ্ক্ষিত ML Kit for Firebase [১]। এর মাধ্যমে গুগল মোবাইল অ্যাপ ডেভেলপারদের জন্য একটি সুযোগ তৈরি করে দিয়েছে, যাতে করে তারা তাদের অ্যাপ্লিকেশানে মেশিন লার্নিং Mobile SDK (Software Development Kit) [২] ব্যবহার করে বাস্তব সমস্যাগুলোর সমাধান করতে পারবে। এতে করে কিন্তু সবচেয়ে বড় উপকার গুগলেরই হয়েছে। কারণ, মানুষ যদি মোবাইলেই মেশিন লার্নিং-এর কাজটা করে ফেলতে পারে তাহলে কিন্তু গুগলের সার্ভারের উপর চাপ অনেকাংশে কমে আসবে। আর তাছাড়া, যদি এমন কিছু সংবেদনশীল তথ্য বা ছবি থাকে যা আপনি কখনোই চাইবেননা আপনার মোবাইলের বাইরে কোথাও থেকে যাক, সেদিক থেকেও কিন্তু এটা বেশ কাজের।‌ উপরোক্ত চিত্র ২-এ এমএল কিটের একটি ছবি দেখানো হলো মডেল হিসেবে।

সবথেকে মজার বিষয় হচ্ছে, মেশিন লার্নিং-এ আপনার পূর্ব কোন অভিজ্ঞতা না থাকলেও, গুগলের এই প্যাকেজটি ব্যবহার করে, আপনি খুব সহজেই আপনার নিজের বাস্তব সমস্যা সমাধানের জন্য মোবাইল আপ্লিকেশন তৈরি করতে পারবেন। তবে হ্যাঁ, মোবাইল অ্যাপ্লিকেশান তৈরি করাটা কিন্তু জানতে হবে।

কিভাবে কাজ করবে মেশিন লার্নিং?‌

Google Cloud Vision API (Application Programming Interface), TensorFlow Lite [৩], এবং Android Neural Networks API একত্রে একটি একক SDK হিসেবে কাজ করবে যেটি আপনার নিজস্ব অ্যাপ্লিকেশান-এ মেশিন লার্নিং-এর বিভিন্ন পদ্ধতি প্রয়োগ করতে সাহায্য করবে। আপনি একই সাথে গুগলের ক্লাউড সার্ভিস, রিয়েল টাইমে মোবাইলে অপটিমাইজড অ্যাপ্লিকেশান ডেপলয়মেন্ট, এবং কাস্টম TensorFlow Lite Models ব্যবহার করার সুযোগ পাবেন। চিত্র ৩ এর সূত্র ধরে এগিয়ে গেলে খুব সহজেই বিস্তারিত জানতে পারবেন। কথাগুলো মনে হয় বেশ জটিল লাগছে, আচ্ছা সহজ করে বলছি। গুগলের তৈরি Machine Learning (ML) Kit [৪] কে ব্যবহার উপযোগী API হিসেবে তৈরি করার জন্য বেশ কিছু বহুল  নিত্য প্রয়োজনীয় ফিচার, যেমন টেক্সট রিকগনেশন, ফেস ডিটেকশন, বারকোড স্ক্যানিং, ইমেজ লেবেলিং, ল্যান্ডমার্ক রিকগনেশন, ল্যাঙ্গুয়েজ রিকগনেশন, স্মার্ট রিপ্লাই, এবং কাস্টম মডেল ইনফারেন্স অন্তর্ভুক্ত করা হয়েছে। উদাহরণ দিলে ব্যাপারটা আরো পরিষ্কার হবে আশা রাখছি। চলুন উদাহরণ দিয়ে প্রতিটা API সম্পর্কে বোঝার চেষ্টা করি।

ছবি ৩: বিভিন্ন বৈশিষ্ট্য সম্বলিত এমএল কিটের মডেল (সূত্র)

টেক্সট রিকগনিশন

ছবি ৪: জার্মান ভাষায় লিখিত একটি বাক্য (সূত্র)

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

ফেইস ডিটেকশন

ছবি ৫: ফেস ডিটেকশন প্রক্রিয়া মোবাইল অ্যাপের মাধ্যমে  (সূত্র)

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

বারকোড স্ক্যানিং

ছবি ৬: একটি কিউ আর কোডের ছবি (সূত্র)

প্রায়শই আপনাকে হয়তো দোকানগুলোতে কিছু ক্রয়ের পরে বিকাশ, আই-পে, রকেট বা অন্য যেকোন বিল পে সার্ভিসগুলোর সাহায্য নিয়ে বিল দিতে হয়। আর এই বিল দিতে গিয়ে আপনি তাদের QR (Quick Response) কোড স্ক্যান করে থাকেন, চিত্র ৬ এ যেভাবে দেখানো হয়েছে, ঠিক সেইভাবে। এমনকি কিছু কিছু ক্ষেত্রে ওয়াই-ফাই-এর সাথে সংযোগ স্থাপন করতে গেলেও বারকোড (Bar Code) বা QR কোড স্ক্যান করার প্রয়োজন হয়। খুব স্বাভাবিকভাবেই, মোবাইল অ্যাপের মাধ্যমে ছবি তুলে সার্ভারে পাঠিয়ে প্রসেস করা বেশ সময়সাপেক্ষ। তার থেকেও বড় সমস্যা আপনাকে সর্বদা ইন্টারনেট-এর সাথে সংযুক্ত থাকতে হবে, যেটা সবসময় সম্ভব নাও হতে পারে। তাই, এই সমস্যা সমাধানের জন্য QR কোডের মতো 2D ফর্ম্যাট এবং বার কোড স্ক্যান করার জন্য গুগলের বার কোড স্ক্যানিং API  হতে পারে গ্রহণযোগ্য সমাধান, যা স্বয়ংক্রিয়ভাবে এই ডেটা সনাক্ত করতে এবং পড়তে পারে। পাশাপাশি,  ব্যবহারকারী যখন বারকোড স্ক্যান করবে তখন বুদ্ধিমত্তার সাথে সাড়া দিতে পারে।

ইমেজ লেবেলিং

ছবি ৭: ইমেজ লেবেলিং এর বাস্তব উদাহরণ (সূত্র)

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

ল্যান্ডমার্ক রিকগনেশন

ছবি ৮: ল্যান্ডমার্ক রিকগনেশন প্রক্রিয়া (সূত্র)

বাংলাদেশের অন্যতম স্থাপত্যের নিদর্শন হলো লালবাগ কেল্লা। স্বাভাবিকভাবেই দেশের ভিতর এবং বাইরে থেকে বহু পর্যটক প্রতিনিয়ত এই অপরূপ নিদর্শন প্রত্যক্ষ করতে আসেন। পাঠক নিশ্চয়ই ভাবছেন, লালবাগ কেল্লার সাথে ল্যান্ডমার্ক রিকগনেশনের কি সম্পর্ক? গুগল তার ল্যান্ডমার্ক রিকগনেশন API-টির মাধ্যমে একটি ছবি থেকে বহুল পরিচিত স্থাপত্য বা নিদর্শন সমূহকে ল্যান্ডমার্ক বা ঐ নির্দিষ্ট জায়গার বৈশিষ্ট্য হিসেবে চিহ্নিত করে, যেমনটা চিত্র ৮ এ বোঝানো হয়েছে। পাশাপাশি ঐ জায়গা সমূহ থেকে ল্যান্ডমার্কটির ভৌগোলিক স্থানাঙ্ক (Geographic Coordinate) এবং কোন এরিয়াতে এবং কোন দেশে ল্যান্ডমার্কটি রয়েছে সেটিও ব্যবহারকারীকে নিমেষেই জানিয়ে দেয়। এখনো পর্যন্ত ক্লাউড API হিসেবে এটি কাজ করছে, খুব শীঘ্রই মোবাইল API হিসেবেও এটি কাজ শুরু করবে বলে জানিয়েছে গুগল।

ল্যাঙ্গুয়েজ আইডেনটিফিকেশন

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

স্মার্ট রিপ্লাই

‌মেশিন লার্নিং-এর ব্যবহার করে ব্যবহারকারীকে কতটা অনুকরণ করা যায়, তার অন্যতম উদাহরণ হচ্ছে স্মার্ট রিপ্লাই। আপনি কি কখনো খেয়াল করছেন Gmail কিভাবে ই-মেল-এর উত্তর দেওয়ার সময় কিছু স্মার্ট রিপ্লাই প্রস্তাব বা সাজেশন হিসেবে দেয়। আপনি হয়তো কিছু প্রস্তাব মেনেও নিয়েছেন মনের অজান্তেই বা হয়তো জেনেশুনেই ব্যবহার করেছেন। এবার গুগল সেই সার্ভিসকেই ব্যবহারকারীর আরোও কাছাকছি নিয়ে আসার জন্য মোবাইল অ্যাপ্লিকেশান-এর মধ্যে নিয়ে এলো স্মার্ট রিপ্লাই। ML Kit’s Smart Reply API-এর মাধ্যমে স্বয়ংক্রিয়ভাবে আপনি আপনার মেসেজের প্রাসঙ্গিক উত্তর দিতে পারবেন। এতে করে আপনার সময় বাঁচবে; হয়তো কোন মেসেজের উত্তর কেমন হওয়া উচিত, সেবিষয়েও কিছুটা সাহায্য পাবেন। একটা সমস্যা হলো, মেসেজের রিপ্লাই সাজেশন হয়তো আপনি অডিয়েন্স অনুযায়ী পরিবর্তন করতে চান, সবাইকেই এক মেসেজ-এর একই উত্তর দিতে চাননা। আরেকটা সীমাবদ্ধতা হলো, বর্তমানে এটি শুধুমাত্র ইংরেজী ভাষাতেই উত্তর দিতে সক্ষম।‌

কাস্টম মডেল

‌টেক জায়ান্ট গুগল যে কত কিছু রেখেছে আপনার জন্য, আপনি চিন্তাও করতে পারবেন না। আপনি যদি মনে করেন মেশিন লার্নিং-এর পূর্ব নির্ধারিত মডেল নিয়ে কাজ করবেন না, তাহলে আপনি TensorFlow Lite মডেল নিয়েও কাজ করতে পারেন। হয়তো আপনি এটাই ভাবছেন, TensorFlow Lite মডেলটা আবার কি বিষয়? তাহলে চলুন জেনে নেওয়া যাক।

যারা ডিপ লার্নিং নিয়ে কাজ করেন তারা হয়তো জেনে থাকবেন টেনসর ফ্লো হল একটি ওপেন সোর্স ডীপ লার্নিং বেইস ফ্রেমওয়ার্ক। স্বাভাবিকভাবেই ডীপ লার্নিং-এ কাজের জন্য প্রচুর গাণিতিক হিসাব-এর প্রয়োজন হয়। পাশাপাশি দ্রুত প্রসেসিং ক্ষমতা এবং GPU/CPU (Graphics/Central Processing Unit) এর সাপোর্ট প্রয়োজন। এই সমস্ত সুবিধা একত্রে প্রদান করার জন্য গুগল তৈরি করলো তাদের নিজস্ব ডিপ লার্নিং ফ্রেমওয়ার্ক TensorFlow। কিন্তু তাহলে মোবাইলের জন্য কি হবে, মোবাইলে তো এতো মেমরি বা প্রসেসিং ক্ষমতা নেই। যেই ভাবা সেই কাজ, সাথে সাথে গুগল তৈরি করলো TensorFlow-র মোবাইল ভার্সন যার নাম দিলো TensorFlow Lite। এর প্রধান উদ্দেশ্য হচ্ছে লাইব্রেরীর সাইজটিকে অনেক ছোট করে আনা, যাতে অ্যাপগুলোতে সহজেই ব্যবহার করা যায়। আর TensorFlow Lite দিয়ে কোন অ্যাপ বানালে অ্যাপ এর সাইজ যেমন কমে আসবে, তেমনি অ্যাপ দ্রুতগতিরও হবে। এখনো কিন্তু শেষ হয়নি, আপনাদের যদি না দেখাতে পারি কিভাবে TensorFlow Lite  দিয়ে কাস্টম মডেল কাজ করে তাহলে এই লেখাটি কিন্তু বৃথা হয়ে যাবে।‌

TensorFlow Lite এর মাধ্যমে ইমেজ ক্লাসিফিকেশন ‌কেমন হতো যদি আপনি আপনার মোবাইল এর ক্যামেরার মাধ্যমে রিয়েল টাইমে অসংখ্য ইমেজকে ক্লাসিফাই করতে পারতেন? যেখানে লাগতো না কোন সার্ভার-এর সাহায্য বা ইন্টারনেট কানেকশন। আপনি আপনার মোবাইলের অ্যাপ্লিকেশান এর মাধ্যমেই সনাক্ত করতে পারতেন সব ধরনের ছবি। নিশ্চয়ই ভাবছেন এও কি সম্ভব, আগে না দেখা কোন বস্তু কিভাবে আপনার মোবাইল অ্যাপ সঠিকভাবে সনাক্ত করতে পারে? নিম্নের চিত্র ৯ এর ছবিটি কিন্তু আমার নিজের মোবাইল থেকে তোলা। দেখুন, মাউস-টা ঠিক চিনে ফেলেছে মোবাইল (এমনকি পিছনের কি-বোর্ড আর কম্পিউটার-ও)।

ছবি ৯: TensorFlow Lite এর মাধ্যমে ইমেজ ক্লাসিফিকেশন এর মোবাইল অ্যাপ

অবাক হচ্ছেন? মাউসটি কিন্তু আমার নিজেরই। আপনাদের দেখানোর জন্যই নিজেই TensorFlow Lite এর মাধ্যমে একটা অ্যাপ-এর কাস্টম মডেল তৈরি করে ফেললাম [৫]। এভাবে, আপনার নিজের ডিভাইসের ব্যাক ক্যামেরা ব্যবহার করে আপনি নিজেও ক্লাসিফাই করতে পারবেন এরকম অসংখ্য ছবিকে আর TensorFlow Lite আপনাকে সাহায্য করবে এমন সব মোবাইল আপ্লিকেশন তৈরি করতে। আপনাদের ‌সুবিধের জন্য একটি ভিডিও [৬] সংযুক্ত করে দিলাম, যাতে খুব সহজেই আপনি বুঝতে পারেন।

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

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

প্রচ্ছদের ছবি: সম্রাট কুমার দে

টীকা :

[১] https://firebase.google.com/docs/ml-kit

[২] https://developer.android.com/studio/releases/sdk-tools

[৩] https://www.tensorflow.org/lite

[৪] https://developer.android.com/ml

[৫] https://github.com/samratkumardey/TensorFlow_lite_ObjectDetection_android

[৬] https://www.youtube.com/watch?v=QwHD36bhXZA (ML Kit: Machine Learning for Mobile with Firebase )

[৭] https://www.youtube.com/watch?v=bTSWzddyL7E (ML Kit: Machine learning for mobile developers)

Facebook Comments
(Visited 1 times, 3 visits today)

Tags: , , , ,