Ce este învățarea automată? Pot calculatoarele învăța? Cum anume se întâmplă asta? La aceste întrebări multă lume știe deja răspunsul, lucru care se datorează popularității de care se bucură învățarea automată.
Fiind folosită în aproape orice industrie, aduce valoare datelor stocate și nefolosite prin optimizarea produselor. În plus, stârnește interesul tuturor datorită aplicabilității variate și prin maniera neconvențională de rezolvare.
Totuși, dezvoltarea soluțiilor bazate pe AI necesită unul sau mai mulți experți. Sau se poate aplica această tehnologie și de către utilizatorii fără cunoștințe tehnice? Democratizarea învățării automate constă în răspândirea acesteia în rândul oamenilor fără cunoștințe de specialitate.
Să începem prin a defini AutoML. Este o ramură relativ nouă a învățării automate, apărută în 2012, care automatizează toți pașii necesari pentru dezvoltarea soluțiilor AI, procesând date în format tabelar. Primul tool open-source de acest fel se numește Auto-WEKA, fiind unul dintre inițiatorii industriei AutoML.
Aceasta face posibilă democratizarea ML și schimbă perspectiva în ceea ce privește aplicabilitatea. Acum, fiind posibil în etape precum: pregătirea datelor, antrenarea modelului sau punerea în producție pentru a fi mai accesibile novicilor. Singurul lucru necesar fiind furnizarea seturilor de date pentru învățare și testare.
Acest subdomeniu a evoluat din dorința evitării metodologiei tradiționale, care constă într-o serie de pași laborioși și repetitivi: curățarea datelor, ingineria caracteristicilor, selecția modelului, optimizarea hiper-parametrilor, testarea și punerea în producție a modelului. Un sistem AutoML poate avea ca intrare, date din orice domeniu și înlătură problema particularizării soluției în raport cu datele de intrare.
Sursă imagine: https://mljar.com/blog/next-generation-automl/
Cum face un tool de AutoML toate acestea? Pentru fiecare pas automatizat folosește o serie de algoritmi despre care vom discuta mai detaliat în paragrafele următoare, axându-ne pe sistemele de învățare supervizată.
Reprezintă primul pas din pipeline-ul de pregătire a datelor. Acesta face ca informațiile să fie de calitate, realizând detectarea și corectarea inconsistențelor. Inițial, se elimină rândurile și coloanele redundante.
Urmează detecția și eliminarea valorilor anormale prin metode ca Interquartile Range sau 3 Standard Deviations. Nu în ultimul rând, valorile lipsă sunt completate folosind: media, mediana sau k-Nearest Neighbours.
Presupunem că avem un set de date cu prețurile unor case și câteva informații descriptive. Mai jos, putem observa cum se poate aplica procedeul descris anterior, eliminându-se rândul cu numărul 4 și coloana "Număr casă", acestea fiind redundante, apoi completându-se valorile lipsă.
Această etapă este cel mai greu de automatizat, din cauza creativității pe care o implică. Un expert este nevoit să analizeze domeniul datelor pentru a crea, extrage și selecta cele mai importante caracteristici.
Pentru crearea acestora se folosește o combinare algebrică a perechilor de coloane, de exemplu, înmulțirea valorilor acestora, sau modificarea celor deja existente. În cazul prezentat anterior, putem forma o nouă coloană "Suprafață medie cameră", împărțind suprafața camerelor cu numărul acestora.
Următorul pas este cel de extragere a caracteristicilor. Aici, se va aplica o metodă precum PCA - Analiza componentelor principale, care reușește să reducă numărul de coloane prin comprimarea informației într-un număr mic de trăsături. Motivul pentru aplicarea acestei metode este pentru antrenarea mai rapidă a modelului și evitarea "Blestemului Dimensionalității".
Selectarea trăsăturilor asigură păstrarea celor mai importante coloane, care vor fi învățate de către model. Aceasta se poate realiza prin trei categorii de metode:
De tip filtru: de exemplu, corelația;
Wrapper-based : de exemplu, eliminarea recursivă a coloanelor;
În exemplul nostru, coloana "Vârstă proprietar curent" nu va fi selectată, întrucât nu este corelată cu prețul imobilului.
Ultimele etape premergătoare antrenării sunt codificarea datelor într-un format numeric și scalarea trăsăturilor pentru ca intervalul valorilor să fie același. În acest mod ne asigurăm că nu este influențată importanța fiecărei caracteristici.
Odată ce avem datele într-un format pe care modelul să îl poată interpreta, se începe căutarea celei mai bune combinații de model și hiperparametri. Această problemă este formalizată sub numele de Combined Algorithm Selection and Hyperparameter optimization (CASH). Acest proces necesită cel mai mult timp de calcul din pipeline-ul de rezolvare a unei probleme de învățare automată.
De obicei, sistemele AutoML au predefinite o serie de algoritmi de învățare și spațiile hiperparametrilor asociați. Pentru găsirea combinației optime pot fi folosiți algoritmi ca : Grid Search, Random Search sau Bayesian Optimization.
Din punct de vedere al timpului necesar pentru implementarea soluției, un sistem automat câștigă detașat întrucât, comparativ cu un expert, va avea nevoie doar de maxim câteva ore. Totuși, pentru probleme mai complexe, la care este nevoie de o analiză detaliată a datelor, un expert are skilluri de problem-solving, creativitate și o înțelegere mai bună a domeniului datelor.
Folosind un tool se elimină cu mult riscul de a greși, fiind un proces riguros și standardizat. Dar, soluția oferită de un data scientist va fi una mai interpretabilă și mai ușor de înțeles.
Totuși, poate un sistem de AutoML să înlocuiască un expert?
Probabil nici una nu o poate substitui pe cealaltă, acestea mai degrabă completându-se reciproc prin natura caracteristicilor complementare. Unii experți chiar folosind un astfel de tool pentru automatizarea experimentelor. În figura de mai jos putem observa sistemele existente și anul în care fiecare a apărut.
Sursă imagine: https://www.analyticsvidhya.com/blog/2021/05/auto-ml-some-prominent-automl-libraries/
Democratizarea AutoML va crea noi oportunități de folosire a inteligenței artificiale, utilizarea ei urmând să devină din în ce în ce mai populară. Conform estimărilor, până în 2030, această piață va atinge 14.8 miliarde de dolari [1].
Să ne imaginăm cât de util ar fi ca, de pildă, un developer să își poată crea și pune în producție un model pe care să îl poată integra cu ușurință cu aplicația la care lucrează. Sau, datorită unei interfețe grafice atașate, un astfel de sistem să fie accesibil chiar și oamenilor care au doar cunoștințe elementare de operare a unui calculator.
Chiar cu luarea unui anumit risc din punct de vedere al performanței, aplicabilitatea acestei tehnologii este una extinsă și poate avea un impact major în industrie. Astfel, toolurile de AutoML se aliniază cu tendința globală prezisă de Gartner, și anume că 65% din aplicații o să fie dezvoltate folosind platforme de tip low-code [2].
Domeniul automatizării învățării automate aduce o nouă perspectivă asupra complexității dezvoltării soluțiilor bazate pe inteligență artificială. În plus, democratizează cu succes această tehnologie, deschizând noi orizonturi pentru aplicabilitatea ei.
[1] https://www.researchandmarkets.com/reports/5010695/automated-machine-learning-market-research-report
de Ovidiu Mățan
de Ovidiu Mățan
de Ovidiu Mățan