Sursa: Antonio Robers pe Flickr
Vizitati-ne la https://www.ansaro.ai pentru a afla mai multe despre modul in care folosim stiinta datelor pentru a imbunatati angajarea
De ce conteaza interpretabilitatea
La mijlocul anilor 1990, a fost intreprins un efort national de a construi algoritmi pentru a prezice care pacienti cu pneumonie ar trebui sa fie internati in spitale si care sa fie tratati ca ambulatori. Descoperirile initiale au indicat ca retelele neuronale erau mult mai precise decat metodele statistice clasice. Cu toate acestea, medicii au dorit sa inteleaga „gandirea” din spatele acestui algoritm, asa ca statisticienii au catalogat „reguli de decizie” din rezultatele de regresie mai usor de interpretat.
S-a dovedit ca atat regresia, cat si reteaua neuronala au dedus ca pacientii cu pneumonie cu astm au un risc mai mic de a muri si nu ar trebui sa fie internati. Evident, acest lucru este contraintuitiv.
Array
Dar a reflectat un model real in datele de instruire – pacientii cu astm bronsic cu pneumonie au fost de obicei internati nu numai la spital, ci direct la UCI, tratati agresiv si au supravietuit. [1]
Daca aceasta retea neuronala „performanta” ar fi fost desfasurata intr-un cadru clinic, ar fi putut provoca decese inutile. Numai prin interpretarea modelului a fost descoperita si evitata o problema cruciala. Intelegerea de ce un model face o predictie poate fi literalmente o problema a vietii si a mortii. Deoarece algoritmii sunt folositi pentru a lua decizii in mai multe fatete ale vietii de zi cu zi, este important ca oamenii de stiinta sa-i antreneze cu grija pentru a se asigura ca modelele iau decizii din motivele corecte.
Multe manuale de invatare automata prezinta elevilor o diagrama care arata un compromis intre interpretabilitatea modelului si precizia modelului.
Array
Acesta este un euristic, dar multi studenti vin gandindu-se ca acest compromis este la fel de strict ca o lege a fizicii.
In acest post, vom explora (si vom pune sub semnul intrebarii) acest compromis, vom oferi un cadru pentru masurarea interpretabilitatii si vom aplica acel cadru catorva modele comune.
In primul rand, sa ne intoarcem la motivul pentru care interpretabilitatea conteaza – si cand nu. Asa cum ilustreaza exemplul pneumoniei, interpretabilitatea este esentiala pentru modelele de „depanare”. Este necesar in industriile reglementate, cum ar fi finantele si asistenta medicala, sa auditeze procesul decizional si sa se asigure ca nu este discriminatoriu. US Fair Credit Reporting Act impune ca agentiile sa dezvaluie „toti factorii-cheie care au afectat negativ scorul de credit al consumatorului in modelul utilizat, al carui numar total nu trebuie sa depaseasca patru” – si nu sunt gresite sa stabileasca acest lucru limita. Modelele implementate in pachete software populare pot accepta cu usurinta mii de puncte de date, iar un set imens de caracteristici poate face rapid o explicatie simpla aproape imposibila (ca sa nu mai vorbim ca caracteristicile coliniare pot complica lucrurile in continuare, dar nu vom aborda acest lucru aici).
Array
Interpretabilitatea este, de asemenea, cheia pentru castigarea increderii in algoritmi care incearca sa se imbunatateasca la judecata umana, in loc sa o automatizeze doar. Luati munca noastra la Ansaro, incercand sa prezicem care vor fi cei mai buni candidati. Scopul nostru este sa facem mai bine decat intuitia umana. Pentru ca utilizatorii sa accepte predictiile noastre, trebuie sa le inteleaga.
Atunci cand putem deprioritiza interpretabilitatea? Credem ca aceste criterii sunt indrumari rezonabile:
- Interpretabilitate globala : cat de bine putem intelege relatia dintre fiecare caracteristica si valoarea prezisa la nivel global – pentru intregul nostru set de observatii. Putem intelege atat amploarea, cat si directia impactului fiecarei caracteristici asupra valorii prezise?
- Interpretabilitate locala : cat de bine putem intelege relatia dintre fiecare caracteristica si valoarea prezisa la nivel local – pentru o observatie specifica.
- samba porno access11.net
- rose valerie porno johndavidwhitney.com
- porno femme de menage www.pittsburghnet.com
- monica bellucci porno xmathpuzzles.com
- porno carioca www.esp4life.net
- porno cochonne justfwd.com
- woodman porno sullivan.diamondsatwholesale.com
- porno tabou westcoastanimalgroomers.com
- porno adulte www.congressempower.com
- actrices porno italydecor.com
- porno vore wolfriveroil.com
- porno gay minet www.nhotel.com
- pizza porno nrecabenefits.com
- porno chienne thesacredsky.net
- porno star gay donayresphotography.com
- new porno flagstarhomeloan.com
- porno rapide italiandesign360.com
- free video porno negotiationstrategy.net
- porno sleeping nodoping.biz
- pokemon porno www.penkethprimary.co.uk
- porno latex 63618.xml.premiumxml.com
- video porno xxl coloradoski.net
- Selectarea caracteristicilor : ne ajuta modelul sa ne concentram doar asupra caracteristicilor importante? Poate pune la zero functiile care sunt doar „zgomot”?
Este important sa retineti ca nu vorbim despre interpretarea acuratetei modelului – presupunem ca modelele au fost validate incrucisat folosind trenul, validarea si seturile de date de testare si ca a fost aleasa o valoare de evaluare adecvata, cum ar fi AUC sau scor F1. De asemenea, presupunem ca setul de caracteristici a fost ales cu grija, desi aceasta este o mare presupunere – si una cu multe interpretari. Apoi, vom aplica acest cadru la cateva tipuri de modele comune, pentru a ne face o idee despre cat de stricta este de fapt compromisul de precizie-interpretabilitate.
Regresie liniara
Vom incepe cu regresia liniara. Exista un motiv pentru care regresia liniara a fost modelul de baza pentru comunitatea stiintifica in secolul trecut – deoarece este standardul de aur in interpretabilitate.
Un model obisnuit cu cele mai mici patrate (OLS) genereaza coeficienti pentru fiecare caracteristica. Acesti coeficienti sunt semnati, permitandu-ne sa descriem atat amploarea, cat si directia fiecarei caracteristici la nivel global. Pentru interpretabilitatea locala, trebuie doar sa inmultim vectorul coeficientului cu un vector specific de caracteristica pentru a vedea valoarea prezisa si contributia fiecarei caracteristici la acea predictie.
O regresie OLS clasica nu elimina caracteristicile de zgomot, dar putem realiza acest lucru prin eliminarea caracteristicilor pentru care intervalul de incredere trece de zero si reluarea modelului. Sau putem folosi metode putin mai sofisticate, cum ar fi regresia Ridge sau Lasso, care in esenta elimina caracteristicile de zgomot.
Padure aleatorie
In mijlocul spectrului de precizie-interpretabilitate sunt paduri aleatorii. Le-am vazut adesea descrise ca „cutii negre”, ceea ce credem ca este nedrept – poate „gri”, dar cu siguranta nu „negru”!
Padurile aleatorii sunt colectii de arbori de decizie, precum cea desenata mai jos. Impartirile din fiecare copac sunt alese din subseturi aleatorii ale caracteristicilor noastre, astfel incat toti arborii arata usor diferit. Un singur copac poate fi interpretat cu usurinta, presupunand ca nu este crescut prea adanc. Dar cum putem interpreta o padure aleatorie care contine sute sau mii de copaci?
Multe implementari ale clasificatorilor de padure aleatorii includ metode imediate pentru cuantificarea magnitudinii globale a fiecarei caracteristici. De exemplu, RandomForestClassifier.feature_importances_ al scikit-learn ne permite sa evaluam importanta relativa a caracteristicilor cu o singura linie de cod. Importantele caracteristicilor, atunci cand sunt utilizate cu validare incrucisata adecvata, ne pot permite, de asemenea, sa identificam caracteristicile care sunt pur zgomot.
Cu toate acestea, intelegerea directionalitatii caracteristicilor este mai dificila. Putem identifica rapid ca functia X poate fi cea mai importanta, dar face ca rezultatul Y sa fie mai mult sau mai putin probabil? Este posibil sa nu existe un raspuns da-sau-nu. Spre deosebire de o regresie liniara, padurile aleatorii pot identifica relatii non-monotonice (o mare parte din motivul pentru care depasesc regresia pe axa de precizie). Intr-o regiune a spatiului de observare, directia unei caracteristici poate fi pozitiva; in altul poate fi negativ.
Intelegerea modului in care caracteristicile unei anumite observatii contribuie la predictie este, de asemenea, provocatoare, dar realizabila. Pentru a realiza interpretabilitatea locala, putem cataloga caile de decizie pentru o observatie specifica prin toti arborii de decizie. Apoi sumam scaderile indicelui Gini pentru fiecare caracteristica, pe toate aceste cai. Pentru non-statisticieni, scaderea indicelui Gini este o masura a cat de mult mai „curat” clasele sunt separate dupa o impartire intr-un arbore de decizie. Suna ca o greutate ridicata, dar bibliotecile precum excelentul interpret al copacilor Ando Saabas fac acest lucru practic. [2]
Retele neuronale
Fiind cel mai fierbinte subiect din invatarea automata din ultimul deceniu, am fi lipsiti de atentie daca nu am mentiona retelele neuronale. Salutat pentru o acuratete remarcabila in domenii dificile, cum ar fi recunoasterea imaginilor si traducerea limbii, au generat, de asemenea, critici pentru lipsa de interpretabilitate:
„Nimeni nu intelege modul in care aceste sisteme – retelele neuronale modelate pe creierul uman – isi produc rezultatele. Oamenii de stiinta in informatica ii „antreneaza” pe fiecare, hranindu-i datele, iar acestea invata treptat. Dar odata ce o retea neuronala functioneaza bine, este o cutie neagra. Intrebati-l pe creatorul sau cum obtine un anumit rezultat si probabil ca veti ridica din umeri ”. – Revista cu fir, octombrie 2010 [3]
Credem ca este o exagerare dramatica. Suntem, de asemenea, constienti de faptul ca exista multe tipuri de arhitecturi ale retelelor neuronale si este dificil sa facem declaratii generale despre acestea [a se vedea teribilul Zoo Neural Net al Institutului Asimov]. Pentru simplitate, ne vom concentra pe retelele neuronale convolutionale (CNN), utilizate pe scara larga pentru recunoasterea imaginii (si multe alte aplicatii).
Imaginati-va ca pregatim un CNN pentru a prezice probabilitatea ca o imagine de 64×64 pixeli sa contina o pisica. Am putea incepe sa cunoastem cat de importante sunt caracteristicile modificandu-le si vazand cum se schimba probabilitatea rezultata. Dar caracteristicile introduse in acest CNN sunt valori de 4.096 pixeli RGB. Stiind ca un anumit pixel corespunde cu a fi o pisica nu este deosebit de util si nici nu ne-am astepta sa se produca o astfel de relatie – pixelii care reprezinta o pisica ar putea aparea oriunde in imagine. Pentru ca acest model sa fie interpretabil semantic , trebuie sa-i intelegem trasaturile la un nivel mai abstract.
Cu toate acestea, construirea valorilor brute ale pixelilor (sau a oricaror date de inalta dimensiune, cum ar fi formele de unda audio sau textul nestructurat) in caracteristici abstracte prin straturile de retea este locul in care interpretabilitatea se defecteaza, unde incepem sa pierdem intelegerea globala a ceea ce contribuie o caracteristica specifica. Abilitatea de a codifica relatii neliniare intr-o astfel de gama de caracteristici este in cazul in care retelele neuronale depasesc multe alte modele in ceea ce priveste precizia. In ciuda acestei complicatii, totul nu se pierde din punct de vedere al interpretabilitatii.
Inapoi la exemplul nostru. In loc sa modificam pixeli individuali, putem urmari si inspecta imaginile de antrenament care activeaza maxim neuronii. Privind neuronii la niveluri mai profunde ale CNN, am putea gasi neuroni care sa corespunda unor concepte semantic semnificative, cum ar fi „ureche” sau „coada”. Putem apoi urmari greutatile atribuite neuronilor care credem ca reprezinta concepte abstracte de nivelul final al retelei, oferindu-ne o idee aproximativa a importantei caracteristicilor globale.
Pentru interpretabilitatea locala, putem folosi ocluzia pentru a intelege unde CNN „acorda atentie”. Repetam imaginea, setand un patch de pixeli la zero, ruland imaginea de ocluzie prin CNN si inregistrand probabilitatea „pisica”. Putem apoi vizualiza contributia fiecarei parti a imaginii la probabilitatea „pisicii” ca o harta de caldura 2D. Aceste metode nu sunt la fel de simple ca examinarea coeficientilor, dar arata ca retelele neuronale nu sunt cutii complet negre.
Ganduri de incheiere
Mai degraba decat sa fie un compromis static, ne gandim la precizie-vs-interpretabilitate ca la o frontiera, care este in mod constant impinsa spre exterior.
In urmatorul deceniu, credem ca dezvoltarea unor modele mai interpretabile va fi la fel de importanta ca dezvoltarea unor modele mai precise pentru comunitatea stiintei datelor. O mare parte din activitatea de avansare a interpretabilitatii va fi realizata de experti specifici domeniului – de exemplu, modalitati mai bune de a vizualiza rezultatele CNN. Dar exista, de asemenea, progrese interesante in abordarile care transcend tipuri specifice de modele. O abordare care ne-a atras atentia este LIME (Local Interpretable Model-Agnostic Explanations) [4], care va permite sa construiti orice model doriti, apoi sa utilizati perturbarea si aproximarea liniara pentru a explica predictii specifice.
Pe masura ce invatarea automata devine mai importanta in viata noastra de zi cu zi, promovarea increderii in algoritmi buni – si capacitatea de a detecta algoritmi rai – este esentiala. La fel, de asemenea, proiecteaza algoritmi de la inceput, avand in vedere interpretabilitatea.








