WEBVTT

00:00.390 --> 00:02.550
Cześć i witamy w tym samouczku.

00:02.550 --> 00:02.870
W porządku.

00:02.880 --> 00:08.370
Więc w poprzednich tutorialach stworzyliśmy mózg lub jeśli chcesz mózgu dla A-3, zobacz teraz, że musimy

00:08.370 --> 00:09.560
wyszkolić ten mózg.

00:09.660 --> 00:15.240
Ale aby wyćwiczyć jego mózgi, potrzebujemy optymalizatora, którym jest to narzędzie, i wbijamy papierosa w

00:15.240 --> 00:20.820
środek, aby zmierzyć wagę w zależności od tego, ile przyczyniają się do błędu między przewidywaniami

00:20.940 --> 00:21.900
a celami.

00:22.200 --> 00:29.790
I co zrobiliśmy do tej pory w pierwszym i drugim module używaliśmy optymalizatora atomu przez torche w

00:29.910 --> 00:30.660
treningu.

00:30.840 --> 00:38.260
Ale jak już mówiłem, mamy do czynienia z bardzo trudnym problemem, który się przełamuje, a sam algorytm

00:38.260 --> 00:41.560
A-380 nie wystarczy, aby rozwiązać ten problem.

00:41.580 --> 00:48.480
Potrzebujemy spersonalizowanych optymalizatorów i wielu różnych sztuczek, aby rozwiązać ten problem, nie czekając na

00:48.480 --> 00:49.340
wieki.

00:49.530 --> 00:56.790
Właśnie dlatego jest to cel i dlatego mamy oddzielny, niestandardowy optymalizator oparty na

00:56.790 --> 00:57.990
optymalizatorze atomu.

00:58.200 --> 01:02.680
I to jest zawarte w tej wspólnej klasie wroga i dlaczego dzielony atom.

01:02.880 --> 01:08.190
Dzieje się tak, ponieważ jest to optymalizator atomu, ale będzie działać na wspólnych państwach.

01:08.190 --> 01:12.840
Więc wyjaśnimy, jak to działa i to jest toile Więc przejdziemy przez

01:12.840 --> 01:18.170
różne funkcje tutaj, nie zabijając ich, ponieważ wiesz, że chcemy zachować trochę energii na następny,

01:18.180 --> 01:23.190
a dodatkowo to jest pociąg, który ja spadł, który zajmie więcej niż sto linii kodu.

01:23.190 --> 01:24.550
Więc bądź na to gotowy.

01:24.600 --> 01:30.440
Dlatego spróbujemy wyjaśnić, co się tutaj dzieje w jednym Statoil Statoil.

01:30.480 --> 01:31.970
I zacznijmy teraz.

01:32.810 --> 01:38.480
W porządku, więc najpierw wprowadzimy atom dzielący klasę, który będzie zawierał trzy funkcje: funkcję init,

01:38.480 --> 01:40.900
funkcję pamięci współużytkowanej i funkcję kroku.

01:41.180 --> 01:48.410
Pierwszą rzeczą jest, że dziedziczy się od Optina ten atom, który jest oczywiście optymalizatorem atomu i

01:48.410 --> 01:52.100
który dostajemy z modułu Uptona z biblioteki pochodni.

01:52.280 --> 01:57.980
Mamy więc prostą możliwość uzyskania narzędzi związanych z optymalizatorem atomu, a następnie zaczynamy

01:57.980 --> 01:59.320
od funkcji init.

01:59.330 --> 02:00.990
Co się tutaj dzieje.

02:01.150 --> 02:08.050
Najpierw używamy superfunkcji do dziedziczenia ze wszystkich narzędzi i wszystkich podstawowych parametrów z atomu klasy

02:08.050 --> 02:11.310
Atom i te podstawowe parametry są tutaj.

02:11.380 --> 02:16.090
Haramowie uczą się niszczyć Epsilon i rozkład wagi.

02:16.240 --> 02:17.920
A potem zaczynamy śledzić.

02:17.980 --> 02:21.840
To pierwszy foluke dla grupy, którą Paramo grupuje.

02:21.850 --> 02:28.310
Tak więc dla nas to, co jest parum grupami ustawionymi wokół grup, zawiera wszystkie atrybuty optymalizatora.

02:28.510 --> 02:34.030
I wśród tych atrybutów mamy parametry, które musimy zoptymalizować, aby

02:34.030 --> 02:40.790
te parametry mogły atomizować inne sposoby sieci, które mogą być zawarte w grupach samopodobnych.

02:40.930 --> 02:44.860
Więc idziemy grupą należy do grup samopomocy.

02:44.980 --> 02:50.920
I tutaj mamy drugi Faltu, który dostanie te parametry, które chcemy zoptymalizować, i które

02:50.920 --> 02:54.910
są dokładnie zawarte w grupach zwątpienia w siebie.

02:54.910 --> 03:01.870
Zasadniczo przechodzimy przez grupy samopomocy, które zawierają wszystkie parametry, a dla każdej grupy parametrów

03:01.930 --> 03:07.480
i samo-dyskusji z grup będziemy przechodzić przez parametry, które chcemy zoptymalizować.

03:07.540 --> 03:14.300
Dlatego dla grupy Paramo oznacza to dla każdego Tancerza ciężarów, który chcemy zoptymalizować.

03:14.410 --> 03:20.200
Tak więc dla każdego ciężaru czujnika, który chcemy zoptymalizować, a następnie co dzieje się wewnątrz tej grupy z

03:20.200 --> 03:21.550
tymi czterema liniami kodu.

03:21.820 --> 03:29.650
Zasadniczo dzieje się tak, że aktualizacja wykonana przez optymalizator opiera się na wykładniczej średniej

03:29.890 --> 03:31.170
ruchomej gradientu.

03:31.250 --> 03:32.880
To jest ta linia kodu tutaj.

03:33.010 --> 03:38.270
Jest to wykładnicza średnia ruchoma gradientu momentu pierwszego, który jest rzędu pierwszego.

03:38.500 --> 03:44.860
Ale obiekty stworzone przez atom nie opierają się tylko na tym, że jest on również oparty na

03:45.190 --> 03:47.140
wykładniczej średniej ruchomej kwadratu gradientu.

03:47.260 --> 03:51.770
Jest to wykładnicza średnia ruchoma gradientu pędu do lub dwóch.

03:52.030 --> 03:55.320
Oto wykładnicza średnia krocząca z jednej.

03:55.480 --> 04:00.560
I tu jest wykładnicza średnia krocząca z dwóch dla każdego z nich, które zdegradowały EMJ.

04:00.790 --> 04:01.890
Tak więc, co się tutaj dzieje.

04:02.080 --> 04:07.930
A teraz, jeśli chcesz dokładniej zrozumieć, jak dobrze działa wykładnicza średnia ruchoma,

04:07.930 --> 04:14.560
gorąco zachęcam do zapoznania się z tym artykułem badawczym Adama, metody optymalizacji stochastycznej, ponieważ

04:14.860 --> 04:20.610
w zasadzie optymalizator atomów, który teraz wdrażamy, bazuje na tutaj algorytm.

04:20.890 --> 04:27.700
Więc jeśli chcesz mieć więcej szczegółów na temat działania algorytmu, ten artykuł będzie zdecydowanie pomocny.

04:27.700 --> 04:32.720
A potem masz kilka dalszych wyjaśnień na temat algorytmu z atomami i regułami.

04:32.860 --> 04:37.840
A więc wiesz, że to tylko wtedy, gdy chcesz zaatakować to, zanim zaatakujesz funkcję wielkiego pociągu,

04:37.840 --> 04:39.120
która będzie później.

04:39.400 --> 04:41.990
OK, więc wróćmy do żubra.

04:42.220 --> 04:46.140
A teraz przejdźmy do drugiej pamięci współdzielonej funkcji.

04:46.190 --> 04:47.890
Więc teraz powiem tylko kilka słów.

04:48.010 --> 04:54.580
Idea tej współużytkowanej funkcji pamięci jest podobna do tensora, o którym wiadomo, że kuda jest akceleratorem

04:54.580 --> 04:55.830
opartym na widoku.

04:55.870 --> 05:03.160
I tak w zasadzie dzieje się tak, że mamy te tensory stanów, które dzielą pamięć

05:03.160 --> 05:10.210
tu i tu, które zachowują się trochę jak tenso, które może przyspieszyć przyspieszone obliczenia.

05:10.420 --> 05:17.140
Ale różnica polega na tym, że czujniki, które dzielą pamięć, wysyłają obliczenia do części GP,

05:17.140 --> 05:22.150
którą ty lub ty jesteście dostępni dla wszystkich sparaliżowanych zagrożeń.

05:22.160 --> 05:23.580
Więc w zasadzie to się tutaj robi.

05:23.590 --> 05:30.220
To trochę jak 10 do tego kuda, ale jest wysyłane tylko do części GP, aby być

05:30.220 --> 05:32.090
dostępnym dla równoległych zagrożeń.

05:32.090 --> 05:32.460
W porządku.

05:32.470 --> 05:35.100
A potem mamy ostatni krok funkcyjny.

05:35.110 --> 05:41.830
Więc znasz tę funkcję, to jest jak metoda krokowa optymalizatora atomu, której używamy w tym kursie.

05:41.830 --> 05:47.170
I znów opiera się na algorytmie jednego z tego samego papieru, który widzieliśmy wcześniej.

05:47.170 --> 05:48.610
A więc ten algorytm.

05:48.850 --> 05:52.250
Więc znowu chcesz zrozumieć w szczegółach następujące linie kodu.

05:52.420 --> 05:57.240
Cóż, ja znowu, Ingrid, proszę, abyś spojrzał na ten algorytm po tym artykule.

05:57.580 --> 06:04.330
A poza tym to, co się tutaj robi, nie jest całkowicie obowiązkowe, ponieważ jest to w rzeczywistości pasta do kopiowania

06:04.330 --> 06:07.180
metody krokowej, która działa na tę klasę atomu.

06:07.180 --> 06:14.050
Więc w zasadzie to, co tutaj zostało zrobione, moglibyśmy to zrobić, używając naszego dziedzictwa, ponieważ tutaj

06:14.050 --> 06:20.620
odziedziczyliśmy po Actonie, że Adam i tak używamy naszego dziedzictwa. Cóż, co możemy zrobić zamiast

06:20.620 --> 06:29.260
robić to wszystko, to po prostu pisać tutaj, komentarzem jest użycie superfunkcję, którą stosujemy do naszej wspólnej klasy Adama, a

06:29.710 --> 06:38.020
następnie nasz obiekt self, a tutaj po prostu dodamy krok z nawiasem, to metoda aktu w tej klasie i to

06:38.320 --> 06:40.550
jest dokładnie to samo.

06:40.750 --> 06:45.820
Właśnie dlatego właśnie powiedziałem, że tutaj jest tylko kopią wklejenia metody krokowej aktu w

06:45.850 --> 06:46.860
klasie Atom.

06:46.930 --> 06:53.440
Myślę więc, że jeśli zastąpicie to wszystko tą superfunkcją zastosowaną do dzielenia się Adamem i metodą kroku,

06:53.830 --> 06:55.960
możemy otrzymać dokładnie to samo.

06:57.220 --> 06:59.900
W porządku, więc było to interesujące, aby rzucić okiem na to.

06:59.920 --> 07:02.750
Zasadniczo możesz to zobaczyć jako optymalizator Adama.

07:02.850 --> 07:04.530
To tak, jakbyśmy mieli głębsze spojrzenie na to.

07:04.640 --> 07:10.000
Ale znowu, jeśli chcesz zagłębić się w szczegóły tego wszystkiego i chcesz zrozumieć, co dzieje

07:10.000 --> 07:14.120
się za sceną. Zachęcam do zapoznania się z tym materiałem badawczym.

07:14.170 --> 07:16.120
Umieszczę link w komentarzach tutaj.

07:16.120 --> 07:19.940
Pamiętasz, że będziesz miał cały kod połączony ze szczegółami.

07:19.990 --> 07:22.120
Więc naprawdę dobrze, jeśli możesz na to spojrzeć.

07:22.580 --> 07:30.310
A teraz mam nadzieję, że macie jakąś wielką energię, ponieważ przejdziemy do pliku pociągu, który będzie zawierał tę ogromną

07:30.310 --> 07:35.860
funkcję pociągu i która będzie zasadniczo ćwiczyć nasze mózgi, co teraz możemy zrobić, ponieważ

07:35.860 --> 07:37.510
mamy nasz optymalizator.

07:37.690 --> 07:39.230
Więc teraz zrób dobrą przerwę.

07:39.250 --> 07:41.840
Odpocznij dobrze i kiedy poczujesz się świetnie.

07:41.980 --> 07:44.440
Przejdźmy do następnego kroku.

07:44.440 --> 07:45.910
Do tego czasu ciesz się AI.
