ML - 23 - Neural Networks I


Lecture Info

  • Date: [2021-04-11 dom 20:30]

  • Lecturer: Giorgio Gambosi

  • Slides: (ml_11_neural-slides.pdf)


In questa lezione abbiamo introdotto il primo modello di rete neurale, i multi-layered percerptons, discutendone un caso particolare con tre layers (input, hidden, output).

1 Multilayer Networks

I modelli considerati fino a questo punto del corso sono tutti detti a single level of parameters. Questi modelli seguono infatti una struttura lineare, in generale esprimibile dalla relazione y=f(wTϕ(x)), ovvero in cui i parametri del modello sono applicati direttamente ai valori di input.

Volendo generalizzare, è possibile definire dei modelli più generali in cui sequenze di trasformazioni vengono applicate ai dati. Questi modelli sono quindi rappresentabili da mutlilayered networks of functions. Una struttura di tipo multi-layered questo tipo prende il nome di neural network (rete neurale).

2 Multi-Layered Percerpton

Un caso particolare di rete neurale è detta multi-layered perceprton.


2.1 First Layer

Per un qualsiasi vettore di input di d elementi x=(x1,,xd), il primo layer di una rete neurale è caratterizzato da m1>0 valori a(1)1,,a(1)m1, detti activations, che sono ottenuti combinando con gli elementi di input tramite dei pesi attraverso una combinazione lineare

a(1)j=di=1w(1)jixi+w(1)j0=¯xTw(1)j

dove wji è il peso dell'arco che collega la feature i al nodo j e ¯x=(1,x1,,xd)T.

Il totale dei coefficienti nel primo layer è quindi (d+1)m1, dove m1 è un iperparametro del modello.

Ogni attivazione a(1)j è trasformata utilizzando una funzione di attivazione non lineare h1 per ottenere il valore z(1)j.

Alla fine quindi l'output del layer è un vettore z(1)=(z(1)1,,z(1)m1) con

z(1)j=h1(a(1)j)=h1(¯xTw(1)j)

Tipicamente possiamo assumere che la funzione h1 è una funzione di tipo sigmoide, ovvero

σ(x)=11+ex

oppure una tangente iperbolica

tanh(x)=exexex+ex=11+e2x11+eex=σ(2x)σ(2x)


2.2 Second Layer

Continuando la nostra costruzione, possiamo utilizzare il vettore z(1) come input per il prossimo layer, in cui m2 hidden units sono utilizzate per calcolare un nuovo vettore z(2)=(z(2)1,,z(2)m2) andando prima a calcolare una combinazione lineare dei valori di inpu

a(2)k=m1i=1w(2)kiz(1)i+w(2)k0=(¯z(1))T¯w(2)k

e poi applicando una funzione non lineare h2

z(2)k=h2((¯z(1))T¯w(2)k)

Graficamente,

Con l'introduzione di questo layer i coefficienti del modello sono divetanti (d+1)m1+(m1+1)m2.


2.3 Inner Layers

La stessa costruzione di prima può essere iterata per ogni layer interno, dove il layer r ha mr unità che utilizzando il vettore di input z(r1) per ottenere il vettore di output z(r1) tramite prima una combinazione lineare

a(r)k=(¯z(r1))T¯w(r)k

e poi una trasformazione non lineare

z(r)k=hr(a(r)k)=hr((¯z(r1))T¯w(r)k)

Alla fine di tutti questi inner layers c'è poi un solo output layer.


2.4 Output Layer

Il layer di output è caratterizzato dal fatto che i valori in uscita da questo layer devono poter essere interpretati in funzione del problema che vogliamo risolvere attraverso la rete neturale.

Possibili differenze della struttura del layer di output a seconda del contesto di utilizzo:

  • Regressione: In questo caso l'ultimo layer ci deve fornire un valore, e quindi è costituito da un solo nodo.

  • Classificazione binaria: In questo caso l'ultimo layer avrà un solo elemento che ci darà il valore di probaiblità di appartenenza ad una classe.

  • Classicazione multiclasse: In questo caso, l'output layer dovrà avere un insieme di k valori, ciascuno dei quali rappresenta la probabilità di appartenenta dell'elemento alla particolare classe Ck. In questo caso dobbiamo imporre che la somma di tali valori sia proprio 1.

In generale quindi il layer t (quello di output) fornisce un vettore di output y=z(t) prodotto nuovamente da mt output units (unità di output) che prima si occupa di calcolare una combinazione lineare

a(t)k=(¯z(t1))T¯w(t)k

e poi applicano a quanto ottenuto una trasforamzione non lineare ht

yk=z(t)k=ht((¯z(t1))T¯w(t)k)

dove la funzione ht dipende dal particolare problema che si vuole risolvere. In particolare troviamo:

  • Regressione: ht è la funzione identità.

  • Classificazione binaria: ht è funzione sigmoide.

  • Classicazione multiclasse: ht è la funzione softmax.

3 3-Layer Networks

Un modello abbastanza potente è un multi-layered percerpton a 3 livelli, in cui il primo livello sono i valori di input, il secondo livello è il valore della prima combinazione lineare delle features, e il terzo livello è layer di output.

Consideriamo il problema di classificare K classi diverse e utilizziamo un modello a 3 livelli. Esplicitando quello che succede nei vari layer, e assumendo che il numero di elementi nell'hidden layer sono M, troviamo la seguente relazione

yk=σ(Mj=1w(2)kjh(di=1w(1)jixi+w(1)j0)+w(2)k0)

La rete risultante può dunque essere vista come un caso particolare di un GLM (Generalized Linear Model), che in questo caso è una logistic regression, dove però le funzioni base non sono definite preventivamente rispetto ai dati xi ma sono invece parametrizzate rispetto i coefficienti in w(1).

L'idea quindi è che in un GLM, la trasformazione delle features tramite le funzioni base è definita preventivamente e arbitrariamente. In questo caso la trasformazione delle features non è del tutto arbitaria, nel senso che la sua struttura è fissata, ma per poter essere calcolata dobbiamo fissare i valori dei coefficienti. In altre parole, non stiamo definendo come è fatta esattamente la trasformazione, ma stiamo definendo uno schema di possibili trasformazioni, che è parametrico rispetto ai coefficienti del primo layer, che sono ottenuti durante il training set, e quindi sono ottenuti in un approccio data-oriented.

Questo modello neurale quindi, a differenza di un GLM, la trasformazione delle features è un qualcosa che cambia rispetto ai dati del training set, e quindi essa stessa è appresa dal modello. Un modello di questo tipo quindi fa la miglior possibile regressione logistica utilizzando la miglior possibile trasformazione per rappresentare i dati iniziali.

Lo schema finale è quindi il seguente