Cunoștințe, prelegere, optimizarea rețelei neuronale

Cultivarea rețelelor neuronale

Modelul propus face parte din clasa rețelelor neuronale în creștere. Astfel de rețele rezolvă în mod propriu problema adaptării structurii lor la cerințele sarcinii care trebuie rezolvată. Amintiți perceptrons multistrat, pentru care numărul de straturi ascunse și neuronii din ele sunt adesea aleși prin încercare și eroare. După cum sa menționat deja în această privință, există două abordări ale alegerii adaptive a arhitecturii rețelelor neuronale. În prima abordare, o rețea neuronală intenționat inutilă este subtiată la gradul de complexitate necesar. Rețelele de creștere, dimpotrivă, încep cu structuri foarte simple și mici, care cresc și devin mai complexe, după cum este necesar.







Frittske și Wilke a dezvoltat o clasă de auto-asamblate (cu profesorul și stagiarii) Rețelele cu structură variabilă, cum ar fi structuri de celule în creștere și în creștere de compensare în creștere a gazelor neuronale. Primele au fost folosite de ei pentru a rezolva problema vânzătorului călător (și alte probleme de optimizare combinatorică).

Structura celulară în creștere pentru problema vânzătorului călător este inițial un inel de trei celule neuronale. Fiecare neuron este caracterizat de un vector bidimensional care determină poziția sa pe plan. Fiecare neuron din inel este de asemenea atribuit o valoare proprie de eroare, care la început este considerată a fi zero. Următoarea secvență de acțiuni include următoarele două operații elementare de bază: deplasarea și adăugarea unui nou neuron. Deplasarea (vezi Figura 6.2)

  • Orașul aleator este selectat
  • Câștigătorul neuronului cel mai apropiat de acest oraș este determinat
  • Poziția neuronului și a celor doi apropiați vecini din inel este mutată spre oraș pentru o anumită fracțiune din distanța față de el.

Aceste operațiuni sunt foarte apropiate de cele utilizate în modelul Kohonen. Diferența constă în faptul că, în ultimii, raza în care se determină cartierul și parametrul de adaptare scade cu timpul.


Fig. 6.2. Procedura de deplasare mută câștigătorul de neuroni și cei mai apropiați vecini către orașul aleator ales

Adăugarea unui nou neuron.

În timp, după mai multe cicluri de bias, se acumulează informații pe baza cărora se ia o decizie cu privire la locul în care trebuie adăugat un neuron nou. De fiecare dată când un neuron cel mai apropiat de un oraș este selectat pentru un oraș ales aleatoriu, o eroare locală pentru acesta din urmă are o creștere. Valoarea mare a acestei erori servește ca un indiciu că neuronul corespunzător se află în regiunea în care raportul (numărul de neuroni) / (numărul de orașe) este mic. În aceste zone trebuie adăugate noi neuroni, deoarece pentru a obține un traseu potrivit, fiecare oraș din apropiere ar trebui să aibă cel mai apropiat neuron. Traseul este determinat de a merge de-a lungul inelului către neuron, care este cel mai apropiat de un anumit oraș. Algoritmul pentru găsirea rutei optime folosind cele două operații descrise este formulat după cum urmează







  1. Inițializare: generează o structură inelară formată din trei neuroni care au o poziție aleatorie în plan.
  2. Se implementează un număr fix de pași de propagare. La fiecare pas, se recalculează valoarea erorii locale.
  3. Este determinată legătura "cel mai rău" din inelul care conectează doi neuroni și pentru care suma este maximă. Un nou neuron este introdus în mijlocul legăturii dintre neuroni și, iar eroarea sa este inițializată cu o valoare. În același timp, valorile de eroare pentru neuroni sunt reduse astfel încât eroarea totală să fie păstrată :,
  4. Dacă pentru oricare două orașe cei mai apropiați neuroni sunt diferiți, atunci traseul este găsit. În caz contrar, revenim la pasul 1.

Evident, soluția problemei poate fi găsită nu mai devreme decât numărul de neuroni din inel va ajunge la numărul de orașe. De fapt, pentru a realiza acest lucru, este necesară o rețea cu neuroni. Plecând de la această observație empirică, conform căreia numărul de iterații este de ordine, putem estima complexitatea generală a algoritmului. La pasul 1, este necesară inspectarea tuturor neuronilor pentru a găsi cel mai apropiat oraș. Ea este produsă o singură dată și, deoarece acest număr este constant, numărul total al inspecțiilor este, de asemenea, de ordine. În pasul 2, fiecare legătură din lanț trebuie verificată pentru a găsi cea care corespunde erorii totale maxime a neuronilor terminali. Deoarece numărul de legături este egal cu numărul de neuroni, numărul acțiunilor este din nou al comenzii. În pasul 3, pentru fiecare oraș, trebuie să găsiți cel mai apropiat neuron, care, cel puțin, necesită acțiune. Astfel, deoarece etapele 1-3 necesită cel puțin operații și ciclul se repetă o dată, complexitatea de timp a algoritmului este cel puțin egală. Complexitatea spațială a algoritmului este, deoarece este necesar să se rezerve memoria orașelor, neuronilor și a unor variabile locale.

Pentru a îmbunătăți complexitatea cuadratură a algoritmului descris, Fritzke și Wilke au modificat pașii 1-3. Ei au luat în considerare faptul că, potrivit experimentelor numerice prima structură de inel de neuroni este distribuit rapid de-a lungul localizarea zona orașelor, și apoi cu o creștere a numărului de neuroni devin modificări locale. Acest comportament ia dus la ideea înlocuirii căutării globale a neuronului câștigător la pasul 1 printr-o procedură locală aproximativă. Și anume, pentru fiecare oraș să-și amintească neuron, care este cel mai adesea găsit cel mai apropiat de el, iar în cazul în care orașul este selectat din nou, căutarea celui mai apropiat neuron limitat la neuron și vecinii săi imediați în ring până la ordinul k. Deoarece k este o constantă, complexitatea căutării este în acest caz.


Fig. 6.3. Căutarea locală pentru cel mai bun neuron: -precedent neuron; cei mai apropiați vecini până la ordinul 2 sunt candidații la câștigători în etapa următoare

Pentru a elimina la pasul 2 o căutarea liniei liniare cu eroarea maximă, se utilizează faptul că această legătură este cea care leagă neuronii, adesea devenind câștigători.

Al treilea pas poate fi de asemenea modificat: dacă un neuron este de câteva ori mai aproape de un anumit oraș, atunci pentru acest oraș structura inelară sa stabilizat deja și neuronul este "lipit" în acest punct al traseului. Aceasta înseamnă că este combinată cu orașul său și nu se mai mișcă. Orașul este eliminat din lista orașelor jucate la etapa de distribuire. Când această listă devine goală, procesul de căutare a traseului se termină.

Astfel, fiecare pas dintr-un ciclu necesită acum un număr constant de operații și complexitatea de timp a întregului algoritm devine ordonată.

Descrisă abordare eficientă rețea neuronală (FLEXMAP) a fost testat pe diferite distribuții ale orașelor cu până la 200 de rute și consecvent constatat, diferind cu mai mult de 9% din valoarea optimă.







Articole similare

Trimiteți-le prietenilor: