Modele și platforme AI
Ce este datele sintetice?
Ce sunt datele sintetice?
Datele sintetice reprezintă o tendință în expansiune rapidă și un instrument emergent în domeniul științei datelor. Ce sunt exact datele sintetice? Răspunsul scurt este că datele sintetice sunt alcătuite din date care nu se bazează pe niciun fenomen sau eveniment din lumea reală, ci sunt generate prin intermediul unui program de calculator. Însă de ce datele sintetice devin atât de importante pentru știința datelor? Cum se creează datele sintetice? Să explorăm răspunsurile la aceste întrebări.
Ce este un set de date sintetice?
Așa cum sugerează și termenul “sintetic”, seturile de date sintetice sunt generate prin programe de calculator, și nu prin documentarea evenimentelor din lumea reală. Scopul principal al unui set de date sintetice este de a fi suficient de versatil și robust pentru a fi util în antrenarea modelelor de învățare automată.
Pentru a fi util pentru un clasificator de învățare automată, datele sintetice ar trebui să aibă anumite proprietăți. În timp ce datele pot fi categorice, binare sau numerice, lungimea setului de date ar trebui să fie arbitrară, iar datele ar trebui să fie generate aleatoriu. Procesele aleatorii utilizate pentru generarea datelor ar trebui să fie controlabile și bazate pe diverse distribuții statistice. Zgomotul aleator poate fi, de asemenea, plasat în setul de date.
Dacă datele sintetice sunt utilizate pentru un algoritm de clasificare, cantitatea de separare a claselor ar trebui să fie personalizabilă, astfel încât problema de clasificare să poată fi făcută mai ușoară sau mai grea, în funcție de cerințele problemei. Între timp, pentru o sarcină de regresie, procese generative neliniare pot fi utilizate pentru a genera datele.
De ce să se utilizeze datele sintetice?
Pe măsură ce cadrele de învățare automată, cum ar fi TensorFlow și PyTorch, devin mai ușor de utilizat, iar modelele preconcepute pentru procesarea imagini și a limbajului natural devin mai ubiquite și mai puternice, principala problemă cu care se confruntă oamenii de știință din domeniul datelor este colectarea și manipularea datelor. Companiile au adesea dificultăți în a obține cantități mari de date pentru a antrena un model precis într-un interval de timp dat. Etichetarea manuală a datelor este un mod costisitor și lent de a obține date. Cu toate acestea, generarea și utilizarea datelor sintetice poate ajuta oamenii de știință și companiile să depășească aceste obstacole și să dezvolte modele de învățare automată mai rapide.
Există o serie de avantaje în utilizarea datelor sintetice. Cel mai evident mod în care utilizarea datelor sintetice beneficiază știința datelor este că reduce nevoia de a captura date din evenimente din lumea reală, și, prin urmare, devine posibilă generarea de date și construirea unui set de date mult mai rapid decât un set de date dependent de evenimente din lumea reală. Acest lucru înseamnă că volume mari de date pot fi produse într-un interval scurt de timp. Acest lucru este valabil, în special, pentru evenimente care apar rar, deoarece, dacă un eveniment apare rar în sălbăticie, mai multe date pot fi simulate din câteva mostre de date reale. Dincolo de acest lucru, datele pot fi etichetate automat în timp ce sunt generate, reducând drastic cantitatea de timp necesară pentru etichetarea datelor.
Datele sintetice pot fi, de asemenea, utile pentru a obține date de antrenament pentru cazuri limită, care sunt instanțe care pot apărea rar, dar sunt critice pentru succesul inteligenței dvs. artificiale. Cazurile limită sunt evenimente care sunt foarte asemănătoare cu ținta principală a unei inteligențe artificiale, dar se diferențiază în moduri importante. De exemplu, obiectele care sunt doar parțial în vedere pot fi considerate cazuri limită atunci când se proiectează un clasificator de imagini.
În cele din urmă, seturile de date sintetice pot minimiza preocupările legate de confidențialitate. Încercările de a anonimiza datele pot fi ineficiente, deoarece, chiar dacă variabilele sensibile sau de identificare sunt eliminate din setul de date, alte variabile pot acționa ca identificatori atunci când sunt combinate. Acest lucru nu este o problemă pentru datele sintetice, deoarece acestea nu s-au bazat niciodată pe o persoană reală sau pe un eveniment real.
Cazuri de utilizare pentru datele sintetice
Datele sintetice au o varietate largă de cazuri de utilizare, deoarece pot fi aplicate practic oricărei sarcini de învățare automată. Cazurile de utilizare comune pentru datele sintetice includ vehicule autonome, securitate, robotică, protecție împotriva fraudei și sănătate.
Unul dintre primele cazuri de utilizare pentru datele sintetice a fost vehiculele autonome, deoarece datele sintetice sunt utilizate pentru a crea date de antrenament pentru mașini în condiții în care obținerea de date reale de antrenament pe drum este dificilă sau periculoasă. Datele sintetice sunt, de asemenea, utile pentru crearea de date utilizate pentru antrenarea sistemelor de recunoaștere a imaginilor, cum ar fi sistemele de supraveghere, mult mai eficient decât colectarea și etichetarea manuală a unui număr mare de date de antrenament. Sistemele robotice pot fi lente în a fi antrenate și dezvoltate cu metode tradiționale de colectare a datelor. Datele sintetice permit companiilor de robotică să testeze și să proiecteze sisteme de robotică prin simulări. Sistemele de protecție împotriva fraudei pot beneficia de datele sintetice, iar noile metode de detectare a fraudei pot fi antrenate și testate cu date care sunt mereu noi atunci când se utilizează date sintetice. În domeniul sănătății, datele sintetice pot fi utilizate pentru a proiecta clasificatori de sănătate care sunt precisi, dar care, în același timp, protejează confidențialitatea oamenilor, deoarece datele nu se bazează pe persoane reale.
Provocările datelor sintetice
În timp ce utilizarea datelor sintetice aduce multe avantaje, aceasta aduce și multe provocări.
Atunci când se creează date sintetice, acestea lipsesc adesea de valori extreme. Valorile extreme apar în mod natural în date, iar, deși sunt adesea eliminate din seturile de date de antrenament, existența lor poate fi necesară pentru a antrena modele de învățare automată cu adevărat fiabile. Dincolo de acest lucru, calitatea datelor sintetice poate fi foarte variabilă. Datele sintetice sunt adesea generate cu un intrare sau “sămânță” de date, și, prin urmare, calitatea datelor poate depinde de calitatea datelor de intrare. Dacă datele utilizate pentru a genera datele sintetice sunt biasate, datele generate pot perpetua acel bias. Datele sintetice necesită, de asemenea, o formă de control al ieșirii sau al calității. Acestea trebuie să fie verificate împotriva datelor etichetate de către oameni sau a unor date autentice într-o formă oarecare.
Cum se creează datele sintetice?
Datele sintetice sunt create programatic prin tehnici de învățare automată. Tehnicile clasice de învățare automată, cum ar fi arborii de decizie, pot fi utilizate, la fel ca și tehnici de învățare profundă. Cerințele pentru datele sintetice vor influența ce tip de algoritm este utilizat pentru a genera datele. Arborii de decizie și modelele de învățare automată similare permit companiilor să creeze distribuții de date neclasice, multimodale, antrenate pe exemple de date din lumea reală. Generarea de date cu aceste algoritme va furniza date care sunt puternic corelate cu datele de antrenament originale. Pentru cazurile în care distribuția tipică a datelor este cunoscută, o companie poate genera date sintetice prin utilizarea unei metode Monte Carlo.
Metodele de generare a datelor sintetice bazate pe învățare profundă utilizează, de obicei, un autoencoder variabil (VAE) sau o rețea adversarială generativă (GAN). VAE-urile sunt modele de învățare automată nesupervizate care utilizează encodere și decodere. Partea de encodare a unui VAE este responsabilă pentru comprimarea datelor într-o versiune mai simplă și mai compactă a setului de date original, pe care decodificatorul o analizează și o utilizează pentru a genera o reprezentare a datelor de bază. Un VAE este antrenat cu scopul de a avea o relație optimă între datele de intrare și ieșire, una în care atât datele de intrare, cât și cele de ieșire sunt extrem de asemănătoare.
Când vine vorba de modelele GAN, acestea sunt numite “adversariale” din cauza faptului că GAN-urile sunt, de fapt, două rețele care se confruntă una cu cealaltă. Generatorul este responsabil pentru generarea de date sintetice, în timp ce a doua rețea (discriminatorul) funcționează prin compararea datelor generate cu un set de date reale și încearcă să determine care date sunt false. Atunci când discriminatorul detectează date false, generatorul este notificat și face modificări pentru a obține un nou lot de date care să poată fi acceptate de discriminator. La rândul său, discriminatorul devine din ce în ce mai bun la detectarea falsurilor. Cele două rețele sunt antrenate una împotriva celeilalte, iar falsurile devin din ce în ce mai realiste.












