This is an old revision of the document!


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 ζ(w,x) somma pesata degli input x (prodotto scalare x · w)
      • che somma i contributi dei neuroni che precedono il neurone attuale
    • una funzione σ(ζ) funzione di attivazione (lineare o non lineare)
      • solo se la precedente somma ζ supera una certa soglia, il neurone produce a sua volta un impulso

  • Ogni funzione di attivazione è caratterizzata da una θ soglia di attivazione
    • a volte dentro al cerchio del neurone si trova rappresentata θ, altre volte c'è il disegnino della funzione σ(ζ)
  • 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…

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

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. 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

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 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.1524635756.txt.gz
  • Last modified: 2018/04/25 07:55
  • by 127.0.0.1