Newsgroup: it.comp.ia
Titolo: Reti neurali

Ciao a tutti.
Chi mi spiega, dall'inizio, CON MOLTA CALMA, con semplicità, come funziona e
COME SI IMPLEMENTA una rete neurale?!
Ci sto impazzendo dietro, non avendo basi (se non cio che si legge su
internet... e si tratta soprattutto di concetti squisitamente matematici,
che rimandano ad altra matematica, che rimanda ad altra matematica, che
rimanda ad altra matematica... ecc ecc ecc... e non capisco perche ho
trovato dei sorgenti di piccole reti neurali (che non riesco a capire) che
funzionano benino grandi appena 8-10kb!!!! Dove sta tutta sta
matematica?!!?!?).
Dome

 matematica?!!?!?).
Una rete neurale e' un insieme di neuroni artificiali interconnessi tra
loro.
Un neurone artificiale e' composto da un insieme di input, un insieme di
pesi, una funzione di attivazione, un insieme di output.
Il neurone fa questo: somma tra loro gli input, ognuno moltiplicato per il
suo peso.
Applica la funzione di attivazione, che solitamente e' un gradino o un
sigmoide.
Restituisce in uscita il valore risultante, che di solito viene propagato ad
altri neuroni come input, o all'uscita.
La matematica come vedi e' quella dei polinomi :)
Poi pero' si dimostrano (con matematica un po' piu' complessa ;) una serie
di proprieta' di queste accozzaglie di neuroni, collegate per es.
all'apprendimento e simili.
Stefano

 all'apprendimento e simili.
Come si dimostrano? (e qui mi sa che si va sul difficile)
Ciao e grazie,
Dome

 ha scritto nel messaggio
news:HnvP7.2308$ob5....@news2.tin.it...

Il "neurone" utilizzato nelle reti è di solito concepito come un dispositivo
con un certo numero di ingressi ed una uscita.
Gli ingressi possono essere connessi agli input della rete o ad un uscita di
un altro neurone.
Di solito le reti sono organizzate a strati: Un primo gruppo raccoglie gli
input della rete. Le uscite di questo gruppo costituiscono gli input di un
altro gruppo e così via fino all' ultimo gruppo le cui uscite sono l' output
della rete. Sono comunque state concepite reti con architetture differenti.
Il comportamento del singolo neurone è anch' esso definibile in funzione del
risultato che si vuole ottenere. Di solito viene utilizzato un neurone così
descritto : ad ogni ingresso (di solito un numero in virgola mobile)
corrisponde un peso.
Il contributo dell' ingresso è il valore di ingresso moltiplicato per il
peso (che può essere positivo o negativo). Tutti i contributi vengono
sommati. Tale operazione viene definita matematicamente come prodotto
scalare tra il vettore di ingresso ed il vettore dei coefficienti. A tale
risultato può essere sottratto un valore costante detto comunemente soglia.
Il risultato di tale operazione viene trasformato attraverso una funzione
non lineare. (Se non si applicasse tale funzione tutta la rete potrebbe
essere collassata in un unico strato in quanto la composizione lineare di
funzioni lineari è ancora lineare e le reti ad uno strato hanno
comportamenti molto limitati.)  Tra le funzioni di solito usate vi sono le
sigmoidi che sono funzioni continue e differenziabili è ciò è richiesto da
alcune regole di addestramento della rete. La matematica è necessaria per
comprendere il comportamento della rete ed il modo con cui addestrarla.
Nessuno ti vieta di crearti la tua rete ed addestrarla come ti pare senza
ausilio della matematica così come per guidare un auto non è necessario
essere un meccanico ma poi è difficile mettere le mani in qualcosa che non
si comprende.
----
Sergio Bianchi

 Come si dimostrano? (e qui mi sa che si va sul difficile)
Si va MOLTO sul difficile... al massimo ti posso descrivere le proprieta'...
Stefano


G è un coefficiente che modula la ripidità della sigmoide (Per G = 0 linea
piatta a 1/2, Per G che tende a infinito la sigmoide tende al gradino 0 ...
1). Prova a tracciare un grafico.
----
Sergio Bianchi

 COME SI IMPLEMENTA una rete neurale?!
http://members.tripod.it/pomas/neural/neural.htm