Cześć, witam w tym samouczku ta specjalna zabawka będzie bardzo ekscytująca, ponieważ zbliżamy się do
A. S. DO. algorytm.
Zobaczycie, że to, co zamierzamy zaimplementować i które nazywa się Śledzenie kwalifikowalności, lub Sarsour
jest tak naprawdę algorytmem algorytmów aktywnych agentów krytycznych agentów, że nie możemy tego wziąć pod uwagę.
I widzimy, ponieważ nadal będziemy mieć jednego agenta, ale nadal zobaczycie,
że to, co zamierzamy zaimplementować, zostało zaczerpnięte z poniższej publikacji, która jest tym dokumentem, jako
metoda Synchronossa do nauki głębokiego wzmacniania. w tym artykule znajdziesz algorytmy A-3, które zaimplementujemy
jako ostateczną premię tego kursu.
Ale jak już mówiłem, zbliżamy się do tego, ponieważ model, który teraz zostanie wdrożony, jest
w rzeczywistości tym synchronicznym i zsekularyzowanym, to ten, który jest prawie A3 C, który robi to później,
ale z jednym agentem i silną stroną tego jest to i krok Cunanan zamierzamy nauczyć się gromadzić nagrody
i uczyć się kumulatywnego celu na końcowych etapach zamiast jednego kroku, jak Priestley.
Dzięki temu trening stanie się o wiele skuteczniejszy i dzięki temu o wiele mocniejszy.
Tak więc mamy pseudo kod dla tego algorytmu, to jest ten algorytm, jak tutaj.
Klikajmy na niego i zaczynamy.
Taki algorytm mamy zaimplementować.
Ale pamiętaj, że tylko z jednym agentem różnica polega na tym, że podejmują akcję.
80 zgodnie z polityką prezydenta Greely'ego opartą na wartościach q dla obecnego stanu i rozgrywającej się
akcji.
Ale w naszym przypadku nie wdrożyliśmy doskonałej zielonej polityki.
Zaimplementowaliśmy miękki Max.
Ale reszta jest taka sama, jak widać.
Zamierzamy obliczyć sumę, na której pracowaliśmy, i faktycznie wykonamy 10 kroków.
Pamiętaj, że kroki są równe 10.
W związku z tym zaimplementujemy tę linię kodu w naszym algorytmie, który teraz zaimplementujemy.
Dostaniemy to.
I głównie zamierzamy to również wdrożyć.
Zobaczysz, że otrzymamy maksimum wartości q dla bieżącego stanu i bieżącej akcji w
tym theta.
Oto tylko parametr docelowy.
Zróbmy to, zaatakujmy ten algorytm.
Ten nazywa się uczeniem synchronicznym i kijkiem.
Ale nie mamy prawa mówić synchronicznie, jeśli chodzi o nas, ponieważ mamy tylko jeden silnik.
Ale możemy to nazwać i nauczyć się śladu kwalifikowalności, a nawet Sarsour.
W porządku, więc zróbmy to.
To będzie niezła zabawa.
Zasadniczo możemy postępować zgodnie z kodem tutaj i to właśnie zamierzamy zrobić.
I tak, jak widać parametr, który będzie nam potrzebny, ponownie pojawi się parametr, który
jest parametrem zaniku, a zatem zaczniemy od wprowadzenia zmiennej dla tego parametru Gahanna i wybrania ich.
Zróbmy to.
W rzeczywistości nie potrzebujemy ogromnej klasy Możemy to zaimplementować z funkcją, ponieważ wiemy,
że tak naprawdę nie musimy tworzyć obiektów, aby to był model śledzenia,
wystarczy funkcja, ponieważ w zasadzie to, co chcemy zrobić, to Zwróć dane wejściowe i cel, aby później
podczas szkolenia AI byliśmy gotowi zminimalizować odległość między przewidywaniami a celem, a żeby uzyskać prognozy, potrzebujemy
danych wejściowych, ponieważ będziemy stosować nasz mózg na danych wejściowych, aby uzyskać wynik sygnały, które
będą naszymi przewidywaniami.
A kiedy już mamy nasze przewidywania i nasze cele, będziemy gotowi szkolić SI, starając
się zminimalizować tak wielki dystans między przewidywaniami a toaletami.
Więc o to właśnie teraz chodzi.
Wdrażamy tę funkcję, aby móc zwrócić te dane wejściowe w Sowietach, abyśmy mogli być
przygotowani na szkolenie, aby zminimalizować przewidywane odległości w kwadracie, aby zarządzać toaletami.
W porządku, zróbmy to, jak powiedzieliśmy, chcemy wprowadzić funkcje.
Zaczynamy od tego.
Będziemy to nazywać zakwalifikowaniem jako ślad.
Możesz również nazwać to Sarsour.
Możesz też nazwać to krokiem, aby zadzwonić, co chcesz, ale nazwijmy to wykresem kwalifikacyjnym, a
ta funkcja będzie miała jeden argument, który będzie serią, i dlaczego to dlatego, że zamierzamy uzyskać
pewne dane wejściowe i cele, ponieważ będziemy trenować sztuczną inteligencję w partiach.
W związku z tym dane wejściowe i cele trafią do niektórych partii, a zatem argumentem wejściowym
jest tutaj ta partia, która będzie zawierać kilka danych wejściowych, a następnie kilka celów, które będą obliczane.
Więc idziemy.
To jedyny argument, którego potrzebujemy.
Przejdźmy teraz do funkcji i określmy, co powinniśmy zrobić.
Tak jak widzieliśmy w Bazylice papieru, potrzebujemy ponownie parametrów, tak jak powiedzieliśmy, że zaczynamy od wprowadzenia
tego parametru gamma semi-close i możemy już odcyfrować wartość.
Wybieramy cztery punkty dziewięćdziesiąt dziewięć, które są klasyczną wartością dla Ghany i Norreys.
Sprawdziłem, czy jest to dobra wartość dla naszej sztucznej inteligencji.
W porządku, następnym krokiem jest przygotowanie naszych danych wejściowych i celów, ponieważ właśnie to chcemy
zwrócić.
Chcemy zwrócić dane wejściowe na cele, aby przygotować szkolenie.
I tak możemy już zainicjować je z pustą listą, ponieważ oczywiście te dane wejściowe Wewnątrz wszystkiego, co
najlepsze, będziemy mieć kilka danych wejściowych do listy i to jest, gdy inicjalizujemy dane
wejściowe jako listę, a także cele, do których zmierzamy.
Więc zainicjowaliśmy nasze i wprowadziliśmy nasze cele, a na koniec funkcja śledzenia kwalifikowalności zwróci dokładnie
te dane wejściowe.
A te tak, oczywiście, były Filton.
Mamy kilka wejść i powiązanych z nimi kilka celów, które zostaną zwrócone przez funkcję.
Następnym krokiem jest uruchomienie pętli i to właśnie dlatego, że śledzimy powolny
kod papieru.
Ten rodzaj kodu.
I jak widać, jest to powtórzenie sekcji kodu i powtórzona dokładnie pełna pętla w kodzie.
Zamierzamy obliczyć skumulowaną nagrodę tutaj zgromadzoną na 10 etapach.
I jak to jest obliczane.
Cóż, w każdym kroku, który nie jest ostatnim krokiem, uzyskamy maksimum podstawowych wartości waluty, w której
się znajdujemy podczas tej czynności i kroków.
A jeśli osiągniemy ostatni stan z 10 kroków, to będzie to zero.
To nie chcemy tego więcej robić.
A potem mamy tę pętlę for, która będzie druga.
Nie powtarzają tutaj, ale to jest druga pełna pętla w naszym algorytmie.
Cóż, będziemy mieli to w ten sposób, pomnażając go przez parametr gamma zaniku i dodając
słowo.
Zróbmy to, wróćmy do Pythona i zacznijmy od tego.
I jaka będzie zmienna iteracyjna.
Cóż, to będzie nasza 10-stopniowa seria.
Znasz naszą serię 10 przejść, więc nazwiemy tę serię zmiennych, które reprezentują serię 10 przejść,
takich jak sekwencja 10 przejść.
Więc dla serii w.
A co myślisz?
Cóż, nasza seria sprowadza się do naszej partii.
Są partie, na których będzie się trenować sztuczna inteligencja i kolejne serie w partii, która jest dla wszystkich
serii 10 przejść w naszej partii wejściowej.
Cóż, gdzie zamierzamy zrobić dobrze, aby uzyskać łączną nagrodę, zobaczysz w krzemionce, że
potrzebujemy stanu pierwszego przejścia serii, a także stanu ostatniej zmiany serii.
To, co musimy teraz zrobić, to uzyskać te stany wejściowe, więc zamierzamy wprowadzić te dwa stany
w stan gotowości, które miały wywołać wejście, a my otrzymamy te dwa stany wejściowe.
Pierwsza z serii i ostatnia, którą zamierzamy wprowadzić do zestawu niepilotowego, ale bez obaw, nie pozostanie
z tym, a Ampyra oczywiście zmieni to w okropne, ale pierwszym krokiem
jest postawienie tych dwóch wypowiada pierwszą w ostatniej w imperium.
I właśnie tutaj w tej tablicy dodajemy pierwsze wejście, które jest wejściowym etapem pierwszego przejścia
szeregu i to jest Serialem, a następnie, aby je przyjąć dla przejścia przyjmujemy indeks zerowy szeregu, który
jest pierwszym przejściem, a następnie możemy uzyskać do niego dostęp, biorąc jego atrybuty, które są stanem i
tym, ponieważ w naszym pliku powtórzenia doświadczenia znaleźliśmy specjalną strukturę dla każdego przejścia i
znacie strukturę.
Każde przejście składa się ze stanu i słowa akcji.
Ale ostatni element, który jest wykonywany, więc ta specjalna struktura, którą możemy teraz użyć,
pochodzi ze sposobu, w jaki zdefiniowaliśmy przejście i powtórne doświadczenie.
W porządku, otrzymujemy stan wejściowy pierwszego przejścia, a teraz dostajemy również
etap wejściowy ostatniego przejścia serii.
I żeby to zrobić, to znaczy, że możemy po prostu skopiować i wkleić go i zastąpić, jak jesteś tutaj, przez
ostatni indeks serii, do której możemy uzyskać dostęp za pomocą tej sztuczki minus jedna seria minus jedna,
która otrzyma stan wejściowy ostatniego przejście serii.
W takim razie musimy umieścić te dwa elementy w nawiasach kwadratowych, ponieważ tego oczekuje od
sędziego funkcja, a następnie ważna rzecz, ponieważ zamierzamy przekształcić to w odpowiedź
pochodni w zmiennej pochodni.
Pamiętajmy, że tensor palnika jest z definicji specjalną tablicą zawierającą jeden typ.
A więc musimy wymusić posiadanie jednego rodzaju.
I jak zwykle wybierzemy typ float, a więc dodając ten parametr tutaj D typ jest
równy i P pływa.
Abyś mógł wziąć to, a teraz możemy to zamienić na tensor palnika w wojewodzie pochodni.
Zróbmy to.
Najpierw zamieńmy to na czujnik palnika.
I pamiętajmy, że możemy użyć torche, które od początku do końca, a my umieścimy całą tablicę dwóch stanów wejściowych
wewnątrz tego pochodni tancerza z pochodnią od nich przez funkcję idealną, która zamieni te tablice z dwóch
stanów wejściowych na latarkę czujnik.
A teraz wkładamy tę pochodnię w latarkę bardzo dobrze, używając klasy zmiennej, więc wejście będzie
obiektem cennej klasy.
W rzeczywistości, jak rozumieliście, ta klasa zmiennych bierze to wszystko za argument i
tworzy obiekt.
W porządku, więc teraz powinniśmy być dobrzy.
Mamy dwa nasze wejścia, których potrzebujemy.
Jest to stan wejściowy pierwszego przejścia, a następnie wejście oznacza ostatnie przejście.
A teraz, gdy mamy dane wejściowe Cóż, co możemy uzyskać możemy uzyskać sygnał wyjściowy mózgu
AI.
To jest prognoza, którą będziemy nazywać wyjściami.
To jest sygnał wyjściowy.
I uzyskać wyniki.
Teraz to bardzo proste, ponieważ mamy już stworzony mózg, który jest naszą splotową siecią
neuronową.
I tak możemy po prostu wziąć nasz mózg CNN zastosowany do wejść, które zwrócą prognozę, która jest
wyjściem tak prostym jak to.
A teraz jesteśmy już gotowi, aby przejść do następnego kroku.
Następnym krokiem jest zacząć obliczać tę społeczność, jeśli chcesz.
Więc teraz zrobimy dokładnie to samo, co nasz algorytm Sarsoura, czy też powinniśmy go nazwać
i kroki do nauki.
Zamierzamy wprowadzić skumulowaną zmienną nagrody, która będzie łączną nagrodą, wróćmy do artykułu, ponieważ teraz widzicie, co
musimy zrobić, aby uzyskać nagrodę dla społeczności, która jest naszą
tutaj.
No i na każdym kroku z 10 kroków musimy go zaktualizować, dodając zero do tej społeczności,
jeśli osiągnęlibyśmy ostatni etap serii lub maksimum wartości podstawowych, jeśli nie osiągnęliśmy ostatniego etapu seria,
która jest dla wszystkich statyki, która trwała.
To po prostu bonanzas.
Wróćmy do Pisceana.
Więc ta nagroda społeczności, jak właśnie widzieliśmy, będzie równa zero zero, jeśli osiągniemy ostatni stan i możemy
zapisać ten warunek w ten sposób, jeśli seria indeksu minus 1.
To jest ostatnie przejście serii.
Następnie dodajemy, że zrobione, ponieważ w rzeczywistości jest to atrybut tego, że wiesz, że ta przejściowa
struktura, którą zdefiniowaliśmy w doświadczeniu, odegrała naszą powtórkę doświadczenia, a to, co zrobiliśmy, pochodzi z rzeczywistych
struktur otwierających, ponieważ jeśli przejdziemy do otwartej strony Allergan, która jest w rzeczywistości właściwa tutaj to
przygotowałem.
To dobrze lub wezyrze.
A jeśli przejdziemy do dokumentacji, a następnie, jeśli my.
Oto samouczek, który naprawdę zachęcam do obejrzenia go.
Możesz uruchomić środowisko, które Knowsley zobaczysz, że nasze obserwacje, że są to
przejścia, są określone przez obserwację.
Chcemy to zrobić tutaj, a to zrobione oznacza dokładnie to, że przejście lub krok się skończył.
I dlatego użyjemy tego tutaj dla naszego warunku IF.
Dlatego szaleństwo iSeries, gdy to zrobione oznacza, że zakończono ostatnie przejście serii.
I tak ta skumulowana nagroda będzie równa zeru, jeśli ostatnie przejście serii zostanie wykonane.
Inaczej, jeśli nie osiągnęliśmy ostatniej transformacji, nagroda skumulowana zostanie zaktualizowana, tak
jak powiedzieliśmy maksimum kluczowych wartości.
A ponieważ ten wynik tutaj jest wyjściem mózgu, który jest prognozą sieci neuronowej.
I jak wiesz prognozy sieci neuronowej są przewidywanymi wartościami Cóż, to wyjście
zawiera wartości.
A ponieważ musimy przyjąć maksimum wartości q, musimy najpierw dodać ten indeks, ponieważ ta
struktura zawiera dwie kluczowe wartości i następną.
A następnie musimy dodać dane, aby uzyskać dostęp do danych.
Ta struktura wyjściowa, którą znasz, ma specjalną strukturę wojewody pochodni.
W ten sposób otrzymujemy nasze podstawowe wartości, a następnie chcemy maksymalnie wykorzystać nasze wartości
cue, więc dodajemy, że Max.
A teraz otrzymujemy dokładnie to, czego chcemy, jak w dokumencie, to maksimum wartości kostki dla stanów
nieterminowych, co jest idealne.
A więc teraz zrobimy drugi raz.
To jest dla 10 etapów serii, które zamierzamy zaktualizować kumulatywną drogą w ten sposób, mnożąc najpierw
przez Gamma parametr zaniku, który już mamy, a następnie dodajemy słowo B.
Zróbmy to.
W rzeczywistości będziemy robić dokładnie to samo, co w kodzie pseudokodowym, ponieważ można zauważyć, że zaczynają się
od prawej.
Więc nie zaczynają się od pierwszego kroku i przechodzą do ostatniego testu zaczynającego się od ostatniego kroku.
T-minus 1 do pierwszego kroku, aby rozpocząć.
Dokładnie to zamierzamy zrobić, a to dlatego, że chcemy uzyskać
w końcu skumulowaną nagrodę równą naszym równym lub zero plus gamma lub 1 plus gamma do kwadratu lub dwa plus które dodają
plus gamma o mocy 10 lub 10 gdzie są 1 lub 2, które są 10 są słowem uzyskanym w każdym z
etapów serii.
Zróbmy więc krótką przerwę przed wykonaniem drugiej pełnej pętli, a do zobaczenia w następnym samouczku.
Do tego czasu ciesz się AI.