سلام
اینکه چرا از hard negative استفاده میشه، یه ایده ساده پشتش داره:
شما یه سری دیتا دادید به classifier تون (مثال های مثبت از شی و مثالهایی از background) و مرحله آموزش هم تموم شده رفته، حالا قراره توی عمل تستش کنید
مثلا classifier قرار بوده آدم ها رو توی یه فریم تشخیص بده. الان برای تستش، به صورت sliding window ، پچ هایی از تصویر در میارید و میدید به classifier که بگه اینجا آدم هست یا نه
اونجا هایی که بیشتر 0.5 overlap داشته و گفته اینجا آدم هست که خوبه ، اما اونجاهایی که کمتر از 0.3 اورلپ داشتن اما بازم classifer گفته اینجا آدم هست، یعنی اون قسمت تشخیصش برای classifier مشکل بوده
این قسمتها رو جدا می کنیم و به عنوان مثالهای negative به مجموعه آموزشیمون اضافه می کنیم و دوباره با training set جدید آموزش میدیم
بعد از آموزش دوباره می تونیم این مراحل رو برای چند باره دیگه تکرار کنیم
شهود می گه با این کار باید عملکرد نهایی بهتر بشه
البته اینکه hard negative ها چطوری تعیین بشن یه انتخاب توی طراحیه ، مثلا اینجا اینطوری بوده که classifier اونجاهایی که کمتر از 0.3 با groung truth انطباق داشته رو مثبت تشخیص بده، اما این معیار دست خودتونه و می تونه بر اساس مسائل مختلف تغییر کنه
در مورد سوال آخرتون هم متاسفانه من متوجه منظورتون نشدم،
در مورد اینکه softmax رو حذف میکنیم و svm می ذاریم منظورتون توی شبکه های عصبیه؟