WEBVTT

00:00.270 --> 00:06.230
Cześć, witamy w tej fajce i Torro, teraz musimy zdefiniować pięć zmiennych tej

00:06.240 --> 00:09.560
funkcji, czyli trzy zwitki i połączenia czasowe.

00:09.810 --> 00:11.100
Zacznijmy od pierwszego.

00:11.250 --> 00:18.690
Convolutional jeden stosuje splot do obrazów wejściowych, więc to oryginalne obrazy, a teraz zobaczysz, jak wszystko

00:18.690 --> 00:22.710
stanie się tak proste, aby stworzyć tę splot.

00:22.770 --> 00:29.070
Cóż musimy zrobić, to stworzyć temat jakiejś konkretnej klasy i ta

00:29.070 --> 00:38.800
klasa jest zaczerpnięta, a potem klasy przychodzą do, ponieważ pracujemy z obrazami 2D i teraz, jak widać, musimy

00:38.800 --> 00:40.930
umieścić kilka argumenty.

00:40.930 --> 00:43.140
Pierwszy jest w kanałach.

00:43.190 --> 00:45.910
Wrzućmy to do kanałów.

00:45.970 --> 00:49.210
Drugi to kanały.

00:49.330 --> 00:57.070
Trzeci to rozmiar Kerno, a reszta z nich idzie naprzód, dylatując grupy i stronniczość.

00:57.130 --> 00:59.120
I mamy różne wartości dla wszystkich tych.

00:59.260 --> 01:02.290
Więc nie zamierzamy, ale zamierzamy zachować wartości domyślne.

01:02.470 --> 01:08.500
Ale najważniejsze są te trzy argumenty w kanałach i kanałach oraz rozmiar jądra, więc domyślam się, do

01:08.500 --> 01:09.740
czego one odpowiadają.

01:09.880 --> 01:15.730
Cóż, bardzo ogólnie po prostu odpowiadają wprowadzeniu splotu, a wszystkie kanały

01:15.730 --> 01:17.900
odpowiadają wynikowi konkluzji.

01:17.920 --> 01:19.940
Więc co to będzie.

01:20.110 --> 01:24.460
Cóż, po prostu będzie to liczba kanałów w naszych obrazach.

01:24.610 --> 01:30.460
I rzeczywiście będziemy pracować z czarno-białymi obrazami, ponieważ w zasadzie nie rozpoznajemy

01:30.460 --> 01:31.360
potworów.

01:31.450 --> 01:35.310
AI jest całkowicie zdolna rozpoznać potwory w czerni i bieli.

01:35.440 --> 01:39.200
Tak więc nie widzimy kolorów po prostu rozpoznajemy ich kształt.

01:39.250 --> 01:44.380
Dlatego użyjemy jednego kanału, więc jeden kanał jest wtedy, gdy mamy czarno-białe obrazy

01:44.380 --> 01:46.820
i trzy kanały, kiedy wywołujecie obrazy.

01:46.930 --> 01:51.320
I dlatego, że pracujemy z czarno-białymi obrazami w kanałach, to

01:51.340 --> 01:59.730
będzie to jeden z naszych kanałów, więc nasze kanały będą równe obrazom, które chcesz mieć w splotach tam, gdzie

01:59.730 --> 02:02.970
jest wyjście z tej konstytucji. jeden.

02:02.970 --> 02:08.820
Zasadniczo jest to równa liczbie funkcji, które chcesz, aby tekst na oryginalnych obrazach, ponieważ kto stworzy

02:09.240 --> 02:15.040
jeden obraz na funkcję, którą chcemy wykryć, ponieważ w zasadzie wiesz, jak to działa.

02:15.120 --> 02:21.390
Zastosowaliśmy jeden detektor cech do obrazu wejściowego, aby wykryć określoną funkcję w obrazie wejściowym,

02:21.390 --> 02:26.450
a zatem liczba obrazów wyjściowych to liczba funkcji, które chcemy wykryć.

02:26.460 --> 02:30.110
Teraz pytanie brzmi, ile funkcji chcemy wykryć.

02:30.240 --> 02:38.730
Cóż, powszechną praktyką jest rozpoczęcie od 32 detektorów cech, które doprowadzą nas do 32-procentowych obrazów w tej

02:38.820 --> 02:46.170
pierwszej warstwie splotowej, więc wejście to jeden obraz czarno-biały, prawdziwy obraz, a wynik pierwszego

02:46.170 --> 02:53.010
splotu to 32 przetworzone obrazy i przez przetworzenie rozumiem oczywiście, że wniosek został

02:53.380 --> 02:59.750
zastosowany do obrazu wejściowego, aby uzyskać 32 nowe obrazy z wykrytymi funkcjami.

03:00.240 --> 03:06.990
A następnie musimy określić rozmiar jądra, który jest niczym innym jak wymiarami kwadratu, który

03:07.080 --> 03:09.450
przejdzie przez oryginalny obraz.

03:09.600 --> 03:15.350
I w powszechnej praktyce używamy albo do kupienia dwóch lub trzech szerokości trzech lub pięciu na pięć.

03:15.660 --> 03:22.170
W przypadku pierwszego zastosujemy detektor pięciu na pięć detektorów cech, które będą miały pięć

03:22.170 --> 03:24.580
na pięć 10 silników.

03:24.810 --> 03:29.290
A następnie zmniejszymy rozmiar tego jądra dla kolejnych warstw splotu.

03:29.340 --> 03:32.320
Mówiąc o tym, właśnie to teraz zrobimy.

03:32.390 --> 03:40.860
Zamierzamy skopiować to, aby zdefiniować drugi splot i dlatego opieram się na tym, że tu i teraz jest bardzo zabawny i

03:40.890 --> 03:43.370
bardzo łatwy jest jak domino.

03:43.500 --> 03:49.810
Kanał wejściowy drugiej warstwy splotowej jest kanałem wyjściowym pierwszego splotu tam.

03:49.950 --> 03:55.300
Tak więc ta liczba wyjść 32 Tutaj jest ta sama liczba wejść 32 tutaj.

03:55.420 --> 04:01.290
A to dlatego, że mamy 32 obrazy w wejściowej warstwie splotowej drugiej splotu.

04:01.440 --> 04:10.340
Tak więc drugi splot jest stosowany do tej drugiej warstwy splotowej, aby przywrócić trzecią warstwę splotową.

04:10.530 --> 04:13.280
Teraz pytanie brzmi: ile nowych zdjęć chcemy.

04:13.410 --> 04:19.820
Cóż, to samo, co tworzy 32 nowe obrazy 32 jest w rzeczywistości bardzo popularną liczbą w splotowych sieciach neuronowych, jeśli

04:19.830 --> 04:23.710
spojrzeć na architektury, z których 32 znajdzie się w wielu z nich.

04:24.030 --> 04:29.910
A następnie dla rozmiaru jądra Cóż, musimy zmniejszyć rozmiar jądra, który jest wymiarami naszego detektora

04:29.910 --> 04:30.610
cech.

04:30.780 --> 04:37.680
Teraz przejdziemy od pięciu do czterech, a nawet trzech, a potem pójdziemy jeszcze mniej.

04:37.920 --> 04:40.790
W porządku, więc nasz drugi splot jest gotowy.

04:40.830 --> 04:43.830
Jako wejścia przyjmuje 32 obrazy procesowe.

04:43.890 --> 04:51.130
Każdy w pierwszej funkcji oryginalnego obrazu wejściowego i tworzy 32 nowe obrazy.

04:51.270 --> 04:54.990
Dzięki tym zmniejszonym wymiarom detektora cech.

04:55.120 --> 04:57.250
A więc teraz popchnijmy to jeszcze bardziej.

04:57.300 --> 05:05.450
Tak więc kopiuję to i wkleja to tutaj, aby utworzyć trzecią splot w celu wykrycia niektórych funkcji.

05:05.470 --> 05:08.010
I tak teraz to są te same kanały wejściowe.

05:08.010 --> 05:13.800
Oto liczba obrazów wejściowych po lewej stronie połączenia dekonwolucji i jest to liczba obrazów

05:13.800 --> 05:17.740
wstępnych, które przeszły na prawo od poprzednich połączeń splotu.

05:17.740 --> 05:18.710
To 32.

05:18.750 --> 05:20.030
Dlatego wciąż przykro nam to słyszeć.

05:20.030 --> 05:20.990
To idealne.

05:21.220 --> 05:25.220
A teraz pytanie brzmi, ile nowych obrazów chcemy wykryć.

05:25.310 --> 05:31.130
Przejmiemy teraz 64, a zatem 64 wyjścia z obrazów wstępnych.

05:31.260 --> 05:36.800
I oczywiście teraz bierzemy mniejszy rozmiar jądra, a my weźmiemy dwa.

05:36.800 --> 05:42.660
Jest to bardzo klasyczna architektura splotu i bardzo wydajne jest

05:42.660 --> 05:45.840
wykrywanie cech w obrazach.

05:46.200 --> 05:53.010
W porządku, a teraz, kiedy mamy trzy nasze spory, są tutaj nasze trzy połączenia

05:53.010 --> 05:53.510
splotowe.

05:53.640 --> 05:59.970
Teraz nadszedł czas, aby uzyskać nasze pełne zębów połączenia, które przypominam, że weźmiemy ten ogromny wektor,

05:59.970 --> 06:07.710
który otrzymamy po spłaszczeniu wszystkich 64 razy 32 razy 32 ponownie obrazy, które otrzymaliśmy od wszystkich tych zwinięć, więc spłaszczyliśmy

06:08.160 --> 06:13.920
wszystkie piksele tych obrazów i możemy jeden ogromny wektor, który stanie się wejściem nowej,

06:14.190 --> 06:16.590
w pełni połączonej sieci neuronowej.

06:16.860 --> 06:22.230
I dlatego właśnie musimy wykonać te połączenia między pierwszym ogromnym wektorem a ukrytą warstwą, a

06:22.470 --> 06:27.710
następnie drugim pełnym połączeniem między warstwą ukrytą a wyjściem, które składają się z wyjściowych

06:27.730 --> 06:28.270
neuronów.

06:28.320 --> 06:31.940
Każda odpowiadająca wartości kostki możliwych działań.

06:31.980 --> 06:33.960
Zróbmy te dwa połączenia.

06:33.960 --> 06:35.220
Wiesz, jak to zrobić.

06:35.220 --> 06:37.550
Dokładnie to samo zrobiliśmy dla samochodu do samodzielnego prowadzenia.

06:37.560 --> 06:38.800
Zróbmy to ponownie.

06:39.000 --> 06:46.890
Najpierw weźmy nasze Maggio, a potem weźmy Lynnie naszą klasę, ponieważ znowu połączenie, które tworzymy,

06:46.920 --> 06:49.060
jest przedmiotem klasy rządzącej.

06:49.260 --> 06:50.550
A następnie w nawiasie.

06:50.670 --> 06:58.620
Cóż, to jest to samo dla wprowadzenia funkcji wejściowych, które jest ich liczba, a następnie funkcje wyjściowe.

06:58.850 --> 07:03.110
I tak funkcje wprowadzania dla pierwszego pełnego połączenia, co to będzie.

07:03.340 --> 07:10.300
Cóż, to będzie równa liczbie pikseli w tej ogromnej zmianie wektora po spłaszczeniu

07:10.480 --> 07:13.830
wszystkich obrazów procesu po trzech zwojach.

07:13.830 --> 07:15.110
I co to za liczba?

07:15.220 --> 07:17.350
No cóż, jest tu pewna sztuczka.

07:17.380 --> 07:19.620
Ta liczba jest naprawdę trudna do zdobycia.

07:19.660 --> 07:22.770
W rzeczywistości musimy wykonać funkcję obliczenia tego numeru.

07:22.960 --> 07:25.570
Nie mamy zmiennej, która dostarczy nam ten numer.

07:25.570 --> 07:29.040
Musimy to obliczyć, a zatem, co teraz zrobimy.

07:29.150 --> 07:34.780
A teraz bardzo ważne jest zrozumienie sposobu myślenia o programowaniu, który musimy mieć i staranie się doprowadzić

07:35.200 --> 07:40.930
do myślenia o tym, co musicie teraz myśleć, aby poradzić sobie z tą przeszkodą, ponieważ za pierwszym

07:41.110 --> 07:45.690
razem można powiedzieć, że ja nie. mieć taką liczbę neuronów w wektorze Flaten.

07:45.730 --> 07:46.650
Co powinienem zrobić.

07:46.660 --> 07:47.600
Utknąłem tutaj.

07:47.800 --> 07:55.720
No cóż właściwie nie, ponieważ teraz możesz po prostu wprowadzić dowolną nazwę, która będzie reprezentować liczbę neuronów tak

07:55.720 --> 08:01.690
niespotykanych, że liczba neuronów będzie liczbą neuronów, a następnie po prostu wykonamy funkcję,

08:01.690 --> 08:05.130
która powróci i zmienimy tę liczbę neuronów.

08:05.180 --> 08:07.100
Tę liczbę pikseli, których szukamy.

08:07.330 --> 08:12.760
Możemy więc całkowicie zrobić to, co możemy całkowicie nazwać tym bardzo głośnym, oczywiście otrzymamy ostrzeżenie,

08:12.760 --> 08:17.090
ponieważ ono jeszcze nie istnieje, ale później stworzymy je z funkcją.

08:17.350 --> 08:21.140
I jesteśmy całkowicie uprawnieni do tego, nawet jeśli funkcja ta nastąpi później.

08:21.170 --> 08:25.970
To typowe myślenie programistyczne, które musisz mieć, gdy dostaniesz taką przeszkodę.

08:26.020 --> 08:29.710
Cóż, możesz zrobić funkcję, aby uzyskać to, czego brakuje.

08:29.740 --> 08:32.640
W porządku, a następnie nasze funkcje i naszą przyszłość.

08:32.650 --> 08:37.830
To liczba neuronów w ukrytej warstwie i że ten czas należy do ciebie.

08:37.870 --> 08:41.230
To zależy od architektury nowej sieci, którą chcesz utworzyć.

08:41.230 --> 08:44.230
Tak więc dobra liczba nie byłaby mała.

08:44.230 --> 08:46.960
Na przykład 40 neuronów może być w porządku.

08:46.960 --> 08:48.660
Możemy spróbować to zwiększyć.

08:48.790 --> 08:51.280
Jeśli szkolenie nie trwa zbyt wolno, możesz spróbować to zwiększyć.

08:51.340 --> 08:56.750
Może to poprawi przewidywania, ale zacznijmy od 40, może później to zwiększymy.

08:57.130 --> 09:04.690
W porządku, to wszystko za pierwsze pełne połączenie, a następnie skopiujemy tę pastę, aby uzyskać drugie pełne

09:04.710 --> 09:09.300
połączenie, które jest połączeniem między warstwą ukrytą a warstwą wyjściową.

09:09.370 --> 09:15.720
Tak więc funkcje tutaj stają się cechami poprzedniej warstwy, a mianowicie 40.

09:15.790 --> 09:18.020
Więc tutaj możemy umieścić 40.

09:18.190 --> 09:20.500
To oczywiście liczba neuronów w warstwie.

09:20.860 --> 09:27.280
A nasza przyszłość będzie równa liczbie neuronów wyjściowych, w których nie powinno być żadnej sieci neuronowej.

09:27.340 --> 09:33.360
A ponieważ każdy wyjściowy neuron odpowiada jednej nowej wartości i jednemu Cuvee oraz reakcji

09:33.370 --> 09:38.440
na jedno działanie, podczas gdy liczba neuronów wyjściowych jest tutaj oczywiście

09:38.740 --> 09:47.320
liczbą działań i mamy jedną zmienną do tego, która jest liczbą działań, a zatem tutaj akcje liczby wejściowej i tam gratulujemy.

09:47.390 --> 09:53.850
Znaleźliśmy architekturę naszej sieci neuronowej, nasza sieć neuronowa składa się z trzech warstw splotowych

09:53.850 --> 09:55.960
i jednej ukrytej warstwy.

09:56.130 --> 10:03.020
Wszystko to w jednym dużym CNN i tym CNN wykryje funkcje w grze, aby AI wiedziała, gdzie musi

10:03.020 --> 10:06.550
iść, dokąd musi iść i gdzie musi strzelać.

10:06.900 --> 10:08.240
Więc idziemy na ten krok.

10:08.340 --> 10:10.720
To pierwszy bardzo ważny krok.

10:10.720 --> 10:16.020
Teraz przejdziemy do następnego kroku, który oczywiście ma na celu uzyskanie tej liczby neuronów, której

10:16.020 --> 10:17.010
wciąż brakuje.

10:17.010 --> 10:21.930
Właśnie dlatego mamy tu ostrzeżenie i numery telefonów, ale nie martw się.

10:21.960 --> 10:26.970
Teraz stworzymy funkcję, która zwróci liczbę neuronów w tym ogromnym wektorze, a my umieścimy

10:26.970 --> 10:30.210
tę liczbę w zmiennej, która wywoła liczbę neuronów.

10:30.270 --> 10:32.070
Zróbmy to w następnym samouczku.

10:32.070 --> 10:33.130
To jest nasz kolejny krok.

10:33.180 --> 10:34.790
A do tego czasu ciesz się AI.
