Co to jest waga i stronniczość w głębokim uczeniu się?


16

Zaczynam się uczyć uczenia maszynowego ze strony internetowej Tensorflow. Rozwinąłem bardzo podstawowe podejście do programu głębokiego uczenia się (ta metoda sprawia, że ​​uczę się szybko zamiast czytać książki i duże artykuły).

Jest kilka mylących rzeczy, z którymi się zetknąłem, 2 z nich to:

  1. Stronniczość
  2. Waga

W samouczku MNIST na stronie tensorflow wspomnieli, że potrzebujemy stronniczości i wagi, aby znaleźć dowody na istnienie określonego wzoru na obrazie. Nie rozumiem, gdzie i jak określa się wartości odchylenia i wagi?

Czy musimy podać te wartości, czy biblioteka TensorFlow oblicza te wartości automatycznie na podstawie zestawu danych szkoleniowych?

Byłoby świetnie, gdybyś mógł podać kilka sugestii, jak przyspieszyć moje tempo w głębokim uczeniu się.

Samouczek dla początkujących Tensorflow


3
Jako parametry danego modelu statystycznego , są one dowiedział lub szacowana przez minimalizację funkcji straty , które zależy od danych. I o to właśnie chodzi w uczeniu maszynowym. Będziesz zadawać wiele pytań, jeśli zastosujesz tę pedogogiczną metodę. Radzę wziąć MOOC jak ten na Coursera, abyś mógł uczyć się rzeczy w rozsądnej kolejności.
Emre,

Jest to bardzo proste, dlatego powinieneś zrobić kurs taki jak sugerowany @Emre.
HelloWorld

Odpowiedzi:


11

Mówiąc matematycznie. Wyobraź sobie, że jesteś modelką (nie, nie taki, rysunek 8)

Y=W.X+njasolmirjazan

Więc co rozumiesz? Zanotowano wstępne założenie w modelu takim jak ty.

Jeśli chodzi o wagę, logicznie rzecz biorąc, waga jest twoim gradientem (w algebrze liniowej),

Co to jest Gradient? , to stromość funkcji liniowej.

Co sprawia, że ​​gradient liniowy jest bardzo stromy (Wysoka wartość dodatnia)?

Jest tak, ponieważ niewielkie zmiany w X (dane wejściowe) powodują duże różnice w osi Y (dane wyjściowe). Więc ty (już nie jako model, ale genialny matematyk (twoje alter ego)) lub twój komputer próbujesz znaleźć ten gradient, który możesz nazwać ciężarem. Różnica polega na tym, że używasz ołówka i wykresu, aby to znaleźć, ale czarna skrzynka wykonuje swoją elektroniczną magię za pomocą rejestrów.

W procesie uczenia maszynowego komputer lub Ty próbujesz narysować wiele linii prostych lub funkcji liniowych w punktach danych,

Dlaczego próbujesz narysować wiele linii prostych?

Ponieważ w wykresie / pamięci komputera próbujesz zobaczyć linię, która jest odpowiednio dopasowana.

Skąd ja lub komputer znam linię, która jest odpowiednio dopasowana?

W mojej szkole średniej nauczono mnie rysować linię między punktami danych, wizualnie sprawdzając linię, która przecina się idealnie w środku wszystkich punktów danych (zapomnij o szumie w sztucznej inteligencji, nasze mózgi mogą obliczyć po prostu patrząc na rzeczy) . Ale jeśli chodzi o komputer, wypróbowuje standardowe odchylenie i wariancję każdej linii w kierunku punktów danych. Wybrana jest linia o najmniejszym odchyleniu (czasami nazywa to funkcją błędu).

Chłodny! i co się stanie

Obliczany jest gradient tej linii, powiedzmy, że obliczana jest waga problemu uczenia się

to jest uczenie maszynowe w jego podstawowym rozumieniu, a uczeń szkoły średniej wykreślający wykres w swoim grafiku


10

Zgadzam się z komentarzami do twojego pytania, że ​​powinieneś przyjrzeć się kursowi, być może Machine Learning Andrew Course na Coursera , który jest bardzo cenionym, bezpłatnym wstępem. To jest podstawowe pytanie o podstawy uczenia maszynowego. W związku z tym nie omawiam matematyki w tej odpowiedzi, możesz ją uzyskać z wielu miejsc, w tym z tego kursu.

gdzie i jak określa się wartości odchylenia i wagi?

Wagi i odchylenia są możliwymi do nauczenia parametrami twojego modelu. Oprócz sieci neuronowych pojawiają się one pod tymi samymi nazwami w powiązanych modelach, takich jak regresja liniowa. Większość algorytmów uczenia maszynowego zawiera takie parametry, których można się nauczyć, jak ten.

Wartości tych parametrów przed rozpoczęciem uczenia są inicjowane losowo (to zatrzymuje ich zbieganie się do jednej wartości). Następnie, podczas prezentacji danych podczas treningu, są one dostosowywane do wartości, które mają prawidłową wydajność.

Czy musimy podać te wartości, czy biblioteka TensorFlow oblicza te wartości automatycznie na podstawie zestawu danych szkoleniowych?

Nie musisz podawać wartości przed treningiem, chociaż możesz zdecydować takie rzeczy, jak liczba parametrów, które powinny być (w sieciach neuronowych kontrolowanych przez rozmiar każdej warstwy). TensorFlow oblicza wartości automatycznie podczas treningu. Kiedy masz już wytrenowany model i chcesz go ponownie użyć, będziesz chciał ustawić wartości bezpośrednio, np. Poprzez załadowanie ich z pliku.

Specyficzny kod, który obsługuje zmiany wag i stronniczości z samouczka, jest następujący:

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

i to:

sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

Pierwszy wiersz określa sposób zmiany wag i wartości. Można to odczytać niemal dosłownie jako „zdefiniować funkcję szkoleniową, która wykorzystuje optymalizator spadku gradientu w celu zmniejszenia entropii krzyżowej dostarczanych danych”.

yx


8

Waga - waga to siła połączenia. Jeśli zwiększę wkład, to jaki wpływ ma on na wynik.

Wagi bliskie zeru oznaczają, że zmiana tego wejścia nie zmieni wyniku. Wiele algorytmów automatycznie ustawi te wagi na zero, aby uprościć sieć.

Odchylenie - oznacza to, jak daleko od naszych prognoz są rzeczywiste wartości. Zasadniczo algorytmy parametryczne cechują się dużym odchyleniem, dzięki czemu są szybkie w nauce i łatwiejsze do zrozumienia, ale ogólnie mniej elastyczne. Z kolei mają one niższą wydajność predykcyjną w przypadku złożonych problemów, które nie spełniają uproszczonych założeń algorytmu.

Niski błąd : sugeruje więcej założeń dotyczących formy funkcji celu.

High-Bia s: Sugeruje mniej założeń dotyczących formy funkcji celu.


2
OP pytał o parametr odchylenia w sieci neuronowej. Twoje definicje stronniczości są w porządku, ale nie odpowiadaj na pytanie.
Neil Slater,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.