1. مقدمه :
کاربردهای شبکههای عصبی در سالهای اخیر از تقسیمبندی تصویر گرفته تا پردازش زبان طبیعی تا پیشبینی سریهای زمانی به طور قابل توجهی گسترش یافته است. یکی از کاربردهای موفقیتآمیز یادگیری عمیق،جاسازی یا Embeddingاست، روشی که برای نمایش متغیرهای گسسته به عنوان بردارهای پیوسته استفاده میشود. این تکنیک کاربردهای عملی با جاسازی کلمه برای ترجمه ماشینی و جاسازی موجودیت برای متغیرهای طبقهبندی پیدا کرده است.
Distance metric learning (DML)
یادگیری متریک فاصله (DML) برای یادگیری Embeddingهایی است که در آن نمونههای یک کلاس نزدیکتر از نمونههای کلاسهای دیگر هستند و می توان آن را به عنوان یک مسئله بهینه سازی با محدودیت های سه گانه درنظر گرفت. کاربردهای آن مانند طبقه بندی k-نزدیک ترین همسایه ، بازیابی تصویر و خوشه بندی امروزه به طور گسترده مورد مطالعه قرار گرفته است.
به عنوان مثال یک روش محاسبه فاصله، استفاده از فاصله Mahalanobis است که M در آن متریک فاصله آموخته شده است:
چالش اول : چالش اصلی DML ابعاد فضای ورودی است. به عنوان یک متریک، ماتریس آموخته شده M باید نیمه معین مثبت (PSD) باشد در حالی که هزینه نگهداری ماتریس PSD می تواند تا O(d3) باشد، که در آن d ابعاد ویژگی های اصلی است.
راه حل : جاسازیها را میتوان مستقیماً از شبکههای عصبی عمیق آموخت که به آن Deep Metric Learning می گویند. بدون استخراج ویژگی صریح، یادگیری متریک عمیق عملکرد را بصورت قابل توجهی افزایش می دهد. در یادگیری متریک عمیق ، ابعاد ویژگیهای ورودی دیگر چالشی نیست زیرا شبکههای عصبی میتوانند ویژگیهای کمبعد را مستقیماً از داده های خام، مانند تصاویر، اسناد و غیره بیاموزند.
چالش بعدی : ایجاد محدودیتهای مناسب برای بهینهسازی برای یادگیری متریک عمیق است.
به دلیل اینکه بیشتر شبکههای عصبی عمیق با الگوریتم شیب نزولی تصادفی (SGD) آموزش داده میشوند و تنها یک دسته کوچک(minibatch) از نمونهها در هر تکرار موجود است ایجاد محدودیت های مناسب چالش برانگیز است. جاسازیها با loss تعریفشده در یک نمونه لنگر و همسایگان آن بهینهسازی میشوند، بنابراین نمونهها در یک دسته کوچک ممکن است نتوانند مجاورت کلی را به تصویر بکشند، به خصوص برای مجموعه داده های نسبتاً بزرگ. علاوه بر این، یک minibatch با اندازه m شامل O(m2) مجموعه دو عضوی(جفت ها) و O(m3) مجموعه سه عضوی(سه گانه ها) است.
برای کاهش این مشکل، الگوریتمها باید یک استراتژی نمونهگیری مؤثر برای تولید minibatch با اطلاعات مفید و سپس نمونهبرداری از محدودیتهای سهگانه از آن ایجاد کنند. اما مسئله این است که مرحله نمونه برداری برای minibatch و محدودیت های سه گانه نه تنها اطلاعات را از دست می دهد بلکه بهینه سازی را نیز پیچیده می کند.
راه حل (ایده مقاله) :
در این مقاله سعی شده جاسازیها را بدون محدودیت نمونهگیری آموخت.
جاسازیهایی که با بهینهسازی SoftMax loss به دست میآیند میتوانند به عنوان یک متریک فاصله در وظایف ساده مبتنی بر فاصله و تشخیص چهره به خوبی کار کنند. در واقع SoftMax loss معادل یک Smoothed triplet loss است که در آخرین لایه کاملا متصل برای هر کلاس یک مرکز درنظر می گیرد. با این حال، تعبیههایی که از loss SoftMax به دست میآیند میتوانند در سناریوی پیچیده شکست بخورند چرا که دنیای واقعی یک کلاس می تواند از چندین خوشه محلی تشکیل شده باشد که در شکل 1 نشان داده شده است و یک مرکز واحد برای گرفتن ساختار ذاتی داده ها کافی نیست.
از آنجایی که مرکز کلاس در آخرین لایه کد می شود نیازی به نمونه گیری سه تایی نیست پس می توان با بهبود SoftMax loss به گونه ای که برای هر کلاس چند مرکز درنظر بگیرد به نتیجه مطلوب رسید. و loss جدید با نام SoftTriple loss با چندین مرکز میتواند توزیع پنهان دادهها را بهتر ثبت کند، زیرا به کاهش واریانس درون کلاسی کمک میکند. مزیت دیگر آن اینست که تعداد سه تایی ها در loss SoftTriple در تعداد نمونههای اصلی خطی است.
2. کارهای مرتبط:
برای حل مشکل نمونه گیری موثر از یک minibatch، چندین روش پیشنهاد شده. یک راه ساده افزایش اندازه minibatch است [1]. با این حال، minibatch بزرگ از محدودیت حافظه GPU رنج می برد و همچنین می تواند چالش نمونه برداری از سه گانه ها در یک minibatch را افزایش دهد. ایده دیگردر [2] پیشنهاد می شود که minibatch از کلاس های همسایه تولید شود.
برای حل مشکل نمونه گیری برای به دست آوردن محدودیت های سه گانه موثر استراتژی هایی وجود دارد بطور مثال [1] نمونهبرداری از نمونههای منفی نیمه سخت semi-hard negative را پیشنهاد میکند. [3] تمام نمونه های منفی را درون یک حاشیه مرتبط با هر جفت مثبت، قبول می کند. [4] نمونه برداری وزنی فاصله ای distance weighted sampling را توسعه می دهد که نمونه ها را با توجه به فاصله از نمونه لنگر نمونه برداری می کند.
با این حال، همه این استراتژیها ممکن است نتوانند توزیع کل مجموعه داده را به دست آورند. علاوه بر این، آنها بهینه سازی در DML عمیق را پیچیده می کنند.
3. SoftTriple loss:
SoftMax loss
و Embedding ,وi-اُمین نمونه را xi در نظر بگیرید که yi برچسب نظیر آن است. فرمول SoftMax loss بصورت زیر تعریف می شود :
با درنظر گرفتن طول واحد برای x, w تابع SoftMax loss نرمال شده بصورت زیر تعریف می شود که λ همان scaling factor است:
برای یک سه تایی ( Xi , Xj , Xk ) داده شده DML سعی دارد Embedding را طوری آموزش دهد که نمونه های یک کلاس نزدیکتر از نمونه های کلاس های دیگر باشند.
با فرض اینکه Xi , Xj از یک کلاس و Xk از یک کلاس دیگر باشد و مارجین ازپیش تعریف شده δرا داشته باشیم تابع loss بصورت زیر تعریف می شود :
مشاهده می شود که مینیمم کردن SoftMax lossنرمال شده با smooth term λ معادل بهینه کردن smoothed triplet loss است.
Multiple Centers
حال، فرض می کنیم که هر کلاس دارای K مرکز است. سپس، شباهت بین نمونه و کلاس c را می توان به صورت زیر تعریف کرد.
از آنجایی که محدودیت سه گانه مستلزم یک نمونه است که به کلاس مربوطه خود نزدیکتر از کلاس های دیگر باشد پس داریم :
و HardTriple loss با فراهم کردن مراکز بیشتر SoftMax loss را بهبود می دهد:
اگر smoothed similarity را بصورت زیر داشته باشیم :
درنهایت فرمول بصورت زیر بدست می آید :
Adaptive Number of Centers
مراکز بیشتر می توانند برای کاهش واریانس درون کلاسی مفید باشند. در حالت شدید که تعداد مراکز برابر با تعداد مثال ها باشد، صفر می شود.
با این حال، افزودن مراکز بیشتر، اندازه آخرین لایه کاملاً متصل را افزایش میدهد و بهینهسازی را کند و محاسبه را گران میکند. علاوه بر این، ممکن است مشکل بیش از حد برازش را ایجاد کند. بنابراین، باید تعداد مناسبی از مراکز را برای هر کلاس انتخاب کنیم که ضمن حفظ مجموعه فشرده از مراکز، خطای تقریبی کوچکی داشته باشد.
یافتن تعداد مناسبی از مراکز برای داده ها یک مشکل چالش برانگیز است. در الگوریتمهای DML معمولی، K برابر است با تعداد نمونههای اصلی که تعداد محدودیت های سه گانه کل را به توان سه تعداد نمونه های اصلی می رساند. در SoftMax loss، K = 1 تعداد محدودیت ها را کاهش می دهد که در تعداد نمونه های اصلی خطی شود، که کارآمد است اما می تواند بی اثر باشد. بدون دانش قبلی در مورد توزیع هر کلاس، تنظیم دقیق K دشوار است.
در این مقاله پیشنهاد می شود یک K به اندازه کافی بزرگ تنظیم شود و سپس مراکز مشابه را تشویق کنیم تا با یکدیگر ادغام شوند.
4. نتایج :
آزمایشها روی سه مجموعه CUB-2011، Cars196 وSOP انجام و معماری اصلی Inception استفاده شده است. مدل آموزش داده شده در مجموعه داده ImageNet ILSVRC 2012 مقداردهی اولیه می شوند و سپس روی مجموعه داده های هدف به fine-tuned می شوند.
تعداد مراکز روی K = 10 تنظیم شده است. عملکرد جاسازی های آموخته شده از روشهای مختلف بر روی وظایف بازیابی و خوشه بندی ارزیابی شده اند. برای بازیابی، از متریک Recall@k استفاده شده و کیفیت خوشه بندی توسط اطلاعات متقابل عادی شده (Normalized Mutual Information -NMI) اندازه گیری می شود.
با توجه به خوشه بندی C = {c1; · · · cn} و برچسب اصلی Ω = {y1; · · · yn}، NMI به صورت NMI = 2I(Ω;C)/H(Ω)+H(C) محاسبه می شود، که در آن I(·; ·) اطلاعات متقابل را اندازه می گیرد و H(·) نشان دهنده آنتروپی است.
جدول 1 نتایج را با 64 جاسازی برای دیتاست CUB-2011 خلاصه می کند.
اول، مشاهده میکنیم که عملکرد SoftMaxnorm از روش های یادگیری متریک موجود پیشی می گیرد و دوم، SoftTriple بهترین عملکرد را در بین تمام روش های معیار نشان می دهد.
جدول 3 نتایج را با 64 جاسازی برای دیتاست Cars196 خلاصه می کند.
5. نتیجه گیری :
این مقاله SoftTriple loss را برای یادگیری جاسازیها بدون نمونهگیری با افزایش جزئی اندازه آخرین لایه کاملاً متصل، ارائه می کند که SoftMax loss را با چندین مرکز برای هر کلاس گسترش می دهد.