WEBVTT

00:00.710 --> 00:02.430
Witam wszystkich i witamy ponownie.

00:02.450 --> 00:04.970
W tym wykładzie zajmiemy się konfiguracją naszego środowiska.

00:05.270 --> 00:10.820
I chcę przedstawić ten bardziej ogólny przegląd dla tych, którzy chcą spróbować rozwiązać go na własną

00:10.820 --> 00:11.180
rękę.

00:11.480 --> 00:14.120
I to może wyglądać znajomo w ostatnim wykładzie, który to widziałeś.

00:14.330 --> 00:15.740
Więc jeśli to przeczytasz, przepraszam.

00:15.740 --> 00:17.270
Po prostu przejdziemy przez to bardzo szybko.

00:17.900 --> 00:18.740
Najpierw najważniejsze.

00:19.160 --> 00:24.230
W tym projekcie naprawdę dążymy do tego, aby był tak prosty, jak to tylko możliwe, w tym sensie, że nie musimy

00:24.230 --> 00:25.400
importować zbyt wielu bibliotek.

00:25.400 --> 00:27.890
Po prostu będziemy używać do tego NumPy.

00:27.890 --> 00:33.050
Musimy tylko zaimportować NumPy jako i P, zwykle wspólne odniesienie dla numpy.

00:33.350 --> 00:37.250
Chcemy też skonfigurować nasze środowisko, jak zobaczysz tutaj.

00:37.520 --> 00:40.430
I po prostu przejdziemy przez to ponownie bardzo szybko jako przegląd.

00:40.580 --> 00:46.190
Pierwszym krokiem w naszej nauce Q jest znalezienie środowiska, w którym listonosz musi się poruszać.

00:46.190 --> 00:49.910
Potrzebujemy skonfigurowania tego środowiska, abyśmy mogli rzeczywiście iterować i przechodzić przez nie.

00:50.570 --> 00:55.340
Na tym wykładzie środowisko będzie składać się ze stanów, działań i nagród.

00:55.700 --> 01:01.100
Stany i działania są danymi wejściowymi dla agenta uczenia Q, podczas gdy możliwe działania są agentami,

01:01.100 --> 01:06.410
wyjścia to stany, o których możemy myśleć i patrzeć na ten obraz jako naszą reprezentację.

01:06.710 --> 01:11.630
Stany w naszym otoczeniu to wszystkie możliwe lokalizacje w mieście, które możemy nazwać tym przykładowym miastem.

01:11.960 --> 01:17.810
Niektóre z tych lokacji to granice miasta, które będą naszymi czarnymi kwadratami, podczas gdy inne lokacje to

01:17.810 --> 01:21.050
wyspy, z których listonosz może podróżować po mieście.

01:21.050 --> 01:22.310
To będą białe kwadraty.

01:22.820 --> 01:26.750
Zielony kwadrat wskazuje miejsce pakowania i wysyłki przedmiotu.

01:27.140 --> 01:31.310
Czarne i zielone kwadraty nazywamy stanami końcowymi.

01:31.640 --> 01:35.990
Tak więc ogólnie, naszym celem lub celem naszego agenta, chcemy wybrać najkrótszą ścieżkę.

01:35.990 --> 01:41.810
Chcemy, aby nasz agent nauczył się najkrótszej drogi między obszarem pakowania przedmiotów, słoikiem, zielenią i wszystkimi innymi

01:41.810 --> 01:45.050
miejscami w mieście, w których listonosz może podróżować.

01:49.330 --> 01:55.480
Na powyższym obrazku mamy 121 możliwych stanów lub lokalizacji w mieście.

01:55.930 --> 01:58.450
Stany te są ułożone w siatce 11 na 11.

01:58.750 --> 02:02.140
Każdą lokalizację można zidentyfikować na podstawie indeksu wiersza i kolumny.

02:02.560 --> 02:04.450
Więc jaki byłby nasz pierwszy krok?

02:04.450 --> 02:07.660
I to jest naprawdę chęć, żebyście zaczęli myśleć o tym, jak możecie to zdefiniować.

02:08.470 --> 02:10.340
Musimy zdefiniować nasze środowisko.

02:10.360 --> 02:13.120
To dobry przykład naszego wizerunku i tego, jak do niego podejdziemy.

02:13.120 --> 02:14.440
Więc jak byś to wymodelował?

02:14.590 --> 02:20.890
Pamiętaj, że używamy NumPy, więc musimy zdefiniować te granice i możemy zdefiniować tablicę 3D numpy, aby przechowywać

02:20.890 --> 02:27.010
nasze bieżące wartości Q dla każdej pary stanów i akcji, tak jak widzimy naszą reprezentację.

02:27.520 --> 02:32.380
A dla tych z Was, którzy nie są z nim zaznajomieni, a może jest to

02:32.380 --> 02:38.110
nowość lub po prostu chcą się odświeżyć, podręcznik Air Z z tego kursu jest niezwykle pomocny, wysoce zalecany.

02:38.380 --> 02:39.820
Więc co mamy tutaj zrobić?

02:40.180 --> 02:41.140
Właściwie możemy.

02:41.440 --> 02:45.040
Pozwólcie, że rozwinę to bardzo szybko dla nas, abyśmy mogli trochę łatwiej go zobaczyć.

02:45.070 --> 02:46.420
Dodam tylko kilka komórek kodu.

02:46.720 --> 02:48.610
Zdefiniujemy nasze imperium 3D.

02:49.480 --> 02:50.770
Jak byś się do tego zabrał?

02:51.280 --> 02:52.900
Mamy więc kilka opcji.

02:52.900 --> 02:57.070
Ale najprostszą i najprostszą opcją, nazwijmy to wierszami środowiska.

02:59.790 --> 03:01.450
Rose i ustawmy ją na 11.

03:01.470 --> 03:02.590
To 11 na 11.

03:02.680 --> 03:06.660
Wtedy też możemy zrobić środowisko, podkreślenie kolumn.

03:08.860 --> 03:10.600
Możemy też ustawić to na 11.

03:11.170 --> 03:17.920
Na koniec możemy ustawić nasze wartości Q, ponieważ musimy dodać nasz numpy z wierszami środowiska, kolumnami

03:17.920 --> 03:18.370
środowiska.

03:19.910 --> 03:30.260
I możemy ustawić to jako wartości Q równe zerom NumPy i musimy użyć naszych wierszy środowiska, kolumn

03:30.980 --> 03:31.730
środowiska.

03:32.790 --> 03:40.050
I mamy naszą tablicę 3D numpy, naszą reprezentację środowiska 3D ustawioną z naszym środowiskiem.

03:41.040 --> 03:41.520
Niesamowite.

03:42.330 --> 03:46.440
Teraz zamierzamy to zostawić, ale chcę, żebyście zaczęli myśleć o tym, jak to rozwiązać,

03:46.440 --> 03:48.120
ponieważ macie już skonfigurowane środowisko.

03:48.450 --> 03:52.620
Następną rzeczą, którą będziesz chciał zrobić jako wskazówkę, jest ustawienie swoich działań.

03:52.830 --> 03:55.470
Twój agent musi być w stanie poruszać się po środowisku.

03:55.710 --> 03:57.150
Więc jak byś to reprezentował?

03:57.360 --> 03:58.830
Jak byś to napisał?

03:59.070 --> 04:01.890
W przypadku tego problemu zostawmy to tutaj.

04:01.890 --> 04:04.650
W następnym filmie ponownie przyjrzymy się tym działaniom.

04:05.100 --> 04:05.550
Niesamowite.

04:05.940 --> 04:06.960
Do zobaczenia w następnym filmie.
