Кантраснае навучанне — метад у машынным навучанні, накіраваны на (эмбэдынгаў) шляхам параўнання і супрацьпастаўлення . Асноўная ідэя заключаецца ў тым, каб мадэль навучылася адрозніваць падобныя і непадобныя пары даных, набліжаючы семантычна падобныя элементы адзін да аднаго ў і аддаляючы непадобныя. Гэтая тэхніка часта выкарыстоўваецца ў або , калі .
Кантраснае навучанне знаходзіць прымяненне ў розных задачах, такіх як навучанне рэпрэзентацый для або класіфікацыі, і шырока выкарыстоўваецца ў камп’ютарным зроку і апрацоўцы натуральнай мовы. Папулярныя алгарытмы, якія выкарыстоўваюць гэты падыход, уключаюць 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 складаецца з наступных кампанентаў: