آموزش ریاضیات (Mathematics)
۴۰۸۰ آموزش
نمایش دسته بندی ها (۴۰۸۰ آموزش)

شبکه سه قلو (Triplet Network)، در ریاضیات (Mathematics)

انواع شبکه های عصبی (Neural Networks) را در آموزش زیر شرح دادیم :

شبکه سه قلو (Triplet Network) :

شبکه سه قلو (Triplet Network) یک تعمیم از شبکه سیامی است که با سه ورودی (anchor، positive، negative) کار می کند. هدف این است که فاصله بین anchor و positive (نمونه مشابه) کم شود و فاصله بین anchor و negative (نمونه نامشابه) زیاد شود. این روش در FaceNet (توسط شاف و همکاران) برای یادگیری embeddings چهره بسیار موفق بود.

تابع هزینه triplet loss به صورت زیر تعریف می شود:

\[ \mathcal{L} = \max(0, \|f(A) - f(P)\|^2 - \|f(A) - f(N)\|^2 + \alpha) \]

که

\[ \alpha \]

حاشیه (margin) است،

\[ A \]

نمونه anchor،

\[ P \]

نمونه مثبت (هم کلاس با anchor)،

\[ N \]

نمونه منفی (کلاس متفاوت). هدف این است که فاصله های مثبت حداقل به اندازه

\[ \alpha \]

از فاصله های منفی کوچکتر باشند.

انتخاب سه تایی های مناسب (hard triplet mining) برای آموزش مؤثر حیاتی است: سه تایی هایی انتخاب می شوند که

\[ f(N) \]

به anchor نزدیک است (negative سخت) یا

\[ f(P) \]

دور است (positive سخت). این باعث می شود شبکه مرزهای بهتری یاد بگیرد.

کاربردها: بازشناسی چهره، بازشناسی اشیاء، یادگیری معیار شباهت، سیستم های توصیه گر. Triplet loss به طور گسترده در مسائلی که نیاز به embeddings با کیفیت بالا دارند، استفاده می شود.

نویسنده علیرضا گلمکانی
شماره کلید 14326
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)