برنده-همه‌چیز-را-می‌برد (رایانش)

**برنده‌همه‌چیز‌را‌می‌برد (رایانش)** (به انگلیسی: *Winner-take-all*) یک اصل محاسباتی است که در مدل‌های رایانشی شبکه‌های عصبی به‌کار می‌رود و بر اساس آن نورون‌ها برای فعال شدن با یکدیگر رقابت می‌کنند. در شکل کلاسیک، تنها نورونی که بیشترین مقدار فعال‌سازی را دارد فعال باقی می‌ماند در حالی که بقیهٔ نورون‌ها خاموش می‌شوند. با این حال، انواع دیگری نیز وجود دارند که بیش از یک نورون فعال را ممکن می‌سازند، برای مثال «برنده‌همه‌چیز‌را‌می‌بردِ نرم» که در آن یک تابع توانی روی نورون‌ها اعمال می‌شود.

## شبکه‌های عصبی
در نظریهٔ شبکه‌های عصبی مصنوعی، شبکه‌های برنده‌همه‌چیز‌را‌می‌برد نوعی یادگیری رقابتی در شبکه‌های عصبی بازگشتی هستند. در این شبکه‌ها، گره‌های خروجی به‌طور متقابل یکدیگر را مهار می‌کنند، در حالی که از طریق اتصالات بازتابی خود را فعال نگه می‌دارند. بعد از گذشت مدتی، تنها یک گره در لایهٔ خروجی فعال خواهد بود — یعنی همان گره‌ای که به قوی‌ترین ورودی مربوط است. بنابراین این شبکه با استفاده از مهار غیرخطی، بزرگ‌ترین ورودی از میان مجموعه‌ای از ورودی‌ها را انتخاب می‌کند. 

شبکه‌های برنده‌همه‌چیز‌را‌می‌برد را می‌توان با استفاده از انواع مختلف مدل‌های شبکهٔ عصبی، شامل شبکه‌های با زمان‌جریان پیوسته و شبکه‌های با اسپایک پیاده‌سازی کرد. این شبکه‌ها در مدل‌های محاسباتی مغز، به‌ویژه برای تصمیم‌گیری توزیع‌شده یا انتخاب عمل در قشر مغز کاربرد دارند. مثال‌های مهم شامل مدل‌های سلسله‌مراتبی بینایی و مدل‌های توجه انتخابی و شناسایی هستند. این شبکه‌ها همچنین در شبکه‌های عصبی مصنوعی و مدارهای VLSI نورومورفیک آنالوگ نیز رایج‌اند. همچنین ثابت شده که عمل برنده‌همه‌چیز‌را‌می‌برد از نظر محاسباتی در مقایسه با دیگر عمل‌های غیرخطی مانند آستانه‌گذاری، قدرت زیادی دارد. 

در بسیاری از موارد عملی، نه فقط یک نورون فعال می‌شود، بلکه دقیقاً *k نورون* برای یک مقدار ثابت *k* فعال می‌گردند. این اصل به‌عنوان **k-برندگان‌همه‌چیز‌را‌می‌برد** شناخته می‌شود. 

### الگوریتم نمونه
در نظر بگیرید یک نورون خطی واحد با ورودی‌های x_1,\dots,x_n وجود دارد که هر ورودی دارای وزن w_i است. خروجی این نورون برابر است با: 
\sum_i w_i x_i


در «قاعدهٔ یادگیری Instar»، برای هر بردار ورودی، وزن‌ها مطابق رابطهٔ زیر به‌روزرسانی می‌شوند: 
\Delta w_i = \eta (x_i - w_i)
 که در آن \eta نرخ یادگیری است. این قاعده نوعی یادگیری بدون نظارت محسوب می‌شود، زیرا تنها بردار ورودی برای یادگیری مورد نیاز است و از خروجی مرجع استفاده نمی‌شود.

حال فرض کنید چند نورون خطی y_1,\dots,y_m وجود داشته باشند. خروجی هر نورون به‌صورت زیر محاسبه می‌شود: 
y_i = \sum_j w_{ij} x_j


در الگوریتم برنده همه‌چیز را می‌برد (*winner-take-all*)، هنگامی که یک بردار ورودی x به شبکه داده می‌شود، ابتدا خروجی تمام نورون‌ها محاسبه می‌شود. سپس نورونی که بیشترین خروجی را دارد به‌عنوان برنده انتخاب می‌شود و تنها وزن‌های ورودی آن نورون بر اساس قاعدهٔ Instar به‌روزرسانی می‌شوند. وزن‌های سایر نورون‌ها بدون تغییر باقی می‌مانند.

قاعدهٔ k-برنده همه‌چیز را می‌برد (*k-winners-take-all*) نیز مشابه همین فرایند است، با این تفاوت که قاعدهٔ یادگیری Instar برای وزن‌های ورودی k نورونی که بیشترین خروجی‌ها را دارند اعمال می‌شود.

## نمونهٔ مداری
بندانگشتی|مدار CMOS با دو ورودی برای انتخاب نورون برنده در الگوریتم برنده‑همه‌چیز‌را‌می‌برد؛ خروجی مربوط به ورودی با جریان بزرگ‌تر فعال می‌شود و سایر خروجی‌ها خاموش می‌مانند.
یک مدار ساده ولی پرکاربردِ **ب**رنده همه‌چیز را می‌برد (*winner-take-all*) با فناوری CMOS (در شکلِ سمت راست) نشان داده شده است. این مدار نخستین بار توسط لازارو و همکاران پیشنهاد شد و از ترانزیستورهای MOS استفاده می‌کند که بایاس آن‌ها به‌گونه‌ای تنظیم شده است که در ناحیهٔ *weak inversion* (یا *subthreshold*) کار کنند. در پیکربندیِ نشان‌داده‌شده تنها دو ورودی وجود دارد (I_{IN,1} و I_{IN,2})، اما مدار را می‌توان به‌طور مستقیم برای تعداد بیشتری ورودی نیز گسترش داد. این مدار با سیگنال‌های ورودیِ پیوسته (جریان‌ها) کار می‌کند و برای هر ورودی فقط از دو ترانزیستور استفاده می‌شود.

جریان بایاس I_{BIAS} توسط یک ترانزیستور مشترک که میان همهٔ ورودی‌ها مشترک است تعیین می‌شود. بزرگ‌ترین جریان ورودی، پتانسیل مشترک V_C را تنظیم می‌کند. در نتیجه، خروجیِ متناظر با آن ورودی تقریباً تمامِ جریان بایاس را حمل می‌کند، در حالی که خروجیِ دیگر (یا دیگر خروجی‌ها) جریانی نزدیک به صفر خواهند داشت. بنابراین، مدار بزرگ‌ترین جریان ورودی را انتخاب می‌کند؛ به‌طوری‌که اگر I_{IN,1} > I_{IN,2} باشد، آنگاه I_{OUT,1} = I_{BIAS} و I_{OUT,2} \approx 0 خواهد بود. به همین ترتیب، اگر I_{IN,2} > I_{IN,1} باشد، آنگاه I_{OUT,1} \approx 0 و I_{OUT,2} = I_{BIAS} می‌شود.
بندانگشتی|شبیه‌سازی مدار برنده‑همه‌چیز‌را‌می‌برد با دو ورودی. نمودار بالا ورودی‌ها را نشان می‌دهد و نمودار پایین خروجی‌های مدار در پاسخ به افزایش ورودی‌ها.
در شکل دیگری (سمت راست)، شبیه‌سازی DC مبتنی بر SPICE برای مدار دوورودی نشان داده شده است. همان‌طور که در نمودار بالایی دیده می‌شود، ورودیِ I_{IN,1} روی مقدار ثابتِ ۶ نانوآمپر تنظیم شده و I_{IN,2} به‌صورت خطی از ۰ تا ۱۰ نانوآمپر افزایش می‌یابد. نمودار پایینی دو جریان خروجی را نمایش می‌دهد. مطابق انتظار، خروجیِ متناظر با ورودیِ بزرگ‌تر تمام جریان بایاس (در اینجا ۱۰ نانوآمپر) را حمل می‌کند و جریان خروجی دیگر تقریباً به صفر می‌رسد.

## کاربردهای دیگر
در الگوریتم‌های تطبیق استریو (*stereo matching*)، بر اساس طبقه‌بندی ارائه‌شده توسط شارشتاین و تسلیسکی، روش برنده همه‌چیز را می‌برد یک روش محلی برای محاسبهٔ اختلاف دید (*disparity*) محسوب می‌شود. در این رویکرد، برای هر پیکسل، اختلاف متناظر با کمینه یا بیشینهٔ مقدار تابع هزینه انتخاب می‌شود.

در حوزهٔ تجارت الکترونیکی نیز به نظر می‌رسد که بازیگران اولیهٔ مسلط، مانند AOL یا Yahoo!، بخش عمده‌ای از پاداش‌ها را به خود اختصاص می‌دهند. تا سال ۱۹۹۸، یک مطالعه نشان داد که ۵ درصد برتر وب‌گاه‌ها بیش از ۷۴ درصد کل ترافیک اینترنت را جذب کرده‌اند؛ موضوعی که بیانگر تمرکز شدید رقابت در این حوزه است.

فرضیهٔ **برنده همه‌چیز را می‌برد** در اقتصاد بیان می‌کند که هرگاه یک فناوری یا شرکت به موقعیت پیشتاز دست یابد، با گذشت زمان عملکرد آن به‌طور فزاینده‌ای بهبود می‌یابد، در حالی که فناوری‌ها و شرکت‌های عقب‌افتاده نسبت به پیش‌تر، عقب‌تر می‌مانند. این مفهوم ارتباط نزدیکی با نظریهٔ مزیت پیشتازی (*first-mover advantage*) دارد؛ نظریه‌ای که تأکید می‌کند ورود زودهنگام به بازار می‌تواند مزایای رقابتی پایداری برای بازیگر پیشرو ایجاد کند.

## جستارهای وابسته

* نقشه‌های خودسازمان‌دهنده 
* رویکرد همه برای برنده در انتخاب کنش
* محاسبات بدون مجموعه دستورالعمل

## منابع

## منابع

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