Cześć i witamy w tym samouczku.
Teraz mamy mózg jutra.
Posiadamy również optymalizator.
Zasadniczo jesteśmy gotowi szkolić naszych różnych agentów.
To są nasze różne mózgi.
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,
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
tą wielką funkcją pociągu, niczym więcej, nie klasa, ale kto będzie używał tej funkcji pociągu.
I ostatni krok tego modułu z głównym kodem.
Więc idziemy.
Ale zanim zaczniemy, możesz to zauważyć.
Najpierw importujemy niektóre biblioteki, więc są to klasyczne biblioteki z modułem palnika.
Mam na myśli twoją bibliotekę pochodni, która kończy bibliotekę, aby stworzyć środowisko, w którym wybuchnie.
Wtedy oczywiście importujemy klasę z naszego modelu.
Złóż ten plik.
I wreszcie użyjemy zmiennej z TORCIDA.
Żałuję, że podczas zawodów mam zawody o dużej skuteczności.
Dzięki dynamicznym wykresom.
A potem to zapewniamy funkcję współdzielonego gradu, której nie chcę poświęcać zbyt dużo czasu, ponieważ po
pierwsze jest to po prostu funkcja, która upewnia się, że wszystko działa poprawnie.
Jeśli model używany przez agenta nie ma gradientu udziału.
Dlatego nazywa się to skrótem współdzielonym, a innym powodem jest to, że nie uważam, że ta funkcja
jest konieczna.
Ale nigdy nie wiemy i przynajmniej z tym będziemy w 100 procentach pewni, że kod będzie wykonany poprawnie, ale
to nie jest naprawdę ważne.
Musimy skupić się na tej funkcji trendu, którą wszyscy zaczynamy teraz robić.
Więc zaczynamy.
Def i train wkrótce staną się pociągami, a ta transformacja zajmie kilka argumentów.
Pierwszy to ranga.
Zamierzam wyjaśnić, co to jest, a drugi, drugi, jest kombinowany, tak aby wszystkie parametry
były środowiskiem.
Trzeci parametr ma być dzielony moralnie.
Więc wiesz, że model współdzielony jest tym, do czego agent będzie wykonywał
swoje małe eksploracje na pewnej liczbie kroków, a na końcu ostatnim argumentem będzie optymalizator, który zrobiliśmy wcześniej.
Tak doskonały, że gotów jest na argumenty.
A teraz jesteśmy gotowi, aby rozpocząć realizację tej samej funkcji.
Pierwszą rzeczą, jaką zrobimy, będzie to, że pamiętasz, co oznacza A-380, co oznacza synchroniczne
aktywne agenty Crilley.
Więc w 8: 3 widzę, że jest synchroniczny.
Tak więc, jak rozumieliście, musimy pozbawić prawnika każdego agenta szkoleniowego i diseconomie, wtedy użyjemy
rangi, aby przesunąć każdą stronę z tą pozycją, więc ten parametr rangowy służy tylko do przesunięcia nasion, tak
aby każdy agent szkoleniowy był zsynchronizowany.
Tak więc, na przykład, jeśli istnieją agenci szkoleniowi, rangi przejdą od 1 do 10 i będzie jedna
liczba całkowita na agenta od 1 do 10.
Kiedy przesuniemy nasiono o jeden wątek, wszystkie pseudolosowe liczby tworzone przez ten wątek będą
całkowicie niezależne od pozostałych wątków.
Jednak nasiona lub stałe numery.
Kiedy więc odtwarzamy to doświadczenie, znajdziemy dokładnie te same wydarzenia.
A to dlatego, że jest deterministyczny w odniesieniu do siedzenia.
Dlatego ważne jest, abyśmy to zrozumieli i dlatego musimy zsynchronizować każdego agenta szkolenia, używając
prawa, aby przesunąć ziarno o pozycję.
Zróbmy to, aby to zrobić.
Weźmiemy naszą bibliotekę torchów.
Następnie otrzymamy nasienie z ręcznym podkreśleniem nawiasów.
To jest funkcja i teraz zamierzamy pobrać nasiona wszystkich agentów, do których możemy uzyskać dostęp
z tego nasienia i przesunąć je o rangę, aby zsynchronizować.
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
szkolenia, ponieważ dla każdej agencji szkoleniowej jest jedno nasiono.
Pierwszą rzeczą, którą należy wykonać, a teraz kolejnym krokiem, jest uzyskanie środowiska.
Dlatego zamierzamy stworzyć nową zmienną, którą będziemy wywoływać, a teraz użyjemy do stworzenia Atari
i funkcji z modułu końcowego, aby stworzyć środowisko do breakout.
Oznacza to, że środowisko się wyrwie.
Więc bierzemy tę funkcję, tworząc Terry'ego i teraz musimy wprowadzić tylko jeden argument, który jest parametrem
środowiska.
I mamy je, ponieważ jest to jeden z nakładów funkcji mózgu.
To jest tutaj ten parametr, który będzie parametrem środowiska breakouta, a
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
w następnym kodzie z główną funkcją, wykona cały kod
będzie wyłamywanym ramieniem wezyra.
W porządku, więc zapewni nam doskonałe otoczenie.
A teraz kolejnym krokiem jest dostosowanie siedziby środowiska do jednego z agentów.
I dlaczego to robimy.
A to dlatego, że każdy agent A-3 Silmaril ma swoją własną wizję środowiska, taką jak jego
własna kopia środowiska, i dlatego musimy wyrównać każdego z agentów w jednej konkretnej wersji środowiska i
zrobić to, do czego zmierzamy. korzystać z siedzenia, ponieważ każde siedzenie określa określone
środowisko.
Tak więc dzięki powiązaniu różnych nasion z każdym agentem otrzymamy dokładnie to, czego chcemy, aby
każdy agent miał swoje własne środowisko.
Jak więc możemy zrobić, abyśmy mogli zabrać nasze środowisko, a następnie użyć funkcji nasion, aby wybrać te,
które on otrzymuje dla środowiska.
A więc teraz wyrównaj siedzibę środowiska do nasienia agenta.
Musimy po prostu to zdobyć, ponieważ odpowiada to siedzibie agenta, który został przesunięty na pozycje w rankingu,
aby uzyskać przyzwoitych zorganizowanych agentów szkoleniowych, ponieważ wszyscy znajdują się w innym zestawie.
Musimy więc zapłacić to tutaj, a to zrównuje siedzibę środowiska z jednym
z agentów. Teraz otrzymamy nasz model.
To jest nasz mózg A-3.
A więc teraz zamierzamy użyć klasy aktywnej z naszego pliku modelu.
Zasadniczo zamierzamy stworzyć nowy obiekt tej klasy aktywności, a jeśli chcemy, nazwiemy ten
model obiektu lub mózg.
Ale w zasadzie ten obiekt będzie zawierał wszystkie skręty CM Połączenie liniowe i funkcję
Forda, aby propagować sygnał.
Więc zasadniczo będzie zawierał mózgi aktora w krytyce, z możliwością propagowania sygnału
w mózgu, aby uzyskać ostateczny wynik.
Zróbmy więc ten model, tak jak mówiliśmy, że chcemy nazwać ten model obiektu.
I tak tworzymy obiekt ustawy, tworzymy klasę i dlatego bierzemy klasowego krytyka aktorskiego, a teraz pamiętamy jakie argumenty,
kiedy te dwa wejścia.
To w rzeczywistości argumenty funkcji.
Tak więc musimy podać to, co musisz zrobić, aby użyć obiektu w metodzie.
Ale wtedy argumenty, które musimy postawić, to nominalne zestawy, które są w złym stanie, które są dokonywane w
łańcuchach sztuki w obrazach drukowanych, a faktyczna przestrzeń, w której się znajdujesz, zna zestaw działań.
Podajmy te argumenty w funkcji pociągu.
Pierwszą z nich możemy uzyskać za pomocą naszego środowiska i tego, a następnie używamy przestrzeni obserwacyjnej,
która jest przestrzenią obserwacji, a następnie otrzymujemy liczbę wejść otrzymujemy zero zacisku.
W porządku.
To dla danych wejściowych.
A teraz dla przestrzeni akcji.
Cóż, to prawie to samo, co musimy zrobić z naszego otoczenia, że jesteśmy ważni.
A potem przestrzeń akcji.
W porządku.
I to daje nam argumenty, które musimy wprowadzić podczas tworzenia obiektu.
Model klasy execrate.
OK, więc teraz mamy nasz model, a teraz kolejnym krokiem jest przygotowanie naszych stanów wejściowych.
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
będzie to pierwotnie wykonane przez Ray'a, który będzie zawierał jeden kanał, ponieważ będziemy pracować z obrazami
czarno-białymi i będzie miał czas w oceanach 42 przez 42.
Ale ważne jest, aby zrozumieć i pamiętać, że stany wejściowe są obrazami wejściowymi.
To, co musimy zrobić, to uzyskać brak władzy, a następnie przekształcimy go w odpowiedź na tortury.
Ale pierwszym krokiem, jaki zrobiliśmy wcześniej, jest zdobycie sędziego i zdobycie go.
To całkiem proste.
Najpierw musimy stworzyć zmienną dla stanu wejściowego, który przekroczy stan i to, aby uzyskać
tablicę superarbitrów.
Musimy po prostu wziąć nasze środowisko, a następnie dostosować, a następnie użyć funkcji resetowania.
I to zainicjuje Stany jako układ imperium wymiarów jeden o 42 przez 42.
Jeden oznacza 1 kanał, więc obraz czarno-biały i 42 na 42 to oczywiście dominacja obrazu.
Liczba pikseli i szerokość oraz liczba pikseli i wysokość.
Zasadniczo jest to tylko przykład czasu.
I właśnie z nimi pracujemy.
A teraz, kiedy mamy to już na punkcie aranżacji, ponieważ dostaniemy te obrazy ubezpieczenia
czasu w Imperium.
Teraz możemy przekonwertować je na tancerzy pochodni i zrobić to dobrze, przechodzimy ponownie do stanu danych,
ponieważ nie musimy przechowywać tablic liczbowych.
I tutaj używamy pochodni modułu palnika.
I pamiętajmy, że zrobiliśmy to już dzięki funkcji podkreślenia nie-tajlandzkiego.
Wewnątrz tej funkcji musimy wprowadzić liczbę liczbową, którą chcemy przekształcić w czujnik palnika.
I to jest stan, w którym poprzednia wersja macierzy non-pay stanie się potokowa z funkcji
rurki czujnika palnika, dzięki czemu po prostu tworzy się intencjonariusz ze stanu.
A teraz po prostu musimy zainicjować wykonane.
Pamiętaj, że zmienna jest zwykle zmienną, która mówi, czy odcinek się skończył, czy gra się skończyła.
Tutaj chcemy po prostu wprowadzić to bardzo dobrze i inicjalizować, aby określić, że to Do
Not Voivode będzie równe true, gdy gra zostanie ukończona.
To przyda się później, aby sztuczna inteligencja nie zagrała na czas nieokreślony.
W porządku.
To był początek tej funkcji trendu z pewną inicjalizacją i niektórymi rzeczami, które musimy
zrobić.
Najważniejszą częścią było to, że musimy zwolnić wszystkich praktykantów.
To jedna z pierwszych zasad A3, którą musimy zastosować.
A teraz w następnym samouczku przystąpimy do synchronizacji z modelem współdzielonym.
Nie zapominajmy, że istnieje inny model, ale także model udziałów, który jest modelem, z którym
korzystają wszystkie agencje.
Musimy więc zsynchronizować się z modelem show, aby każdy agent mógł uzyskać ten wspólny model,
aby przejść do niewielkiej eksploracji określonej liczby kroków.
Tak właśnie zrobimy w następnym Statoil.
A do tego czasu ciesz się AI.