Кантраснае навучанне

**Кантраснае навучанне** — метад у машынным навучанні, накіраваны на  (эмбэдынгаў) шляхам параўнання і супрацьпастаўлення . Асноўная ідэя заключаецца ў тым, каб мадэль навучылася адрозніваць падобныя і непадобныя пары даных, набліжаючы семантычна падобныя элементы адзін да аднаго ў  і аддаляючы непадобныя. Гэтая тэхніка часта выкарыстоўваецца ў або , калі .

Кантраснае навучанне знаходзіць прымяненне ў розных задачах, такіх як навучанне рэпрэзентацый для  або класіфікацыі, і шырока выкарыстоўваецца ў камп’ютарным зроку і апрацоўцы натуральнай мовы.

* Пазітыўныя пары — семантычна падобныя пары элементаў. Гэта значыць, што яны прадстаўляюць аднолькавыя або блізкія паняцці ці аб’екты. Напрыклад, у кантэксце , дзве выявы аднаго аб’екта або дзве варыяцыі адной і той жа выявы (напрыклад, розныя сегменты, павароты або змены колеру) будуць утвараць пазітыўную пару. Мэта мадэлі — зблізіць рэпрэзентацыі гэтых падобных элементаў даных у вектарнай прасторы, каб мадэль магла распазнаць падабенства, нягледзячы на варыяцыі ў зыходных даных.
* Негатыўныя пары — семантычна непадобныя пары элементаў. Гэта значыць, што яны прадстаўляюць розныя паняцці або аб’екты. Напрыклад, дзве выявы розных аб’ектаў (кот і аўтамабіль, дрэва і воблака, і г.д.) будуць утвараць негатыўную пару. Мэта кантраснага навучання — аддаляць рэпрэзентацыі негатыўных пар у вектарнай прасторы, каб мадэль магла адрозніваць непадобныя даныя.

Навучаючыся на пазітыўных і негатыўных парах, мадэль развівае ўяўленне аб тым, якія асаблівасці важныя для адрознення аб’ектаў. Гэта дазваляе мадэлі стварыць больш асэнсаваную і ўніверсальную рэпрэзентацыю даных, якую можна выкарыстоўваць для рашэння разнастайных задач, напрыклад такіх як класіфікацыя або кластарызацыя.

### Прастора прыкмет 
Прасторай прыкмет завецца многавымерная вектарная прастора, дзе кожны аб’ект даных (выява, слова, абзац тэксту, аўдыя, дакумент і г.д.) прадстаўлены ў выглядзе вектара, называнага вектарным прадстаўленнем або эмбэдынгам. Мэта кантраснага навучання — стварыць такую мадэль, якая можа канвертаваць аб’екты ў вектары прасторы прыкмет такім чынам, што падобныя элементы (пазітыўныя пары) размяшчаюцца бліжэй адзін да аднаго, а непадобныя (негатыўныя пары) аддаляюцца. Вектары з такімі ўласцівасцямі могуць пасля выкарыстоўвацца іншымі мадэлямі для задач класіфікацыі, кластарызацыі або :
: L = (1 - y) \cdot \max(0, D(f(x_1), f(x_2)) - m)^2 + y \cdot D(f(x_1), f(x_2))^2,
дзе:
* f(x_1) і f(x_2) — вектарныя прадстаўленні двух аб’ектаў, якія параўноўваюцца.
* D — метрыка адлегласці (звычайна ), якая вымярае, наколькі далёка аб’екты знаходзяцца ў прасторы прыкмет.
* y — , які паказвае, ці з’яўляецца пара пазітыўнай (y = 1) або негатыўнай (y = 0).
* m — маржа, , які вызначае мінімальную жаданую адлегласць паміж негатыўнымі парамі. Калі негатыўныя пары знаходзяцца бліжэй за гэтую маржу, значэнне функцыі страт павялічваецца.

Мэты кантраснай функцыі страт:
* Мінімізаваць адлегласць D(f(x_1), f(x_2)) для пазітыўных пар, заахвочваючы мадэль набліжаць падобныя аб’екты ў прасторы функцый.
* Для негатыўных пар адлегласць D(f(x_1), f(x_2)) павінна быць большай за маржу m. Каб гэтага дасягнуць, функцыя «штрафуе» блізкія рэпрэзентацыі непадобных аб’ектаў, але толькі тады, калі адлегласць паміж імі не перавышае маржу.

Асноўныя характарыстыкі кантраснай функцыі страт:
* Працуе непасрэдна з адлегласцю паміж рэпрэзентацыямі.
* Выкарыстоўвае бінарны індыкатар для параўнання пар аб’ектаў.
* Выкарыстоўвае маржу m для прадухілення мадэлі ад неабмежаванага аддалення негатыўных пар.

### Трыплетная функцыя страт 
Трыплетная функцыя страт выкарыстоўваецца для паляпшэння рэпрэзентацый праз параўнанне ўзорнага элемента (якар) з пазітыўным і негатыўным прыкладамі. Ідэя функцыі ў тым каб наблізіць пазітыўны прыклад да якара, адначасова аддаляючы ад яго негатыўны прыклад.

Трыплет складаецца з трох элементаў:
* Якар: элемент даных, які выступае ў якасці апорнага пункта.
* Пазітыўны прыклад: элемент, падобны да якара (напрыклад, іншае фота таго ж самага аб’екта).
* Негатыўны прыклад: элемент, які адрозніваецца ад якара (напрыклад, фота іншага аб’екта).

Трыплетная функцыя страт прадугледжвае, каб адлегласць паміж якарам і пазітыўным прыкладам была меншай за адлегласць паміж якарам і негатыўным прыкладам на як мінімум пэўнае значэнне, вядомае як маржа m. Матэматычна трыплетную функцыю можна запісаць як:

:  L = - \log \frac{\exp(sim(\mathbf{q}, \mathbf{z}^+))}{\sum_{i=1}^{N} \exp(sim(\mathbf{q}, \mathbf{z}_i))},

дзе
* sim(\mathbf{x}, \mathbf{y}) — функцыя падабенства паміж дзвюма вектарнымі рэпрэзентацыямі (напрыклад, ).
* \mathbf{q} — рэпрэзентацыя якара.
* \mathbf{z}^+ — рэпрэзентацыя пазітыўнага прыкладу.
* N — колькасць прыкладаў у батчы.

Выражэнне ў лічніку залежыць ад падабенства паміж якарам і пазітыўным прыкладам, у той час як назоўнік нармалізуе яго па ўсіх магчымых парах якара з іншымі элементамі (пазітыўных і негатыўных). Такая фармулёўка вымушае мадэль адрозніваць сапраўдны пазітыўны прыклад ад мноства негатыўных, што прыводзіць да паляпшэння якасці рэпрэзентацый.

Функцыя InfoNCE асабліва эфектыўная ў такіх падыходах, як SimCLR і MoCo, дзе яна дапамагае мадэлі вучыцца без разметкі, выкарыстоўваючы штучныя варыяцыі даных ().

На практыцы кіраванае кантраснае навучанне асабліва карыснае пры працы з вялікімі наборамі размечаных даных. Адзін з вядомых алгарытмаў, які выкарыстоўвае гэты падыход, быў прадстаўлены Khosla et al. у 2020 годзе і паказаў лепшыя вынікі ў некаторых задачах у параўнанні з навучаннем на аснове .

Адна з распаўсюджаных стратэгій у самакіраваным навучанні заключаецца ў стварэнні пазітыўных пар шляхам прымянення розных  (напрыклад, абразанне, змяненне колераў, адлюстраванне) да аднаго і таго ж аб’екта даных, напрыклад, выявы. Гэтыя трансфармацыі, якія таксама называюцца аўгментацыямі, захоўваюць семантыку (значэнне) арыгінальных даных, але ствараюць некалькі варыянтаў аднаго і таго ж аб’екта. Негатыўныя пары ствараюцца шляхам выбару выпадковых пар аб’ектаў. Мадэль навучаецца набліжаць рэпрэзентацыі пазітыўных пар (розныя варыянты аднаго і таго ж аб’екта) і аддаляць рэпрэзентацыі негатыўных пар (розных аб’ектаў).

Самакіраваныя кантрасныя метады таксама выкарыстоўваюцца ў мультымадальным кантэксце каб злучыць паміж сабой прадстаўленні даных розных фарматаў. Гэта карысна ў такіх задачах, як напрыклад пошук выявы па апісанні. Адзін з прыкладаў выкарыстання кантраснага навучання для мультымадальных задач — мадэль , прадстаўленая ў 2021 годзе даследчыкамі з OpenAI.

Асноўныя праблемы ў некіраваным кантрасным навучанні — выбар значных негатыўных узораў і эфектыўная аўгментацыя даных.

## Алгарытмы 
### SimCLR 
SimCLR (, ) — алгарытм самакіраванага кантраснага навучання ў галіне камп’ютарнага зроку, прызначаны для стварэння рэпрэзентацый выяў. Распрацаваны даследчыкамі з . Асноўная ідэя SimCLR заключаецца ў выкарыстанні розных варыянтаў адных і тых жа выяў для фарміравання пазітыўных пар, у той час як выпадковыя выявы фармуюць негатыўныя пары.

### MoCo 
MoCo (, ) — алгарытм самакіраванага навучання, распрацаваны даследчыкамі з . MoCo вырашае праблему эфектыўнага выкарыстання памяці шляхам выкарыстання дынамічнага слоўніка з інерцыйным механізмам абнаўлення. Гэты падыход дазваляе MoCo падтрымліваць вялікую колькасць негатыўных узораў, што з’яўляецца важным фактарам кантраснага навучання.

## Прымяненне 
Кантраснае навучанне выкарыстоўваецца ў розных галінах дзякуючы сваёй здольнасці эфектыўна вывучаць рэпрэзентацыі без неабходнасці ў вялікіх аб’ёмах размечаных даных. Гэты падыход паказаў выдатныя вынікі ў камп’ютарным зроку, апрацоўцы натуральнай мовы і іншых галінах, дзе ён дазваляе мадэлям аддзяляць значныя адрозненні паміж элементамі даных ад нязначных.

### Камп’ютарны зрок 
У камп’ютарным зроку кантраснае навучанне актыўна выкарыстоўваецца ў задачах ,  і . Яно асабліва эфектыўна ў галінах, дзе колькасць размечаных выяў абмежаваная або іх складана атрымаць. Такія тэхнікі, як SimCLR і MoCo, выкарыстоўваюцца для атрымання рэпрэзентацый выяў, што дазваляе мадэлям дасягаць выдатных вынікаў у задачах класіфікацыі і .

### Апрацоўка натуральнай мовы 
У апрацоўцы натуральнай мовы кантраснае навучанне выкарыстоўваецца для атрымання вектарных рэпрэзентацый слоў, сказаў і дакументаў. Ствараючы пазітыўныя пары з семантычна падобных тэкстаў (напрыклад, перафразаваных сказаў) і негатыўныя пары з незвязаных тэкстаў, мадэлі могуць генераваць рэпрэзентацыі, якія захопліваюць сэнсавыя і кантэкставыя адрозненні. Сярод прымяненняў — задачы вызначэння , , машынны пераклад і іншыя.

### Іншыя галіны 
Кантраснае навучанне выкарыстоўваецца для аналізу медыцынскіх выяў (напрыклад, здымкаў ) з мэтай выяўлення прыкмет, звязаных з хваробамі. Напрыклад, яно можа дапамагчы ў дыягностыцы такіх захворванняў, як , праз больш эфектыўны аналіз здымкаў  ў параўнанні з традыцыйнымі метадамі.

Кантраснае навучанне дапамагае ўдасканаліць мадэлі , што паляпшае працэс прыняцця рашэнняў у складаных абставінах.

Эфектыўнасць кантраснага навучання значна залежыць ад якасці негатыўных пар, якія выкарыстоўваюцца ў часе навучання. Калі негатыўныя пары не з’яўляюцца дастаткова складанымі або ўтрымліваюць хібныя прыклады (пары, што насамрэч пазітыўныя), гэта можа прывесці да пагаршэння якасці рэпрэзентацый.

## Крыніцы 
Катэгорыя:Машыннае навучанне