Teoria della risonanza adattiva

Questa rete è stata sviluppata da Stephen Grossberg e Gail Carpenter nel 1987. Si basa sulla concorrenza e utilizza un modello di apprendimento non supervisionato. Le reti Adaptive Resonance Theory (ART), come suggerisce il nome, sono sempre aperte a un nuovo apprendimento (adattivo) senza perdere i vecchi schemi (risonanza). Fondamentalmente, la rete ART è un classificatore di vettori che accetta un vettore di input e lo classifica in una delle categorie a seconda di quale modello memorizzato assomiglia di più.

Principal Operativo

L'operazione principale della classificazione ART può essere suddivisa nelle seguenti fasi:

  • Recognition phase- Il vettore di input viene confrontato con la classificazione presentata in ogni nodo nel livello di output. L'output del neurone diventa "1" se corrisponde meglio alla classificazione applicata, altrimenti diventa "0".

  • Comparison phase- In questa fase, viene effettuato un confronto del vettore di input con il vettore del livello di confronto. La condizione per il ripristino è che il grado di somiglianza sia inferiore al parametro di vigilanza.

  • Search phase- In questa fase, la rete cercherà il ripristino e la corrispondenza effettuata nelle fasi precedenti. Quindi, se non ci fosse alcun reset e la partita fosse abbastanza buona, la classifica sarebbe finita. Altrimenti, il processo verrebbe ripetuto e l'altro modello memorizzato deve essere inviato per trovare la corrispondenza corretta.

ART1

È un tipo di ART, progettato per raggruppare i vettori binari. Possiamo capirlo con l'architettura di esso.

Architettura di ART1

Si compone delle seguenti due unità:

Computational Unit - È composto da:

  • Input unit (F1 layer) - Ha inoltre le seguenti due porzioni:

    • F1(a) layer (Input portion)- In ART1, non ci sarebbe elaborazione in questa porzione piuttosto che avere solo i vettori di input. È collegato al livello F 1 (b) (porzione di interfaccia).

    • F1(b) layer (Interface portion)- Questa porzione combina il segnale dalla porzione di ingresso con quello dello strato F 2 . Lo strato F 1 (b) è collegato allo strato F 2 tramite pesi dal basso verso l'altobije lo strato F 2 è collegato allo strato F 1 (b) tramite pesi dall'alto in bassotji.

  • Cluster Unit (F2 layer)- Questo è un livello competitivo. L'unità con l'ingresso netto più grande viene selezionata per apprendere lo schema di input. L'attivazione di tutte le altre unità cluster è impostata su 0.

  • Reset Mechanism- Il lavoro di questo meccanismo si basa sulla somiglianza tra il peso top-down e il vettore di input. Ora, se il grado di questa somiglianza è inferiore al parametro di vigilanza, al gruppo non è consentito apprendere lo schema e si verificherebbe una pausa.

Supplement Unit - In realtà il problema con il meccanismo di ripristino è che il livello F2deve essere inibito in determinate condizioni e deve anche essere disponibile quando avviene un apprendimento. Ecco perché due unità supplementari vale a dire,G1 e G2 viene aggiunto insieme all'unità di ripristino, R. Sono chiamatigain control units. Queste unità ricevono e inviano segnali alle altre unità presenti nella rete.‘+’ indica un segnale eccitatorio, mentre ‘−’ indica un segnale inibitorio.

Parametri utilizzati

Vengono utilizzati i seguenti parametri:

  • n - Numero di componenti nel vettore di input

  • m - Numero massimo di cluster che possono essere formati

  • bij- Peso da F 1 (b) a F 2 strato, cioè pesi dal basso verso l'alto

  • tji- Peso da F 2 a F 1 (b) strato, cioè pesi dall'alto verso il basso

  • ρ - Parametro di vigilanza

  • ||x|| - Norma del vettore x

Algoritmo

Step 1 - Inizializza il tasso di apprendimento, il parametro di vigilanza e i pesi come segue:

$$ \ alpha \:> \: 1 \: \: e \: \: 0 \: <\ rho \: \ leq \: 1 $$

$$ 0 \: <\: b_ {ij} (0) \: <\: \ frac {\ alpha} {\ alpha \: - \: 1 \: + \: n} \: \: e \: \: t_ {ij} (0) \: = \: 1 $$

Step 2 - Continuare il passaggio 3-9, quando la condizione di arresto non è vera.

Step 3 - Continua i passaggi 4-6 per ogni input di formazione.

Step 4- Impostare le attivazioni di tutte le unità F 1 (a) e F 1 come segue

F2 = 0 and F1(a) = input vectors

Step 5- Il segnale di ingresso da F 1 (a) a F 1 (b) deve essere inviato come

$$ s_ {i} \: = \: x_ {i} $$

Step 6- Per ogni nodo F 2 inibito

$ y_ {j} \: = \: \ sum_i b_ {ij} x_ {i} $ la condizione è yj ≠ -1

Step 7 - Eseguire i passaggi 8-10, quando il ripristino è vero.

Step 8 - Trova J per yJ ≥ yj per tutti i nodi j

Step 9- Calcola nuovamente l'attivazione su F 1 (b) come segue

$$ x_ {i} \: = \: sitJi $$

Step 10 - Ora, dopo aver calcolato la norma del vettore x e vettoriale s, dobbiamo controllare la condizione di ripristino come segue:

Se ||x||/ ||s|| <parametro di vigilanza ρ, Quindi ⁡inhibit ⁡node J e vai al passaggio 7

Else If ||x||/ ||s|| ≥ parametro di vigilanza ρ, quindi procedi oltre.

Step 11 - Aggiornamento del peso per il nodo J può essere fatto come segue -

$$ b_ {ij} (nuovo) \: = \: \ frac {\ alpha x_ {i}} {\ alpha \: - \: 1 \: + \: || x ||} $$

$$ t_ {ij} (nuovo) \: = \: x_ {i} $$

Step 12 - La condizione di arresto dell'algoritmo deve essere verificata e può essere la seguente:

  • Non subire variazioni di peso.
  • Il ripristino non viene eseguito per le unità.
  • Numero massimo di epoche raggiunto.