WEBVTT

00:00.330 --> 00:02.320
Witam i zapraszam do opowiadania.

00:02.460 --> 00:09.240
W porządku, więc po tym, jak zrobiliśmy te cztery sploty i LCN, mamy zakodowany stan, który będzie

00:09.240 --> 00:14.500
wkładem tych dwóch sieci neuronowych, które zamierzamy uczynić dla aktora i krytyka.

00:14.790 --> 00:20.730
A mówiąc o nich, jedyną rzeczą, którą musimy teraz zrobić, to po prostu stworzyć narzędzia w naszych pełnych powiązaniach.

00:20.730 --> 00:22.880
Jeden dla aktora i jeden dla krytyka.

00:23.190 --> 00:27.260
Ale zanim to zrobimy, musimy uzyskać liczbę możliwych działań.

00:27.290 --> 00:32.520
Dlatego zmienię tutaj zmienną, która nie będzie zmienną obiektu.

00:32.520 --> 00:38.970
Więc nie zamierzam używać tu siebie, ale zamierzam stworzyć realne wyjścia, które będą reprezentować pewną

00:38.970 --> 00:41.610
liczbę możliwych działań i je uzyskać.

00:41.760 --> 00:44.520
Cóż, możemy to uzyskać z przestrzeni akcji.

00:44.520 --> 00:51.330
Tak więc bierzemy naszą przestrzeń akcji, która będzie wejściem funkcji podczas tworzenia obiektu.

00:51.510 --> 00:56.300
A potem dodamy to i otrzymujemy taką liczbę możliwych działań.

00:56.580 --> 01:03.180
A teraz aktor i krytyk weźmie oddzielnie ten sam wkład, który jest wynikiem tego całego

01:03.180 --> 01:06.290
procesu tutaj z nawrotami i GLSEN.

01:06.500 --> 01:12.900
Tak więc zajmie to samo wejście, które jest zakodowane, ale wtedy będą miały dwa różne połączenia liniowe,

01:13.110 --> 01:19.000
tak że otrzymamy ostatecznie dwie sieci neuronowe, jedną dla dwóch, a drugą dla krytyka.

01:19.020 --> 01:21.030
Zróbmy więc te dwie oddzielne sieci neuronowe.

01:21.060 --> 01:27.360
Ale skoro już zrobiliśmy dużą robotę z kodowaniem tutaj, to po prostu musimy stworzyć dwa

01:27.360 --> 01:33.640
obiekty, jeden w pełnym połączeniu dla aktora i jedno połączenie liniowe dla krytyka.

01:33.660 --> 01:35.430
I właśnie to zamierzam zrobić.

01:35.490 --> 01:42.560
Zamierzam teraz stworzyć dwa obiekty jako pierwszy obiekt liniowego połączenia krytyka, który zamierzam

01:42.570 --> 01:49.210
nazwać krytykiem, a partytura Linnie jest i stworzyć to liniowe połączenie.

01:49.380 --> 01:55.020
Wiesz, jak to zrobić, wystarczy wziąć moduł silnika, a następnie klasę liniową, do której mamy

01:55.020 --> 01:55.800
dwa wejścia.

01:55.880 --> 02:01.800
Cóż, neurony wejściowe, które są wyjściami tego wszystkiego, łącznie ze zwojami

02:01.910 --> 02:05.190
i GM, który jest 256 neuronami.

02:05.190 --> 02:12.120
Więc kiedy wrzucę tu dwieście pięćdziesiąt sześć, a potem będziemy mieć jedno wyjście, ponieważ pamiętamy, że wyjście

02:12.210 --> 02:17.940
sieci neuronowej dla krytyka jest wartością funkcji zastosowanej do stanu wejściowego do stanów

02:18.080 --> 02:20.960
zakodowanych przez wejścia, które zrobiliśmy tutaj.

02:21.180 --> 02:28.680
Więc jeśli nazwiemy stan wejściowy, który jest wynikiem tego wszystkiego, wyjście sieci neuronowej krytyka

02:28.680 --> 02:32.530
będzie VS i dlatego ma jeden wymiar.

02:32.550 --> 02:33.710
To tylko wartość.

02:33.870 --> 02:36.320
I tak tutaj kładziemy jeden.

02:36.510 --> 02:43.020
I pamiętajcie, to jest to, co jest wspólne dla aktorów, aby mogli uzyskać pewne wspólne informacje, które mogą

02:43.020 --> 02:46.590
wykorzystać do odgrywania swojej akcji w bardziej odpowiedni sposób.

02:46.980 --> 02:50.430
OK, to dla sieci neuronowej krytyka.

02:50.580 --> 02:59.820
A teraz stwórzmy nową sieć aktora i dlatego jestem tutaj samoukiem, aktorem liniowym i tym samym

02:59.850 --> 03:02.830
mamy już zakodowane stany wejściowe.

03:02.850 --> 03:08.430
Teraz musimy po prostu dodać liniowe połączenie i dlatego mówimy, że przyjmujemy

03:08.430 --> 03:15.870
moduł, a następnie liniową i teraz mówiąc, że ta nowa sieć aktora przyjmie zakodowany stan,

03:15.870 --> 03:19.840
który ma rozmiar 256, więc tutaj 256.

03:20.070 --> 03:26.010
Ale wtedy wyjście będzie inne, ponieważ oczywiście wiesz, że wyjście sieci neuronowej dla

03:26.010 --> 03:30.790
aktora innego klucza wiąże się z kluczowymi wartościami stanów wejściowych.

03:30.860 --> 03:33.620
Ten, który mogliśmy usłyszeć i tablicę akcji.

03:33.810 --> 03:40.980
Więc znowu, jeśli nazwiemy ten zakodowany stan, który mamy tu na myśli, jako działanie odtwarzane na wyjściu

03:40.980 --> 03:44.480
tej sieci neuronowej, faktycznie będzie q jako.

03:44.880 --> 03:50.010
A ponieważ wiesz, że mamy jedną wielką wartość dla każdego działania, to nie mamy żadnych wyników.

03:50.010 --> 03:57.680
Wartości Q, a zatem wynik tutaj będzie nie wyjściowy, ponieważ żaden wynik nie jest w

03:57.680 --> 03:59.380
rzeczywistości liczbą ludzi.

03:59.840 --> 04:01.100
W porządku, doskonale.

04:01.130 --> 04:05.360
Więc jeśli chcesz, mogę napisać dla ciebie tutaj wyjście.

04:05.390 --> 04:18.410
Krytyk jest tak dobrze, jak zakodowany stan, a dla aktora wynik jest uroczy jak należy.

04:18.410 --> 04:23.750
To bardzo ważne, aby zrozumieć to rozróżnienie i zrozumieć, że mamy dwie

04:23.900 --> 04:25.370
oddzielne sieci informacyjne.

04:25.370 --> 04:29.370
Jedna dla krytyka, a druga dla aktora Dobra perfekcyjnie.

04:29.380 --> 04:32.080
Tak więc prawie skończyliśmy z tą funkcją.

04:32.170 --> 04:33.920
Teraz najważniejsze jest.

04:34.030 --> 04:39.370
Pozostaje nam tylko zainicjować wszystkie wagi tych dwóch sieci neuronowych i

04:39.790 --> 04:40.830
wszystkie uprzedzenia.

04:40.860 --> 04:45.800
I oczywiście, aby to zrobić, wykorzystamy dwie funkcje, które wcześniej stworzyliśmy, tj.

04:45.900 --> 04:48.480
Znormalizowane kolumny inicjalizacyjne i wagi.

04:48.490 --> 04:49.720
Zróbmy to szybko.

04:49.870 --> 04:52.180
To będzie całkiem łatwe i dość szybkie.

04:52.180 --> 04:56.590
Tak więc najpierw zainicjujemy losowe wagi i aby to zrobić, zastosujemy wagę w

04:56.590 --> 04:58.420
funkcji do naszego obiektu.

04:58.420 --> 05:03.150
Tak więc musimy wziąć siebie, aby zdobyć nasz obiekt i sprzeciwić się.

05:03.160 --> 05:06.440
Stosujemy wagę w jej funkcji.

05:06.620 --> 05:14.200
Dlatego w środku musimy po prostu umieścić wagę w tej funkcji, a następnie otrzymamy to, co zastosuje tę funkcję

05:14.200 --> 05:20.080
do naszego obiektu, i robiąc to, inicjujemy tylko niektóre losowe wagi, aby uzyskać optymalną naukę

05:20.140 --> 05:21.930
tych wag w przyszłości.

05:22.000 --> 05:27.460
A teraz musimy zrobić specjalną normalizację dla aktora i krytyka.

05:27.670 --> 05:33.700
Ale pamiętajcie, myślę, że powiedziałem to w poprzednich tutorialach, że nie zamierzamy ustawiać takiej samej wariancji

05:33.780 --> 05:38.890
dla X w akrylowym yakked, że otrzymacie małe odchylenie standardowe małe odchylenie.

05:38.890 --> 05:40.840
A krytycy dostaną duży.

05:40.840 --> 05:41.800
I dlaczego to robimy.

05:41.800 --> 05:47.560
Jaki jest cel podania niewielkiego odchylenia standardowego wag dla aktora i dużego odchylenia

05:47.560 --> 05:49.320
standardowego dla krytyka.

05:49.510 --> 05:53.830
Cóż, to pozwala zarządzać eksploracją a eksploatacją.

05:53.830 --> 05:58.620
Taki właśnie cel polega na tym, aby drobna różnica w stosunku do aktora na większej publiczności została

05:58.630 --> 05:59.460
poddana krytyce.

05:59.490 --> 06:04.510
Będziemy mieć dobre zarządzanie eksploracją a eksploatacją.

06:04.600 --> 06:07.510
Zróbmy to, najpierw zajmijmy się aktorem.

06:07.510 --> 06:14.170
Więc bierzemy siebie lub przedmiot, a następnie weźmiemy sieć neuronową naszego aktora, którym jest aktor Linnea, wtedy

06:14.270 --> 06:20.350
uzyskamy dostęp do wag tej nowej sieci aktora i pamiętamy, aby uzyskać dostęp do danych

06:20.350 --> 06:23.360
o wagach, których potrzebujemy. te dane.

06:23.410 --> 06:24.280
W porządku.

06:24.280 --> 06:31.000
W ten sposób otrzymujemy wagi, a teraz użyjemy funkcji inicjalizowanej grzebienia znormalizowanego grzebienia.

06:31.390 --> 06:36.520
Więc kopiuję to wklejanie tutaj i zamierzamy wprowadzić argument.

06:36.520 --> 06:38.810
Odchylenie standardowe, które chcemy mieć te wagi.

06:39.160 --> 06:42.130
Ale najpierw pamiętaj, że ta funkcja przyjmuje dwa argumenty.

06:42.200 --> 06:45.280
Najpierw sposób, w jaki chcemy zainicjować.

06:45.280 --> 06:49.750
Więc musimy po prostu wziąć to ponownie i oprzeć to tutaj.

06:49.870 --> 06:53.010
Drugim argumentem jest odchylenie standardowe.

06:53.170 --> 06:54.420
Chcemy mieć te wagi.

06:54.580 --> 07:02.880
Tak więc, jak powiedzieliśmy, chcemy niewielkiego odchylenia standardowego od aktora w małym, będzie to 0. 01 doskonały.

07:02.890 --> 07:05.880
A więc to tu są wagi sieci neuronowej aktora.

07:05.900 --> 07:09.610
Teraz zajmijmy się uprzedzeniami nowej pracy tego aktora.

07:09.850 --> 07:15.460
I dlatego zamierzamy zrobić prawie to samo, co skopiujemy poniższy wklej.

07:15.520 --> 07:26.470
Zastąp wagę kupującym, aby uzyskać dostęp do kupujących, a po danych będziemy po prostu dodawać wypełnienie i pamiętać o tym po wprowadzeniu wartości

07:26.560 --> 07:31.170
zero, ponieważ chcemy, aby wszystkie urządzenia były inicjowane zerową.

07:31.510 --> 07:37.840
Tak naprawdę nie sądzę, że ta linia jest konieczna, ponieważ jak pamiętacie, kupujący są już zainicjowani do

07:37.840 --> 07:41.400
zera za pomocą tej funkcji wypełniania w funkcji oczekiwania.

07:41.620 --> 07:47.560
Więc wiesz, że robimy to tylko po to, aby upewnić się, że kupujący są rzeczywiście zainicjowani do zera.

07:47.560 --> 07:49.490
Ale myślę, że już to zrobiono.

07:49.690 --> 07:52.720
Ale w każdym razie teraz jesteśmy w 100 procentach pewni.

07:53.050 --> 07:55.990
Teraz zrobimy to samo dla krytyka.

07:56.050 --> 07:59.660
Bądźmy więc wydajni i omówmy te dwie linie.

08:00.220 --> 08:07.180
Spójrzmy prawdzie w oczy tutaj i tutaj po prostu zastąpimy aktora przez krytyka.

08:07.180 --> 08:08.400
To samo tutaj.

08:08.540 --> 08:13.600
A teraz jedyną rzeczą, którą musimy zmienić, jest tylko standardowe odchylenie, które chcemy, aby wagi

08:13.600 --> 08:15.680
sieci neuronowej mogły mieć krytycy.

08:15.970 --> 08:23.310
I jak pamiętacie raz tym razem duże odchylenie standardowe zamiast otwartego lub jednego wprowadzimy jedno, więc tam

08:23.830 --> 08:29.680
mamy iść mamy małe odchylenie standardowe dla wag nowej pracy aktora i duże

08:29.680 --> 08:31.610
odchylenie standardowe dla wag.

08:31.630 --> 08:33.290
A kiedy docieramy do krytyka.

08:33.370 --> 08:37.560
I oczywiście to coś, co możemy zastąpić aktywnym tutaj kredytem.

08:37.980 --> 08:40.460
W tej chwili jesteśmy spokojni.

08:40.510 --> 08:46.300
Mamy teraz dwie rzeczy do zrobienia, aby zainicjować także stronniczość zespołu i aby to zrobić, bierzemy swój obiekt, ponieważ LACMA należy

08:46.300 --> 08:53.500
do naszego obiektu i powiemy lub jako T. N. wtedy i wtedy otrzymamy

08:53.870 --> 08:57.980
dwa rodzaje kupujących, którzy są w ostatnim.

08:58.180 --> 09:04.650
To odchylenie i wynik według wieku, a drugi opiera się na wieku wiekowym.

09:04.660 --> 09:09.880
To dwa typy uprzedzeń w CME i tym samym zostaną zainicjowane do zera.

09:09.880 --> 09:18.810
Tak więc najpierw uzyskujemy dostęp do danych, a następnie używamy funkcji podkreślenia wypełnienia, aby wypełnić wszystkich tych

09:18.850 --> 09:21.940
kupujących zerami, inicjując je swoimi.

09:21.940 --> 09:22.320
Dobrze.

09:22.360 --> 09:31.500
A teraz dla drugiej grupy kupujących, którzy tu jesteśmy, to samo zostaje zastąpione przez wiek według wieku.

09:31.500 --> 09:32.430
W porządku.

09:32.570 --> 09:39.560
To inicjuje odchylenie zer, a teraz ostatnią rzeczą, którą musimy zrobić, to użyć metody odziedziczonej po

09:39.560 --> 09:43.090
końcu i tym module, który jest metodą pociągu.

09:43.220 --> 09:47.360
Zasadniczo istnieje tylko metoda, która umieszcza moduł w leczeniu.

09:47.540 --> 09:48.760
Więc jaki jest tego pożytek.

09:48.890 --> 09:55.440
No cóż, użycie jest takie, że pozwala aktywować się, jeżeli w ligacjach w łazience jest jakikolwiek spadek.

09:55.550 --> 10:03.100
Aby go użyć, dodajemy samopoczucie pociągu, co sprawia, że moduł jest idealnie skrojony.

10:03.170 --> 10:05.650
Tak więc skończyliśmy z funkcją init.

10:05.720 --> 10:11.210
Mamy nasze zwinięcia, mamy CME mamy dwie oddzielne sieci neuronowe dla krytyka i

10:11.210 --> 10:15.400
aktora i wszystkie wagi i stronniczość są dobrze zainicjalizowane.

10:15.620 --> 10:16.940
To wszystko jest dobre.

10:16.940 --> 10:21.860
Jesteśmy gotowi przejść do następnego kroku, który polega na tym, aby przekazać funkcję, która

10:21.890 --> 10:27.230
oczywiście będzie dalej rozprzestrzeniała sygnał od samego początku z oryginalnymi obrazami wejściowymi w całym mózgu, aż

10:27.230 --> 10:28.640
do uzyskania wyniku.

10:29.000 --> 10:30.770
Zróbmy to w następnym samouczku.

10:30.800 --> 10:32.330
A do tego czasu ciesz się AI.
