Verbalizarea este o descriere minimizată a activității unei rețele neuronale sintetizate și deja antrenate sub forma mai multor funcții algebrice sau logice interdependente .
Unul dintre principalele dezavantaje ale rețelelor neuronale antrenate , din punctul de vedere al multor utilizatori, este că este dificil să se extragă un algoritm explicit și ușor de utilizat pentru rezolvarea problemei dintr-o rețea neuronală antrenată - rețeaua neuronală în sine este acest algoritm. , iar dacă structura rețelei este complexă, atunci acest algoritm este de neînțeles. Cu toate acestea, o procedură de simplificare și verbalizare special construită face adesea posibilă extragerea unei metode explicite de soluție.
Verbalizarea este efectuată, în special, pentru a pregăti o rețea neuronală instruită și simplificată pentru implementarea în codul programului sau sub forma unui dispozitiv electronic (optoelectronic) specializat, precum și pentru a utiliza rezultatele sub formă de cunoștințe explicite . [1] În acest caz, simptomele sunt valorile de intrare ale rețelei neuronale, iar sindroamele sunt valorile la ieșirile neuronilor . Sindromul final este valoarea de ieșire a rețelei neuronale. Verbalizarea se realizează de obicei prin intermediul pachetelor specializate.
Înainte de verbalizarea rețelei, de obicei cu ajutorul regulilor de producție, pentru unele tipuri de rețele, s-a propus simplificarea structurii rețelelor - să se subțieze. Ideea principală a tăierii este că acele elemente ale modelului sau acei neuroni ai rețelei care au un efect redus asupra erorii de aproximare pot fi excluse din model fără o deteriorare semnificativă a calității aproximării [2] . Dar, în același timp, trebuie avut în vedere că acest lucru este valabil doar pentru problema care se rezolvă. Dacă există statistici noi pentru antrenament, atunci rețeaua rară își va pierde capacitatea de generalizare, pe care ar fi avut-o dacă nu s-ar fi pierdut conexiunile (cel puțin contrariul nu s-a dovedit). Astfel, vorbim despre algoritmi cu pierderi care pot fi utilizați pentru anumite probleme, dar nu pot fi utilizați indiferent de problemă. Creșterea specializării, își pierd flexibilitatea.
Metoda de ordinul doi (folosind analiza de sensibilitate bazată pe calculul derivatelor secunde) a fost propusă de LeCun în 1990 [3] și a fost numită „leziune cerebrală optimă”. Apoi a fost dezvoltat de Hussibey [4] și a primit denumirea de „chirurgie optimă a creierului”.
Ceva mai devreme, au fost propuse metode de subțiere [5] și scheletizare [6] a rețelelor neuronale, bazate pur și simplu pe eliminarea elementelor cu cele mai mici ponderi ( metode de ordinul zero ).
În sfârşit, în acelaşi 1990, A. N. Gorban a propus o metodă eficientă bazată pe analiza primelor derivate în cursul învăţării prin metode gradient şi care nu necesită diferenţiere separată. [7] Pe lângă sarcina de înlăturare a elementelor, au fost rezolvate și alte probleme de simplificare: reducerea lungimii cuvântului a greutăților și a semnalelor (grosterie), simplificarea funcțiilor de activare a neuronilor, obținerea de cunoștințe interpretabile etc. Întregul set de abordări a fost numite și „ rețele neuronale contrastante ”. Descrierea principalilor indicatori ai sensibilității este prezentată în revizuire. [opt]
E. M. Mirkes , în proiectul „ Neurocomputer ideal”, bazat pe abordarea lui Gorban și pe experiența de dezvoltare a software-ului aplicat, a introdus elementul „Contrast”, a construit o bibliotecă cu funcțiile sale principale și a dezvoltat un limbaj de descriere. [9]
Pentru a pregăti o rețea neuronală pentru simplificare, se dovedește a fi util să se introducă în evaluarea muncii sale, care este minimizată în timpul antrenamentului, termeni de penalizare (penalizare engleză), penalizare pentru complexitate. Acești algoritmi sunt introduși în cartea lui A. N. Gorban [7] . Această abordare a fost ulterior redescoperită și a pus bazele teoriei învățării structurale de către Ishikawa și Zurada. [10] [11]
Algoritmul de decimare pentru perceptronul lui Rosenblatt nu este necesar. Acest lucru se datorează faptului că, spre deosebire de perceptronul multistrat al lui Rumelhart , perceptronul nu este o rețea complet conectată, adică numărul de conexiuni de la elementul de mijloc la intrare poate fi controlat direct de către experimentator, în funcție de complexitatea sarcinii. . Prin urmare, instruirea cu conexiuni suplimentare nu este necesară și puteți selecta imediat numărul de conexiuni care este necesar pentru sarcină. O astfel de selecție se face experimental, dacă convergența a fost obținută în timpul antrenamentului, atunci aceasta poate fi redusă și mai mult. De îndată ce convergența a început să necesite un număr semnificativ mai mare de iterații, atunci acesta este un semn că a fost atins numărul dorit de conexiuni.
Un alt parametru controlat care are un efect mai semnificativ asupra numărului de conexiuni este numărul de elemente din mijloc. Cu cât perceptronul poate fi antrenat cu un număr mai mic de elemente mijlocii, cu atât se va obține o structură mai optimă.
Prin urmare, prin controlul acestor doi parametri, subțierea se obține automat, fără algoritmi suplimentari.