Una rete neurale può calcolare ?


12

In spirito del famoso scherzo di Tensorflow Fizz Buzz e del problema XOr ho iniziato a pensare, se è possibile progettare una rete neurale che implementa la funzione ?y=x2

Data una rappresentazione di un numero (ad esempio come un vettore in forma binaria, in modo tale che il numero 5sia rappresentato come [1,0,1,0,0,0,0,...]), la rete neurale dovrebbe imparare a restituire il suo quadrato - 25 in questo caso.

Se potessi implementare , probabilmente potrei implementare e generalmente qualsiasi polinomio di x, e quindi con la serie di Taylor potrei approssimare , che risolverebbe il problema di Fizz Buzz - una rete neurale che può trovare il resto della divisione.y=x2y=x3y=sin(x)

Chiaramente, solo la parte lineare degli NN non sarà in grado di eseguire questo compito, quindi se potessimo fare la moltiplicazione, ciò avverrebbe grazie alla funzione di attivazione.

Puoi suggerire idee o leggere sull'argomento?

Risposte:


10

Le reti neurali sono anche chiamate l'approssimazione della funzione universale che si basa sul teorema dell'approssimazione della funzione universale . Si afferma che:

Nella teoria matematica delle reti neurali artificiali, il teorema di approssimazione universale afferma che una rete feed-forward con un singolo strato nascosto contenente un numero finito di neuroni può approssimare funzioni continue su sottoinsiemi compatti di Rn, sotto lievi ipotesi sulla funzione di attivazione

Significa che un ANN con una funzione di attivazione non lineare potrebbe mappare la funzione che collega l'ingresso con l'uscita. La funzione potrebbe essere facilmente approssimata usando la regressione ANN.y=x2

Puoi trovare un'ottima lezione qui con un esempio di quaderno.

Inoltre, grazie a tale capacità, ANN potrebbe mappare relazioni complesse, ad esempio tra un'immagine e le sue etichette.


2
Grazie mille, questo è esattamente quello che stavo chiedendo!
Boris Burkov,

4
Sebbene sia vero, è una pessima idea impararlo. Non riesco a vedere da dove deriverebbe un potere di generalizzazione. NN brilla quando c'è qualcosa da generalizzare. Come la CNN per la visione che cattura modelli o RNN che può catturare le tendenze.
Jeffrey supporta Monica il

14

Penso che la risposta di @ShubhamPanchal sia un po 'fuorviante. Sì, è vero che dal teorema di approssimazione universale di Cybenko possiamo approssimare con un singolo strato nascosto contenente un numero finito di neuroni in grado di approssimare funzioni continue su sottoinsiemi compatti di , sotto lievi ipotesi sulla funzione di attivazione.f(x)=x2Rn

Ma il problema principale è che il teorema ha un limite molto importante . La funzione deve essere definita su sottoinsiemi compatti di Rn (sottoinsieme compatto = limitato + sottoinsieme chiuso). Ma perché questo è problematico? Durante l'allenamento dell'approssimatore di funzioni si avrà sempre un set di dati finito. Quindi, approssimerai la funzione all'interno di un sottoinsieme compatto di . Ma possiamo sempre trovare un punto per il quale probabilmente l'approssimazione fallirà. Detto ciò. Se si desidera solo approssimativa su un sottoinsieme compatto di allora possiamo rispondere alla tua domanda con R nxf(x)=x2Rf(x)=x2xRRnxf(x)=x2R. Ma se vuoi approssimare per tutti allora la risposta è no (escludo il caso banale in cui usi una funzione di attivazione quadratica).f(x)=x2xR

Osservazione laterale sull'approssimazione di Taylor : devi sempre tenere presente che un'approssimazione di Taylor è solo un'approssimazione locale. Se vuoi solo approssimare una funzione in una regione predefinita, dovresti essere in grado di usare le serie di Taylor. Ma approssimando dalla serie di Taylor valutata in ti darà risultati orribili per se non usi abbastanza termini nella tua espansione di Taylor.sin(x)x=0x10000


3
Bella presa! "set compatto".
Esmailian,

2
Mille grazie, amico! Eye-opener!
Boris Burkov,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.