আমি ইয়োলো ভি 2 ক্ষতির ফাংশনটি বোঝার চেষ্টা করছি:
যদি কোনও ব্যক্তি ফাংশনটি বিশদ করতে পারেন।
আমি ইয়োলো ভি 2 ক্ষতির ফাংশনটি বোঝার চেষ্টা করছি:
যদি কোনও ব্যক্তি ফাংশনটি বিশদ করতে পারেন।
উত্তর:
বিভিন্ন পদাবলীর ব্যাখ্যা:
নোট করুন যে আমি প্রতিটি ববক্সের পূর্বাভাসের জন্য দুটি সূচক এবং ব্যবহার করেছি, নিবন্ধে এটি হয় না কারণ সর্বদা একটি উপাদান જે বা সুতরাং কোনও দ্ব্যর্থহীন ব্যাখ্যা নেই: নির্বাচিত সেই ঘরের সর্বোচ্চ আত্মবিশ্বাসের স্কোরের সাথে সম্পর্কিত।ঞ 1 ণ খ ঞ আমি ঞ 1 এন ণ ণ b ঞ আমি ঞ ঞ
যোগফলের প্রতিটি পদটির আরও সাধারণ ব্যাখ্যা:
B*(5+C)
? YOLO v3 এর ক্ষেত্রে এটি সর্বনিম্ন।
YOLOv2 ক্ষতি ফাংশন কি ভীতিজনক দেখাচ্ছে না? এটা আসলে না! এটি চারপাশের অন্যতম সাহসী, স্মার্ট লোকসান কার্য function
আসুন প্রথমে দেখে নেওয়া যাক নেটওয়ার্কটি আসলে কী ভবিষ্যদ্বাণী করে।
যদি আমরা পুনরায় সংশোধন করি তবে YOLOv2 13x13 বৈশিষ্ট্যের মানচিত্রে সনাক্তকরণের পূর্বাভাস দিয়েছে, সুতরাং মোট, আমাদের কাছে 169 মানচিত্র / ঘর রয়েছে।
আমাদের 5 টি অ্যাঙ্কর বাক্স রয়েছে। প্রতিটি অ্যাঙ্কর বাক্সের জন্য আমাদের অবজেক্ট-কনফিডেন্স স্কোর (কোনও বস্তু পাওয়া গেছে কিনা?), অ্যাঙ্কর বক্সের জন্য 4 সমন্বয় ( এবং ) এবং 20 শীর্ষ শ্রেণীর প্রয়োজন। এটিকে ক্রুডলি 20 টি স্থানাঙ্ক, 5 আত্মবিশ্বাস স্কোর এবং সমস্ত 5 অ্যাঙ্কর বাক্স পূর্বাভাসের জন্য একত্রে রাখা 100 শ্রেণীর সম্ভাবনা হিসাবে দেখা যেতে পারে।
আমাদের উদ্বিগ্ন হওয়ার মতো কয়েকটি বিষয় রয়েছে:
সমস্ত ক্ষয়ক্ষতি শ্রেণিবিন্যাস ক্ষতি ব্যতীত, গড়-স্কোয়ার ত্রুটি, যা ক্রস-এন্ট্রপি ফাংশন ব্যবহার করে।
এখন, ইমেজ মধ্যে কোড ভাঙ্গা যাক।
আমাদের প্রতিটি অ্যাঙ্কর বক্সের জন্য লোকসান গণনা করতে হবে (মোট 5 টি)
আমাদের 13x13 কোষের প্রতিটি যেখানে এস = 12 (যেহেতু আমরা 0 থেকে সূচী শুরু করি) এর জন্য এটি করা দরকার
1 1 হয় যখন কক্ষে অন্য কোনও 0 থাকে।
var1 | var2 | (var1 - var2) ^ 2 | (sqrtvar1 - sqrtvar2) ^ 2
0.0300 | 0.020 | 9.99e-05 | 0.001
0.0330 | 0.022 | 0.00012 | 0,0011
0.0693 | 0.046 | 0.000533 | 0,00233
0.2148 | 0.143 | 0.00512 | 0,00723
0.3030 | 0.202 | 0.01 | 0.01
0.8808 | 0.587 | 0.0862 | 0,0296
4.4920 | 2.994 | 2.2421 | 0,1512
ভয়াবহ নয়, তাই না!
বিস্তারিত জানতে এখানে পড়ুন ।
আপনার ক্ষতি ফাংশন YOLO v1 এর জন্য, YOLO v2 এর জন্য নয়। আমি ক্ষতির দুটি কার্যের মধ্যে পার্থক্য নিয়েও বিভ্রান্ত হয়ে পড়েছিলাম এবং মনে হয় অনেক লোক হ'ল: https://groups.google.com/forum/#!topic/darknet/TJ4dN9R4iJk
YOLOv2 কাগজটি YOLOv1 থেকে আর্কিটেকচারের পার্থক্যটি নীচে ব্যাখ্যা করেছে:
আমরা YOLO (v1) থেকে সম্পূর্ণ সংযুক্ত স্তরগুলি সরিয়ে ফেলি এবং সীমানা বাক্সগুলির পূর্বাভাস দেওয়ার জন্য অ্যাঙ্কর বাক্স ব্যবহার করি ... যখন আমরা অ্যাঙ্কর বাক্সে চলে যাই তখন আমরা স্থানের অবস্থান থেকে শ্রেণি পূর্বাভাস প্রক্রিয়াটি ডিকুয়াল করি এবং পরিবর্তে প্রতিটি অ্যাঙ্করবক্সের জন্য শ্রেণি এবং অবজেক্টের পূর্বাভাস করি।
এর অর্থ হ'ল উপরের আত্মবিশ্বাসের সম্ভাবনা কেবলমাত্র এবং নয়, অ্যাঙ্কর বক্স সূচকেও নির্ভর করবে , বলে । অতএব, ক্ষতিটি উপরে থেকে আলাদা হওয়া দরকার। দুর্ভাগ্যক্রমে, YOLOv2 কাগজটি তার ক্ষতির ক্রিয়াটি স্পষ্টভাবে বলে না does
আমি YOLOv2 এর ক্ষয়ক্ষতি সম্পর্কে একটি অনুমান করার চেষ্টা করেছি এবং এটি এখানে আলোচনা করব: https://fairyonice.github.io/Part_4_Object_Detection_with_Yolo_used_VOC_2012_data_loss.html
এখানে আমার স্টাডি নোট
ক্ষতি ফাংশন: যোগফলের ত্রুটি
ক। কারণ: অপ্টিমাইজ করা সহজ খ। সমস্যা: (1) সর্বোচ্চ নির্ভুলতা সুনির্দিষ্ট করার আমাদের লক্ষ্যটির সাথে পুরোপুরি সারিবদ্ধ হয় না। (2) প্রতিটি চিত্রে, অনেক গ্রিড কোষে কোনও বস্তু থাকে না। এটি those কোষগুলির আত্মবিশ্বাসের স্কোরকে 0 এর দিকে ঠেলে দেয়, প্রায়শই কোনও বস্তু ধারণ করে এমন ঘরগুলি থেকে গ্রেডিয়েন্টকে বাড়িয়ে তোলে। গ। সমাধান: সীমাবদ্ধ বাক্স থেকে ক্ষতি বাড়ানো পূর্বাভাসের সমন্বয় করে এবং এমন কোনও বাক্স থেকে আত্মবিশ্বাসের পূর্বাভাসের ক্ষতি হ্রাস পায় যা অবজেক্টগুলি ধারণ করে না। আমরা দুটি প্যারামিটার ব্যবহার করি এবং = 0.5 ডি। সমষ্টিগত স্কোয়ার ত্রুটি বড় আকারের বাক্স এবং ছোট বাক্সগুলিতে ত্রুটিকেও সমানভাবে ওজন করে
প্রতিটি অবজেক্টের জন্য কেবল একটি বাউন্ডিং বাক্সই দায়বদ্ধ হওয়া উচিত। আমরা একজন ভবিষ্যদ্বাণীকে এমন কোনও বস্তুর পূর্বাভাস দেওয়ার জন্য দায়বদ্ধ বলে দায়িত্ব অর্পণ করি যার ভিত্তিতে ভবিষ্যদ্বাণীটি স্থল সত্যের সাথে সর্বাধিক বর্তমান আইইউ রয়েছে।
ক। আবদ্ধ বাক্স স্থানাঙ্ক (x, y) থেকে ক্ষতি লক্ষ্য করুন যে ক্ষতি একটি গ্রিড ঘর থেকে একটি বাউন্ডিং বক্স থেকে আসে। এমনকি গ্রিড কক্ষে আপত্তি না থাকলেও স্থল সত্য হিসাবে।
খ। প্রস্থ এবং w উচ্চতা থেকে ক্ষতি h। নোট করুন যে ক্ষতি গ্রিড সেল থেকে একটি বাউন্ডিং বক্স থেকে আসে, এমনকি যদি গ্রিড সেলে বস্তুটি স্থল সত্য হিসাবে না থাকে।
গ। প্রতিটি আবদ্ধ বাক্সের আস্থা থেকে ক্ষতি ক্ষতি গ্রিড সেল থেকে একটি বাউন্ডিং বক্স থেকে আসে না, এমনকি বস্তু গ্রিড সেলে গ্রাউন্ড ট্রুথ হিসাবে না থাকলেও।
ক্ষতি গ্রন্থটি কেবল শ্রেণিবিন্যাসকে শাস্তি দেয় যদি আপত্তি গ্রিড ঘরে উপস্থিত থাকে। যদি সেই বাক্সটি গ্রাউন্ড বক্সের জন্য দায়ী হয় (সর্বোচ্চ আইওউ)
ক্ষয় সূত্র আপনি লিখেছেন হল মূল Yolo কাগজ ক্ষতি, না v2 অথবা v3 এর ক্ষয়।
সংস্করণগুলির মধ্যে কিছু বড় পার্থক্য রয়েছে। আমি কাগজপত্রগুলি পড়ার বা কোড বাস্তবায়নগুলি পরীক্ষা করার পরামর্শ দিচ্ছি। কাগজপত্র: ভি 2 , ভি 3 ।
কিছু বড় পার্থক্য আমি লক্ষ্য করেছি:
সীমানা বাক্সে শ্রেণীর সম্ভাবনা গণনা করা হয় (সুতরাং আউটপুটটি এস এস (বি * 5 + সি) এর পরিবর্তে এখন এস ∗ এস ∗ বি * ( 5 + সি))
বাউন্ডিং বক্স সমন্বয়গুলির এখন আলাদা উপস্থাপনা রয়েছে
ভি 3-তে তারা 3 টি পৃথক "স্কেল" জুড়ে 3 টি বাক্স ব্যবহার করে
পাইথন / কেরাস বাস্তবায়ন ভি 2 , ভি 3 (ফাংশনটি yolo_loss দেখুন) বা সরাসরি সি বাস্তবায়ন ভি 3 (ডেল্টা_ইলো_বক্স এবং ডেল্টা_ইলো_ক্লাসের সন্ধান) এর মাধ্যমে আপনি ক্ষতির নাকাল-বিব্রত বিশদে যাওয়ার চেষ্টা করতে পারেন।