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

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

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

 Асноўныя канцэпцыі 

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

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

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

 Прастора прыкмет 

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

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

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

 Функцыі страт 

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

Кантрасную функцыю страт можна запісаць наступным чынам:

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

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

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

 Трыплетная функцыя страт 

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

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

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

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

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

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

 Функцыя страт InfoNCE 
InfoNCE (Information Noise Contrastive Estimation) — функцыя страт, якая шырока выкарыстоўваецца ў кантрасным навучанні, асабліва ў самакіраваных падыходах.

InfoNCE працуе праз параўнанне якара (узорнага элемента) з прыкладамі ў батчы (адносна невялікім падмностве даных), сярод якіх ёсць адзін пазітыўны прыклад. Яна заахвочвае мадэль набліжаць элементы пазітыўнай пары і аддаляць элементы ў негатыўных парах. Функцыю InfoNCE можна запісаць наступным чынам:



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

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

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

 Віды кантраснага навучання 

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

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

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

 Некіраванае і самакіраванае кантраснае навучанне 

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

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

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

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

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

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

 Алгарытмы 

 SimCLR 

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

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

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

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

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

Падыход SimCLRv2 паляпшае SimCLR, выкарыстоўваючы глыбейшую версію ResNet і глыбейшы модуль праекцыі. Таксама ў ім выкарыстаны модуль памяці з MoCo v2.

 MoCo 

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

Асноўныя канцэпцыі і асаблівасці:

 MoCo выкарыстоўвае функцыю страт InfoNCE, якая спрыяе збліжэнню пазітыўных пар (розныя версіі адной выявы) і аддаленню негатыўных пар (розныя выявы).
 MoCo выкарыстоўвае  для захоўвання вялікай колькасці рэпрэзентацый выяў, што становіцца крыніцай негатыўных пар у працэсе навучання. Гэтая чарга абнаўляецца рэпрэзентацыямі выяў з кожнага міні-батча, дазваляючы выкарыстоўваць рэпрэзентацыі з папярэдніх батчаў у функцыі страт без іх перападліку.
 MoCo раздзяляе кадавальныя сеткі для «запытаў» (выяў, для якіх неабходна знайсці пазітыўныя пары) і «ключоў» (выяў, сярод якіх адбываецца пошук). Вектары запытаў і ключоў падлічваюцца для выяў з кожнага новага батча з дапамогай адпаведнай сеткі, пры гэтым ключы захоўваюцца ў чарзе для атрымання негатыўных пар на наступных ітэрацыях навучання. Пазітыўныя пары фарміруюцца з ключоў і запытаў, атрыманых з аўгментацый адных і тых жа выяў унутры батча.
 Параметры кадавальнай сеткі для запытаў  абнаўляюцца метадам , у той час як параметры сеткі ключоў  абнаўляюцца інерцыйна з вялікім каэфіцыентам інерцыі (напрыклад, m=0.999) паводле наступнай формулы:


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

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

 BYOL 

BYOL () адрозніваецца ад традыцыйных кантрасных метадаў тым, што не патрабуе негатыўных узораў. Замест гэтага ён выкарыстоўвае дзве нейроныя сеткі: мэтавую і анлайн-сетку, пры гэтым першая з іх абнаўляецца павольней. Рэпрэзентацыі, атрыманыя такім чынам паказалі найлепшыя вынікі ў шэрагу задач класіфікацыі выяў.

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

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

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

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

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

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

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

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

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

 Крыніцы 

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