Unghiul lui Anderson
Procesoarele GPU pot fi mai bune, nu doar mai rapide, la antrenarea rețelelor neuronale profunde

Cercetători din Polonia și Japonia, care lucrează cu Sony, au descoperit dovezi că sistemele de învățare automată antrenate pe procesoare grafice (GPU) în loc de procesoare centrale (CPU) pot conține mai puține erori în timpul procesului de antrenare și pot produce rezultate superioare, contrar înțelegerii comune că procesoarele grafice efectuează aceste operațiuni doar mai rapid, nu și mai bine.
Cercetarea, intitulată Impactul incertitudinii GPU asupra antrenării rețelelor neuronale predictive profunde, provine de la Facultatea de Psihologie și Științe Cognitive a Universității Adam Mickiewicz și două universități japoneze, împreună cu Laboratoarele de Informatică ale Sony.
Studiul sugerează că ‘incertitudinile’ pe care le prezintă rețelele neuronale profunde în fața diferitelor configurații de hardware și software favorizează procesoarele grafice mai scumpe (și din ce în ce mai rare) și au constatat în teste că o rețea neuronală profundă antrenată exclusiv pe CPU a produs rate de eroare mai mari după același număr de epoci (numărul de ori în care sistemul reprelucrează datele de antrenare în timpul unei sesiuni).

În acest exemplu suplimentar din lucrare, vedem (ultimele două rânduri), o calitate similară a rezultatelor obținute de la o varietate de procesoare grafice și (primul rând), rezultatele inferioare obținute de la o gamă de procesoare centrale de altfel foarte capabile. Sursă: https://arxiv.org/pdf/2109.01451.pdf
Fenomene ciudate
Aceste constatări preliminare nu se aplică uniform tuturor algoritmilor de învățare automată populare, și în cazul arhitecturilor de autoencoder simple, fenomenul nu apare.
În orice caz, lucrarea sugerează o posibilă ‘viteză de scăpare’ pentru eficacitatea antrenării în rețelele neuronale complexe, unde parcurgerea acelorași operațiuni la o viteză mai mică și la timpi de antrenare mai mari nu obține paritatea de performanță pe care ai aștepta-o de la rutinele matematice de iterare.
Cercetătorii sugerează că această disparitate de performanță ar putea fi particulară anumitor tipuri de rețele neuronale și că aspectele indeterminate ale procesării specifice GPU, adesea văzute ca un obstacol care va fi în cele din urmă depășit, nu numai că pot oferi beneficii notabile, dar pot fi și intenționat încorporate în sistemele viitoare. Lucrarea sugerează de asemenea că constatările ar putea oferi perspective mai profunde asupra procesării computaționale legate de creier.
Identificarea particularităților care cresc eficiența și calitatea rezultatelor în acest fel pe procesoarele grafice are potențialul de a obține o înțelegere mai profundă a arhitecturilor ‘cutii negre’ AI și chiar de a îmbunătăți performanța procesoarelor centrale – deși în prezent, cauzele subiacente sunt evazive.
Autoencoder vs. PredNet
În studiul anomaliilor, cercetătorii au utilizat un autoencoder de bază și rețeaua neuronală predictivă a Universității Harvard PredNet, o cercetare din 2016 care a fost proiectată pentru a explora și a încerca să reproducă comportamentul cortexului cerebral uman.
Ambele sisteme sunt rețele neuronale profunde proiectate pentru a sintetiza imagini potrivite prin învățare nesupravegheată (cu date din care etichetele au fost omise), deși autoencoderul se ocupă liniar de o imagine pe lot, care ar produce apoi o ieșire ca imaginea următoare într-un pipeline recurent. Autoencoderul a fost antrenat pe baza de date MNIST de scriere de mână.

Autoencoderul în testele cercetătorilor a fost antrenat pe baza de date MNIST, care cuprinde 60.000 de imagini de antrenare la 28×28 de pixeli, anti-aliasate pentru inducție în tonuri de gri, precum și 10.000 de imagini de test.
În schimb, PredNet evaluează intrări video complexe și, în cazul acestei cercetări, a fost antrenat pe setul de date FPSI, care prezintă extinse imagini video dintr-o zi în Disney World, Orlando, Florida (Disney a fost unul dintre asociații de cercetare ai lucrării din 2012).

Secvențe de imagini din FPSI, arătând vederi dintr-o zi în Disney World.
Cele două arhitecturi sunt foarte diferite în ceea ce privește complexitatea. Autoencoderul este proiectat pentru a reconstrui imagini, nu pentru a prezice valori țintă. În schimb, PredNet prezintă patru straturi, fiecare constând din neuroni de reprezentare care utilizează memoria lungă pe termen scurt convoluțională (LSTM).
Straturile produc predicții contextuale care sunt apoi comparate cu o țintă pentru a produce un termen de eroare care se propagă în întreaga rețea. Ambele modele utilizează învățare nesupravegheată.

Arhitectura simplă, liniară a autoencoderului și rețeaua mai complexă și recursivă a PredNet.
Ambele sisteme au fost testate pe o varietate de configurații de hardware și software, incluzând procesoare centrale fără procesoare grafice (Intel i5-4590, i7-6800K, i5-7600K sau AMD Ryzen-5-3600) și procesoare centrale cu procesoare grafice (Intel i5-7600K + NVIDIA GTX-750Ti, i5-7600K + GTX-970, i7-6700K + GTX-1080, i7-7700K + GTX-1080Ti, i7-9700 + RTX-2080Ti, i5-7600K + RTX-2060 super, AMD Ryzen-5-3600 + RTX-2070 super sau i5-9400 + Titan-RTX).
Vizualizatorul de procese interactive htop a fost utilizat pentru a se asigura că toate antrenamentele au avut loc fie pe un singur fir (pe un Intel i7-6800K), pe patru fire (pe un Intel i5-4590 și i5-7600K) sau șase fire (pe un AMD Ryzen-5-3600).
Puncte de sellă
La autoencoder, diferența medie pe toate configurațiile, cu și fără cuDNN, nu a fost semnificativă. Pentru PredNet, rezultatele au fost mai uimitoare, cu diferențe notabile în evaluarea pierderii și calității între antrenarea pe CPU și GPU.

Rezultatele medii de pierdere pentru antrenarea PredNet pe patru procesoare centrale și opt procesoare grafice, cu rețeaua antrenată pe 5000 de cadre video în 250 de loturi, cu pierderea medie pentru ultimele 1000 de cadre (50 de loturi) reprezentate. cuDNN a fost oprit.
Cercetătorii concluzionează că ‘Deși mecanismul nu este clar, hardware-ul GPU pare să aibă capacitatea de a avansa antrenarea rețelelor neuronale profunde.’
Rezultatele indică faptul că procesoarele grafice pot fi mai bune la evitarea punctelor de sellă – zonele dintr-o coborâre de gradient care descriu partea de jos a unei pante.

Punctul de minim al pantelor într-o coborâre de gradient este ‘punctul de sellă’, numit astfel din cauza motivelor evidente. Sursă: https://www.pinterest.com.au/pin/436849232581124086/
Punctele de sellă, deși un impediment, au fost în mare măsură respinse ca fiind ușor de ocolit în gândirea recentă despre optimizarea coborârii gradientului stocastic (SGD), dar noua lucrare sugerează că nu numai că procesoarele grafice pot fi dotate în mod unic pentru a evita aceste puncte, dar că influența punctelor de sellă ar trebui poate reevaluată.












