WEBVTT

00:00.480 --> 00:06.650
Cześć, witamy w tym samouczku, teraz zrobimy tę drugą funkcję, aby zainicjować wagi.

00:06.840 --> 00:11.190
I ten będzie używany do uzyskania optymalnej nauki.

00:11.340 --> 00:13.160
Właściwie te wagi.

00:13.230 --> 00:21.960
Tak więc druga funkcja, którą będziemy nazywać wagą, podkreśli w nim i podejmie jako argument obiekt

00:22.200 --> 00:26.020
i który będzie reprezentować sieć neuronową.

00:26.220 --> 00:27.080
To wszystko.

00:27.090 --> 00:32.300
A potem dwukropek i teraz wejdźmy do funkcji, aby zdefiniować, co chcemy zrobić.

00:32.580 --> 00:38.610
Zasadniczo chcieliśmy zainicjować wagi nowej sieci w taki sposób, aby uzyskać

00:38.610 --> 00:39.920
optymalną naukę.

00:40.080 --> 00:43.590
To nie wydaje się szczególnie intuicyjne.

00:43.590 --> 00:46.740
Opiera się to na pracach badawczych i eksperymentach.

00:46.740 --> 00:52.440
Zamierzamy zainicjować wagi w określony sposób, którego wcześniej nie widzieliśmy, ale uwierzcie, że

00:52.440 --> 00:54.740
zoptymalizują proces uczenia się.

00:54.930 --> 01:00.760
Więc właśnie wdrożyliśmy, nie wdając się w szczegóły, dlaczego tak inicjujemy wagi.

01:00.960 --> 01:06.390
A więc zaczniemy od użycia sztuczki, która zostanie później wykorzystana do rozróżnienia pomiędzy

01:06.660 --> 01:13.260
splotem a pełnym połączeniem, ponieważ wiesz, że nasza sztuczna inteligencja będzie miała oczy i dlatego będzie

01:13.260 --> 01:15.290
miała kilka splotowych warstw.

01:15.330 --> 01:20.550
Oczywiście będzie również mieć kilka w pełni połączonych warstw i będziemy mieli różne

01:20.550 --> 01:23.550
inicjowanie wag dla tych dwóch typów połączeń.

01:23.820 --> 01:28.620
Więc użyjemy tej sztuczki, aby oddzielić te dwa rodzaje połączeń, a

01:28.890 --> 01:34.160
następnie użyjemy pewnych warunków, aby uzyskać różne inicjowanie dla każdego z tych połączeń.

01:34.170 --> 01:40.410
Więc ta sztuczka polega na stworzeniu nowej zmiennej, którą nazwiemy nazwiskiem i która zostanie

01:40.410 --> 01:44.630
wywołana do obiektu i będzie reprezentować sieć neuronową.

01:44.670 --> 01:47.140
Ale to obiekt, który zobaczymy później.

01:47.430 --> 01:54.290
I otrzymamy specjalny atrybut z tego obiektu, którym będzie Kolesnik z

01:54.390 --> 02:01.570
podwójnym podkreśleniem pierwszej klasy podwójnego podkreślenia kropka podwójnego podkreślenia ponownie i prawie tam.

02:01.610 --> 02:03.100
Kolejny podwójny podkreślnik.

02:03.360 --> 02:10.500
To dość brzydka sztuczka, aby znaleźć typ połączenia naszego nowego obiektu sieciowego, ale to da nam dokładnie

02:10.500 --> 02:12.100
to, czego chcesz.

02:12.210 --> 02:15.300
Zobaczycie, że to ma sens, gdy zaczniemy, jeśli warunki.

02:15.540 --> 02:19.710
A przy okazji mówiąc o warunkach, możemy ich teraz zatrzymać.

02:19.710 --> 02:26.170
A więc teraz zrobimy pierwszy warunek, który przyniesie nam pierwszy przypadek.

02:26.280 --> 02:35.510
Oznacza to, że jeśli połączenie jest splotem, należy zapisać ten warunek, jeśli nazwa klasy jest w porządku.

02:35.510 --> 02:45.180
Tutaj używamy metody find find i inside, kiedy umieszczamy ją w cudzysłowach na splot.

02:45.300 --> 02:54.330
Jeśli więc nazwa klasy znajdzie to, co możemy, to zrobimy coś innego niż minus jeden, który jest tak naprawdę,

02:54.540 --> 02:57.900
jeśli mamy splot, ponieważ Manasquan znaczy "nie".

02:58.200 --> 03:03.360
W takim przypadku zrobimy specjalną inicjalizację wag.

03:03.420 --> 03:07.830
Więc ten warunek tutaj oznacza, że mamy połączenie splotu.

03:07.830 --> 03:13.910
Tak więc w tym przypadku to, co robimy, uruchamia tę specyficzną inicjalizację sposobu, w jaki chcemy to zrobić.

03:14.040 --> 03:17.930
I tu właśnie nadejdą wszystkie nie intuicyjne rzeczy.

03:18.060 --> 03:21.990
Zaczniemy od utworzenia zmiennej, którą będziemy nazywać.

03:22.180 --> 03:29.260
I ten kształt sądowy, aby ciężar podkreślał kształt będzie listą, która zasadniczo będzie zawierała kształt ciężarów

03:29.530 --> 03:31.310
w naszej nowej sieci.

03:31.580 --> 03:35.800
I dlatego używamy funkcji list do tworzenia listy.

03:35.930 --> 03:43.500
Wewnątrz wstawimy sieć neuronową, która będzie wagą sieci neuronowej.

03:43.570 --> 03:50.890
Ale w połączeniu splotowym i aby uzyskać kształt tych ciężarów, używamy innego atrybutu,

03:50.890 --> 03:59.670
który jest taki, że dane, a następnie wielkość, dostarczy nam kształt tych wag w połączeniu splotowym.

03:59.680 --> 04:06.580
Teraz kształt wagi zawiera na liście kształt ciężarów i połączeń splotowych naszej

04:06.880 --> 04:08.300
sieci i.

04:08.460 --> 04:14.510
W porządku, więc mamy kształt wagi, aby zainicjować wagi tego połączenia splotu.

04:14.560 --> 04:16.650
Będziemy potrzebować dwóch wartości.

04:16.650 --> 04:22.920
Pierwszy to iloczyn pierwszego wymiaru drugiej nominacji przez ten trzeci wymiar.

04:22.930 --> 04:27.960
A więc to właśnie otrzymamy teraz, a następnie będziemy musieli uzyskać zer czasy

04:27.960 --> 04:33.570
starożytności za drugim razem, a czasem trzeci wymiar, a następnie użyjemy tych dwóch wartości w konkurencji,

04:33.660 --> 04:35.660
w jaki sposób zainicjujemy ciężary.

04:35.670 --> 04:37.920
Przejdźmy więc przez ten pierwszy produkt.

04:37.920 --> 04:46.050
Nazywamy to zabawą i będzie równać się produktowi i użyjemy funkcji prod, która jest funkcją

04:46.050 --> 04:55.270
przez nie-Thai, która ma skrót i P So MP, która PRUD i wewnątrz prod wprowadzamy to, co chcemy

04:55.260 --> 04:56.680
zrobić produkt.

04:57.180 --> 05:02.590
I tak jak powiedzieliśmy, że jest to diament i jeden dwa i trzy nasze wagi.

05:02.880 --> 05:10.430
Aby to uzyskać, możemy przyjąć kształt fali i uzyskać indeksy tych trzech silników liniowych.

05:10.500 --> 05:15.800
I tak ustawiliśmy Simonton jeden na 10 cali i trzy w zestawie.

05:16.020 --> 05:18.770
Więc loch dla wykluczonych.

05:19.050 --> 05:24.230
I tak możemy to zdobyć, ponieważ górna granica tutaj nie jest zawarta.

05:24.440 --> 05:35.410
Więc to jest to, czego chcemy, to samo dla zabawy, tak jak powiedzieliśmy, że to będzie produkt uszkodzeń w wymiarze czasu

05:35.410 --> 05:39.650
zero dwa razy, o których wspomniałem trzy.

05:39.730 --> 05:45.490
I tak tutaj możemy uzyskać indeksowane od dwóch uwzględnionych do czterech wykluczonych.

05:45.730 --> 05:52.110
Tak więc otrzymamy iloczyn czasu i dwóch i trzech, a następnie możemy pomnożyć

05:52.180 --> 05:58.900
przez projekt i zero, do których możemy uzyskać dostęp za pomocą zerowej wartości zerowej zerowej.

05:59.230 --> 06:16.990
Podsumowując, jest to jeden raz dwa razy w trzech, a tuż poniżej mamy zero razy dwa razy w trzech z naszej

06:16.990 --> 06:20.320
listy kontroli masy.

06:20.320 --> 06:25.390
W porządku, więc teraz użyjemy tych dwóch wartości, aby włączyć wentylator i

06:25.870 --> 06:33.280
wyjść, aby rozpocząć inicjalizację, ponieważ zamierzamy obliczyć nową wartość, ponieważ będziemy ją wywoływać jako W związaną i która jest równa

06:33.280 --> 06:39.530
pierwiastkowi kwadratowemu, który możemy uzyskać za pomocą funkcji i P od i przez to jako qr t.

06:39.520 --> 06:40.830
Drugi jak wcześniej.

06:40.840 --> 06:46.710
Więc pierwiastek kwadratowy z 6 podzielony przez rozwijanie.

06:46.820 --> 06:57.340
Więc fani, dajmy fanom, że dostaliśmy to W tutaj reprezentuje w pewnym sensie rozmiar dziesiątek

06:57.340 --> 06:58.140
ciężarów.

06:58.240 --> 06:59.740
I dlaczego to uzyskaliśmy.

06:59.740 --> 07:06.130
To dlatego, że to, co właśnie mieliśmy teraz zrobić, to chcemy wygenerować losowe wagi,

07:06.130 --> 07:10.070
które są odwrotnie proporcjonalne do wielkości tensora wag.

07:10.180 --> 07:18.580
Ponieważ tak naprawdę to, co teraz zrobimy, to weź naszą nową sieć, a następnie zdobądź jej wagę.

07:18.580 --> 07:25.260
Wciąż biorąc masę atrybutu, a następnie dostęp do jego danych, które są same tensor.

07:26.100 --> 07:33.330
A następnie z tego tensora wag będziemy generować losowe wagi, które są

07:33.330 --> 07:37.110
odwrotnie proporcjonalne do wielkości ciężarów tensorowych.

07:37.180 --> 07:45.520
I tak w tej jednorodnej funkcji musimy teraz umieścić dolną granicę, która będzie minus W, a górna

07:45.520 --> 07:49.090
granica, która będzie plus W powrotem.

07:49.750 --> 07:52.460
OK, więc to dla odważników.

07:52.510 --> 07:57.460
A teraz musimy zainicjować uprzedzenia i dobre wieści dla uprzedzeń.

07:57.460 --> 07:59.130
To będzie znacznie prostsze.

07:59.200 --> 08:07.650
Zamierzamy zainicjować je wszystkie zerami, więc aby je kupić, bierzemy je z naszego modelu oczywiście, który jest naszą

08:08.070 --> 08:09.470
nową siecią.

08:09.930 --> 08:15.790
A następnie atrybutem stronniczości jest uprzedzenie to samo z dostępem do danych.

08:16.200 --> 08:23.430
A potem użyjemy metody, która jest metodą podkreślenia Phila, która, jak można się domyślić, jest używana

08:23.580 --> 08:29.970
do wypełnienia tensora stronniczości zerami oraz reguł, które musimy określić, abyśmy chcieli wypełnić

08:29.970 --> 08:31.600
go zerami tutaj.

08:31.700 --> 08:34.230
I dlatego właśnie stawiam tutaj zero.

08:34.560 --> 08:40.210
W porządku, więc podsumowując generujemy losowe wagi odwrotnie proporcjonalne do wielkości

08:40.210 --> 08:43.860
wag tensora i zainicjowaliśmy urządzenie zerami.

08:43.860 --> 08:49.850
W porządku, tak było w przypadku Inicjowania akcji przy połączeniach splotowych.

08:49.880 --> 08:52.880
Teraz musimy zrobić to samo dla pełnego połączenia.

08:53.300 --> 09:01.470
Dodamy więc nowy warunek i jeśli zrobimy to samo, używamy nazwy pierwszej klasy, która jest tą

09:01.470 --> 09:05.160
zmienną, która zawiera różne nazwy połączeń.

09:05.160 --> 09:14.440
Więc jeśli nazwa klasy jest taka sama, używamy metody find, do której w tym czasie cytowane jest pełne połączenie, które

09:14.580 --> 09:19.050
jest klasycznym połączeniem liniowym w klasycznej sztucznej sieci neuronowej.

09:19.390 --> 09:27.160
A więc nazwa tego jest liniowa i mówimy, że użyjemy tej sztuczki, aby powiedzieć, że chcemy, żeby

09:27.160 --> 09:35.810
była inna niż minus jedna, więc to koniec klasy rzeczy, to znaczy, że cienki len jest inny niż minus

09:35.810 --> 09:41.360
jeden oznacza, że połączenie jest w tam jest, jeśli mamy klasyczne połączenie.

09:41.360 --> 09:44.620
Więc w takim razie, jak zamierzamy zainicjować wagi.

09:44.840 --> 09:47.260
Cóż, to będzie zupełnie to samo.

09:47.270 --> 09:54.020
Zamierzamy wprowadzić Wojewodę Wielorybnictwa, który nie wymazuje pierwszego, ponieważ będziemy albo w tym

09:54.050 --> 10:01.430
przypadku, albo w tym przypadku, więc to nie będzie to samo, więc możemy całkowicie odwrócić

10:01.430 --> 10:08.600
to wtedy wprowadzimy wentylator w zmiennej który tym razem nie będzie równy iloczynowi tych trzech

10:08.600 --> 10:09.440
wymiarów.

10:09.650 --> 10:17.090
Ale w rzeczywistości tym razem będzie to równało się po prostu zaprojektuj jeden wzmiankę.

10:17.380 --> 10:23.870
A to dlatego, że dla pełnego połączenia jest mniej połączeń niż w połączeniu splotowym.

10:23.880 --> 10:29.970
Teraz jest to wykład intuicyjny na końcu, aw sekcji CNN jest mniej wzmianek o

10:29.970 --> 10:32.640
pełnym połączeniu niż o splotach.

10:32.640 --> 10:39.840
Zasadniczo poświęcamy ten czas w ciągu jednego roku, a następnie mówimy, że będziemy

10:39.840 --> 10:48.780
mieć zmienną, która posłuży do obliczenia W. granice i ta dominacja wachlarza będzie miała kształt wagowy indeksu

10:49.160 --> 10:49.890
0.

10:49.890 --> 10:51.470
To jest zero diamentów.

10:51.480 --> 10:55.290
W takim razie do GWB i to będzie to samo.

10:55.470 --> 11:01.780
Będzie to pierwiastek kwadratowy z 6 podzielonych przez sumę obrażającą i znajdującą.

11:01.830 --> 11:04.660
Więc idziemy.

11:04.880 --> 11:11.870
A potem dobrą wiadomością jest to, że jest dokładnie taka sama jak poprzednio, używamy jednolitej

11:11.870 --> 11:20.990
funkcji dla wag i funkcji wypełniania dla uprzedzeń, aby uzyskać ten sam rodzaj inicjalizacji tym razem z innym wentylatorem i rozchodzić

11:20.990 --> 11:24.440
się, a zatem różne w tym .

11:24.560 --> 11:27.520
Taka jest ta sama zasada, że to ten sam pomysł.

11:27.530 --> 11:32.660
Zmienia się tylko to, że mamy mniej dominacji dla pełnego

11:32.780 --> 11:39.160
połączenia, a zatem prostsze rozważenie tego ograniczenia wag tutaj, aby wygenerować te przypadkowe wagi.

11:39.200 --> 11:45.210
Ale dobrą wiadomością jest to, że teraz tak naprawdę to nie tylko te wagi i funkcjonuje bardzo.

11:45.380 --> 11:47.150
Ale teraz mamy dwa narzędzia.

11:47.330 --> 11:50.180
I dlatego jesteśmy gotowi zacząć budować mózg.

11:50.300 --> 11:51.280
Więc nie mogę się doczekać.

11:51.290 --> 11:53.500
To będzie oczywiście najbardziej ekscytująca część.

11:53.510 --> 11:57.630
To było tylko po to, aby się rozgrzać i przygotować nas na tę wielką rzecz.

11:57.650 --> 11:59.990
Więc zajmiemy się tym w następnym samouczku.

12:00.080 --> 12:02.590
Właściwie to oczywiście zajmie się kilkoma tutorialami.

12:02.690 --> 12:04.350
Zaczniemy od zrobienia oczu.

12:04.520 --> 12:10.040
A potem pamiętaj, że dodamy ilustrację, aby poznać właściwości czasowe danych wejściowych, a następnie

12:10.040 --> 12:12.170
zajmiemy się aktorem i krytykiem.

12:12.170 --> 12:17.000
I to jest miejsce, w którym użyjemy tego, by funkcjonować znormalizowany przychodzący inicjator i jego wagi.

12:17.120 --> 12:18.590
Więc nie mogę się doczekać, aby to zrobić.

12:18.590 --> 12:20.630
Zrobimy teraz coś bardzo potężnego.

12:20.630 --> 12:22.510
Więc przygotuj się na to.

12:22.790 --> 12:24.250
Do tego czasu ciesz się AI.
