মেশিন লার্নিং মডেল কাস্টমাইজ করা: সহজ উপায়

1। পরিচিতি

2a934d0e86f14118.png

শেষ আপডেট: 2022-03-28

মেশিন লার্নিং

মেশিন লার্নিং এমন একটি ক্ষেত্র যা ঘাড় ভাঙার গতিতে বিকশিত হয়। নতুন গবেষণা এবং সম্ভাবনাগুলি প্রতিদিন প্রকাশিত হয় যা আগে সম্ভব ছিল না এমন ব্যবহারের ক্ষেত্রে সক্ষম করে৷

এই রিলিজগুলি সাধারণত একটি মডেল হিসাবে থাকে। মডেলগুলিকে খুব দীর্ঘ গণিত সমীকরণ হিসাবে বোঝা যায় যা একটি ইনপুট (যেমন: চিত্র) ফলাফল দেয় (যেমন: শ্রেণিবিন্যাস)

  • আপনি যদি আপনার নিজের ডেটা দিয়ে এই নতুন মডেলগুলির একটি ব্যবহার করতে চান?
  • আপনার ব্যবহারের ক্ষেত্রে বা আপনার অ্যাপে এই স্টেট অফ দ্য আর্ট মডেলগুলি থেকে আপনি কীভাবে উপকৃত হতে পারেন?

এই কোডল্যাবটি আপনাকে মেশিন লার্নিং মডেলগুলিকে আপনার নিজস্ব ডেটাতে সহজ উপায়ে কাস্টমাইজ করার প্রক্রিয়ার মাধ্যমে গাইড করবে।

মেশিন লার্নিং মডেল তৈরি ও প্রশিক্ষণের অনেক চ্যালেঞ্জ রয়েছে:

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

নতুন মডেলের আর্কিটেকচার তৈরি করতে অনেক সময় লাগে এবং অনেক পরীক্ষা এবং বছরের অভিজ্ঞতার প্রয়োজন হতে পারে। কিন্তু আপনি যদি সেই সমস্ত জ্ঞান লাভ করতে পারেন এবং আপনার নিজের সমস্যার জন্য অত্যাধুনিক গবেষণাকে কাস্টমাইজ করে আপনার নিজের ডেটাতে ব্যবহার করতে পারেন? ট্রান্সফার লার্নিং নামে একটি কৌশল ব্যবহার করে এটি সম্ভব!

এই কোডল্যাবে আপনি শিখবেন কিভাবে ট্রান্সফার লার্নিং করতে হয়, কেন এটি কাজ করে এবং কখন ব্যবহার করতে হয়।

আপনি কি শিখবেন

  • ট্রান্সফার লার্নিং কি এবং কখন ব্যবহার করতে হবে।
  • কিভাবে ট্রান্সফার লার্নিং ব্যবহার করবেন।
  • টিউন মডেল কিভাবে সূক্ষ্ম.
  • টেনসরফ্লো লাইট মডেল মেকার কীভাবে ব্যবহার করবেন।
  • টেনসরফ্লো হাব কীভাবে ব্যবহার করবেন।

আপনি কি প্রয়োজন হবে

  • সমস্ত কোড Google Colaboratory ব্যবহার করে কার্যকর করা হয়েছে তাই আপনাকে আপনার মেশিনে কিছু ইনস্টল করতে হবে না। Colab-এ সাইন-ইন করতে আপনার শুধুমাত্র ইন্টারনেট এবং একটি Google অ্যাকাউন্ট অ্যাক্সেস করতে হবে।
  • টেনসরফ্লো এবং কেরাস এপিআই এর একটি প্রাথমিক জ্ঞান।
  • পাইথনের জ্ঞান।

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

2. ট্রান্সফার লার্নিং কি?

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

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

একটি মেশিন লার্নিং মডেল কাস্টমাইজ করার দুটি উপায় আছে

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

বৈশিষ্ট্য নিষ্কাশন প্রশিক্ষণের জন্য দ্রুততর, কিন্তু ফাইন-টিউনিংয়ের মাধ্যমে আপনি আরও ভাল ফলাফল অর্জন করতে পারেন।

ট্রান্সফার লার্নিং করার দুটি ভিন্ন উপায় ব্যবহার করে আপনি উভয়ই (ফিচার এক্সট্রাকশন এবং ফাইন-টিউনিং) চেষ্টা করবেন:

  • টেনসরফ্লো লাইট মডেল মেকার লাইব্রেরি স্বয়ংক্রিয়ভাবে বেশিরভাগ ডেটা পাইপলাইন এবং মডেল তৈরি করে, প্রক্রিয়াটিকে আরও সহজ করে তোলে। ফলস্বরূপ মডেলটি মোবাইল এবং ব্রাউজারে ব্যবহার করার জন্য সহজেই রপ্তানিযোগ্য।
  • TensorFlow Hub মডেলগুলি TensorFlow Hub-এ উপলব্ধ মেশিন লার্নিং মডেলগুলির বিশাল ভাণ্ডার লাভ করে। গবেষকরা এবং সম্প্রদায় এই মডেলগুলিকে অত্যাধুনিক শিল্প মডেলগুলিকে আরও দ্রুত এবং বৃহত্তর বৈচিত্র্যে উপলব্ধ করার জন্য অবদান রাখে।

3. মডেল মেকারের সাথে শিক্ষা স্থানান্তর করুন

এখন যেহেতু আপনি ট্রান্সফার লার্নিংয়ের পিছনের ধারণাটি জানেন, আসুন TensorFlow Lite Model Maker লাইব্রেরি ব্যবহার করা শুরু করি, এটি সহজ উপায়ে করতে সাহায্য করার জন্য একটি টুল।

টেনসরফ্লো লাইট মডেল মেকার লাইব্রেরি হল একটি ওপেন সোর্স লিব যা ট্রান্সফার লার্নিং প্রক্রিয়াকে সহজ করে এবং প্রক্রিয়াটিকে মোবাইল এবং ওয়েব ডেভেলপারদের মতো নন-এমএল ডেভেলপারদের কাছে আরও বেশি সহজলভ্য করে তোলে।

Colab নোটবুক নিম্নলিখিত ধাপগুলির মাধ্যমে আপনাকে গাইড করে:

  • ডেটা লোড করুন।
  • ডেটা স্প্লিট করুন।
  • মডেল তৈরি এবং প্রশিক্ষণ
  • মডেল মূল্যায়ন.
  • মডেল রপ্তানি করুন।

এই ধাপের পরে, আপনি একই সঠিক প্রক্রিয়া অনুসরণ করে আপনার নিজের ডেটা দিয়ে ট্রান্সফার লার্নিং শুরু করতে পারেন।

সহযোগিতামূলক

এর পরে, কাস্টম মডেল প্রশিক্ষণের জন্য Google Colab-এ যাই।

ব্যাখ্যাটি দেখতে এবং নোটবুকের মূল বিষয়গুলি বুঝতে প্রায় 15 মিনিট সময় লাগে৷

সুবিধা :

  • মডেল কাস্টমাইজ করার সহজ উপায়।
  • TensorFlow বা Keras API বোঝার দরকার নেই।
  • ওপেন সোর্স টুল যা পরিবর্তন করা যেতে পারে যদি ব্যবহারকারীর নির্দিষ্ট কিছুর প্রয়োজন হয় যা এখনও প্রয়োগ করা হয়নি।
  • মোবাইল বা ব্রাউজার এক্সিকিউশনের জন্য সরাসরি মডেল এক্সপোর্ট করে।

কনস

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

4. TensorFlow হাবে একটি মডেল খুঁজুন

এই বিভাগের শেষে, আপনি সক্ষম হবেন:

  • TensorFlow Hub-এ মেশিন লার্নিং মডেল খুঁজুন।
  • সংগ্রহ সম্পর্কে বুঝতে.
  • বিভিন্ন ধরনের মডেল বুঝুন।

ট্রান্সফার লার্নিং করতে, আপনাকে দুটি জিনিস দিয়ে শুরু করতে হবে:

  • ডেটা, উদাহরণ স্বরূপ যে বিষয়গুলিকে আপনি চিনতে চান তার ছবি৷
  • একটি বেস মডেল যা আপনি আপনার ডেটাতে কাস্টমাইজ করতে পারেন।

ডেটা অংশ সাধারণত ব্যবসা নির্ভর কিন্তু সবচেয়ে সহজ পথ হল আপনি যা চিনতে চান তার প্রচুর ছবি তোলা। কিন্তু বেস মডেল সম্পর্কে কি? কোথায় আপনি একটি খুঁজে পেতে পারেন? যেখানে TensorFlow হাব সাহায্য করতে পারে।

TensorFlow হাব হল আপনার TensorFlow মডেলের প্রয়োজনের মডেল সংগ্রহস্থল।

আপনি হাজার হাজার মডেলের ডকুমেন্টেশন অনুসন্ধান করতে এবং পড়তে পারেন, আপনার ব্যবহারের জন্য সহজেই উপলব্ধ, এবং তাদের মধ্যে অনেকগুলি স্থানান্তর শিক্ষা এবং ফাইন-টিউনিংয়ের জন্য প্রস্তুত।

একটি মডেল খুঁজছেন

আসুন প্রথমে TensorFlow হাবে ব্যবহার করার জন্য মডেলগুলির জন্য একটি সাধারণ অনুসন্ধান করি যা আপনি পরে আপনার কোডে ব্যবহার করতে পারেন।

ধাপ 1: আপনার ব্রাউজারে, tfhub.dev সাইটটি খুলুন।

tfhub.dev প্রধান পৃষ্ঠার চিত্র

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

বৈশিষ্ট্য ভেক্টর চিত্রগুলিকে Nth স্থানের একটি সংখ্যাসূচক উপস্থাপনায় রূপান্তর করতে পারে (যেখানে N হল মডেলের আউটপুট স্তরের মাত্রার সংখ্যা)।

TFHub-এ আপনি একটি নির্দিষ্ট কার্ডে ক্লিক করে বৈশিষ্ট্য ভেক্টরের জন্য বিশেষভাবে অনুসন্ধান করতে পারেন।

বৈশিষ্ট্য ভেক্টর টাস্ক হাইলাইট করে একটি বর্গক্ষেত্র সহ tfhub.dev পৃষ্ঠার চিত্র৷

আপনি শুধুমাত্র Image feature vectors দেখানোর জন্য বাম দিকে ফিল্টার সহ একটি মডেলের নাম অনুসন্ধান করতে পারেন।

এটি মূল পৃষ্ঠায় একটি বৈশিষ্ট্য ভেক্টর টাস্ক বেছে নেওয়ার পরে tfhub.dev থেকে অনুসন্ধান পৃষ্ঠার একটি চিত্র

নীল আইকন সহ কার্ডগুলি মডেলের সংগ্রহ । আপনি যদি একটি ইমেজ সংগ্রহে ক্লিক করেন তবে আপনি পছন্দ করার জন্য অনেক অনুরূপ মডেলগুলিতে অ্যাক্সেস পাবেন৷ এর ইমেজ সংগ্রহ নির্বাচন করা যাক.

এটি tfhub.dev থেকে চিত্র সংগ্রহ পৃষ্ঠা

নিচে স্ক্রোল করুন এবং MobileNet V3 নির্বাচন করুন। বৈশিষ্ট্য ভেক্টর যে কোন কাজ করবে.

এটি tfhub.dev থেকে চিত্র সংগ্রহের পৃষ্ঠা যা আগের পৃষ্ঠা থেকে কিছুটা স্ক্রোল করা হয়েছে

মডেলের বিশদ পৃষ্ঠায় আপনি মডেলের জন্য সমস্ত ডকুমেন্টেশন পড়তে পারেন, মডেলটি চেষ্টা করার জন্য কোড স্নিপেটগুলি দেখতে পারেন বা এমনকি সরাসরি Colab নোটবুকে এটি ব্যবহার করে দেখতে পারেন।

একটি mobilenetV3 বৈশিষ্ট্য ভেক্টর মডেলের বিস্তারিত পৃষ্ঠা

আপাতত, আপনার যা দরকার তা হল উপরের URL। এটি হল মডেল হ্যান্ডেল এবং যেভাবে আপনি সহজেই টেনসরফ্লো হাব লাইব্রেরি থেকে একটি মডেল অ্যাক্সেস করতে পারেন৷

5. টেনসরফ্লো হাবের মাধ্যমে শিক্ষা স্থানান্তর করুন

এখন আপনি ব্যবহারের জন্য একটি মডেল বেছে নিয়েছেন, আসুন টেনসরফ্লো হাব লাইব্রেরি থেকে কেরাসলেয়ার পদ্ধতিতে লোড করে এটিকে কাস্টমাইজ করি।

এই পদ্ধতিটি একটি মডেলকে এমনভাবে লোড করে যে এটি আপনার মডেলের একটি স্তর হিসাবে ব্যবহার করা যেতে পারে যা আপনাকে এই স্তরের চারপাশে আপনার মডেল তৈরি করতে সক্ষম করে।

পূর্বে, আপনি যখন মডেল মেকার ব্যবহার করতে শিখতেন, তখন বুঝতে সহজ করার জন্য সমস্ত অভ্যন্তরীণ আপনার কাছ থেকে লুকিয়ে রাখা হয়েছিল। না, আপনি দেখতে পাবেন মডেল মেকার পর্দার আড়ালে কি করছে।

সহযোগিতামূলক

এর পরে, কাস্টম মডেল প্রশিক্ষণের জন্য Google Colab-এ যাই।

ব্যাখ্যাটি দেখতে এবং নোটবুকের মূল বিষয়গুলি বুঝতে প্রায় 20 মিনিট সময় লাগে৷

সুবিধা :

  • 1000 উপলব্ধ মডেল গবেষক এবং সম্প্রদায় দ্বারা অবদান, বিভিন্ন ডেটাসেটের উপর প্রশিক্ষিত।
  • সমস্ত কাজের জন্য মডেল, যেমন দৃষ্টি, পাঠ্য এবং অডিও।
  • বিভিন্ন অনুরূপ মডেলের সাথে পরীক্ষা করা সহজ। বেস মডেল পরিবর্তন করার জন্য শুধুমাত্র একটি স্ট্রিং পরিবর্তন করতে হবে।

কনস

  • মডেলগুলি ব্যবহার করার জন্য এখনও কিছু TensorFlow/Keras দক্ষতার প্রয়োজন।

আপনি যদি আরও গভীরে যেতে চান, আপনি কেরাস অ্যাপ্লিকেশন ব্যবহার করে ট্রান্সফার লার্নিংও করতে পারেন। এটি টেনসরফ্লো হাব ব্যবহার করার মতো একটি খুব অনুরূপ প্রক্রিয়া, তবে শুধুমাত্র মূল টেনসরফ্লো এপিআই সহ।

6. অভিনন্দন

অভিনন্দন, আপনি শিখেছেন ট্রান্সফার লার্নিং কী এবং কীভাবে এটি আপনার নিজের ডেটাতে প্রয়োগ করতে হয়!

এই কোডল্যাবে আপনি শিখেছেন কিভাবে ট্রান্সফার লার্নিং নামে একটি কৌশল ব্যবহার করে আপনার নিজস্ব ডেটাতে মেশিন লার্নিং মডেল কাস্টমাইজ করতে হয়

আপনি ট্রান্সফার লার্নিংয়ের 2টি ফর্ম চেষ্টা করেছেন:

  • টেনসরফ্লো লাইট মডেল মেকারের মতো একটি টুল ব্যবহার করা।
  • টেনসরফ্লো হাব থেকে একটি বৈশিষ্ট্য ভেক্টর ব্যবহার করা।

উভয় বিকল্পেরই তাদের সুবিধা এবং অসুবিধা রয়েছে এবং আপনার নির্দিষ্ট প্রয়োজনের জন্য অনেক সম্ভাব্য কনফিগারেশন রয়েছে

আপনি আরও শিখেছেন যে আপনি আরও কিছুটা এগিয়ে যেতে পারেন এবং আপনার ডেটাকে আরও ভালভাবে মানানসই করার জন্য মডেলগুলিকে তাদের ওজনকে আরও কিছুটা পরিবর্তন করে সূক্ষ্ম সুর করতে পারেন।

উভয় বিকল্পই মডেলগুলিতে সূক্ষ্ম টিউনিং করতে পারে।

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

পরবর্তী পদক্ষেপ

  • আপনার নিজের ডেটা দিয়ে চেষ্টা করুন।
  • আপনি যা তৈরি করেন তা আমাদের সাথে শেয়ার করুন এবং আপনার প্রকল্পগুলির সাথে সোশ্যাল মিডিয়াতে TensorFlow ট্যাগ করুন।

আরও জানুন

একটি প্রশ্ন আছে?