Wątek przeniesiony 2014-05-08 19:10 z C/C++ przez Shalom.

Sieć neuronowa i pierwistkowanie.

Odpowiedz Nowy wątek
2014-05-08 11:25

Rejestracja: 7 lat temu

Ostatnio: 4 lata temu

0

Witam wszystkich,
mam za zadanie napisać sieć neuronową, która potrafiła będzie liczyć pierwiastek. Bez większego problemu udało mi się napisać perceptron wielowarstwowy, który umiem nauczyć mnożenia, czy też dzielenia, wykorzystuję wtedy funkcję liniową i jej pochodną jako funkcje aktywacji. Jakiej funkcji powinienem użyć by nauczyć moją sieć pierwiastkować? Liczby przedstawiam w postaci dziesiętnej jako wejście i wynik w procesie nauki. Sieć ma trzy warstwy i po jednym neuronie w warstwie wejściowej i wyjściowej, oraz dowolną liczbę neuronów w warstwie ukrytej.

Pozostało 580 znaków

2014-05-08 15:14

Rejestracja: 8 lat temu

Ostatnio: 11 miesięcy temu

1

Pamiętam że mój prowadzący ze studiów jara się tym tematem, może to Ci pomoże?
http://home.agh.edu.pl/~horzy[...]drianhorzykpracadoktorska.pdf
Strona 44

Pozostało 580 znaków

2014-05-08 16:50

Rejestracja: 7 lat temu

Ostatnio: 4 lata temu

0

Dzięki za odpowiedź, przeczytałem o ciekawych rzeczach w tym dokumencie, ale zapomniałem dodać, że moja sieć to musi być MLP, czyli perceptron wielowarstwowy, muszę użyć treningu z nauczycielem oraz muszę użyć wstecznej propagacji błędu. Mimo wszystko próbowałem zastosować przedstawioną funkcję, ale niestety wagi bardzo szybko uciekają do nieskończoności, dobór współczynnika nauki nie pomaga.

tak na marginesie, uczenie sieci neuronowych ścisłych działań arytmetycznych jest absurdem, nie do tego SN przecież służą... ;-) - Azarien 2014-05-08 17:09

Pozostało 580 znaków

2014-05-15 08:40

Rejestracja: 7 lat temu

Ostatnio: 4 lata temu

0

Udało mi się rozwiązać ten problem, wystarczy użyć liniowych funkcji aktywacji.

Pozostało 580 znaków

Goor
2014-05-16 16:24
Goor
0
limac92 napisał(a):

Udało mi się rozwiązać ten problem, wystarczy użyć liniowych funkcji aktywacji.

Ale to jest bez sensu, bo żeby sieć coś zwróciła musisz przemnożyć dane wejściowe przez wag. Czyli innymi słowy, żeby "nauczyć" sieć mnożyć musisz wcześniej już tą operację umieć wykonać i ją zastosować.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0