Кароткі адказ: папярэдняя апрацоўка з дапамогай штучнага інтэлекту — гэта набор паўтаральных крокаў, якія пераўтвараюць неапрацаваныя дадзеныя з высокай дысперсіяй у паслядоўныя ўваходныя дадзеныя мадэлі, у тым ліку ачыстку, кадаванне, маштабаванне, токенізацыю і пераўтварэнне малюнкаў. Гэта важна, таму што калі ўваходныя дадзеныя для навучання і ўваходныя дадзеныя для вытворчасці адрозніваюцца, мадэлі могуць даць збой без увагі. Калі крок «вывучае» параметры, падганяйце яго толькі да дадзеных для навучання, каб пазбегнуць уцечкі.
Папярэдняя апрацоўка штучнага інтэлекту — гэта ўсё, што вы робіце з неапрацаванымі дадзенымі перад (а часам і падчас) навучання або высновы, каб мадэль магла сапраўды вучыцца на іх. Гэта не проста «ачыстка». Гэта ачыстка, фарміраванне, маштабаванне, кадаванне, дапаўненне і ўпакоўка дадзеных у паслядоўнае прадстаўленне, якое пазней не будзе ціха сапсаваць вашу мадэль. [1]
Асноўныя высновы:
Вызначэнне : Папярэдняя апрацоўка пераўтварае неапрацаваныя табліцы, тэкст, выявы і журналы ў гатовыя да мадэлі аб'екты.
Паслядоўнасць : ужывайце адны і тыя ж пераўтварэнні падчас навучання і вываду, каб прадухіліць памылкі з-за неадпаведнасці.
Уцечка : усталёўвайце скалеры, кадавальнікі і токенаізатары толькі на навучальных дадзеных.
Узнаўляльнасць : стварайце канвееры з дапамогай праверваемай статыстыкі, а не з дапамогай спецыяльных паслядоўнасцей ячэек нататніка.
Маніторынг вытворчасці : адсочвайце перакосы і зрухі, каб уваходныя дадзеныя паступова не зніжалі прадукцыйнасць.
Артыкулы, якія вам могуць спадабацца пасля гэтага:
🔗 Як праверыць мадэлі штучнага інтэлекту на прадукцыйнасць у рэальных умовах
Практычныя метады хуткай ацэнкі дакладнасці, надзейнасці і зрушэння.
🔗 Ці з'яўляецца пераўтварэнне тэксту ў маўленне штучным інтэлектам і як гэта працуе
Тлумачыць асновы TTS, ключавыя спосабы выкарыстання і распаўсюджаныя абмежаванні сёння.
🔗 Ці можа штучны інтэлект сёння дакладна чытаць курсіўны почырк
Ахоплівае праблемы распазнавання, найлепшыя інструменты і парады па дакладнасці.
🔗 Наколькі дакладны штучны інтэлект у выкананні распаўсюджаных задач
Разбірае фактары дакладнасці, эталонныя паказчыкі і надзейнасць у рэальных умовах.
Папярэдняя апрацоўка з дапамогай штучнага інтэлекту простай мовай (і чым яна не з'яўляецца) 🤝
Папярэдняя апрацоўка з дапамогай штучнага інтэлекту — гэта пераўтварэнне неапрацаваных уваходных дадзеных (табліц, тэксту, малюнкаў, журналаў) у гатовыя да мадэлі элементы. Калі неапрацаваныя дадзеныя — гэта брудны гараж, то папярэдняя апрацоўка — гэта маркіроўка скрынак, выкідванне разбітага смецця і складанне рэчаў у стосы, каб можна было прайсціся без траўмаў.
Гэта не сама мадэль. Гэта тое, што робіць мадэль магчымай:
-
пераўтварэнне катэгорый у лічбы (адзінны нумар, парадкавы нумар і г.д.) [1]
-
маштабаванне вялікіх лікавых дыяпазонаў у разумныя дыяпазоны (стандартызацыя, мінімум-макс і г.д.) [1]
-
токенізацыя тэксту ў ўваходныя ідэнтыфікатары (і звычайна маску ўвагі) [3]
-
змяненне памеру/абрэзка малюнкаў і адпаведнае прымяненне дэтэрмінаваных і выпадковых пераўтварэнняў [4]
-
стварэнне паўтаральных канвеераў, каб навучальныя і «рэальныя» ўваходы не разыходзіліся ў нязначных адносінах [2]
Адно невялікае практычнае заўвага: «папярэдняя апрацоўка» ўключае ўсё, што адбываецца паслядоўна да таго, як мадэль атрымае ўваходныя дадзеныя . Некаторыя каманды падзяляюць гэта на «інжынірынг функцый» і «ачыстку дадзеных», але ў рэальным жыцці гэтыя межы размываюцца.

Чаму папярэдняя апрацоўка з дапамогай штучнага інтэлекту важнейшая, чым людзі прызнаюць 😬
Мадэль — гэта сродак супастаўлення шаблонаў, а не чытач думак. Калі вашы ўваходныя дадзеныя супярэчлівыя, мадэль засвойвае супярэчлівыя правілы. Гэта не філасофія, гэта балюча літаральна.
Папярэдняя апрацоўка дапаможа вам:
-
Палепшыце стабільнасць навучання , дадаючы прыкметы ў прадстаўленні, якія ацэншчыкі могуць надзейна выкарыстоўваць (асабліва пры маштабаванні/кадаванні). [1]
-
Зменшце шум , зрабіўшы бязладную рэальнасць падобнай да таго, з чаго можна зрабіць абагульненне мадэлі (замест таго, каб запамінаць дзіўныя артэфакты).
-
Прадухіленне рэжымаў бясшумных збояў, такіх як уцечка і неадпаведнасці навучання/абслугоўвання (тыя, што выглядаюць «дзіўна» падчас праверкі, а затым і ўкаранення ў прадукцыйную вытворчасць). [2]
-
Паскорыць ітэрацыю, таму што паўтаральныя пераўтварэнні пераўзыходзяць матацыклетную нуду кожны дзень тыдня.
Акрамя таго, менавіта адсюль бярэцца вялікая частка «мадэльнай прадукцыйнасці». Дзіўна… вельмі шмат. Часам гэта здаецца несправядлівым, але такая рэальнасць 🙃
Што робіць канвеер папярэдняй апрацоўкі ШІ добрым ✅
«Добрая версія» папярэдняй апрацоўкі звычайна мае наступныя якасці:
-
Узнаўляльнасць : той жа ўваход → той жа выхад (няма таямнічай выпадковасці, калі толькі гэта не наўмыснае павелічэнне).
-
Паслядоўнасць абслугоўвання навучання : усё, што вы робіце падчас навучання, ужываецца аднолькава падчас вываду (тыя ж самыя падабраныя параметры, тыя ж карты катэгорый, тая ж канфігурацыя токенізатара і г.д.). [2]
-
Бяспечны ад уцечак : нішто ў ацэнцы/тэсце не ўплывае на які-небудзь
падганяння. (Больш падрабязна пра гэтую пастку крыху пазней.) [2] -
Назіральнасць : вы можаце праверыць, што змянілася (статыстыка функцый, адсутнасць, колькасць катэгорый), таму адладка не з'яўляецца інжынерыяй на аснове вібрацый.
Калі ваша папярэдняя апрацоўка — гэта куча ячэек нататніка пад назвай final_v7_really_final_ok … вы ведаеце, як гэта працуе. Гэта працуе, пакуль не перастане 😬
Асноўныя структурныя блокі папярэдняй апрацоўкі штучным інтэлектам 🧱
Уявіце сабе папярэднюю апрацоўку як набор будаўнічых блокаў, якія вы аб'ядноўваеце ў канвеер.
1) Ачыстка і праверка 🧼
Тыповыя задачы:
-
выдаліць дублікаты
-
апрацоўваць адсутныя значэнні (адкідаць, улічваць або яўна прадстаўляць адсутнасць)
-
прымусова выкарыстоўваць тыпы, адзінкі вымярэння і дыяпазоны
-
выяўляць няправільна сфарміраваныя ўваходныя дадзеныя
-
стандартызаваць тэкставыя фарматы (прабелы, правілы рэгістру, асаблівасці Unicode)
Гэтая частка не надта гламурная, але яна прадухіляе надзвычай дурныя памылкі. Кажу гэта з любоўю.
2) Кадаванне катэгарыяльных дадзеных 🔤
Большасць мадэляў не могуць непасрэдна выкарыстоўваць неапрацаваныя радкі, такія як "red" або "premium_user" .
Распаўсюджаныя падыходы:
-
Аднаразовае кадаванне (катэгорыя → бінарныя слупкі) [1]
-
Парадкавае кадаванне (катэгорыя → цэлы ідэнтыфікатар) [1]
Галоўнае не ў тым, які кадавальнік вы абярэце, а ў тым, каб адлюстраванне заставалася паслядоўным і не «мяняла форму» паміж навучаннем і высновамі. Вось так вы атрымаеце мадэль, якая добра выглядае па-за сеткай і паводзіць сябе як пераслед у інтэрнэце. [2]
3) Маштабаванне і нармалізацыя функцый 📏
Маштабаванне мае значэнне, калі аб'екты знаходзяцца ў вельмі розных дыяпазонах.
Дзве класікі:
-
Стандартызацыя : выдаленне сярэдняга значэння і маштабаванне да адзінкі дысперсіі [1]
-
Маштабаванне ад мінімуму да максімуму : маштабаванне кожнай функцыі ў межах зададзенага дыяпазону [1]
Нават калі вы выкарыстоўваеце мадэлі, якія «ў асноўным спраўляюцца», маштабаванне часта спрашчае разважанні пра канвееры і ўскладняе іх выпадковае парушэнне.
4) Распрацоўка функцый (г.зн. карыснае падманванне) 🧪
Вось тут вы спрашчаеце працу мадэлі, ствараючы лепшыя сігналы:
-
суадносіны (клікі / паказы)
-
пракатныя вокны (апошнія N дзён)
-
колькасць (падзей на карыстальніка)
-
лагарыфмічныя пераўтварэнні для размеркаванняў з цяжкімі хвастамі
Тут ёсць мастацтва. Часам ты ствараеш асаблівасць, ганарышся ёю... і гэта нічога не дае. Або, што яшчэ горш, гэта баліць. Гэта нармальна. Не прывязвайся эмацыйна да асаблівасцей — яны не адкажуць табе ўзаемнасцю 😅
5) Правільнае падзеленне дадзеных ✂️
Гэта гучыць відавочна, пакуль гэта не перастане быць відавочным:
-
выпадковыя падзелы для дадзеных IID
-
часавыя падзелы для часовых шэрагаў
-
згрупаваныя падзелы пры паўтарэнні аб'ектаў (карыстальнікі, прылады, пацыенты)
І самае галоўнае: падзяліць перад падганяннем папярэднюю апрацоўку, якая вучыцца на дадзеных . Калі ваш этап папярэдняй апрацоўкі «вывучае» параметры (напрыклад, сярэднія значэнні, слоўнікі, карты катэгорый), ён павінен вывучыць іх толькі падчас навучання. [2]
Папярэдняя апрацоўка з дапамогай штучнага інтэлекту па тыпах дадзеных: таблічныя, тэкставыя, выявы 🎛️
Папярэдняя апрацоўка змяняе форму ў залежнасці ад таго, што вы падаеце мадэлі.
Таблічныя дадзеныя (электронныя табліцы, журналы, базы дадзеных) 📊
Звычайныя крокі:
-
стратэгія адсутнай каштоўнасці
-
катэгарычнае кадаванне [1]
-
маштабаванне лікавых слупкоў [1]
-
апрацоўка выкідаў (правілы дамена ў большасці выпадкаў пераўзыходзяць «выпадковае адсячэнне»)
-
вытворныя функцыі (агрэгацыі, затрымкі, бягучая статыстыка)
Практычная парада: вызначце групы слупкоў выразна (лікавыя, катэгарыяльныя ці ідэнтыфікацыйныя). Ваша будучае «я» будзе вам удзячна.
Тэкставыя дадзеныя (НЛП) 📝
Папярэдняя апрацоўка тэксту часта ўключае ў сябе:
-
токенізацыя ў токены/падсловы
-
пераўтварэнне ў ўваходныя ідэнтыфікатары
-
дапаўненне/абрэзка
-
стварэнне масак увагі для пакетнай апрацоўкі [3]
Невялікае правіла, якое пазбаўляе ад клопатаў: для канфігурацый на аснове трансфарматараў прытрымлівайцеся чаканых налад токенізатара мадэлі і не займайцеся фрыстайлам, калі ў вас няма на тое прычыны. Фрыстайл — гэта тое, як у выніку атрымліваецца «трэніруецца, але дзіўна»
Выявы (камп'ютарны зрок) 🖼️
Тыповая папярэдняя апрацоўка:
-
змяніць памер / абрэзаць да аднолькавай формы
-
дэтэрмінаваныя пераўтварэнні для ацэнкі
-
выпадковыя пераўтварэнні для паляпшэння навучання (напрыклад, выпадковае кадраванне) [4]
Адна дэталь, якую людзі прапускаюць: «выпадковыя пераўтварэнні» — гэта не проста вібрацыя, яны літаральна выбарачна вымяраюць параметры кожны раз, калі выклікаюцца. Выдатна падыходзіць для разнастайнасці навучання, але жахліва для ацэнкі, калі вы забудзецеся адключыць выпадковасць. [4]
Пастка, у якую трапляюць усе: уцечка дадзеных 🕳️🐍
Уцечка — гэта калі інфармацыя з дадзеных ацэнкі прабіраецца ў навучальны працэс — часта праз папярэднюю апрацоўку. Гэта можа зрабіць вашу мадэль чароўнай падчас праверкі, а потым расчараваць вас у рэальным свеце.
Распаўсюджаныя схемы ўцечак:
-
маштабаванне з выкарыстаннем статыстыкі поўнага набору дадзеных (замест толькі навучання) [2]
-
стварэнне карт катэгорый з дапамогай сумеснага выкарыстання навучання і тэставання [2]
-
любы
fit()абоfit_transform(), які «бачыць» тэставы набор [2]
Эмпірычнае правіла (простае, жорсткае, эфектыўнае):
-
Усё, што мае падыходны крок, павінна быць у форме толькі на трэніроўках.
-
Затым вы трансфарматара з выкарыстаннем гэтага падыходнага трансфарматара. [2]
А калі вы хочаце праверыць сябе на ўласныя вочы, «наколькі ўсё можа быць дрэнна?»: у дакументацыі scikit-learn паказаны прыклад уцечкі, дзе няправільны парадак папярэдняй апрацоўкі дае дакладнасць каля 0,76 для выпадковых мэтаў, а затым зніжаецца да ~ 0,5 пасля выпраўлення ўцечкі. Вось наколькі пераканаўча няправільна можа выглядаць уцечка. [2]
Увод папярэдняй апрацоўкі ў вытворчасць без хаосу 🏗️
Шмат мадэляў церпяць няўдачу ў вытворчасці не таму, што мадэль «дрэнная», а таму, што ўваходная рэальнасць — альбо ваш канвеер.
Папярэдняя апрацоўка, арыентаваная на вытворчасць, звычайна ўключае ў сябе:
-
Захаваныя артэфакты (адлюстраванні кадавальніка, параметры скалера, канфігурацыя токенізатара), таму вывад выкарыстоўвае тыя ж самыя вывучаныя пераўтварэнні [2]
-
Строгія ўваходныя кантракты (чаканыя слупкі/тыпы/дыяпазоны)
-
Маніторынг перакосу і зруху , бо вытворчыя дадзеныя будуць блукаць [5]
Калі вам патрэбныя канкрэтныя вызначэнні: маніторынг мадэляў штучнага інтэлекту Vertex ад Google адрознівае перакос навучання (размеркаванне прадукцыі адхіляецца ад навучання) і дрэйф высноў (размеркаванне прадукцыі змяняецца з цягам часу), і падтрымлівае маніторынг як катэгарыяльных, так і лікавых характарыстык. [5]
Таму што сюрпрызы дарагія. І не з тых, што прыемнага кшталту.
Параўнальная табліца: распаўсюджаныя інструменты папярэдняй апрацоўкі + маніторынгу (і для каго яны прызначаны) 🧰
| Інструмент / бібліятэка | Лепш за ўсё падыходзіць для | Кошт | Чаму гэта працуе (і крыху шчырасці) |
|---|---|---|---|
| папярэдняя апрацоўка scikit-learn | Канвееры таблічнага машыннага навучання | Бясплатна | Надзейныя энкодэры + скалеры (OneHotEncoder, StandardScaler і г.д.) і прадказальная паводзіна [1] |
| Токенізатары Hugging Face | Падрыхтоўка да ўводу НЛП | Бясплатна | Паслядоўна стварае ўваходныя ідэнтыфікатары + маскі ўвагі для ўсіх запускаў/мадэляў [3] |
| пераўтварэнні факельнага зроку | Трансфармацыя + паляпшэнне зроку | Бясплатна | Зразумелы спосаб спалучэння дэтэрмінаваных і выпадковых пераўтварэнняў у адным канвееры [4] |
| Маніторынг мадэлі штучнага інтэлекту Vertex | Выяўленне дрэйфу/перакосу ў прадукце | Платная (воблака) | Маніторы маюць функцыі рэгулявання перакосу/дрыфту і папярэджваюць аб перавышэнні парогавых значэнняў [5] |
(Так, у гэтага стала ўсё яшчэ ёсць меркаванні. Але прынамсі гэта сумленныя меркаванні 😅)
Практычны кантрольны спіс папярэдняй апрацоўкі, які вы можаце выкарыстоўваць 📌
Перад трэніроўкай
-
Вызначыць схему ўводу (тыпы, адзінкі вымярэння, дазволеныя дыяпазоны)
-
Праверка адсутных значэнняў і дублікатаў
-
Падзяліце дадзеныя правільна (выпадковым чынам / па часе / згрупаваным)
-
толькі падчас (
fit/fit_transformзастаецца пры навучанні) [2] -
Захоўвайце артэфакты папярэдняй апрацоўкі, каб высновы маглі іх паўторна выкарыстоўваць [2]
Падчас навучання
-
Ужывайце выпадковую дапаўненне толькі там, дзе гэта мэтазгодна (звычайна толькі для трэніровачнага падзелу) [4]
-
Захоўвайце дэтэрмінаванасць папярэдняй апрацоўкі ацэнкі [4]
-
Адсочвайце змены папярэдняй апрацоўкі, такія як змены мадэлі (таму што яны ёсць)
Перад разгортваннем
-
Забяспечце выкарыстанне аднолькавага шляху папярэдняй апрацоўкі і артэфактаў для вываду [2]
-
Наладзьце маніторынг зруху/перакосу (нават базавая праверка размеркавання прыкмет мае вялікае значэнне) [5]
Паглыбленае апусканне: распаўсюджаныя памылкі папярэдняй апрацоўкі (і як іх пазбегнуць) 🧯
Памылка 1: «Я проста хутка ўсё нармалізую» 😵
Калі вы вылічваеце параметры маштабавання для ўсяго набору даных, вы ўцекваеце інфармацыю аб ацэнцы. Падганяйце па цягніку, астатняе трансфармуйце. [2]
Памылка 2: катэгорыі дрэйфуюць у хаос 🧩
Калі ваша катэгарызацыя змяняецца паміж навучаннем і высновай, ваша мадэль можа незаўважна няправільна інтэрпрэтаваць свет. Захоўвайце фіксаваныя мапіроўкі з дапамогай захаваных артэфактаў. [2]
Памылка 3: выпадковае ўкараненне дапаўнення ў ацэнку 🎲
Выпадковыя пераўтварэнні цудоўныя ў навучанні, але іх не варта «таемна ўключаць», калі вы спрабуеце вымераць прадукцыйнасць. (Выпадковыя — значыць выпадковыя.) [4]
Заключныя заўвагі 🧠✨
Папярэдняя апрацоўка з дапамогай штучнага інтэлекту — гэта дысцыплінаванае мастацтва пераўтварэння бязладнай рэальнасці ў паслядоўныя ўваходныя дадзеныя мадэлі. Яна ўключае ў сябе ачыстку, кадаванне, маштабаванне, токенізацыю, пераўтварэнне малюнкаў і, самае галоўнае, паўтаральныя канвееры і артэфакты.
-
Рабіце папярэднюю апрацоўку свядома, а не выпадкова. [2]
-
Спачатку падзяліць, пасадка змяняецца толькі падчас трэніроўкі, пазбягаць уцечкі. [2]
-
Выкарыстоўвайце папярэднюю апрацоўку, адпаведную мадальнасці (токенаізеры для тэксту, пераўтварэнні для малюнкаў). [3][4]
-
Кантралюйце перакосы/зрухі вытворчасці, каб ваша мадэль павольна не збівалася з ладу. [5]
І калі вы калі-небудзь застанецеся ў цяжкай сітуацыі, спытайце сябе:
«Ці будзе мець сэнс гэты этап папярэдняй апрацоўкі, калі я запушчу яго заўтра на зусім новых дадзеных?»
Калі адказ «гм... магчыма?», гэта ваша падказка 😬
Часта задаваныя пытанні
Што такое папярэдняя апрацоўка штучным інтэлектам, кажучы простай мовай?
Папярэдняя апрацоўка штучным інтэлектам — гэта паўтаральны набор крокаў, які пераўтварае шумныя, высокадысперсійныя неапрацаваныя дадзеныя ў паслядоўныя ўваходныя дадзеныя, з якіх мадэль можа вучыцца. Яна можа ўключаць ачыстку, праверку, кадаванне катэгорый, маштабаванне лікавых значэнняў, токенізацыю тэксту і прымяненне пераўтварэнняў малюнкаў. Мэта складаецца ў тым, каб гарантаваць, што навучальныя і прадукцыйныя высновы атрымліваюць «адзін і той жа тып» уваходных дадзеных, каб мадэль пазней не паводзіла сябе непрадказальна.
Чаму папярэдняя апрацоўка з дапамогай штучнага інтэлекту так важная ў вытворчасці?
Папярэдняя апрацоўка мае значэнне, таму што мадэлі адчувальныя да ўваходнага прадстаўлення. Калі навучальныя дадзеныя маштабуюцца, кадуюцца, токенізуюцца або трансфармуюцца інакш, чым вытворчыя дадзеныя, вы можаце атрымаць збоі з-за неадпаведнасці навучання/абслугоўвання, якія выглядаюць нармальна па-за сеткай, але ціха выходзяць з ладу ў сетцы. Магутныя канвееры папярэдняй апрацоўкі таксама памяншаюць шум, паляпшаюць стабільнасць навучання і паскараюць ітэрацыю, таму што вы не распутваеце "спагецці" наўтбука.
Як пазбегнуць уцечкі дадзеных падчас папярэдняй апрацоўкі?
Простае правіла працуе: усё, што мае падганяння , павінна падганяць толькі даныя навучання. Гэта ўключае скалеры, кадавальнікі і токенаізатары, якія вывучаюць такія параметры, як сярэднія значэнні, карты катэгорый або слоўнікі. Спачатку вы разбіваеце, падганяеце даныя навучання, а затым пераўтвараеце праверку/тэст з выкарыстаннем падганяемага трансфарматара. Уцечка можа зрабіць праверку "чароўна" добрай, а потым разваліцца ў прадукцыйным выкарыстанні.
Якія найбольш распаўсюджаныя этапы папярэдняй апрацоўкі таблічных дадзеных?
Для таблічных дадзеных звычайны канвеер уключае ачыстку і праверку (тыпы, дыяпазоны, адсутныя значэнні), катэгарыяльнае кадаванне (аднаразовае або парадкавае) і лікавае маштабаванне (стандартызацыя або мінімум-макс). Многія канвееры дадаюць кіраваную даменам інжынерыю функцый, такую як суадносіны, пракатныя вокны або колькасць. Практычная звычка заключаецца ў тым, каб выразна вызначаць групы слупкоў (лікавыя супраць катэгарыяльных супраць ідэнтыфікатараў), каб вашы пераўтварэнні заставаліся паслядоўнымі.
Як працуе папярэдняя апрацоўка тэкставых мадэляў?
Папярэдняя апрацоўка тэксту звычайна азначае токенізацыю ў токены/падсловы, пераўтварэнне іх ва ўваходныя ідэнтыфікатары і апрацоўку дапаўненняў/усячэння для пакетнай апрацоўкі. Многія працоўныя працэсы трансфарматара таксама ствараюць маску ўвагі побач з ідэнтыфікатарамі. Распаўсюджаны падыход заключаецца ў выкарыстанні чаканай канфігурацыі токенаізатара мадэлі, а не ў імправізацыі, бо невялікія адрозненні ў наладах токенаізатара могуць прывесці да вынікаў «ён навучаецца, але паводзіць сябе непрадказальна».
Чым адрозніваецца папярэдняя апрацоўка малюнкаў для машыннага навучання?
Папярэдняя апрацоўка малюнкаў звычайна забяспечвае паслядоўнасць формаў і апрацоўку пікселяў: змяненне памеру/абрэзка, нармалізацыя і выразны падзел паміж дэтэрмінаванымі і выпадковымі пераўтварэннямі. Для ацэнкі пераўтварэнні павінны быць дэтэрмінаванымі, каб метрыкі былі параўнальныя. Для навучання выпадковае пашырэнне (напрыклад, выпадковыя абрэзкі) можа палепшыць надзейнасць, але выпадковасць павінна быць наўмысна абмежавана навучальным падзелам, а не выпадкова пакінута падчас ацэнкі.
Што робіць канвеер папярэдняй апрацоўкі «добрым», а не далікатным?
Добры канвеер папярэдняй апрацоўкі штучнага інтэлекту з'яўляецца ўзнаўляльным, бяспечным ад уцечак і назіральным. Узнаўляльны азначае, што адзін і той жа ўваход дае адзін і той жа вынік, калі выпадковасць не з'яўляецца наўмысным пашырэннем. Бяспечны ад уцечак азначае, што этапы падганяння ніколі не датыкаюцца праверкі/тэставання. Назіральны азначае, што вы можаце правяраць такую статыстыку, як адсутнасць, колькасць катэгорый і размеркаванне прыкмет, таму адладка заснавана на доказах, а не на інтуіцыі. Канвееры заўсёды пераўзыходзяць адмысловыя паслядоўнасці нататнікаў.
Як мне забяспечыць паслядоўнасць навучання і папярэдняй апрацоўкі высноў?
Галоўнае — паўторна выкарыстоўваць адны і тыя ж вывучаныя артэфакты падчас вываду: параметры скалера, адлюстраванні кадавальніка і канфігурацыі токенізатара. Вам таксама патрэбен уваходны кантракт (чаканыя слупкі, тыпы і дыяпазоны), каб вытворчыя даныя не маглі незаўважна зрушыцца ў няправільныя формы. Паслядоўнасць — гэта не проста «выканаць тыя ж крокі», а «выканаць тыя ж крокі з тымі ж падабранымі параметрамі і адлюстраваннямі»
Як я магу кантраляваць праблемы папярэдняй апрацоўкі, такія як зрух і перакос з цягам часу?
Нават пры надзейным канвееры вытворчыя дадзеныя змяняюцца. Распаўсюджаны падыход заключаецца ў маніторынгу змяненняў у размеркаванні прыкмет і папярэджанні аб перакосе падчас навучання (адхіленні вытворчасці ад навучання) і дрэйфе высноў (змены ў вытворчасці з цягам часу). Маніторынг можа быць лёгкім (базавыя праверкі размеркавання) або кіраваным (напрыклад, маніторынг мадэлі Vertex AI). Мэта складаецца ў тым, каб своечасова выявіць змены ўваходных дадзеных, перш чым яны паступова пагоршаць прадукцыйнасць мадэлі.
Спасылкі
[1] API scikit-learn:
sklearn.preprocessing (энкодэры, скалеры, нармалізацыя) [2] scikit-learn: Распаўсюджаныя памылкі - Уцечка дадзеных і як яе пазбегнуць
[3] Дакументацыя Hugging Face Transformers: Токенізатары (уваходныя ідэнтыфікатары, маскі ўвагі)
[4] Дакументацыя PyTorch Torchvision: Пераўтварэнні (змена памеру/нармалізацыя + выпадковыя пераўтварэнні)
[5] Дакументацыя Google Cloud Vertex AI: Агляд маніторынгу мадэляў (перакос і дрэйф функцый)