Witam i zapraszam do opowiadania.
W porządku, więc po tym, jak zrobiliśmy te cztery sploty i LCN, mamy zakodowany stan, który będzie
wkładem tych dwóch sieci neuronowych, które zamierzamy uczynić dla aktora i krytyka.
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.
Jeden dla aktora i jeden dla krytyka.
Ale zanim to zrobimy, musimy uzyskać liczbę możliwych działań.
Dlatego zmienię tutaj zmienną, która nie będzie zmienną obiektu.
Więc nie zamierzam używać tu siebie, ale zamierzam stworzyć realne wyjścia, które będą reprezentować pewną
liczbę możliwych działań i je uzyskać.
Cóż, możemy to uzyskać z przestrzeni akcji.
Tak więc bierzemy naszą przestrzeń akcji, która będzie wejściem funkcji podczas tworzenia obiektu.
A potem dodamy to i otrzymujemy taką liczbę możliwych działań.
A teraz aktor i krytyk weźmie oddzielnie ten sam wkład, który jest wynikiem tego całego
procesu tutaj z nawrotami i GLSEN.
Tak więc zajmie to samo wejście, które jest zakodowane, ale wtedy będą miały dwa różne połączenia liniowe,
tak że otrzymamy ostatecznie dwie sieci neuronowe, jedną dla dwóch, a drugą dla krytyka.
Zróbmy więc te dwie oddzielne sieci neuronowe.
Ale skoro już zrobiliśmy dużą robotę z kodowaniem tutaj, to po prostu musimy stworzyć dwa
obiekty, jeden w pełnym połączeniu dla aktora i jedno połączenie liniowe dla krytyka.
I właśnie to zamierzam zrobić.
Zamierzam teraz stworzyć dwa obiekty jako pierwszy obiekt liniowego połączenia krytyka, który zamierzam
nazwać krytykiem, a partytura Linnie jest i stworzyć to liniowe połączenie.
Wiesz, jak to zrobić, wystarczy wziąć moduł silnika, a następnie klasę liniową, do której mamy
dwa wejścia.
Cóż, neurony wejściowe, które są wyjściami tego wszystkiego, łącznie ze zwojami
i GM, który jest 256 neuronami.
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
sieci neuronowej dla krytyka jest wartością funkcji zastosowanej do stanu wejściowego do stanów
zakodowanych przez wejścia, które zrobiliśmy tutaj.
Więc jeśli nazwiemy stan wejściowy, który jest wynikiem tego wszystkiego, wyjście sieci neuronowej krytyka
będzie VS i dlatego ma jeden wymiar.
To tylko wartość.
I tak tutaj kładziemy jeden.
I pamiętajcie, to jest to, co jest wspólne dla aktorów, aby mogli uzyskać pewne wspólne informacje, które mogą
wykorzystać do odgrywania swojej akcji w bardziej odpowiedni sposób.
OK, to dla sieci neuronowej krytyka.
A teraz stwórzmy nową sieć aktora i dlatego jestem tutaj samoukiem, aktorem liniowym i tym samym
mamy już zakodowane stany wejściowe.
Teraz musimy po prostu dodać liniowe połączenie i dlatego mówimy, że przyjmujemy
moduł, a następnie liniową i teraz mówiąc, że ta nowa sieć aktora przyjmie zakodowany stan,
który ma rozmiar 256, więc tutaj 256.
Ale wtedy wyjście będzie inne, ponieważ oczywiście wiesz, że wyjście sieci neuronowej dla
aktora innego klucza wiąże się z kluczowymi wartościami stanów wejściowych.
Ten, który mogliśmy usłyszeć i tablicę akcji.
Więc znowu, jeśli nazwiemy ten zakodowany stan, który mamy tu na myśli, jako działanie odtwarzane na wyjściu
tej sieci neuronowej, faktycznie będzie q jako.
A ponieważ wiesz, że mamy jedną wielką wartość dla każdego działania, to nie mamy żadnych wyników.
Wartości Q, a zatem wynik tutaj będzie nie wyjściowy, ponieważ żaden wynik nie jest w
rzeczywistości liczbą ludzi.
W porządku, doskonale.
Więc jeśli chcesz, mogę napisać dla ciebie tutaj wyjście.
Krytyk jest tak dobrze, jak zakodowany stan, a dla aktora wynik jest uroczy jak należy.
To bardzo ważne, aby zrozumieć to rozróżnienie i zrozumieć, że mamy dwie
oddzielne sieci informacyjne.
Jedna dla krytyka, a druga dla aktora Dobra perfekcyjnie.
Tak więc prawie skończyliśmy z tą funkcją.
Teraz najważniejsze jest.
Pozostaje nam tylko zainicjować wszystkie wagi tych dwóch sieci neuronowych i
wszystkie uprzedzenia.
I oczywiście, aby to zrobić, wykorzystamy dwie funkcje, które wcześniej stworzyliśmy, tj.
Znormalizowane kolumny inicjalizacyjne i wagi.
Zróbmy to szybko.
To będzie całkiem łatwe i dość szybkie.
Tak więc najpierw zainicjujemy losowe wagi i aby to zrobić, zastosujemy wagę w
funkcji do naszego obiektu.
Tak więc musimy wziąć siebie, aby zdobyć nasz obiekt i sprzeciwić się.
Stosujemy wagę w jej funkcji.
Dlatego w środku musimy po prostu umieścić wagę w tej funkcji, a następnie otrzymamy to, co zastosuje tę funkcję
do naszego obiektu, i robiąc to, inicjujemy tylko niektóre losowe wagi, aby uzyskać optymalną naukę
tych wag w przyszłości.
A teraz musimy zrobić specjalną normalizację dla aktora i krytyka.
Ale pamiętajcie, myślę, że powiedziałem to w poprzednich tutorialach, że nie zamierzamy ustawiać takiej samej wariancji
dla X w akrylowym yakked, że otrzymacie małe odchylenie standardowe małe odchylenie.
A krytycy dostaną duży.
I dlaczego to robimy.
Jaki jest cel podania niewielkiego odchylenia standardowego wag dla aktora i dużego odchylenia
standardowego dla krytyka.
Cóż, to pozwala zarządzać eksploracją a eksploatacją.
Taki właśnie cel polega na tym, aby drobna różnica w stosunku do aktora na większej publiczności została
poddana krytyce.
Będziemy mieć dobre zarządzanie eksploracją a eksploatacją.
Zróbmy to, najpierw zajmijmy się aktorem.
Więc bierzemy siebie lub przedmiot, a następnie weźmiemy sieć neuronową naszego aktora, którym jest aktor Linnea, wtedy
uzyskamy dostęp do wag tej nowej sieci aktora i pamiętamy, aby uzyskać dostęp do danych
o wagach, których potrzebujemy. te dane.
W porządku.
W ten sposób otrzymujemy wagi, a teraz użyjemy funkcji inicjalizowanej grzebienia znormalizowanego grzebienia.
Więc kopiuję to wklejanie tutaj i zamierzamy wprowadzić argument.
Odchylenie standardowe, które chcemy mieć te wagi.
Ale najpierw pamiętaj, że ta funkcja przyjmuje dwa argumenty.
Najpierw sposób, w jaki chcemy zainicjować.
Więc musimy po prostu wziąć to ponownie i oprzeć to tutaj.
Drugim argumentem jest odchylenie standardowe.
Chcemy mieć te wagi.
Tak więc, jak powiedzieliśmy, chcemy niewielkiego odchylenia standardowego od aktora w małym, będzie to 0. 01 doskonały.
A więc to tu są wagi sieci neuronowej aktora.
Teraz zajmijmy się uprzedzeniami nowej pracy tego aktora.
I dlatego zamierzamy zrobić prawie to samo, co skopiujemy poniższy wklej.
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
zero, ponieważ chcemy, aby wszystkie urządzenia były inicjowane zerową.
Tak naprawdę nie sądzę, że ta linia jest konieczna, ponieważ jak pamiętacie, kupujący są już zainicjowani do
zera za pomocą tej funkcji wypełniania w funkcji oczekiwania.
Więc wiesz, że robimy to tylko po to, aby upewnić się, że kupujący są rzeczywiście zainicjowani do zera.
Ale myślę, że już to zrobiono.
Ale w każdym razie teraz jesteśmy w 100 procentach pewni.
Teraz zrobimy to samo dla krytyka.
Bądźmy więc wydajni i omówmy te dwie linie.
Spójrzmy prawdzie w oczy tutaj i tutaj po prostu zastąpimy aktora przez krytyka.
To samo tutaj.
A teraz jedyną rzeczą, którą musimy zmienić, jest tylko standardowe odchylenie, które chcemy, aby wagi
sieci neuronowej mogły mieć krytycy.
I jak pamiętacie raz tym razem duże odchylenie standardowe zamiast otwartego lub jednego wprowadzimy jedno, więc tam
mamy iść mamy małe odchylenie standardowe dla wag nowej pracy aktora i duże
odchylenie standardowe dla wag.
A kiedy docieramy do krytyka.
I oczywiście to coś, co możemy zastąpić aktywnym tutaj kredytem.
W tej chwili jesteśmy spokojni.
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
do naszego obiektu i powiemy lub jako T. N. wtedy i wtedy otrzymamy
dwa rodzaje kupujących, którzy są w ostatnim.
To odchylenie i wynik według wieku, a drugi opiera się na wieku wiekowym.
To dwa typy uprzedzeń w CME i tym samym zostaną zainicjowane do zera.
Tak więc najpierw uzyskujemy dostęp do danych, a następnie używamy funkcji podkreślenia wypełnienia, aby wypełnić wszystkich tych
kupujących zerami, inicjując je swoimi.
Dobrze.
A teraz dla drugiej grupy kupujących, którzy tu jesteśmy, to samo zostaje zastąpione przez wiek według wieku.
W porządku.
To inicjuje odchylenie zer, a teraz ostatnią rzeczą, którą musimy zrobić, to użyć metody odziedziczonej po
końcu i tym module, który jest metodą pociągu.
Zasadniczo istnieje tylko metoda, która umieszcza moduł w leczeniu.
Więc jaki jest tego pożytek.
No cóż, użycie jest takie, że pozwala aktywować się, jeżeli w ligacjach w łazience jest jakikolwiek spadek.
Aby go użyć, dodajemy samopoczucie pociągu, co sprawia, że moduł jest idealnie skrojony.
Tak więc skończyliśmy z funkcją init.
Mamy nasze zwinięcia, mamy CME mamy dwie oddzielne sieci neuronowe dla krytyka i
aktora i wszystkie wagi i stronniczość są dobrze zainicjalizowane.
To wszystko jest dobre.
Jesteśmy gotowi przejść do następnego kroku, który polega na tym, aby przekazać funkcję, która
oczywiście będzie dalej rozprzestrzeniała sygnał od samego początku z oryginalnymi obrazami wejściowymi w całym mózgu, aż
do uzyskania wyniku.
Zróbmy to w następnym samouczku.
A do tego czasu ciesz się AI.