User Tools

Site Tools


neurali:percettrone

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
neurali:percettrone [2019/08/17 22:24] profproneurali:percettrone [2020/06/08 22:20] – external edit 127.0.0.1
Line 1: Line 1:
 +====== 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) **somma pesata** degli input x (prodotto scalare x · w)
 +      * 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
 +
 + {{:neurali:percettrone.png}}
 +
 +  * 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.
 +
 +{{:neurali:pesi_rete.png?nolink&200|}}
 +
 +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...
 +
 +{{:neurali:640px-gjl-t_x_.svg.png?nolink&640|https://en.wikipedia.org/wiki/File:Gjl-t%28x%29.svg}}
 +
 +
 +===== 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//)<del> che svolge una classificazione binaria</del>
 +
 +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.
 +
 +{{:neurali:percettrone1.png?nolink|}}
 +
 +  * //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 //[[http://en.wikipedia.org/wiki/Linearly_separable|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'[[neurali:addestramento]] delle reti neurali artificiali si riduce ad un problema di convergenza della soluzione di un algoritmo di ottimizzazione.
 +
 +
 +  - [[neurali:funzione attivazione linear]]
 +
 +==== Funzioni di attivazione non lineari ====
 +
 +In natura, si osserva spesso una funzione con saturazione.
 +
 +Il software [[neurali:libFANN2]] disponde delle seguenti  [[neurali:fann_activationfunc_enum|funzioni di attivazione]]
 +
 +Il software [[neurali:pybrain]] disponde delle seguenti  [[neurali:pybrain#descrizione|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.
 +  - funzione hopfield (sign) o Step
 +  - [[neurali:funzione attivazione Step]] (funzione a gradino) usata per i classificatori binari
 +  - [[neurali:funzione attivazione sigmoid]] (o log-sigmoid)
 +  - [[neurali:funzione attivazione logistic sigmoid]]
 +  - [[neurali:funzione attivazione tangente iperbolica]]
 +  - [[neurali:funzione attivazione softmax]] (usata nei layer di output)
 +  - [[neurali:funzione attivazione softplus]]
 +  - [[neurali:funzione attivazione gaussiana]]
 +  - [[neurali:funzione attivazione radius]]
 +
 +DA FINIRE
 +
 +Se il sistema (la rete neurale) è **lineare** (zero layer e funzione attivazione lineare) può risolvere solo problemi in cui le [[neurali:problemi di classificazione|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:[[neurali:recurrent_neural_network]])
 +
 +[[neurali:spiking_neural_network]]
neurali/percettrone.txt · Last modified: 2023/06/09 14:02 by profpro