< funzioni del cervello artificiale
Mentre giocano, i bambini muovono le mani fino a che un bel giorno riescono ad infilarsi una mano in bocca senza sapere come hanno fatto. Potrebbe un robot muovere casualmente dei motori per imparare a muovere il braccio?
Questa idea è già venuta in mente a decine di ricercatori, vale la pena citare questo lavoro
Utilizza un braccio con 4 gradi di libertà (senza nessuno strumento alla sua estremita) per dimostrare che è possibile, usando una rete neurale SNN STPD, realizzare, tramite opportuno addestramento, un modello cinematico che permetta di trasformare le coordinate x,y,x in movimenti motori.
In precedenza il modello cinematico doveva essere noto a priori, analiticamente o numericamente.
Se il modello cinematico ha molti gradi di libertà, esistono più movimenti possibili che portano la mano del braccio in una stessa posizione, per risolvere questo problema si pongono dei traguardi intermedi per costruire una traiettoria che permetta di raggiungere un punto nello spazio
Un oggetto che si muove nello spazio x,y,x possiede anche tre angoli (Euler_angles) che permettono di specificare i movimenti relativi
www.ros.org/news/2013/07/08/JACO_ROSDriver.jpg
Considerando l'avambraccio piantato a terra, si hanno quindi immediatamente 3 gradi di liberta, a cui va aggiunto il grado di libertà del gomito. (Nel caso si desideri aggiungere anche una mano per afferrare, vanno aggiunti altri due gradi di libertà: rotazione del polso e inclinazione della mano).
Il numero di neuroni deve aumentare in modo direttamente proporzionale al n. gradi libertà.
Vedere codifica dei dati tramite iSpike
Population coding: dal punto di vista biologico è stato rilevato che la frequenza media dei neuroni ha una distribuzione a campana (Gaussiana) centrata sul valore di una variabile di input.
La finestra STDP è larga 50 ms.
In questo progetto la finestra STDP è simmetrica e il potenziamento avviene se il tempo di ritardo dell'eccitazione o dell'attivazione è inferiore ad un valore assoluto, mentre la depressione del peso sinaptico viene depresso se supera il valore assoluto.
Voglio codificare un angolo betaxx di input (sensore angolare) (0°-360°) utilizzando il primo layer di input costituito da N=1200 neuroni.
Normalizzando l'angolo [0; 360] → [0; 1] . Allora betaxx=45° diventa
il neurone centrale che contiene la frequenza massima della campana è f: [0; 1] → [1; 1200]
F(X)la formula della frequenza del generico neurone X
Una formula che arriva da un manuale del MIT… (voting scheme???)
infine
I tempi di elaborazione dell'output non sono istantanei, non è real time…