Cześć, witamy z powrotem na kursie i głębokiej nauce, kiedy zobaczyliśmy, że twoja własna sieć
działa, czas, abyśmy dowiedzieli się, jak się uczą.
Więc przejdźmy do tego.
Są to dwa zasadniczo różne podejścia do uzyskania programu do robienia tego, co chcesz zrobić.
Jednym z nich jest zakodowane kodowanie, w którym podajesz konkretne reguły programu i jakie wyniki chcesz osiągnąć.
I po prostu prowadzisz go przez całą drogę i uwzględniasz wszystkie możliwe opcje, z
którymi program ma do czynienia.
Z drugiej strony masz sieci neuronowe, w których tworzysz program, dzięki któremu program sam będzie w stanie zrozumieć,
co musi zrobić.
Więc w zasadzie tworzysz tę sieć neuronową, w której podajesz dane wejściowe, mówisz to, co chcesz, jako dane
wyjściowe, a następnie pozwalasz jej samodzielnie zrozumieć wszystko.
Dwa zasadniczo różne podejścia i o tym należy pamiętać podczas przechodzenia przez te
samouczki.
Naszym celem jest stworzenie tej sieci, która uczy się sama.
Będziemy unikać wprowadzania reguł i dobrym przykładem, który mogę wam teraz przekazać, jest to, że pojawi się ono dalej w
toku, ale na przykład jest to bardzo wizualny przykład.
Jak odróżnić futro od psa i kota po lewej stronie procesu przedstawionego po lewej stronie programuje
się rzeczy takie, jak uszy kota muszą wyglądać tak, aby wąsy zwracały uwagę na ten typ nosa, uważaj
na tego typu kształtu twarzy zwracaj uwagę na te kolory, które opisałbyś wszystkie te
rzeczy, a będziesz miał warunki, jak gdyby uszy były spiczaste niż kocie, jeśli
uszy pochylają się i prawdopodobnie pies i tak dalej.
Z drugiej strony dla sieci neuronowej po prostu kodujesz sieci neuronowe kodujesz architekturę, a następnie kierujesz
sieć neuronową do folderu z tymi wszystkimi kotami i psami z obrazami kotów i psów, które są
już skategoryzowane i mówisz to OK. Mam cię, mam zdjęcia kotów i psów, idź i dowiedz
się, co to jest kot.
Idź i dowiedz się, czym jest pies.
A sieć neuronowa sama zrozumie wszystko, czego potrzebuje, aby ją zrozumieć, a następnie, po jej wyszkoleniu,
kiedy podasz mu nowy obraz kota lub psa, będzie w stanie zrozumieć, co to
było.
Więc są to dwa zasadniczo różne podejścia.
A dziś powoli zaczniemy się zastanawiać, jak działa to drugie podejście.
W porządku.
Więc przejdźmy od razu do tego.
Tutaj mamy bardzo podstawową sieć neuronową z jedną warstwą nazywaną jednowarstwową siecią neuronową feedforward
i jest ona również nazywana percepcją.
Zanim przejdziemy dalej, jedną rzeczą, którą musimy zmienić, jest wartość wyjściowa.
Teraz widzisz, że to tylko Y.
Musimy włożyć tam kapelusz.
A powodem tego jest zwykle y oznacza rzeczywistą wartość i właśnie tego będziemy używać.
Dlaczego więc będzie to rzeczywista wartość, którą widzimy jako wartość wyjściowa inwality to przewidywana wartość
algorytmu przez sieć neuronową.
Dlaczego jaka jest wartość wyjściowa?
Zasadniczo jest to nominał dla wartości wyjściowej.
A percepcja, która została po raz pierwszy wymyślona w 1957 roku przez Franka Rosenblata i jego cała idea,
polegała na stworzeniu czegoś, co może się nauczyć i dostosować.
I właśnie na to będziemy teraz patrzeć.
Mamy wyciągnięte nasze przykazanie.
Zobaczmy, jak nasza percepcja się uczy.
Powiedzmy, że mamy pewne wartości wejściowe, które zostały dostarczone do percepcji i / lub w zasadzie do naszej
własnej sieci.
Następnie zostanie zastosowana funkcja aktywacji.
Mamy dane wyjściowe i teraz zamierzamy wydrukować dane wyjściowe na wykresie.
Więc to jest nasz wynik wyjściowy.
Teraz, aby nauczyć się, musimy porównać wartość wyjściową z rzeczywistą wartością,
którą chcemy, aby sieć neuronowa poprawiła się.
I to jest wartość y.
Jeśli więc to tutaj umieścimy, zobaczysz, że jest trochę różnicy.
Teraz obliczymy funkcję zwaną funkcją kosztu obliczoną jako połowa różnicy kwadratowej
różnicy między wartością rzeczywistą a wartością wyjściową.
Teraz istnieje wiele sposobów na stworzenie funkcji klasowej.
Istnieje wiele różnych funkcji kosztów, z których można korzystać.
Jest to prawdopodobnie najczęściej używana funkcja wywołania i dlaczego konkretnie ta funkcja, której używamy, znajdzie się dalej, gdy
mówimy o przyzwoitym gradiencie, ale na razie po prostu zgodzimy się,
że jest to funkcja kosztu i w zasadzie to, co mówi nam
funkcja kosztu, to jaki błąd masz w swoich prognozach.
Naszym celem jest zminimalizowanie funkcji kosztu, ponieważ im niższa jest funkcja kosztu, tym bliżej
jest y.
OK, więc tylko my się z tym zgadzamy.
Więc w zasadzie od tego, co się dzieje, jest funkcja kosztu i stąd
to, co się dzieje, to teraz, kiedy porównamy teraz, będziemy przekazywać te informacje z powrotem do sieci neuronowej.
Wracamy więc do informacji z powrotem do sieci neuronowej i idzie do wag, a
wagi są aktualizowane.
Zasadniczo jedyną rzeczą, nad którą mamy kontrolę w tej bardzo prostej sieci neuronowej są ciężary
w 1 W2 aż do W ..
Naszym celem jest minimalizacja kosztów, więc wszystko, co możemy zrobić, to zaktualizować wagi.
Aktualizujemy wagi i trochę ich poprawiamy.
I jak dokładnie dowiadujemy się o upadku, ale na razie zgadzamy się, że mamy ciężary, a
następnie kontynuujemy.
Ale tutaj przedstawiam zrzut ekranu danych tylko po to, by wyjaśnić, że obecnie w całym tym eksperymencie wszystko,
co teraz robimy, mamy do czynienia tylko z jedną rolą.
Tak więc mamy do czynienia z zestawem danych z jednego wiersza, na którym mamy na przykład
czas, w którym się uczysz, tak jak zmienna, którą według nas przewidujemy.
Jaki wynik uzyskasz na egzaminie?
A zależne zmienne niezależne, jakie mamy, to ile godzin uczyłeś się przez ile godzin
spałeś i co dostałeś w quizie.
W połowie semestru Więc w połowie semestru jest quiz, jaki procent tam dotarłeś.
Opierając się na tych zmiennych, staramy się przewidzieć, jaki wynik uzyskasz na egzaminie i egzaminie - 93
procent to rzeczywista wartość.
Więc to dlatego.
Więc.
Dlatego po raz drugi ponownie zasilamy te trzy wartości w sieć neuronową, a następnie
porównamy wynik do bieli.
Zobaczmy więc, jak to działa.
Wprowadzamy te wartości do sieci neuronowej.
Wszystko się koryguje, a wagi robią to tylko po to, żebyś zobaczył, że to jest znowu, karmimy wartościami. Chodzi o
to, że karmimy w tej samej kuli, więc mamy tylko jedną rolkę, którą próbujemy zrobić. w
jednym rzędzie.
Jest tak dlatego, że jest to bardzo prosty prosty przykład.
Wtedy zobaczymy, co się stanie, gdy pojawi się moralność.
Tak więc ponownie karmimy te wiersze w naszym dopasowaniu do funkcjonalności.
Jak widać, wszystko dzieje się znowu w tym kierunku.
Tak jak mówisz, za każdym razem, gdy zmienia się nasz biały kapelusz, ponieważ poprawiliśmy wagi.
Jedyne, co miałem, to zmienić naszą funkcję ubrań, zmieniając cały ten wygląd, więc karmimy ich.
Dlaczego zmienia się funkcja ubrania zmienia się.
Otrzymujemy informację zwrotną do wagi, aby wagi zostały ponownie dostosowane.
Żywimy te same wartości za każdym razem, gdy wszystko się dostosowuje, powraca do wagi.
I jeszcze raz nakarmić.
DOBRZE.
I innym razem, więc dostosowaliśmy sposób, w jaki czujemy się w informacji.
I oto idziemy.
Więc teraz ten biały kapelusz jest równy y krzyżowej funkcjonalności 0.
Zwykle funkcja kosztów nie jest równa zero.
Ale to bardzo prosty przykład.
Miejmy nadzieję, że wszystko to ma sens za każdym razem, gdy karmimy dokładnie w tym samym rzędzie, ponieważ właśnie w tym
przypadku mamy do czynienia tylko z jednym rzędem w naszej sieci neuronowej.
No więc wagi otrzymają prawidłowe wartości podaży, sposób w jaki zastosowana jest funkcja aktywacji, otrzymujemy
y y y w porównaniu do Y, wtedy widzimy, jak zmienia się funkcja kosztu.
Informacja zwrotna i kanał informacyjny Bakkera w twojej własnej sieci, a następnie dostosuj
wagi ponownie.
A następnie powtarzamy ten sam proces ponownie z tym samym dokładnym wierszem.
Staramy się minimalizować te koszty.
Do tej pory mieliśmy do czynienia tylko z jednym rzędem.
Zobaczmy, co się stanie, gdy masz wiele ról.
Oto pełny zestaw danych.
Mamy osiem rzędów tego, ile godzin spaliście, a może inni uczniowie w tym samym dniu zdają ten sam
egzamin, ile godzin zajęło im to, ile godzin spali, zanim egzamin zostanie poddany
quizowi i jego końcowy wynik na teście.
I jak widać tutaj po lewej, mam w rzeczywistości osiem takich spostrzeżeń.
Wszystkie są takie same, więc to również jest ważne.
Po prostu pomnożyłem go lub podważyłem osiem razy, abyśmy mogli.
Koncepcja jest taka.
Ale ważną rzeczą jest tutaj ta sama sieć neuronowa, którą będziemy karmić w jedną Samualną sieć.
Więc zaczynajmy, zaczynajmy.
Tak więc jedno lotnisko, o którym słyszeliście, wspominało o jednym parku, kiedy przechodzimy przez cały zbiór danych i
szkolimy naszą sieć neuronową we wszystkich tych rolach, więc te listy są.
A więc jest nasz pierwszy rząd i dlatego w pierwszym rzędzie pojawiła się druga rola, dlatego miałem już
drugą rundę.
Więc za każdym razem jest zasilany w tę samą sieć neuronową.
Po prostu skopiowałem je kilka razy, abyśmy mogli wizualnie zobaczyć, jak to się dzieje.
Znowu, jak to się dzieje znowu, to trzeci rząd w czwartym rzędzie jest naszą białą głową w czwartym rzędzie i tak
dalej.
Zasadniczo otrzymujemy te same wartości dla pozostałych czterech wierszy.
Więc za każdym razem, gdy tylko zasilamy rząd w naszą sieć neuronową, rozumiemy to.
Następnie porównujemy z rzeczywistą wartością.
Więc są to rzeczywiste wartości.
Tak więc dla każdego rzutu mamy rzeczywistą wartość.
A teraz opieramy się na wszystkich tych różnicach między nami i dlaczego możemy obliczyć
funkcję kosztów, która jest sumą wszystkich kwadratów różnic między tym, dlaczego i dlaczego, i jak wszystko to jest o połowę mniejsze.
I jest nasza funkcja kosztu.
I w zasadzie teraz, co robimy, gdy mamy pełną funkcję kosztową, którą wracamy i aktualizujemy wagi,
które aktualizujemy W 1 WTW.
A ważną rzeczą, o której należy pamiętać, jest to, że wszystkie te percepcje to wszystkie sieci neuronowe w rzeczywistości
są jedną siecią neuronową.
Więc nie ma ich ośmiu, jest tylko jeden.
A kiedy aktualizujemy wagi, będziemy aktualizować wagi w tej jednej sieci neuronowej, więc w zasadzie
wagi będą takie same dla wszystkich wierszy.
Tak więc nie jest tak, że każda rola ma swoją własną wagę.
Teraz wszystkie rzędy dzielą ciężary i dlatego przyjrzeliśmy się funkcji kosztów, która jest
sumą różnic kwadratowych, a następnie zaktualizowaliśmy wagi, a teraz od tego momentu była tylko jedna iteracja.
Następnie znowu wszystko uruchomimy.
Będziemy podawać każdy rząd do sieci neuronowej, aby dowiedzieć się o naszej funkcji kosztowej i powtórzyć
cały proces.
Tak jak wcześniej widzieliśmy, gdzie mieliśmy tylko jeden wiersz i robiliśmy wszystko ponownie i znowu i
znowu to samo tutaj.
Ale teraz będziemy robić i Pedros lub 800 wierszy lub osiem tysięcy wierszy, tyle ile wierszy
masz w swoim zbiorze danych.
Wykonujesz ten proces, a następnie obliczasz funkcję kosztu.
Celem jest zminimalizowanie funkcji kosztowej i uzyskanie natychmiastowego znalezienia minuty funkcji kosztowej, która
jest twoją ostateczną siecią neuronową, co oznacza, że twoje wagi zostały dostosowane i znalazłeś optymalne wagi dla
tego zestawu danych, który zacząłeś Twoje szkolenie i jesteś gotowy, aby przejść do fazy testów
lub do fazy aplikacji.
Cały ten proces nazywa się propagacją wsteczną.
Więc dodatkowe czytanie, które możesz chcieć zrobić dla funkcji kosztów i wiem, że właśnie rozmawialiśmy
o jednym i istnieje wiele różnych.
Dobry artykuł znajduje się na zatwierdzonym krzyżu.
Nazywa się to listą funkcji kursu wykorzystywanych w sieciach neuronowych wraz z aplikacjami.
Więc euro jest tam, ale możesz po prostu google dla tego dokładnego wyszukiwanego hasła lub frazy wyszukiwania, a będziesz,
że ten będzie pierwszy, który wyskoczy.
W rzeczywistości ma kilka dobrych przykładów i aplikacji lub przypadków użycia dla różnych funkcji kosztów, więc jeśli chcesz dowiedzieć
się więcej o funkcjach kosztów, sprawdź ten artykuł.
I w tej notatce mam nadzieję, że spodoba ci się ten samouczek.
Czekam na ciebie następnym razem.
Do tego czasu ciesz się głęboką nauką.