Algorytm wstecznej propagacji - jak powinna wyglądać funkcja błędu?

Odpowiedz Nowy wątek
2019-06-03 00:07
0

Czytając o algorytmie wstecznej propagacji zazwyczaj spotykam się z tym, że funkcja błędu wygląda w taki sposób: J = 1/2*(z - y)^2
, gdzie z to wynik, który ma zwrócić sieć neuronowa, a y to wynik otrzymany na wyjściu sieci neuronowej.

Natomiast tutaj: home.agh.edu.pl/~horzyk/lectu[...]cyb/BIOCYB-SieciNeuronowe.pdf (strona 29)
funkcja błędu jest określona wzorem J = z - y

I teraz pytanie. Czy funkcja błędu może zarówno przyjmować taką postać jaką podałem na początku tego wpisu (J = 1/2(z - y)^2) oraz może po prostu przyjąć taką postać J = z - y? Jeśli tak to jaka jest różnica pomiędzy późniejszym obliczaniem korekty wag według tych dwóch róznych funkcji błędu?

edytowany 1x, ostatnio: tom8543, 2019-06-03 00:10

Pozostało 580 znaków

2019-06-03 00:14
2

Są różne funkcje, zależy od tego, co chcesz minimalizować. Może to być mean squared error, może być coś innego.

Korekta wag jest taka sama koncepcyjnie, tylko obliczona pochodna będzie inna.

Pozostało 580 znaków

2019-06-03 00:20
0

A czy to co się minimalizuje to funkcja błędu? Czy jeśli bym w tej instrukcji z pdfa zamiast funkcji błedu J = z - y zastosował funkcję błędu J = 1/2(z - y)^2 to czy proces liczenia wyglądałby dalej tak samo jak właśnie w tym pdfie to opisano? Czy by się coś zmieniło?

Pozostało 580 znaków

2019-06-03 00:33
1

Tak, minimalizujesz funkcję błędu. Pdfa nie otworzę w podróży, ale koncepcyjnie inna funkcja błędu zmienia tylko wartość pochodnej, więc przy aktualizacji wag zmieni się pewnie jeden czynnik w każdej formule.

Zmieni się jedynie wartość pochodnej tak? Wzór na aktualizacje wagi zostaje ten sam? - tom8543 2019-06-03 00:35
Tak, wzór będący pochodną złożeń funkcji koncepcyjnie jest ten sam, tylko pochodna cząstkowa funkcji błędu będzie inna (bo i funkcja błędu jest inna). - Afish 2019-06-03 00:52

Pozostało 580 znaków

2019-06-03 12:15
0

W jakim celuu liczy się te pochodne funkcji dla danych argumentów?

edytowany 1x, ostatnio: tom8543, 2019-06-03 12:15

Pozostało 580 znaków

2019-06-03 13:14
1
tom8543 napisał(a):

W jakim celuu liczy się te pochodne funkcji dla danych argumentów?

Zeby zobaczyc, w jakim kierunku zmienic rangi polaczen nauronow na warstwie poprzedniej w danej epoce uczenia. To wlasnie propagacja wsteczna.

Apropos funkcji bledu -> dobor funkcji aktywacji, jak i funkcji bledu, zalezy glownie do klasy problemu do jakiego Twoja siec ma byc uczona.
Jest duzo funkcji bledow nadajacych sie do danego problemu, wiec niektore mozna stosowac zamiennie, czasem lepsze efekty dostaje sie jedna, czasem inna.
https://ml-cheatsheet.readthe[...]en/latest/loss_functions.html

Pozostało 580 znaków

2019-06-03 13:21
1

@tom8543: bo musisz obliczyć gradient.

Gradient funkcji to wektor, który przujmuje najmniejsze wartości w danej funkcji? - tom8543 2019-06-03 18:52

Pozostało 580 znaków

2019-06-03 14:26
0

A co do tego tutoriala z pdfu. W nim w każdej warstwie sieci tak samo jest aktualizowana waga. Spotkałem się też z czymś takim, że w każdej warstwie sieci wzór na akutalizację wag był różny. To jak to z tym jest? Czy to ja coś pomyliłem?

Pozostało 580 znaków

2019-06-03 15:59

Zależy od funkcji aktywacji, ale koncepcyjnie jest zawsze to samo.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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