Czy sieć neuronowa może obliczyć

12

W duchu słynnego żartu Fizz Buzz z Tensorflow i problemu XOr zacząłem myśleć, czy można zaprojektować sieć neuronową, która implementuje funkcję ?y=x2)

Biorąc pod uwagę pewną reprezentację liczby (np. Jako wektor w postaci binarnej, aby liczba 5była reprezentowana jako [1,0,1,0,0,0,0,...]), sieć neuronowa powinna nauczyć się zwracać swój kwadrat - w tym przypadku 25.

Gdybym mógł zaimplementować , prawdopodobnie mógłbym zaimplementować i ogólnie dowolny wielomian x, a następnie z szeregiem Taylora mógłbym w przybliżeniu , co rozwiązałoby problem Fizz Buzz - sieć neuronowa, która może znaleźć pozostałą część podziału.y=x2)y=x3)y=grzech(x)

Najwyraźniej tylko liniowa część NN nie będzie w stanie wykonać tego zadania, więc jeśli moglibyśmy wykonać mnożenie, działałoby to dzięki funkcji aktywacyjnej.

Czy możesz zasugerować jakieś pomysły lub lektury na ten temat?

Boris Burkov
źródło

Odpowiedzi:

10

Sieci neuronowe są również nazywane przybliżeniem funkcji uniwersalnej, opartym na twierdzeniu o aproksymacji funkcji uniwersalnej . Twierdzi, że:

W matematycznej teorii sztucznych sieci neuronowych uniwersalne twierdzenie aproksymacyjne stwierdza, że ​​sieć sprzężenia zwrotnego z pojedynczą ukrytą warstwą zawierającą skończoną liczbę neuronów może aproksymować funkcje ciągłe na zwartych podzbiorach Rn, przy łagodnych założeniach dotyczących funkcji aktywacji

Oznacza to, że ANN z nieliniową funkcją aktywacji może odwzorować funkcję, która wiąże wejście z wyjściem. Funkcję y=x2) można łatwo aproksymować za pomocą regresji ANN.

Można znaleźć doskonałą lekcję tutaj z przykładu notebooka.

Ponadto, dzięki takiej zdolności, ANN może mapować złożone relacje, na przykład między obrazem a jego etykietami.

Shubham Panchal
źródło
2
Dziękuję bardzo, właśnie o to prosiłem!
Boris Burkov
4
Chociaż to prawda, bardzo złym pomysłem jest nauczenie się tego. Nie widzę, skąd wziąłaby się jakakolwiek moc generalizacyjna. NN świeci, gdy jest coś do uogólnienia. Podobnie jak CNN dla wizji, która rejestruje wzorce, lub RNN, który może rejestrować trendy.
Jeffrey
14

fa(x)=x2)Rn

RnRnxfa(x)=x2)Rfa(x)=x2)xR

grzech(x)x=0x10000

MachineLearner
źródło
3
Dobry chwyt! „zestaw kompaktowy”.
Esmailian
2
Wielkie dzięki kolego! Otwieracz do oczu!
Boris Burkov