WEBVTT

00:00.560 --> 00:02.560
Cześć i witamy w tym samouczku.

00:02.750 --> 00:04.610
Teraz mamy mózg jutra.

00:04.610 --> 00:06.350
Posiadamy również optymalizator.

00:06.350 --> 00:09.980
Zasadniczo jesteśmy gotowi szkolić naszych różnych agentów.

00:10.010 --> 00:11.620
To są nasze różne mózgi.

00:11.720 --> 00:18.650
Tak więc od teraz będzie to ta wielka funkcja pociągu, która będzie zawierała cały algorytm A3, a zatem to,

00:18.650 --> 00:24.920
co zaimplementujemy w tym pociągu, który znalazłem, to właśnie ta ogromna funkcja pociągu, która będzie po prostu

00:25.230 --> 00:31.200
tą wielką funkcją pociągu, niczym więcej, nie klasa, ale kto będzie używał tej funkcji pociągu.

00:31.250 --> 00:33.880
I ostatni krok tego modułu z głównym kodem.

00:34.100 --> 00:35.010
Więc idziemy.

00:35.060 --> 00:37.340
Ale zanim zaczniemy, możesz to zauważyć.

00:37.490 --> 00:42.020
Najpierw importujemy niektóre biblioteki, więc są to klasyczne biblioteki z modułem palnika.

00:42.020 --> 00:49.040
Mam na myśli twoją bibliotekę pochodni, która kończy bibliotekę, aby stworzyć środowisko, w którym wybuchnie.

00:49.220 --> 00:54.470
Wtedy oczywiście importujemy klasę z naszego modelu.

00:54.620 --> 00:55.980
Złóż ten plik.

00:56.420 --> 01:00.070
I wreszcie użyjemy zmiennej z TORCIDA.

01:00.150 --> 01:04.000
Żałuję, że podczas zawodów mam zawody o dużej skuteczności.

01:04.100 --> 01:05.750
Dzięki dynamicznym wykresom.

01:05.990 --> 01:11.960
A potem to zapewniamy funkcję współdzielonego gradu, której nie chcę poświęcać zbyt dużo czasu, ponieważ po

01:11.960 --> 01:16.930
pierwsze jest to po prostu funkcja, która upewnia się, że wszystko działa poprawnie.

01:17.030 --> 01:20.400
Jeśli model używany przez agenta nie ma gradientu udziału.

01:20.480 --> 01:25.640
Dlatego nazywa się to skrótem współdzielonym, a innym powodem jest to, że nie uważam, że ta funkcja

01:25.640 --> 01:26.530
jest konieczna.

01:26.630 --> 01:32.700
Ale nigdy nie wiemy i przynajmniej z tym będziemy w 100 procentach pewni, że kod będzie wykonany poprawnie, ale

01:33.080 --> 01:34.790
to nie jest naprawdę ważne.

01:34.880 --> 01:40.640
Musimy skupić się na tej funkcji trendu, którą wszyscy zaczynamy teraz robić.

01:41.000 --> 01:41.600
Więc zaczynamy.

01:41.610 --> 01:48.860
Def i train wkrótce staną się pociągami, a ta transformacja zajmie kilka argumentów.

01:49.010 --> 01:50.400
Pierwszy to ranga.

01:50.420 --> 01:56.460
Zamierzam wyjaśnić, co to jest, a drugi, drugi, jest kombinowany, tak aby wszystkie parametry

01:56.460 --> 01:57.840
były środowiskiem.

01:57.920 --> 02:02.860
Trzeci parametr ma być dzielony moralnie.

02:03.170 --> 02:09.260
Więc wiesz, że model współdzielony jest tym, do czego agent będzie wykonywał

02:09.260 --> 02:17.050
swoje małe eksploracje na pewnej liczbie kroków, a na końcu ostatnim argumentem będzie optymalizator, który zrobiliśmy wcześniej.

02:17.770 --> 02:20.040
Tak doskonały, że gotów jest na argumenty.

02:20.090 --> 02:24.010
A teraz jesteśmy gotowi, aby rozpocząć realizację tej samej funkcji.

02:24.170 --> 02:30.890
Pierwszą rzeczą, jaką zrobimy, będzie to, że pamiętasz, co oznacza A-380, co oznacza synchroniczne

02:31.010 --> 02:32.480
aktywne agenty Crilley.

02:32.540 --> 02:34.980
Więc w 8: 3 widzę, że jest synchroniczny.

02:34.980 --> 02:40.940
Tak więc, jak rozumieliście, musimy pozbawić prawnika każdego agenta szkoleniowego i diseconomie, wtedy użyjemy

02:40.940 --> 02:49.010
rangi, aby przesunąć każdą stronę z tą pozycją, więc ten parametr rangowy służy tylko do przesunięcia nasion, tak

02:49.220 --> 02:52.230
aby każdy agent szkoleniowy był zsynchronizowany.

02:52.580 --> 02:59.390
Tak więc, na przykład, jeśli istnieją agenci szkoleniowi, rangi przejdą od 1 do 10 i będzie jedna

02:59.390 --> 03:02.600
liczba całkowita na agenta od 1 do 10.

03:02.630 --> 03:08.840
Kiedy przesuniemy nasiono o jeden wątek, wszystkie pseudolosowe liczby tworzone przez ten wątek będą

03:08.840 --> 03:11.340
całkowicie niezależne od pozostałych wątków.

03:11.480 --> 03:14.250
Jednak nasiona lub stałe numery.

03:14.510 --> 03:19.640
Kiedy więc odtwarzamy to doświadczenie, znajdziemy dokładnie te same wydarzenia.

03:19.880 --> 03:23.450
A to dlatego, że jest deterministyczny w odniesieniu do siedzenia.

03:23.690 --> 03:30.470
Dlatego ważne jest, abyśmy to zrozumieli i dlatego musimy zsynchronizować każdego agenta szkolenia, używając

03:30.800 --> 03:34.260
prawa, aby przesunąć ziarno o pozycję.

03:34.350 --> 03:36.110
Zróbmy to, aby to zrobić.

03:36.140 --> 03:39.170
Weźmiemy naszą bibliotekę torchów.

03:39.170 --> 03:45.350
Następnie otrzymamy nasienie z ręcznym podkreśleniem nawiasów.

03:45.350 --> 03:51.040
To jest funkcja i teraz zamierzamy pobrać nasiona wszystkich agentów, do których możemy uzyskać dostęp

03:51.220 --> 03:55.620
z tego nasienia i przesunąć je o rangę, aby zsynchronizować.

03:55.660 --> 04:05.420
Każdy z tych agentów doda po prostu plus i rec, a to spowoduje przesunięcie początkowego poziomu w celu pozbawiania prawnika wszystkich agentów

04:05.510 --> 04:09.970
szkolenia, ponieważ dla każdej agencji szkoleniowej jest jedno nasiono.

04:09.980 --> 04:15.390
Pierwszą rzeczą, którą należy wykonać, a teraz kolejnym krokiem, jest uzyskanie środowiska.

04:15.530 --> 04:21.470
Dlatego zamierzamy stworzyć nową zmienną, którą będziemy wywoływać, a teraz użyjemy do stworzenia Atari

04:21.590 --> 04:26.120
i funkcji z modułu końcowego, aby stworzyć środowisko do breakout.

04:26.150 --> 04:28.130
Oznacza to, że środowisko się wyrwie.

04:28.250 --> 04:38.070
Więc bierzemy tę funkcję, tworząc Terry'ego i teraz musimy wprowadzić tylko jeden argument, który jest parametrem

04:38.070 --> 04:39.060
środowiska.

04:39.270 --> 04:42.730
I mamy je, ponieważ jest to jeden z nakładów funkcji mózgu.

04:42.750 --> 04:48.270
To jest tutaj ten parametr, który będzie parametrem środowiska breakouta, a

04:48.330 --> 04:58.320
tym samym, aby uzyskać przełomowe środowiska, które przyjmujemy, argumenty tego programu, a następnie otrzymamy nazwę, która w przyszłości będzie

04:58.320 --> 05:03.240
w następnym kodzie z główną funkcją, wykona cały kod

05:03.240 --> 05:06.010
będzie wyłamywanym ramieniem wezyra.

05:06.010 --> 05:09.450
W porządku, więc zapewni nam doskonałe otoczenie.

05:09.610 --> 05:16.080
A teraz kolejnym krokiem jest dostosowanie siedziby środowiska do jednego z agentów.

05:16.180 --> 05:17.650
I dlaczego to robimy.

05:17.650 --> 05:24.220
A to dlatego, że każdy agent A-3 Silmaril ma swoją własną wizję środowiska, taką jak jego

05:24.220 --> 05:31.000
własna kopia środowiska, i dlatego musimy wyrównać każdego z agentów w jednej konkretnej wersji środowiska i

05:31.000 --> 05:36.520
zrobić to, do czego zmierzamy. korzystać z siedzenia, ponieważ każde siedzenie określa określone

05:36.520 --> 05:37.320
środowisko.

05:37.450 --> 05:43.390
Tak więc dzięki powiązaniu różnych nasion z każdym agentem otrzymamy dokładnie to, czego chcemy, aby

05:43.390 --> 05:46.340
każdy agent miał swoje własne środowisko.

05:46.500 --> 05:54.730
Jak więc możemy zrobić, abyśmy mogli zabrać nasze środowisko, a następnie użyć funkcji nasion, aby wybrać te,

05:54.770 --> 05:57.340
które on otrzymuje dla środowiska.

05:57.520 --> 06:01.370
A więc teraz wyrównaj siedzibę środowiska do nasienia agenta.

06:01.600 --> 06:08.460
Musimy po prostu to zdobyć, ponieważ odpowiada to siedzibie agenta, który został przesunięty na pozycje w rankingu,

06:08.530 --> 06:14.170
aby uzyskać przyzwoitych zorganizowanych agentów szkoleniowych, ponieważ wszyscy znajdują się w innym zestawie.

06:14.200 --> 06:20.020
Musimy więc zapłacić to tutaj, a to zrównuje siedzibę środowiska z jednym

06:21.210 --> 06:24.660
z agentów. Teraz otrzymamy nasz model.

06:24.670 --> 06:27.060
To jest nasz mózg A-3.

06:27.180 --> 06:32.320
A więc teraz zamierzamy użyć klasy aktywnej z naszego pliku modelu.

06:32.350 --> 06:38.500
Zasadniczo zamierzamy stworzyć nowy obiekt tej klasy aktywności, a jeśli chcemy, nazwiemy ten

06:38.500 --> 06:40.960
model obiektu lub mózg.

06:41.200 --> 06:47.650
Ale w zasadzie ten obiekt będzie zawierał wszystkie skręty CM Połączenie liniowe i funkcję

06:47.650 --> 06:49.500
Forda, aby propagować sygnał.

06:49.600 --> 06:55.630
Więc zasadniczo będzie zawierał mózgi aktora w krytyce, z możliwością propagowania sygnału

06:55.630 --> 06:59.120
w mózgu, aby uzyskać ostateczny wynik.

06:59.170 --> 07:06.850
Zróbmy więc ten model, tak jak mówiliśmy, że chcemy nazwać ten model obiektu.

07:07.150 --> 07:15.040
I tak tworzymy obiekt ustawy, tworzymy klasę i dlatego bierzemy klasowego krytyka aktorskiego, a teraz pamiętamy jakie argumenty,

07:15.040 --> 07:17.250
kiedy te dwa wejścia.

07:17.350 --> 07:20.420
To w rzeczywistości argumenty funkcji.

07:20.640 --> 07:26.230
Tak więc musimy podać to, co musisz zrobić, aby użyć obiektu w metodzie.

07:26.530 --> 07:33.010
Ale wtedy argumenty, które musimy postawić, to nominalne zestawy, które są w złym stanie, które są dokonywane w

07:33.010 --> 07:38.680
łańcuchach sztuki w obrazach drukowanych, a faktyczna przestrzeń, w której się znajdujesz, zna zestaw działań.

07:38.680 --> 07:42.550
Podajmy te argumenty w funkcji pociągu.

07:42.760 --> 07:51.580
Pierwszą z nich możemy uzyskać za pomocą naszego środowiska i tego, a następnie używamy przestrzeni obserwacyjnej,

07:51.580 --> 07:59.020
która jest przestrzenią obserwacji, a następnie otrzymujemy liczbę wejść otrzymujemy zero zacisku.

07:59.190 --> 07:59.550
W porządku.

07:59.550 --> 08:01.120
To dla danych wejściowych.

08:01.290 --> 08:04.690
A teraz dla przestrzeni akcji.

08:04.860 --> 08:10.480
Cóż, to prawie to samo, co musimy zrobić z naszego otoczenia, że jesteśmy ważni.

08:10.500 --> 08:12.920
A potem przestrzeń akcji.

08:12.920 --> 08:13.260
W porządku.

08:13.260 --> 08:17.860
I to daje nam argumenty, które musimy wprowadzić podczas tworzenia obiektu.

08:17.860 --> 08:20.130
Model klasy execrate.

08:20.400 --> 08:25.150
OK, więc teraz mamy nasz model, a teraz kolejnym krokiem jest przygotowanie naszych stanów wejściowych.

08:25.170 --> 08:31.230
Pamiętajmy więc, że nadal robimy głębsze, nieformalne uczenie się, więc dane wejściowe określają nasze obrazy wejściowe i dlatego

08:31.560 --> 08:37.080
będzie to pierwotnie wykonane przez Ray'a, który będzie zawierał jeden kanał, ponieważ będziemy pracować z obrazami

08:37.080 --> 08:40.670
czarno-białymi i będzie miał czas w oceanach 42 przez 42.

08:40.980 --> 08:46.680
Ale ważne jest, aby zrozumieć i pamiętać, że stany wejściowe są obrazami wejściowymi.

08:46.680 --> 08:51.940
To, co musimy zrobić, to uzyskać brak władzy, a następnie przekształcimy go w odpowiedź na tortury.

08:52.050 --> 08:57.770
Ale pierwszym krokiem, jaki zrobiliśmy wcześniej, jest zdobycie sędziego i zdobycie go.

08:57.840 --> 08:58.970
To całkiem proste.

08:58.980 --> 09:06.080
Najpierw musimy stworzyć zmienną dla stanu wejściowego, który przekroczy stan i to, aby uzyskać

09:06.080 --> 09:07.130
tablicę superarbitrów.

09:07.230 --> 09:13.000
Musimy po prostu wziąć nasze środowisko, a następnie dostosować, a następnie użyć funkcji resetowania.

09:13.200 --> 09:19.940
I to zainicjuje Stany jako układ imperium wymiarów jeden o 42 przez 42.

09:20.190 --> 09:27.170
Jeden oznacza 1 kanał, więc obraz czarno-biały i 42 na 42 to oczywiście dominacja obrazu.

09:27.210 --> 09:30.860
Liczba pikseli i szerokość oraz liczba pikseli i wysokość.

09:30.870 --> 09:32.630
Zasadniczo jest to tylko przykład czasu.

09:32.670 --> 09:34.660
I właśnie z nimi pracujemy.

09:34.820 --> 09:40.830
A teraz, kiedy mamy to już na punkcie aranżacji, ponieważ dostaniemy te obrazy ubezpieczenia

09:40.830 --> 09:42.670
czasu w Imperium.

09:42.870 --> 09:48.510
Teraz możemy przekonwertować je na tancerzy pochodni i zrobić to dobrze, przechodzimy ponownie do stanu danych,

09:48.510 --> 09:50.890
ponieważ nie musimy przechowywać tablic liczbowych.

09:51.180 --> 09:55.030
I tutaj używamy pochodni modułu palnika.

09:55.260 --> 10:02.790
I pamiętajmy, że zrobiliśmy to już dzięki funkcji podkreślenia nie-tajlandzkiego.

10:02.880 --> 10:08.350
Wewnątrz tej funkcji musimy wprowadzić liczbę liczbową, którą chcemy przekształcić w czujnik palnika.

10:08.610 --> 10:14.880
I to jest stan, w którym poprzednia wersja macierzy non-pay stanie się potokowa z funkcji

10:14.880 --> 10:20.510
rurki czujnika palnika, dzięki czemu po prostu tworzy się intencjonariusz ze stanu.

10:20.550 --> 10:24.870
A teraz po prostu musimy zainicjować wykonane.

10:24.870 --> 10:30.650
Pamiętaj, że zmienna jest zwykle zmienną, która mówi, czy odcinek się skończył, czy gra się skończyła.

10:30.870 --> 10:37.110
Tutaj chcemy po prostu wprowadzić to bardzo dobrze i inicjalizować, aby określić, że to Do

10:37.160 --> 10:41.230
Not Voivode będzie równe true, gdy gra zostanie ukończona.

10:41.260 --> 10:46.790
To przyda się później, aby sztuczna inteligencja nie zagrała na czas nieokreślony.

10:46.820 --> 10:47.350
W porządku.

10:47.390 --> 10:54.320
To był początek tej funkcji trendu z pewną inicjalizacją i niektórymi rzeczami, które musimy

10:54.320 --> 10:55.370
zrobić.

10:55.370 --> 11:00.560
Najważniejszą częścią było to, że musimy zwolnić wszystkich praktykantów.

11:00.560 --> 11:04.890
To jedna z pierwszych zasad A3, którą musimy zastosować.

11:05.160 --> 11:09.780
A teraz w następnym samouczku przystąpimy do synchronizacji z modelem współdzielonym.

11:09.830 --> 11:14.810
Nie zapominajmy, że istnieje inny model, ale także model udziałów, który jest modelem, z którym

11:14.810 --> 11:16.180
korzystają wszystkie agencje.

11:16.190 --> 11:22.430
Musimy więc zsynchronizować się z modelem show, aby każdy agent mógł uzyskać ten wspólny model,

11:22.520 --> 11:25.990
aby przejść do niewielkiej eksploracji określonej liczby kroków.

11:26.000 --> 11:28.080
Tak właśnie zrobimy w następnym Statoil.

11:28.130 --> 11:29.710
A do tego czasu ciesz się AI.
