ক্যাপচারিং বিউটি - এআই-চালিত টিন্ডার প্রোফাইল সোয়াইপিংয়ের জন্য হাইব্রিড বর্ধিত শিক্ষা: কেরাসে একটি বাস্তবায়ন।

ভূমিকা

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

টিন্ডার হ'ল বিশ্বের সর্বাধিক জনপ্রিয় ডেটিং অ্যাপ্লিকেশন, একা একা ৪.১ মিলিয়নের বেশি অর্থপ্রদানকারী ব্যবহারকারী এবং ২০১৩ সালে প্রতিদিন প্রায় ২০ বিলিয়ন মিলিয়ন তৈরি হয় It's এটির জনপ্রিয়তাটিকে এর সরলতার জন্য দায়ী করা যেতে পারে: কোনও ব্যবহারকারী প্রোফাইল উপস্থাপন করা হয়, এতে বেশ কয়েকটি ফটো এবং সিরিজ থাকে and কিছু পাঠ্য তথ্য। এই তথ্যের ভিত্তিতে, কোনও ব্যবহারকারী প্রোফাইল কে আকর্ষণীয় মনে করে কিনা তার উপর নির্ভর করে ডান বা বামে সোয়াইপ করে। দুটি ব্যবহারকারীর একে অপরের ডানদিকে সোয়াইপ করা উচিত, একটি ম্যাচ তৈরি করা হয় এবং দুটি ব্যবহারকারী একে অপরের সাথে চ্যাট করতে পারে। সোয়াইপিং বেশিরভাগ ক্ষেত্রে উপরের কারণগুলির দ্বারা প্রভাবিত হয়, আরও গভীরতর সংযোগগুলি সীমা অবধি অবধি নিচে রেখে।

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

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

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

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

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

আমরা দুটি অনুমানমূলক পরিস্থিতি পরীক্ষা করব:

  • এমন এক ব্যবহারকারী যা এশিয়ান মহিলা মুখের জন্য একচেটিয়াভাবে আংশিক।
  • এমন এক ব্যবহারকারী যিনি এশীয় মহিলাদের একচেটিয়াভাবে আংশিক তিনি আকর্ষণীয়তার একটি নির্দিষ্ট প্রান্তের উপরে faces
এসসিইউটি-এফবিপি ডেটাসেটের চিত্রগুলি উদাহরণ করুন।

এর সমাধানের জন্য, আমরা দক্ষিণ চীন বিশ্ববিদ্যালয় প্রযুক্তি বিশ্ববিদ্যালয়ের হিউম্যান কম্পিউটার ইন্টেলিজেন্ট ইন্টারঅ্যাকশন ল্যাব দ্বারা সংগৃহীত এসসিইউটি-এফবিপি ডেটাসেটটি ব্যবহার করব, যেখানে তিনজন গবেষকের দ্বারা "আকর্ষণ" করার জন্য ৫০০ জন মহিলা এশীয় মুখ গঠিত – । এই শ্রেণীর বিপরীতে, আমরা এনভিআইডিআইএর ফ্লিকার ফেস ডেটাসেট থেকে সংগৃহীত 477 টি চিত্রের একটি ডেটাसेट ব্যবহার করব, যে কোনও এশিয়ান মহিলা উদাহরণগুলি স্ক্রাব করে।

বাস্তবায়ন

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

আমাদের কোড কেরাস এবং টেনসরফ্লো ব্যবহার করে গুগল কোলাবোরেটরিতে কার্যকর করা হয়েছিল। যথারীতি, সম্পূর্ণ কোডটি গ্রেডিয়েন্ট ক্রিসেন্ট রিপোজিটরিতে পাওয়া যাবে।

শুরু করার জন্য, আমরা আমাদের নোটবুকে আমাদের ডেটাসেটগুলি আমদানি করি।

পাইপ ইনস্টল করুন! পাইপ ইনস্টল করুন -আই স্কিপি == 1.2। *
mkdir ডেটা
numpy.random আমদানি বীজ # বীজ (6) # 1 থেকে সেন্সরফ্লো আমদানি সেট_আরেন্ডম_সীড # সেট_রেন্ডম_সিড (5) # 2
#
এনপি # লিনিয়ার বীজগণিত হিসাবে পিডি # ডেটা প্রসেসিং হিসাবে প্যানডাস আমদানি করুন, সিএসভি ফাইল আই / ও (যেমন পিডি.ড্রেড_সিএসভি)
# ইনপুট ডেটা ফাইলগুলি ".. / ইনপুট /" ডিরেক্টরিতে উপলব্ধ। # উদাহরণস্বরূপ, এটি চালানো (চালাতে ক্লিক করে বা শিফট + এন্টার টিপে) ফাইলগুলি ইনপুট ডিরেক্টরিতে তালিকাভুক্ত করবে
আমদানি ওএস
# প্রশিক্ষণ বিভাগ ###########################################
# এফএফএইচকিউ ডেটাসেট বিয়োগ এশিয়ান ফিমাল ডাউনলোড করুন
! গাউন ডাউন https://drive.google.com/uc?id=1neeeqFXWcdgTognHrPlndnjqPUxBBL1i # ডাউনলড এসসিইউটি-এফবিপি এশিয়ান ডেটাসেট
! gdown https://drive.google.com/uc?id=1IUqrFv9Fal5S3bujWfEx0hIlquecDVFn # ডাউনলোড রেটিংগুলি সিএসভি - এটি সৌন্দর্য র‌্যাঙ্কিংয়ের জন্য ব্যবহৃত হবে (3)
! গাউন ডাউন https://drive.google.com/uc?id=1LBP5MnfB-IY2hSjkt_qsaoqEJv3OS6kD
# সমস্ত ফোল্ডার আনজিপ করুন
! আনজিপ করুন এশিয়ান_টেন্ডার.জিপ-ডি ডেটা! আনজিপ করুন রিয়েল_টিন্ডার.জিপ-ডি ডেটা

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

মুদ্রণ (os.listdir ( "/ বিষয়বস্তু /"))
# ফলোয়িং কোডটি এশিয়ান মহিলা ফেস ডেটাসেটের র‌্যাঙ্কিং অনুসারে ডেটাसेटকে সংশোধন করার জন্য। ডিফল্টরূপে অক্ষম, আপনি যদি টিউটোরিয়াল "" "এর সৌন্দর্য-র‌্যাঙ্কিং অংশটি প্রতিলিপি করতে চান তবে এটি সক্ষম করুন
বেস_ডির_এ = '/ সামগ্রী / তথ্য / এশিয়ান /' বেস_ডির_বি = '/ সামগ্রী / তথ্য / আসল /' বেস_ডির_বিয়েটি = '/ সামগ্রী / ডেটা / সৌন্দর্য /'
os.mkdir (base_dir_Beauty)
পিডি আমদানি শুটিল হিসাবে প্যান্ডাস আমদানি করুন
র‌্যাঙ্কিং = পিডি.ড্রেড_সিএসভি ("টিন্ডার_লাবেলস সিএসভি") # প্রিন্ট (র‌্যাঙ্কিং)
# ডিফের মধ্যে আই, জে র্যাঙ্কিংয়ের জন্য সমস্ত লেবেলের উপরে চিহ্নিত করুন.টায়রো (): # মুদ্রণ (ইন্টি (জে ["চিত্র"])) ফাইলের নাম্বার = ইন (জে ["চিত্র"]) ফাইলের নাম = "এসসিইউটি- FBP -। "Str (filenumber)" JPG "
# সমস্ত চিত্রের মধ্যে ছড়িয়ে পড়ুন এবং তাদের সৌন্দর্যে নিয়ে যান। বিশ্রামে আসুন
 # তারপরে বিউটি ফোল্ডার হিসাবে নতুন একটি শ্রেণি সেট করুন # নির্দিষ্ট উত্স এবং গন্তব্য হিসাবে এটি অনুলিপি করুন src = বেস_ডির_এ + ফাইলের নাম dst = বেস_ডির_বিয়েটি + ফাইলের নাম shutil.copy (src, dst) # আপনি কেবলমাত্র ডিরেক্টরি ডিরেক্টরি থেকে অনুলিপি করা ফাইলটি মুছুন ওএস.আরমোভ (src) # একবার আমরা ডাটাফ্রেমের মধ্যে থাকা সমস্ত ফাইলের জন্য এটি করি, বামদিকগুলি ডিরেক্টরি বিতে সরিয়ে দিন
os.listdir (বেস_ডির_এ) -র ফাইলের নামের জন্য: লেফটসার্ক = বেস_ডির_এ + ফাইলের নাম বামেস্টেস্ট = বেস_ডির_বি + ফাইলের নাম # পুনঃনামকরণ () ফাংশন # সমস্ত ফাইলের নাম পরিবর্তন করবে shutil.copy (lefersrc, বামদিক) os.remove (lefersrc) # স্যানিটি চেক প্রিন্ট ( os.listdir (base_dir_A))
# এর পরে ক্লাস ডিরেক্টরিগুলি যথাযথভাবে সেট করতে মনে রাখবেন # / কনটেন্ট / ডেটা / এসিয়ান / এসসিএটি- এফবিপি ১১.jpg
os.rmdir (বেস_ডির_এ) "" "

এর পরে, আসুন আমাদের প্রিপ্রোসেসিং ফাংশন এবং ইমেজডেটা জেনারেটর সংজ্ঞায়িত করা যাক। প্রাকপ্রসেসিংয়ের সমস্তগুলিই কেরাসের নিজস্ব। আপনি লক্ষ্য করবেন যে আমরা সেগুলির দুটি সেট এখানে তৈরি করেছি, যার মধ্যে একটি প্রশিক্ষণ এবং বৈধতা যুগল 1 ব্যাচের আকারকে এবং অন্যটি 5 টি ব্যাচের আকারকে coveringেকে দেবে আমরা একটি সংকর প্রশিক্ষণ বাস্তবায়নের জন্য এই দুটি সেট ব্যবহার করব পদ্ধতি।

টেনসরফ্লো.কেরাস থেকে কে হিসাবে আমদানি ব্যাকএন্ড থেকে টেনসরফ্লো.ক্রেস.মোডেলগুলি আমদানি করে মডেল, টেনসরফ্লো.ক্রেস.লেয়ার্স থেকে লোডমোডেল ফ্ল্যাটেন, ঘন, ড্রপআউট টেনসরফ্লো.ক্রেস.এপ্লিকেশনস.সংশ্লিষ্ট_আরনেট_ভি 2 আমদানি ইনসেপশন রিসনেট ভি 2, প্রিপ্রোসিমট্রাক্স ইনপুট আমদানি থেকে আমদানি করে , Tensorflow.keras.preprocessing.image আমদানি থেকে আরএমএসপ্রপ
DATASET_PATH = '/ সামগ্রী / ডেটা'
IMAGE_SIZE = (299, 299) NUM_CLASSES = 2 টি BATCH_SIZE = 1 # অনলাইন শেখার অনুকরণের জন্য ব্যাচের আকারের এক
NUM_EPOCHS = 150 লেয়ার্নিং_আরট = 5 ই -4 # আমরা প্রশিক্ষণ 5e-5 স্থানান্তরিত হবার কারণে কম শিখার হার। 2E-4 চেষ্টা করেছে, DROP_OUT = .5
# ট্রেনের ডেটাগেন এখানে প্রিপ্রোসেসর ট্রেন_ড্যাটাজেন = ইমেজডেটা জেনারেটর (প্রিপ্রোসেসিং_ফংশান = প্রিপ্রোসেস_ইনপুট, রোটেশন_রেঞ্জ = 50, ফিচারওয়াইস_সেন্টার = সত্য, ফিচারওয়াই_স্টিডি_আরঞ্জাইজেশন = 0.2, শিয়ার_রেঞ্জ = 0.2, জেনার_রেঞ্জ = 0.25 , অনুভূমিক_ফ্লিপ = সত্য, উল্লম্ব_ফ্লিপ = সত্য, বৈধতা_স্প্লিট = 0.3, পূরণ_মোড = 'ধ্রুবক')
# টেস্ট_ড্যাটাজেন = ইমেজডেটা জেনারেটর (প্রিপ্রসেসিং_ফানশন = প্রিপ্রোসেস_ইনপুট, # ফিল_মোড = 'ধ্রুবক')
ট্রেন_ব্যাচ_এইচ = ট্রেন_ড্যাটাজেন.ফ্লো_ফ্রম_ডাইরেক্টরি (ডেটাএসএপিপিএইচটি, টার্গেট_সাইজ = আইএমএফএসআইআইএস, শিফেল = সত্য, ব্যাচ_সাইজ = 5, সাবসেট = "ট্রেনিং", ক্লাস_মোড = 'বাইনারি')
বৈধ_ব্যাচ_এইচ = ট্রেন_ড্যাটেন.ফ্লো_ফ্রম_ডাইরেক্টরি (ডেটাএসএপিপিএটিএইচ, টার্গেট_সাইজ = আইএমএফএসআইআইএস, শিফল = সত্য, ব্যাচ_সাইজ = 3, সাবসেট = "বৈধতা", শ্রেণি_মোড = 'বাইনারি')
ট্রেন_ব্যাচ_স_ ট্রেন_ড্যাটাজেন.ফ্লো_ফ্রম_ডাইরেক্টরি (ডেটাএসএপিপিএইচটি, টার্গেট_সাইজ = আইএমএফএসআইআইএস, শিফেল = ট্রু, ব্যাচ_সাইজ = 1, সাবসেট = "ট্রেনিং", ক্লাস_মোড = 'বাইনারি')
বৈধ_ব্যাচ_স_ ট্রেন_ড্যাটাজেন.ফ্লো_ফ্রম_ডাইরেক্টরি (ডেটাএসএপিপিএটিএইচ, টার্গেট_সাইজ = আইএমএফএসআইআইএস, শিফল = সত্য, ব্যাচ_সাইজ = 1, সাবসেট = "বৈধতা", শ্রেণি_মোড = 'বাইনারি')

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

শুরুতে, আসুন আমরা পরীক্ষা করতে পারি যে আমাদের ইনসেপশনভি 3 মডেলটি কীভাবে নিখরচায় বর্ধিত শিক্ষণ-ভিত্তিক পদ্ধতির ব্যবহার করে, 150 টি যুগের জন্য একটি ব্যাচের আকার এবং 2E-4 এর শিক্ষার হার নিয়ে কাজ করে। আমরা এটি .fif () কমান্ড দিয়ে করতে পারি:

ফলাফল = মডেল.ফিট_জেনারেটর (ট্রেন_ব্যাচস_1, পদক্ষেপ_পাত্র_পোচ = 100, বৈধতা_ডাটা = বৈধ_ব্যাচ_স_1, বৈধতা_ পদক্ষেপ = 50, পর্ব = 150,)

প্রশিক্ষণের জন্য এক ঘন্টারও কম সময় নেওয়া উচিত। একবার শেষ হয়ে গেলে, আমরা ম্যাটপ্ল্লোব লাইব্রেরির সাথে আমাদের ফলাফলগুলি পরিদর্শন করতে পারি:

ডিফ প্লট_একসি_লস (ফলাফল, epochs): acc = ফলাফল.history ['acc'] ক্ষতি = ফলাফল হিস্টোরি ['ক্ষতি'] ভাল_একসি = ফলাফল.history ['ভাল_একসি'] ভাল_লস = রেজাল্ট হিস্টরি ['ভাল_লস'] plt। চিত্র (ডুমুর আকার = (15, 5)) plt.subplot (121) plt.plot (পরিসীমা (epochs), acc [: 150], লেবেল = 'ট্রেন_এইচসি') plt.plot (পরিসীমা (epochs), ভাল_একসি [: 150 ], লেবেল = 'টেস্ট_এইসিসি') প্লট.টাইটেল ('যথাযথতা ওভার' + স্ট্রিং (ইপাকস) + 'ইপাকস', আকার = 15) প্লট.এলজেন্ট () প্লট.grit (সত্য) plt.subplot (122) plt.plot (পরিসীমা (epochs), ক্ষতি [: 150], লেবেল = 'ট্রেন_লাস') plt.plot (পরিসর (epochs), Val_loss [: 150], লেবেল = 'টেস্ট_লস') plt.title ('ক্ষতি ওভার' + str ( epochs) + 'Epochs', আকার = 15) plt.legnd () plt.grid (সত্য) plt.show () pl_acc_loss (ফলাফল, 50)
খাঁটি ইনক্রিমেন্টাল লার্নিং অ্যাপ্রোচ (ব্যাচের আকার = 1) এর সাথে প্রশিক্ষণ এবং সূক্ষ্ম সুরকরণের পরে আমাদের মডেলটির যথাযথতা এবং ক্ষতির পারফরম্যান্স।

এটা বেশ ভয়ঙ্কর। আমাদের বৈধতা নির্ভুলতা প্রায় 50%। 2E-5 এর নিম্ন শিক্ষার হারের সাথে এই মডেলটিকে সূক্ষ্ম-টিউন করার চেষ্টা করা কোনওভাবেই সহায়তা করে না।

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

তাহলে আমরা কীভাবে এই সমস্যাটি কাটিয়ে উঠব?

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

সুতরাং এর অনুকরণ করা যাক। আসুন ধরে নেওয়া যাক যে ব্যবহারকারী আমাদের 50 দিনের মধ্যে স্যুইপ করে 50 টি প্রোফাইল জুড়ে সোয়াইপ করে, আমাদের মানদণ্ডের সাথে মিল রেখে প্রায় সমান ডেটা বিতরণ অর্জন করে। তারপরে আমরা 5 ই -4 এর উচ্চতর শিক্ষার হারে 6 পর্বের জন্য আমাদের মডেলটিকে প্রশিক্ষণের জন্য 5 টি চিত্রের একটি ব্যাচ আকার (ট্রেন_ব্যাচস_5) ব্যবহার করতে পারি, 20 টি চিত্র 3 টি ব্যাচের আকারে বৈধতার জন্য রেখে গেছে (বৈধ_পাঞ্চ_৫)। তারপরে আমরা আমাদের বর্ধিত মডেলটিতে স্যুইচ করি, 1 ব্যাচের আকারের প্রশিক্ষণ এবং 2E-5 এর শিক্ষার হার, প্রয়োজনীয়ভাবে তাজা তথ্য সহ আমাদের মডেলটিকে সূক্ষ্ম করে তুলি tun আসুন ফলাফলগুলি একবার দেখুন:

হাইব্রিড ইনক্রিমেন্টাল লার্নিং এপ্রোচ (ব্যাচের আকার = 5 এবং 1) এর সাথে প্রশিক্ষণ এবং সূক্ষ্ম সুরকরণের পরে আমাদের মডেলের যথাযথতা এবং ক্ষতির পারফরম্যান্স।

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

এখন আমরা আমাদের প্রথম দৃশ্যাবলীটি coveredেকে রেখেছি, যদি আমাদের ব্যবহারকারী যদি বেশি আকর্ষণীয় হন, কেবল আকর্ষণীয় প্রান্তিকের উপরে ব্যবহারকারীদের উপর সোয়াইপ করতে পছন্দ করেন? আসুন আমাদের প্রিপ্রোসেসিং কোডটি সক্ষম করুন, যার ফলস্বরূপ নতুন "বিউটি" ডিরেক্টরিতে 119 টি উদাহরণ স্থানান্তরিত হওয়া উচিত, এবং বাকীগুলি সহায়ক শ্রেণিতে স্থানান্তরিত হবে। তারপরে আমরা আমাদের মডেলটিকে আগের মতো একই হাইব্রিড পদ্ধতি দিয়ে প্রশিক্ষণ দিই, তবে অতিরিক্ত পোশাক এড়ানোর জন্য 50 টি যুগের সূক্ষ্ম সুরকরণটি রাখি:

হাইব্রিড ইনক্রিমেন্টাল লার্নিং অ্যাপ্রোচ (ব্যাচের আকার = 5 এবং 1) সহ প্রশিক্ষণ এবং সূক্ষ্ম সুরকরণের পরে আমাদের মডেলের যথাযথতা এবং ক্ষতির পারফরম্যান্স, অত্যন্ত আকর্ষণীয় মহিলা এশীয় মুখগুলিকে টার্গেট করে ভারসাম্যহীন ডেটা ক্লাস রয়েছে।

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

সৌন্দর্য সত্যই দর্শকের চোখে পড়ে।

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

আরো দেখুন

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