WEBVTT

00:00.600 --> 00:02.360
Witam i zapraszam do opowiadania.

00:02.520 --> 00:07.920
Teraz zrobimy pętlę for, aby obliczyć utratę polisy i utratę wartości, a kiedy już

00:07.920 --> 00:13.260
zdobędziemy te dwie lekcje, będziemy mogli użyć naszego optymalizatora, aby umieścić papierosa w piasku,

00:13.260 --> 00:14.820
aby zmniejszyć straty.

00:14.820 --> 00:15.990
W porządku, więc idziemy.

00:15.990 --> 00:22.740
Zaczynamy tutaj nawiasem mówiąc, w poprzednim tutorialu zaimplementowaliśmy tę sekcję i zapomniałem usunąć wcięcia

00:22.740 --> 00:24.280
z tego powodu.

00:24.420 --> 00:28.210
Tak więc od tego początku nie ma jesieni.

00:28.530 --> 00:32.650
A teraz zaczynamy nową pełną pętlę, więc zaczynam tutaj od czwórki.

00:32.840 --> 00:38.340
A teraz zrobimy, że zaczniemy od ostatniego kroku, który został zrobiony podczas eksploracji, a my

00:38.670 --> 00:40.420
cofniemy się w czasie.

00:40.470 --> 00:51.250
Właśnie dlatego robię to za siebie w nagrodach w odwrotnym zakresie, a największe nagrody są najmniej.

00:51.260 --> 00:57.000
A ponieważ każdy krok eksploracji wiąże się z miejscem, w którym pracujemy, ponieważ na każdym kroku otrzymujemy nagrodę, gdy

00:57.230 --> 00:58.400
wtedy będziemy słowami.

00:58.400 --> 01:05.090
Czy jest to liczba kroków i ten rewers tutaj jest używany, abyśmy mogli cofnąć się w czasie, abyśmy poszli.

01:05.160 --> 01:10.890
A teraz zrobimy aktualizację skumulowanej nagrody, która jest daleko i zamierzamy ją zaktualizować w ten

01:10.890 --> 01:11.570
sposób.

01:11.640 --> 01:14.110
To w zasadzie to samo, co zrobiliśmy dla Dooma.

01:14.170 --> 01:23.280
Jest równa gammie, którą otrzymujemy z naszych parametrów i biorąc od pierwszych programów, które nie są

01:24.060 --> 01:31.290
daleko, plus nagrodę, którą możemy uzyskać, biorąc najniższą nagrodę i biorąc indeks.

01:31.500 --> 01:36.680
Tak więc dla nas będzie to dzieło ostatniego, a potem będzie to nagroda poprzedniego dnia itd.

01:37.080 --> 01:43.320
i za każdym razem aktualizujemy naszą By pomnożyć ją przez gamma, a następnie dodając tę nagrodę na planie.

01:43.650 --> 01:47.090
A więc robiąc to pamiętajmy, że dojdziemy do końca.

01:47.210 --> 01:53.070
Tak więc napiszę to, gdy nadejdą, a my otrzymamy nagrodę dla naszej społeczności, która będzie

01:53.070 --> 01:55.910
chłodna na końcu pętli do naszego zera.

01:56.060 --> 02:02.100
Nagroda kroku zerowego plus czasy gamma to jeden.

02:02.290 --> 02:09.040
Byliśmy pierwsi, a czasy gamma do kwadratu odpowiadają słowu.

02:09.060 --> 02:21.960
Drugi krok plus to plus gamma o mocy i minus jeden raz nagroda osiągnięta w kroku i minus 1, gdzie każda

02:22.800 --> 02:30.690
liczba kroków, ale potem uważaj na końcu, będziemy mieć gammę o sile liczby

02:31.050 --> 02:32.250
kroków.

02:33.530 --> 02:40.110
Times dewaluuje wartość funkcji zastosowanej do ostatniego stanu.

02:40.150 --> 02:42.450
Do tego powinniśmy się jeszcze dostać.

02:42.680 --> 02:49.130
I dostaniemy to, ponieważ pamiętajmy, że mamy tę wartość i ostatni krok, ponieważ zostało to zrobione na końcu

02:49.130 --> 02:50.840
tej pętli for tutaj.

02:51.200 --> 02:56.140
I tak dostaliśmy wartość i ustawiliśmy ją na równą tej wartości.

02:56.420 --> 03:02.710
Tak więc teraz na początku drugiej pełnej pętli tutaj będzie równa tej wartości ostatniego

03:02.710 --> 03:03.310
dnia.

03:03.590 --> 03:10.300
Ale dzięki temu to, co otrzymamy w końcu, będzie równe lub zerowe lub jeden lub dwa korty

03:10.520 --> 03:16.620
tenisowe plus może dodać moc i minus jeden raz, że jesteśmy w krokach i minus jeden

03:16.620 --> 03:20.990
plus gra z siłą liczby kroków razy wartość tej trwałości.

03:21.020 --> 03:25.900
Więc to jest najważniejsza rzecz do zrozumienia, a to może być akcja skumulowanej nagrody.

03:26.090 --> 03:33.560
I dlatego ważne jest, aby zacząć od tego, inicjując lub z tym i wykonując tę

03:33.820 --> 03:37.390
odwróconą pętlę, aby uzyskać idealne równanie końcowe.

03:37.400 --> 03:43.430
A teraz, gdy mamy odpowiednią wartość do skumulowanej nagrody Dobrze obliczymy przewagę, a przewaga

03:43.850 --> 03:49.110
tutaj jest tylko zaletą otrzymania tej nagrody w stosunku do nich.

03:49.160 --> 03:56.600
Tak więc zamierzam wprowadzić ewolucowalną przewagę i dlatego będzie równa tej skumulowanej nagrodzie minus

03:57.020 --> 04:01.390
wartość funkcji V uzyskanej na tym etapie.

04:01.610 --> 04:06.690
Więc to jest nasze wartości ujemne.

04:07.130 --> 04:07.740
Idealny.

04:07.760 --> 04:13.160
A teraz, gdy mamy społeczność, w której działamy i przewagę, możemy uzyskać utratę wartości.

04:13.190 --> 04:15.170
To jest pierwsze, które możemy teraz uzyskać.

04:15.200 --> 04:20.940
Dlatego chcemy, aby nasza wartość była bardzo dobra i zostanie zaktualizowana w następujący sposób.

04:20.960 --> 04:24.530
Pamiętaj, że do tej pory zdewaluowało nas to, że zostało zainicjowane do zera.

04:24.800 --> 04:34.670
I tak znowu przyjmujemy utratę wartości o wartości 0. 5 razy kwadrat na przewagę, więc możemy to zdobyć w ten

04:34.670 --> 04:35.480
sposób.

04:35.490 --> 04:39.410
Zaleta przemyślana również.

04:39.470 --> 04:46.460
Oznacza to po prostu wyrównywanie przewagi mocy i to jest właśnie wartość

04:46.580 --> 04:52.830
plus strata generowana przez przewidywania wartości funkcji wyprowadzanych przez potok.

04:53.120 --> 04:59.840
I dlatego ma sens, że jest to zdewaluowane tylko dlatego, że pamiętaj o korzyści działania w

04:59.840 --> 05:04.820
stanie s jest różnica między wartością Q a wartością funkcji B.

05:04.880 --> 05:14.660
Tak więc, gdy gramy optymalną akcję, otrzymujemy stan stacjonarny z Q optymalnym dla optymalnego działania,

05:14.660 --> 05:20.080
który jest gwiazdą w stanie, jako wartość optymalna.

05:20.080 --> 05:22.000
Vistar państwa s.

05:22.180 --> 05:28.390
Więc intuicyjnie jest zrozumieć, że gdy przewaga nie jest równa zeru, będzie różnica

05:28.390 --> 05:29.990
między tymi dwoma.

05:30.220 --> 05:32.930
I dlatego tak mierzy się ostatni.

05:33.370 --> 05:34.120
DOBRZE.

05:34.120 --> 05:37.410
Tak więc ostatnia obliczona ostatnia w dół.

05:37.420 --> 05:39.000
Mamy teraz jeszcze jedną.

05:39.010 --> 05:44.560
To jest strata polityki i właśnie to będziemy obliczać już teraz

05:44.560 --> 05:51.990
i aby ją obliczyć, musimy ponownie rozważyć uogólnione oszacowanie przewagi, ponieważ aby obliczyć stratę polityki potrzebną

05:52.000 --> 05:58.450
do uogólnionej oceny korzyści i uzyskać ogólne korzyści, naród potrzebujemy najpierw czasowej różnicy

05:58.540 --> 05:59.760
zaworów scenicznych.

05:59.830 --> 06:06.220
Mamy tutaj wiele rzeczy do obliczenia i zaczniemy od tej doczesnej różnicy, kiedy

06:06.220 --> 06:07.710
otrzymamy czasową różnicę.

06:07.780 --> 06:12.850
Otrzymamy uogólnione oszacowanie przewagi i gdy tylko dostaniemy ogólne korzyści, o których

06:13.180 --> 06:14.900
wspomnimy, otrzymamy półwyspy.

06:14.920 --> 06:15.460
W porządku.

06:15.670 --> 06:28.100
Zacznijmy więc od tymczasowej różnicy T. SOL. DD jest równe wynagrodzeniu kroku I

06:28.700 --> 06:39.200
plus Ghana, do którego dostajemy listę programów, więc Bromstad gamma pomniejsza wartość tego długu plus jeden i

06:39.200 --> 06:50.260
dodajemy te dane, aby uzyskać do niego dostęp, pomniejszając wartość kroku I i tego samego, który dodamy dane.

06:50.280 --> 06:50.610
W porządku.

06:50.670 --> 06:53.900
Taka jest formuła temporalnej różnicy i wartości państwowych.

06:54.180 --> 06:59.690
A teraz możemy zaktualizować uogólnione oszacowanie przewagi i jak jest datowane.

06:59.880 --> 07:10.230
Cóż, bierzemy R-GA i mnożymy go przez gamma parametrów gamma razy, więc mamy dostęp z naszymi parametrami, jak

07:10.230 --> 07:10.940
również.

07:10.950 --> 07:18.410
Więc bierzemy komórki programów i dodajemy tę czasową różnicę wartości stanu.

07:18.510 --> 07:19.890
Więc uważaj.

07:19.890 --> 07:21.280
Jesteśmy w pętli.

07:21.450 --> 07:27.060
I za każdym razem pomnóżmy i pomnóżmy i dodamy tymczasową różnicę.

07:27.150 --> 07:33.720
Więc ważne jest, aby zrozumieć, że na końcu tej pętli Cóż, to

07:34.170 --> 07:46.180
uogólnione oszacowanie przewagi będzie równe sumie na wszystkich etapach czasów gamma, tak, że siła i razy różnica czasowa na kroku jest tak

07:46.480 --> 07:50.360
ważna, aby utrzymać to na uwadze.

07:50.700 --> 07:57.000
A teraz, gdy mamy uogólnione oszacowanie przewagi i ogólną różnicę, możemy

07:57.000 --> 07:58.880
wreszcie obliczyć politykę.

07:59.070 --> 08:00.210
Zróbmy to.

08:00.210 --> 08:10.020
Zamierzamy zaktualizować nasze prawa polityczne w następujący sposób, biorąc za nas starą politykę i odejmujemy

08:10.230 --> 08:20.280
prawdopodobieństwa LUGG uzyskane na etapie, który mnożymy przez to ogólne oszacowanie korzyści, które musimy umieścić w

08:20.280 --> 08:23.920
zmiennej, ponieważ wtedy obliczymy gradienty.

08:24.150 --> 08:33.170
Musimy więc dołączyć do gradientów na wykresie, a następnie dodać minus 0. 1-krotność entropii.

08:33.170 --> 08:36.660
Entropia uzyskana na etapie upadku.

08:37.200 --> 08:38.130
I znowu.

08:38.220 --> 08:39.540
Teraz bądź ostrożny.

08:39.540 --> 08:50.830
To jest wewnętrzna pętla, która oznacza, że na końcu grypy dostaniesz polisę plus

08:51.280 --> 09:03.110
minus kilka razy na podstawie luggin produktu polityki w czasach kroku do uogólnionego oszacowania

09:03.110 --> 09:04.090
przewagi.

09:04.160 --> 09:10.710
Plus to 0. 01 razy entropia robi tak, że dostajemy.

09:10.720 --> 09:13.240
A teraz jaka jest polityka I.

09:13.280 --> 09:19.100
Cóż, to są miękkie maksymalne prawdopodobieństwa działań i entropia tego, że będę wiedział, co

09:19.100 --> 09:21.320
to jest, gdzie wcześniej obliczyliśmy.

09:21.430 --> 09:22.870
I co zamierzamy zrobić na liście.

09:22.940 --> 09:24.130
Więc już to mamy.

09:24.290 --> 09:29.950
Ale w tym roku słyszę, że jest to maksymalne prawdopodobieństwo działania.

09:30.170 --> 09:32.080
I dlaczego umieszczamy tutaj minus.

09:32.150 --> 09:37.220
To dlatego, że szczęście prawdopodobieństwa i entropii są wartościami ujemnymi.

09:37.220 --> 09:43.340
A ponieważ chcemy zminimalizować ich bezwzględną wartość, musimy traktować to jako prawdopodobieństwo LUGG w przeciwieństwie

09:43.340 --> 09:44.370
do odległości.

09:44.370 --> 09:51.530
Nie, chcemy zmaksymalizować prawdopodobieństwo działania, które zmaksymalizuje przewagę.

09:51.530 --> 09:53.130
Taki jest cały pomysł.

09:53.210 --> 09:59.060
Chcemy zmaksymalizować prawdopodobieństwo odgrywania akcji, która zmaksymalizuje przewagę i dla tych z Was,

09:59.060 --> 10:03.500
którzy zastanawiają się, jaki jest cel tej entropii skutecznej.

10:03.650 --> 10:05.720
Jest ten współczynnik 0. 01 tutaj.

10:05.930 --> 10:13.430
Cóż, celem tego jest uniknięcie zbyt szybkiego wpadnięcia w pułapkę, w której mamy rozkład prawdopodobieństw

10:13.430 --> 10:19.340
z zerami dla wszystkich działań oprócz tego, który ma prawdopodobieństwo jednego.

10:19.550 --> 10:22.370
A jeśli tak się stanie, to zminimalizuje entropię.

10:22.550 --> 10:29.060
Dlatego właśnie dodajemy te małe wersje 0. 01 rok, który spowoduje wzrost entropii w

10:29.060 --> 10:30.940
Wielkim w tym sensie.

10:31.020 --> 10:35.460
OK, więc teraz dobra wiadomość jest taka, że najtrudniejsza część została wykonana.

10:35.500 --> 10:41.050
Mamy dwie straty i dlatego to, co musimy zrobić teraz, a już wiemy, jak to zrobić, to wykonać,

10:41.050 --> 10:44.820
aby uzyskać ocenę w takim sensie, aby zmniejszyć te dwie klasy.

10:45.190 --> 10:51.170
Teraz zrobimy to, aby wyjść z tej pętli, a my zajmiemy się optymalizacją.

10:51.390 --> 10:57.220
Ten, który zrobiliśmy osobno, potem pamiętamy, że pierwszą rzeczą, którą musimy zrobić, to zainicjować

10:57.220 --> 11:04.810
wszystkie parametry skarpy do zera, a aby to zrobić, dodajemy to do zera i nazywa się to metodą grad.

11:04.810 --> 11:06.980
W porządku, więc to zrobione.

11:07.000 --> 11:11.890
Teraz będziemy odtwarzać wsteczną propagację, ale dwa razy większe znaczenie będzie mieć

11:11.890 --> 11:15.670
dla polityki niż utracona wartość, ponieważ polityka jest mniejsza.

11:15.970 --> 11:28.190
Aby to zrobić, wprowadzimy zasady nawiasów i wynik plus 0. 5 utraty wartości, więc 0. 5-krotność wartości dla nas, a my dodamy

11:28.970 --> 11:37.400
tutaj, że stosujemy metodę wsteczną, aby wykonać propagację wsteczną i dzięki tej sztuczce tutaj

11:37.400 --> 11:43.880
z polisą pomniejszoną o połowę wartości, którą mamy dwa razy większe

11:43.880 --> 11:47.460
znaczenie dla polityki niż Vaness.

11:47.480 --> 11:53.630
OK, użyjemy kolejnej sztuczki, która uniemożliwi gradientowi uzyskanie wyjątkowo dużych

11:53.630 --> 11:56.890
wartości, a zatem wygeneruje algorytm.

11:57.020 --> 12:03.530
I na tym polega przede wszystkim zdobycie pierwszej biblioteki pochodni, a następnie

12:04.220 --> 12:13.040
jej końca i modułu z biblioteki pochodni, a następnie modułu użytkowego utils, a teraz użyjemy funkcji podkreślenia CLEP

12:13.530 --> 12:20.830
w normie wyników, a my wprowadzimy parametry modelu z drugim wejściem, które będzie wynosić 40.

12:21.200 --> 12:26.560
I ta sztuczka w zasadzie zapewni, że gradienty nie przyjmą ekstremalnie dużych wartości i

12:26.560 --> 12:28.000
nie wygenerują algorytmu.

12:28.220 --> 12:30.770
I dla tych z was, którzy mogą się zastanawiać, czy te 40 lat.

12:30.800 --> 12:31.640
Dokładnie.

12:31.850 --> 12:37.130
Cóż, oznacza to, że używamy tych wartości, więc jest to norma gradientu między

12:37.130 --> 12:42.510
0 a 40, a zatem w ten sposób zapobiegamy przyjmowaniu gradientu do dużych wartości.

12:43.000 --> 12:45.170
OK, już prawie skończyliśmy.

12:45.170 --> 12:52.550
Pamiętajmy, że stworzyliśmy tę i pewną wspólną funkcję Gretz na początku jesieni, co ma zapewnić, że agent

12:52.670 --> 12:59.450
i model współdzielony dzielą te same gradienty i zrobić to, aby upewnić się, że możemy zastosować

12:59.450 --> 13:01.090
tę funkcję tutaj.

13:01.220 --> 13:13.310
A więc dodamy i na pewno podzielimy absolwentów, aby upewnić się, że moralny i wspólny model mają te

13:13.310 --> 13:14.690
same gradienty.

13:14.690 --> 13:16.670
W porządku, więc to tylko środek ostrożności.

13:16.670 --> 13:21.620
Nie jestem pewien, czy jest to absolutnie konieczne, ale przynajmniej wiesz, że nie dostaniemy tutaj problemu.

13:22.040 --> 13:22.550
W porządku.

13:22.550 --> 13:29.900
I na koniec ostatnia linia kodu oczywiście wykonamy krok optymalizacyjny, aby zmniejszyć straty

13:29.900 --> 13:38.900
i wiesz jak to zrobić oczywiście bierzemy optymalizator i dodamy ten krok z nawiasami, a potem

13:39.320 --> 13:43.300
idziemy na trening naszych mózgów koniec.

13:43.550 --> 13:44.780
Gratulacje.

13:44.780 --> 13:47.030
Mam nadzieję, że nie było to zbyt przytłaczające.

13:47.060 --> 13:49.620
Nie martw się, podam kod ze wszystkimi komentarzami.

13:49.670 --> 13:53.330
Więc jeśli przegapiłeś jakiś szczegół, możesz rzucić okiem na komentarze.

13:53.420 --> 13:57.260
I nie martw się, jeśli nic nie zrozumiałeś, to jest bardzo zaawansowane.

13:57.410 --> 14:04.020
Zapewniamy jednak, że jest to również najpotężniejsza pamiątkowa wizyta od twórcy pi.

14:04.100 --> 14:06.770
Tak więc pracujemy z najlepszymi tutaj.

14:06.850 --> 14:12.560
Stan techniki jest całkowicie normalny, jeśli nie dostałeś wszystkiego za pierwszym razem, ale pracując nad nim

14:12.560 --> 14:16.520
wiele razy, na pewno będziesz czuć się coraz bardziej komfortowo.

14:16.520 --> 14:19.150
Teraz skończyliśmy szkolenie.

14:19.220 --> 14:26.080
Zasadniczo stworzyliśmy wszystkie najważniejsze rzeczy, o których wiemy, że stworzyliśmy mózg, budując architektury sieci

14:26.120 --> 14:30.610
neuronowych za pomocą splotów LCN i całkowicie połączonych warstw.

14:30.620 --> 14:34.360
Przeszkoliliśmy jego mózg, robiąc ten kod pociągu tutaj.

14:34.520 --> 14:37.190
Zasadniczo serce algorytmu jest gotowe.

14:37.310 --> 14:39.800
Zrobiłeś A3, aby zobaczyć gratulacje.

14:39.800 --> 14:43.940
Teraz mamy jeszcze kilka rzeczy do zrobienia, ale to tylko po to, żeby się zabawić.

14:43.940 --> 14:52.540
Wiesz, że musimy wykonać test, który znaleźliśmy, który przetestuje agentów i dostarczy filmy wideo i

14:52.550 --> 14:54.020
samolot wybuchnie.

14:54.170 --> 15:00.860
Będzie to bardzo zabawne, gdy będziemy obserwować, że nie zakodujemy wszystkich linii tego testu, ponieważ upadliśmy, ponieważ, jak

15:00.860 --> 15:02.720
powiedzieliśmy, zrobiliśmy najważniejszą rzecz.

15:02.840 --> 15:10.310
Wszystkie związane 23C, ale oczywiście wyjaśnię kod i ostatecznie mamy to stworzone znalazłem, który

15:10.310 --> 15:11.770
wykona kod.

15:11.890 --> 15:15.900
Od momentu uruchomienia tego kodu generowany będzie cały kod.

15:16.040 --> 15:18.150
Więc mózg zostanie stworzony.

15:18.200 --> 15:24.080
Szkolenie odbędzie się, a oko zagra w nowe gry o wybuchu, a my dostaniemy wszystkie filmy.

15:24.080 --> 15:26.480
Nie mogę się doczekać, aby je wreszcie obejrzeć.

15:26.550 --> 15:29.810
Zobaczymy, czy jest wystarczająco inteligentny, by złapać piłkę.

15:29.990 --> 15:36.380
Więc teraz zobaczę w następnym samouczku tego interfejsu komputerowego, abyśmy mogli przetestować sztuczną inteligencję w

15:36.380 --> 15:37.250
nowych grach.

15:37.300 --> 15:38.980
A do tego czasu ciesz się AI.
