User Tools

Site Tools


neurali:percettrone

Percettrone

https://en.wikibooks.org/wiki/Artificial_Neural_Networks

Il percettrone svolge il compito che il neurone svolge nelle reti neurali biologiche. A volte è detto Processing Element.

  • ogni percettrone è definito da tre elementi:
    • dai pesi delle connessioni (sinapsi) (w nella figura)
    • una funzione zetaxx(w,x) funzione di aggregazione come la somma pesata degli input x (prodotto scalare x · w). Rif. somma_di_afferenze_sinaptiche
      • che somma i contributi dei neuroni che precedono il neurone attuale
    • una funzione sigmaxx(zetaxx) funzione di attivazione (lineare o non lineare)
      • solo se la precedente somma zetaxx supera una certa soglia, il neurone produce a sua volta un impulso

  • Ogni funzione di attivazione è caratterizzata da una thetaxx soglia di attivazione
    • a volte dentro al cerchio del neurone si trova rappresentata thetaxx, altre volte c'è il disegnino della funzione sigmaxx(zetaxx)
  • Ogni percettrone si attiva se la somma dei segnali provenienti in ingresso supera la soglia di attivazione.

Alcune possibili funzioni di attivazione a soglia in cui f(x) supera zero solo se la variabile x supera un certo valore di soglia: quale scegliere? Probabilmente una facile da calcolare al computer…

RISPOSTA

non è meglio scegliere la funzione di attivazione più facile da calcolare al computer, infatti esiste un teorema dell'approssimazione universale secondo il quale, per poter generare un approssimatore è necessario usare funzioni non lineari.

Universal Approximation Theorem

https://en.wikipedia.org/wiki/Activation_function#Comparison_of_activation_functions

https://en.wikipedia.org/wiki/File:Gjl-t%28x%29.svg

Funzioni sigmoidee nelle reti neurali

https://it.wikipedia.org/wiki/Funzione_sigmoidea

Le funzioni sigmoidee sono spesso usate nelle reti neurali per introdurre la non linearità nel modello e/o per assicurarsi che determinati segnali rimangano all'interno di specifici intervalli. Un popolare elemento neurale artificiale computa la combinazione lineare dei relativi segnali in ingresso ed applica una funzione sigmoidea limitata al risultato; questo modello può essere visto come variante “regolare” del classico neurone soglia. Un motivo per la relativa popolarità nelle reti neurali è perché la funzione sigmoidea soddisfa questa proprietà:

Questa relazione polinomiale semplice fra la derivata e la funzione stessa è, dal punto di vista informatico, semplice da implementare.

Funzione di attivazione

Funzione di attivazione lineare

http://it.wikipedia.org/wiki/Percettrone

Matematicamente il comportamento di un percettrone può essere descritto come una funzione (funzione di attivazione) che svolge una classificazione binaria

In questo esempio, la funzione di attivazione è del tipo a soglia (binaria 0, 1). Tale funzione è detta anche a gradino, rect o funzione di Heaviside. Anche gli input x potrebbero essere binari.

  • x, è il l'input del percettrone (scalare o vettore)
  • w, è il peso moltiplicato ad ogni input (scalare o vettore)
  • - b, è la soglia di attivazione (bias)

Nel caso generale in cui ci siano più valori in ingresso (un vettore) si effettua un prodotto scalare tra x e w.

Altri esempi di funzioni di attivazione (lineare) sono

  • y=sign(x); (output binario +1,-1)
  • y=rampa
  • y=x

Nel 1969 si è dimostrato che un solo percettrone con due input potrebbe imitare solo funzioni linearmente separabili come AND e OR, mentre non potrebbe imitare una funzione XOR perché quest'ultima non è linearmente separabile.

https://web.archive.org/web/20160305060552/http://automatica.ing.unibs.it/mco/cgsa/neurali/il_percettrone.htm

Il problema dell'addestramento delle reti neurali artificiali si riduce ad un problema di convergenza della soluzione di un algoritmo di ottimizzazione.

Funzioni di attivazione non lineari

In natura, si osserva spesso una funzione con saturazione.

Il software libFANN2 disponde delle seguenti funzioni di attivazione

Il software pybrain disponde delle seguenti funzioni di attivazione

Si tratta di funzioni che vanno spesso da 0 a 1 (oppure da -1 a 1) e che quindi potrebbero essere già note a coloro che hanno studiato in matematica le distribuzioni di probabilità. Per le distribuzioni di probabilità anche l'integrale della funzione deve dare 1.

  1. funzione hopfield (sign) o Step
  2. funzione attivazione Step (funzione a gradino) usata per i classificatori binari
  3. funzione attivazione sigmoid (o log-sigmoid) caso particolare della logistic
  4. funzione attivazione softmax (usata nei layer di output)

DA FINIRE

Se il sistema (la rete neurale) è lineare (zero layer e funzione attivazione lineare) può risolvere solo problemi in cui le classificazioni stabiliscono categorie linearmente separabili.

Un sistema dinamico possiede la capacità di continuare a modificare il proprio output in base al proprio stato interno (non continuare ad apprendere) anche durante la fase di produzione (vedere neurali:recurrent_neural_network)

spiking_neural_network

neurali/percettrone.txt · Last modified: 2023/06/09 14:02 by profpro