WEBVTT

00:00.300 --> 00:02.930
Cześć i witamy w tutorialu Python.

00:02.940 --> 00:08.700
W porządku, więc właśnie budujemy architekturę sieci neuronowej z funkcją naszej klasy sieciowej,

00:09.030 --> 00:13.650
a następnie stworzymy drugą funkcję, która będzie funkcją naprzód i

00:13.650 --> 00:15.810
która będzie aktywować neurony.

00:15.840 --> 00:19.770
To jest funkcja, która będzie działać dla propagacji.

00:19.830 --> 00:27.240
Zróbmy to, zróbmy tę funkcję, nazwijmy ją naprzód, tak jak właśnie powiedzieliśmy, a ta funkcja

00:27.240 --> 00:29.550
będzie wymagać dwóch argumentów.

00:29.610 --> 00:35.070
Najpierw, tak jak zwykle, wiesz, że możesz używać zmiennych obiektu, ponieważ

00:35.070 --> 00:37.400
zamierzamy użyć SE1 NFC.

00:37.500 --> 00:43.440
Więc potrzebujemy jaźni, aby móc używać tych zmiennych, a wtedy potrzebujemy drugiego argumentu,

00:43.590 --> 00:50.100
który jest naszym wkładem i będziemy go nazywać stanem, ponieważ stan jest dokładnie wkładem naszych sieci

00:50.100 --> 00:50.580
neuronowych.

00:50.580 --> 00:51.980
Wiesz, że to są Stany.

00:51.990 --> 00:57.320
Są inne wejścia wchodzące do sieci neuronowej, a następnie jako wyjścia będą miały q wartości trzech możliwych

00:57.330 --> 01:00.560
działań idących w lewo, idź prosto lub idź w prawo.

01:00.690 --> 01:06.210
Ale nie musimy tu podawać tego jako argumentu, ponieważ właśnie to chcemy przywrócić do

01:06.210 --> 01:11.880
tej funkcji, która nie tylko aktywuje neurony, ale także i przede wszystkim zwróci wartości

01:11.880 --> 01:16.640
kostek dla każdej możliwej akcji w zależności od tutaj wprowadź stan.

01:16.650 --> 01:17.060
W porządku.

01:17.100 --> 01:19.000
Oto dwa argumenty, których potrzebujemy.

01:19.140 --> 01:24.440
A teraz przejdźmy do funkcji i określmy, co chcemy zrobić.

01:24.740 --> 01:29.940
OK, więc pierwszą rzeczą, którą zrobimy, jest aktywacja ukrytych neuronów, a my nazwiemy

01:29.940 --> 01:34.690
ukryte neurony zmienną x, dzięki czemu x reprezentuje ukryte neurony.

01:34.800 --> 01:36.750
A więc jak je aktywować.

01:36.930 --> 01:39.990
No cóż, oczywiście weźmiemy nasze neurony wejściowe.

01:40.170 --> 01:45.360
Zamierzamy użyć naszego pierwszego pełnego połączenia, jeśli chcemy uzyskać ukryte neurony, a następnie

01:45.360 --> 01:49.570
zastosujemy na nich funkcję dezaktywacji, która będzie rektyfikowaną funkcją.

01:49.860 --> 01:51.450
Jak zamierzasz to zrobić?

01:51.450 --> 01:54.680
Pamiętaj, że sprowadziliśmy pochodnię.

01:54.730 --> 02:01.450
I to jest ten moduł funkcjonalny, który zawiera wszystkie funkcje potrzebne do wdrożenia sieci neuronowej.

02:01.560 --> 02:02.960
I daliśmy mu skrót.

02:03.450 --> 02:08.130
Tak więc to, co teraz zrobimy, to wykorzystanie jednej z tych funkcji z

02:08.130 --> 02:11.240
modułu funkcjonalnego, a ta funkcja naprawdę działa.

02:11.430 --> 02:16.490
Tak więc istotna jest funkcja prostownika, którą zobaczyliście w wykładach intuicyjnych.

02:16.620 --> 02:19.040
To jest właśnie, a następnie przekazywane do funkcji prostownika.

02:19.170 --> 02:26.130
Ale skoro ta funkcja jest wzięta z tej funkcji, która otrzymała skrót, musimy najpierw wpisać

02:26.130 --> 02:31.860
tutaj pierwsze f myśli, a wtedy możemy skorzystać z tej funkcji.

02:31.990 --> 02:36.610
A tak naprawdę, jeśli piszę, to jesteśmy tutaj, mamy prawdziwą funkcję.

02:36.630 --> 02:41.980
Więc jest to sterowane przez funkcję, która aktywuje ukryte neurony, które są x.

02:42.030 --> 02:47.640
W tej właśnie funkcji rozumiemy doskonale, co musimy wprowadzić, to neurony, które

02:47.640 --> 02:48.920
chcemy aktywować.

02:48.990 --> 02:54.300
To są ukryte neurony, a więc aby uzyskać te ukryte neurony, wezmę

02:54.520 --> 03:01.540
pierwsze pełne połączenie, które zastosujemy do naszych neuronów wejściowych, aby przejść od neuronów wejściowych do neuronów.

03:01.800 --> 03:04.450
Weźmy więc pierwsze pełne połączenie.

03:04.620 --> 03:08.070
Ale nasze pierwsze pełne połączenie jest zmienną naszego obiektu.

03:08.130 --> 03:12.070
Dlatego musimy wpisać tutaj pierwsze ja.

03:12.120 --> 03:13.550
FC jeden tutaj.

03:13.620 --> 03:16.660
To pierwsze pełne połączenie naszej sieci neuronowej.

03:16.980 --> 03:22.890
Wewnątrz tego osobistego połączenia będziemy wprowadzać nasze stany wejściowe, aby przejść od neuronów wejściowych do

03:23.010 --> 03:24.210
ukrytych neuronów.

03:24.480 --> 03:30.680
I dlatego, że nadaliśmy mu nazwę STATE Cóż, tutaj mamy dwa stany wejściowe i zaczynamy.

03:30.720 --> 03:34.360
Teraz aktywujemy ukryte neurony.

03:34.510 --> 03:35.000
W porządku.

03:35.040 --> 03:40.610
A teraz, gdy mamy ukryte neurony, zwrócimy neurony wyjściowe.

03:40.640 --> 03:46.240
Więc następny wiersz i jak zrozumiałeś, neurony wyjściowe odpowiadają naszym działaniom.

03:46.370 --> 03:48.170
Ale to nie są działania bezpośrednio.

03:48.290 --> 03:55.760
Są to wartości q, ponieważ budujemy model cyfrowy, który łączy głębszy model z uczeniem się Q, a zatem

03:56.020 --> 04:02.090
używamy tutaj q learningu, aby uzyskać wartości q dla każdej z naszych akcji, a później

04:02.090 --> 04:09.560
używając soughed Max lub w naszym Maxu będziemy uzyskać ostateczną akcję, więc tutaj wojewoda, który zamierzam wprowadzić, będzie

04:09.560 --> 04:13.560
odpowiadał niuansowi APA, a neurony wyjściowe są kluczowymi wartościami.

04:13.640 --> 04:15.590
Cóż, nazwę tę zmienną.

04:15.590 --> 04:24.630
Q Oznacza to, że idziemy do wartości q, a teraz bezpośrednio przyjmujemy nasze połączenie żywnościowe, które jest zmienną.

04:24.810 --> 04:27.010
Aby wstawić zmienną z naszego obiektu.

04:27.020 --> 04:33.830
Więc bierzemy tutaj samouk F C i oczywiście tutaj wprowadzamy neurony po lewej stronie tego

04:34.010 --> 04:34.860
połączenia.

04:34.910 --> 04:38.050
To właśnie otrzymaliśmy z pierwszej linii, która jest x.

04:38.270 --> 04:40.770
Więc x Tam idziemy.

04:40.790 --> 04:42.650
Otrzymujemy teraz nasze wartości Q.

04:42.680 --> 04:45.790
To neurony wyjściowe naszej sieci neuronowej.

04:46.100 --> 04:46.800
DOBRZE.

04:47.060 --> 04:53.050
A następnie ostatnia linia kodu oczywiście ta funkcja forward jest używana do zwracania tych wartości.

04:53.210 --> 05:02.900
Musimy więc dodać zwrot i po prostu wartości Q, które zwrócą kluczowe wartości dla każdej możliwej akcji, idąc w lewo,

05:02.900 --> 05:06.310
idź prosto lub idź w prawo.

05:06.370 --> 05:06.760
W porządku.

05:06.760 --> 05:08.370
Gratulacje.

05:08.370 --> 05:13.720
Skończyliśmy z naszą pierwszą klasą i faktycznie skończyliśmy tworzyć architekturę sieci neuronowej.

05:13.720 --> 05:15.550
Pamiętaj, że to nie jest zakończona praca.

05:15.550 --> 05:19.890
Zawsze możesz ulepszyć architekturę sieci neuronowej, próbując różnych.

05:20.020 --> 05:22.780
Więc możesz to zrobić, dodając więcej neuronów.

05:22.780 --> 05:28.270
Na przykład, jeśli chcesz dodać 50 ukrytych neuronów, możesz po prostu zastąpić tutaj

05:28.270 --> 05:34.860
30 i 30 tutaj 50 50 i 50, a następnie dodać kilka ukrytych warstw, tworząc przydatne połączenia.

05:34.990 --> 05:37.630
Cóż, to naprawdę jest praca artysty.

05:37.660 --> 05:41.980
Nie ma ogólnej zasady, jaka byłaby najlepsza architektura w każdej sytuacji.

05:42.040 --> 05:43.720
Dlatego musimy eksperymentować.

05:43.940 --> 05:50.140
Spróbujemy z tym, że zobaczysz, że w końcu dostaniemy całkiem niezły samochód do samodzielnego prowadzenia.

05:50.170 --> 05:50.590
W porządku.

05:50.620 --> 05:55.960
A teraz zamierzamy stworzyć następną klasę, która będzie dotyczyć powtórki z doświadczenia, a zrobimy to w ciągu najbliższych

05:55.990 --> 05:57.450
trzech do dwóch godzin.

05:57.610 --> 05:59.080
Do tego czasu ciesz się AI.
