Omid Arab
Omid Arab
خواندن ۱ دقیقه·۲ سال پیش

متد siamese net چیست ؟

سلام !

متد Siamese Nnetwork رو احتمالا شنیدید . این متد به همراه متد Matching net جزو متد هایی هستند که بر اساس فاصله ، میزان شباهت را تعیین میکنند.اصطلاحا به این متد ها ، متد های Metric learning گفته میشود.

ابتدا با یک تصویر شروع میکنیم :

همینطوری که در تصویر میبینید ، دو عکس به دو شبکه ی کانولوشنی با وزن های مشترک داده شده ، خروجی را به نحوی embedded میکنند که از حالت چند بعدی به یک وکتور تبدیل شود. سپس به یک تابع محاسبه کننده ی فاصله ( مثلا فاصله ی اقلیدسی ) داده شده و نهایتا از یک Activation Function مانند sigmoid یا Relu یا ... استفاده میکنیم تا مقدار را به بازه 0 تا ۱ ببریم.

در چنین مدلی ، هرچه دو تصویر مشابه باشند ، عدد نهایی خروجی به ۱ نزدیک تر و هرچه غیر مشابه باشند به ۰ نزدیک است.

چند نکته :

۱- معماری ، پارامتر ها و وزن های دو شبکه ای که تصاویر به آنها داده میشود عینا یکسان است .

۲- برای اینکه تشخیص دهیم دو تصویر مشابه هستند یا نه باید یکthreshold در نظر بگیریم.

۳- برای train کردن این شبکه میبایست جفت عکس هایی یکسان ( مثلا با برچسب ۱ ) و غیر یکسان با برچسب ۰ به شبکه بدهیم و آنرا train کنیم.

۴- به این متد ، متد مختص one shot learning هم گفته میشود ، زیرا با دیدن یک تصویر هم میتواند مقایسه انجام دهد. ( کاربرد هایی مثل تشخیص امضا )

متد siameseمتدتصویرsiamese net
سلام من امید عرب هستم ، لیسانس مهندسی کامپیوتر از دانشگاه صنعتی اصفهان در گرایش هوش مصنوعی ، علاقه مند به ماشین لرنینگ و بلاکچین.
شاید از این پست‌ها خوشتان بیاید