WEBVTT

00:00.300 --> 00:02.610
Xin chào và chào mừng đến với hướng dẫn này.

00:02.640 --> 00:08.790
Bây giờ chúng ta sẽ thực hiện chức năng thứ hai này để khởi tạo các trọng lượng và chức năng này sẽ được

00:08.820 --> 00:12.510
sử dụng để tìm hiểu tối ưu về thực tế các trọng lượng này.

00:12.990 --> 00:17.130
Vì vậy, hàm thứ hai, chúng ta sẽ gọi nó là trọng số.

00:17.990 --> 00:19.490
Và điểm số trong đó.

00:19.730 --> 00:25.920
Và nó sẽ coi đối số là phần cuối của đối tượng, nó sẽ đại diện cho mạng nơ-ron.

00:25.940 --> 00:26.930
Vậy đó là tất cả.

00:26.930 --> 00:28.370
Và sau đó là dấu hai chấm.

00:28.370 --> 00:32.210
Và bây giờ chúng ta hãy vào bên trong hàm để xác định những gì chúng ta muốn làm.

00:32.300 --> 00:38.420
Vì vậy, về cơ bản những gì chúng tôi muốn làm là khởi tạo các trọng số của mạng nơ-ron theo cách mà chúng tôi có được

00:38.420 --> 00:39.830
kết quả học tập tối ưu.

00:39.830 --> 00:43.460
Vì vậy, điều này sẽ không có vẻ đặc biệt trực quan.

00:43.460 --> 00:46.520
Điều này dựa trên các tài liệu nghiên cứu và thí nghiệm.

00:46.520 --> 00:52.370
Chúng tôi sẽ khởi tạo các trọng số theo một cách cụ thể mà chúng tôi chưa từng thấy trước đây, nhưng tin tôi đi, điều

00:52.370 --> 00:54.560
đó sẽ tối ưu hóa quá trình học tập.

00:54.650 --> 01:00.170
Vì vậy, chúng tôi sẽ chỉ thực hiện nó mà không đi vào chi tiết lý do tại sao chúng tôi khởi tạo các trọng số theo

01:00.170 --> 01:00.680
cách này.

01:00.680 --> 01:06.470
Và vì vậy chúng ta sẽ bắt đầu bằng cách sử dụng một thủ thuật sẽ được sử dụng sau này để

01:06.470 --> 01:09.440
phân biệt giữa tích chập và kết nối đầy đủ.

01:09.440 --> 01:14.390
Bởi vì, bạn biết đấy, hãy nhớ rằng mắt của chúng ta sẽ có mắt và do đó nó sẽ có

01:14.390 --> 01:20.480
một số lớp phức tạp và tất nhiên nó cũng sẽ có một số lớp được kết nối đầy đủ và chúng ta sẽ có cách

01:20.480 --> 01:23.450
khởi tạo trọng số khác nhau cho hai loại kết nối này.

01:23.540 --> 01:28.640
Vì vậy, chúng tôi sẽ sử dụng thủ thuật này để tách hai loại kết nối này và sau đó chúng tôi

01:28.640 --> 01:33.650
sẽ sử dụng một số điều kiện if để có được một khởi tạo khác nhau cho mỗi kết nối này.

01:33.950 --> 01:40.310
Vì vậy, mẹo này là tạo một biến mới mà chúng ta sẽ gọi tên lớp và nó sẽ bằng

01:40.310 --> 01:42.620
M đối tượng của chúng ta.

01:42.620 --> 01:45.740
Vì vậy, M đại diện cho mạng nơ-ron, nhưng nó là một đối tượng.

01:45.740 --> 01:52.190
Chúng ta sẽ thấy điều đó ở phần sau và chúng ta sẽ lấy thuộc tính đặc biệt từ đối tượng này,

01:52.190 --> 02:00.260
đó sẽ là tên lớp có dấu gạch dưới kép, lớp đầu tiên, dấu gạch dưới kép, dấu gạch dưới kép lại tên và gần như vậy,

02:00.260 --> 02:02.960
một dấu chấm kép nữa trong điểm số.

02:03.080 --> 02:09.500
Vì vậy, đó là một thủ thuật khá xấu để tìm kiếm kiểu kết nối của đối tượng mạng mới của chúng ta.

02:09.500 --> 02:11.960
Nhưng điều đó sẽ cung cấp cho chúng tôi chính xác những gì chúng tôi muốn.

02:11.990 --> 02:15.260
Bạn sẽ thấy nó sẽ có ý nghĩa khi chúng ta bắt đầu các điều kiện if.

02:15.260 --> 02:19.430
Và nhân tiện, nói về điều kiện nếu, chúng ta có thể bắt đầu chúng ngay bây giờ.

02:19.430 --> 02:26.060
Và vì vậy những gì chúng ta sẽ làm bây giờ là bắt đầu điều kiện if đầu tiên, điều này sẽ giúp chúng ta có trường hợp đầu tiên.

02:26.060 --> 02:29.150
Đó là nếu kết nối là một tích chập.

02:29.330 --> 02:33.380
Và do đó, để viết điều kiện này, chúng ta viết tên lớp if.

02:34.370 --> 02:35.440
Nhưng tốt.

02:35.450 --> 02:45.560
Ở đây chúng tôi sử dụng một phương thức, phương thức tìm kiếm tốt và bên trong chúng tôi nhập vào dấu ngoặc kép conf cho tích chập và

02:45.560 --> 02:52.820
vì vậy nếu tên lớp dấu chấm tìm thấy conf thì chúng tôi sẽ thực hiện khác với trừ một.

02:52.820 --> 02:57.680
Đó thực sự là nếu chúng ta có một tích chập vì trừ một có nghĩa là không.

02:58.010 --> 03:02.870
Trong trường hợp đó, chúng tôi sẽ thực hiện một khởi tạo đặc biệt của các trọng số.

03:03.200 --> 03:07.220
Vì vậy, điều kiện này ở đây có nghĩa là nếu chúng ta có một kết nối chập.

03:07.550 --> 03:13.790
Vì vậy, trong trường hợp đó, những gì chúng tôi làm là chạy khởi tạo cụ thể các trọng số mà chúng tôi muốn làm.

03:13.790 --> 03:17.790
Và đó là nơi mà tất cả những thứ không trực quan sẽ đến.

03:17.810 --> 03:23.390
Chúng ta sẽ bắt đầu bằng cách tạo một biến mà chúng ta sẽ gọi là trọng lượng và hình dạng hộ tống.

03:23.940 --> 03:30.210
Vì vậy, trọng lượng trên hình dạng khóa học này sẽ là một danh sách về cơ bản sẽ chứa hình dạng của trọng lượng trong mạng nơ-ron

03:30.210 --> 03:31.020
của chúng ta.

03:31.020 --> 03:35.430
Và vì vậy chúng ta sẽ sử dụng hàm list để tạo một danh sách.

03:36.000 --> 03:42.810
Và bên trong, chúng ta sẽ nhập m trọng số chấm mạng nơ-ron, trọng số này sẽ là trọng số của mạng

03:42.810 --> 03:43.410
nơ-ron.

03:43.410 --> 03:45.990
Nhưng trong kết nối chập.

03:46.290 --> 03:55.590
Và để có được hình dạng của những trọng số này, chúng ta sử dụng một thuộc tính khác là dữ liệu dấu chấm và sau đó kích thước kích thước sẽ cho chúng ta

03:55.590 --> 03:59.100
hình dạng của những trọng số này trong kết nối tích chập.

03:59.490 --> 04:06.540
Vì vậy, bây giờ hình dạng trọng lượng chứa trong một danh sách hình dạng của các trọng số và các kết nối tích chập của mạng nơ-ron

04:06.540 --> 04:07.560
của chúng ta và.

04:08.330 --> 04:08.660
Được rồi.

04:08.660 --> 04:14.870
Vì vậy, chúng ta có hình dạng tuyệt vời sau đó để khởi tạo trọng số của kết nối tích chập này, chúng ta

04:14.870 --> 04:16.430
sẽ cần hai giá trị.

04:16.430 --> 04:22.790
Đầu tiên là tích của chiều thứ nhất bởi chiều thứ hai, của chiều thứ ba.

04:22.790 --> 04:24.410
Vì vậy, đó là những gì chúng ta sẽ nhận được ngay bây giờ.

04:24.620 --> 04:30.290
Và sau đó, chúng ta cũng sẽ cần lấy thứ nguyên số không nhân với thứ nguyên thứ hai, nhân với thứ nguyên thứ ba,

04:30.290 --> 04:35.390
và sau đó chúng ta sẽ sử dụng hai giá trị này để tính toán cách chúng ta khởi tạo trọng số.

04:35.390 --> 04:37.850
Vì vậy, chúng ta hãy nhận những điều này đến sản phẩm đầu tiên này.

04:37.850 --> 04:44.030
Chúng tôi gọi nó là quạt trong, và điều đó sẽ tương đương với sản phẩm.

04:44.030 --> 04:48.980
Và chúng ta sẽ sử dụng hàm prod, một hàm của numpy, có phím tắt.

04:48.980 --> 04:56.560
NP Vì vậy, np sản phẩm đó và sản phẩm bên trong chúng ta nhập những gì chúng ta muốn để tạo ra sản phẩm.

04:56.930 --> 05:02.600
Và như chúng tôi đã nói, đó là kích thước một, hai và ba của hình dạng cân nặng của chúng ta.

05:02.600 --> 05:06.110
Và để có được điều này, chúng ta có thể định hình cân nặng của mình.

05:06.980 --> 05:10.300
Và lấy các chỉ số của ba chiều này.

05:10.310 --> 05:18.770
Và vì vậy chúng tôi đã nói rằng đó là thứ nguyên một cho đến thứ nguyên ba được bao gồm, vì vậy, tối đa thứ nguyên bị loại trừ.

05:18.770 --> 05:23.990
Và đó là cách chúng ta có thể lấy nó cho giới hạn trên ở đây không được bao gồm.

05:24.110 --> 05:26.300
Vì vậy, đó chính xác là những gì chúng tôi muốn lúc đó.

05:26.300 --> 05:28.880
Tương tự đối với quạt ra ngoài.

05:30.660 --> 05:38.160
Như chúng ta đã nói, quạt ra sẽ là sản phẩm của thứ nguyên, thứ nguyên bằng không, hai lần

05:38.160 --> 05:39.330
thứ nguyên ba.

05:39.510 --> 05:45.480
Và vì vậy, ở đây chúng ta có thể lấy chỉ mục từ hai bao gồm đến bốn loại trừ.

05:45.480 --> 05:52.140
Vì vậy, điều đó sẽ cho chúng ta tích của thứ nguyên hai và ba, và sau đó chúng ta có thể nhân nó

05:52.140 --> 05:58.710
với thứ nguyên không, mà chúng ta có thể truy cập với hình dạng trọng số bằng không của chỉ số không.

05:59.010 --> 06:09.180
Vì vậy, tóm lại, điều này là mờ một lần, mờ hai lần, mờ ba và.

06:09.950 --> 06:11.660
Ngay bên dưới chúng tôi có.

06:13.120 --> 06:14.170
Jim số không.

06:14.880 --> 06:20.010
Lần Dim đến lần mờ ba cách của chúng tôi, hình dạng, danh sách các trọng lượng.

06:20.100 --> 06:25.500
Được rồi, vì vậy bây giờ chúng ta sẽ sử dụng hai giá trị này quạt vào và quạt ra

06:25.680 --> 06:32.640
để tiếp tục khởi tạo, bởi vì chúng ta sẽ tính toán một giá trị mới mà chúng ta sẽ gọi là W ràng buộc và

06:32.640 --> 06:40.620
giá trị đó sẽ bằng căn bậc hai mà chúng ta có thể nhận được với hàm và p từ chúng bằng tập lệnh đó chính xác như trước đây.

06:40.620 --> 06:52.230
Vì vậy, căn bậc hai của sáu chia cho quạt và cộng với quạt ra, vì vậy chúng tôi đi đến quạt trong cộng với quạt ngoài đó.

06:52.590 --> 06:57.870
Vì vậy, W ràng buộc ở đây thể hiện theo một cách nào đó kích thước của trọng lượng dự kiến.

06:57.990 --> 06:59.520
Và tại sao chúng tôi có được điều này?

06:59.520 --> 07:06.240
Đó là bởi vì điều chúng tôi sắp làm bây giờ là chúng tôi muốn tạo ra một số trọng số ngẫu nhiên tỷ

07:06.240 --> 07:11.850
lệ nghịch với kích thước của hàng chục trọng lượng, bởi vì thực sự những gì chúng tôi sắp làm

07:11.850 --> 07:15.090
bây giờ là lấy mạng mới của chúng tôi, M .

07:16.030 --> 07:18.040
Sau đó, nhận trọng lượng của nó.

07:18.370 --> 07:22.240
Vì vậy, bằng cách vẫn lấy trọng số thuộc tính, sau đó dư thừa.

07:22.270 --> 07:25.240
Đó là dữ liệu là chính cảm biến.

07:25.910 --> 07:33.290
Và sau đó từ tensor trọng lượng này, chúng ta sẽ tạo ra một số trọng lượng ngẫu nhiên tỷ lệ

07:33.290 --> 07:36.290
nghịch với kích thước của tensor trọng lượng.

07:36.960 --> 07:45.000
Và vì vậy trong hàm thống nhất này, bây giờ chúng ta phải nhập dải dưới sẽ trừ đi giới hạn W và

07:45.180 --> 07:48.570
giới hạn trên, sẽ cộng với giới hạn W.

07:49.980 --> 07:52.320
Vì vậy, đó là cho trọng lượng.

07:52.320 --> 07:57.380
Và bây giờ chúng ta cần khởi tạo độ chệch và tin tốt cho độ chệch.

07:57.390 --> 07:58.910
Nó sẽ đơn giản hơn nhiều.

07:58.920 --> 08:02.130
Chúng tôi sẽ khởi tạo tất cả chúng bằng số không.

08:02.840 --> 08:07.150
Vì vậy, để có được những bios này, chúng tôi lấy chúng từ mô hình của chúng tôi.

08:07.160 --> 08:09.320
Tất nhiên, đó là mạng nơ-ron của chúng tôi.

08:09.650 --> 08:13.340
Và sau đó thuộc tính cho sự thiên vị là sự thiên vị.

08:13.670 --> 08:21.710
Sau đó, chúng tôi cũng tồn tại trong dữ liệu và sau đó chúng tôi sẽ sử dụng một phương pháp là phương pháp điền vào phương pháp điểm số,

08:21.710 --> 08:26.990
như bạn có thể đoán, được sử dụng để lấp đầy hàng chục thiên vị bằng các số không.

08:27.080 --> 08:31.310
Chà, với các số không, chúng ta phải xác định rằng chúng ta muốn điền nó bằng các số không ở đây.

08:31.430 --> 08:33.380
Và đó là lý do tại sao tôi nhập vào đây.

08:33.380 --> 08:33.980
Số không.

08:34.370 --> 08:34.760
Được rồi.

08:34.760 --> 08:41.060
Vì vậy, để tóm tắt, chúng tôi tạo ra một số trọng số ngẫu nhiên tỷ lệ nghịch với kích thước của trọng số tensor và chúng

08:41.060 --> 08:43.400
tôi khởi tạo độ lệch bằng các số không.

08:43.670 --> 08:44.030
Được rồi.

08:44.030 --> 08:49.430
Vì vậy, đó là để khởi tạo các kết nối chập.

08:49.550 --> 08:52.700
Và bây giờ chúng ta cần làm tương tự để kết nối đầy đủ.

08:53.060 --> 09:00.320
Và vì vậy chúng tôi sẽ thêm một điều kiện mới, Elif, nói rằng, chúng tôi thực hiện thủ thuật này, chúng tôi sử dụng tên

09:00.320 --> 09:04.910
lớp đầu tiên, đó là biến này chứa các tên khác nhau của các kết nối.

09:04.910 --> 09:09.230
Vì vậy, nếu tên lớp giống nhau, chúng tôi sử dụng phương thức xác định.

09:10.170 --> 09:17.490
Mà chúng tôi đặt trong dấu ngoặc kép lần này là một kết nối đầy đủ là kết nối tuyến tính cổ điển và mạng nơ-ron

09:17.490 --> 09:18.900
nhân tạo cổ điển.

09:19.140 --> 09:26.970
Vì vậy, tên của nó là tuyến tính và nói rằng, chúng ta sẽ sử dụng thủ thuật này để nói rằng

09:26.970 --> 09:30.060
chúng ta muốn nó khác với trừ một.

09:31.010 --> 09:38.840
Vì vậy, đó là phần cuối của lớp chín tuyến tính tốt, khác và trừ một nghĩa là nếu kết nối là tuyến tính, nghĩa là nếu chúng ta có

09:38.840 --> 09:40.940
một kết nối đầy đủ cổ điển.

09:41.090 --> 09:44.480
Vậy trong trường hợp đó, chúng ta sẽ khởi tạo các trọng số như thế nào?

09:44.570 --> 09:47.090
Chà, nó sẽ khá giống nhau.

09:47.090 --> 09:53.630
Chúng tôi sẽ giới thiệu một biến hình dạng trọng lượng sẽ không xóa biến số đầu tiên vì chúng tôi sẽ ở trong trường

09:53.630 --> 09:55.460
hợp này hoặc trường hợp kia.

09:55.460 --> 09:57.020
Vì vậy, nó sẽ không giống nhau.

09:57.020 --> 09:59.210
Vì vậy chúng ta hoàn toàn có thể sử dụng lại cái đó.

09:59.690 --> 10:01.250
Sau đó, tương tự.

10:01.250 --> 10:08.240
Chúng tôi sẽ giới thiệu một chiếc quạt có thể thay đổi, mà lần này sẽ không bằng sản phẩm của

10:08.240 --> 10:09.470
ba chiều này.

10:09.470 --> 10:13.580
Nhưng thực sự lần này nó sẽ bằng với đơn giản.

10:15.200 --> 10:16.940
Tôi đã đề cập đến một?

10:17.120 --> 10:23.510
Và đó là bởi vì đối với kết nối đầy đủ, có ít kết nối hơn so với kết nối chập.

10:23.660 --> 10:28.250
Bạn biết đấy, bạn đã thấy điều này trong các bài giảng về trực giác trong phần N và phần CNN.

10:28.280 --> 10:32.120
Có ít thứ nguyên hơn cho một kết nối đầy đủ hơn so với tích chập.

10:32.360 --> 10:39.530
Vì vậy, về cơ bản, chúng ta chỉ lấy thứ nguyên này ở đây, sau đó nói rằng chúng ta sẽ có một biến được tạo ra

10:39.530 --> 10:42.710
sau đó sẽ sử dụng để tính toán giới hạn w.

10:43.010 --> 10:49.730
Và một chiều này sẽ là hình dạng trọng số của chỉ số không.

10:49.730 --> 10:51.290
Đó là thứ nguyên không.

10:51.320 --> 10:55.010
Được rồi, sau đó để tính w ràng buộc, nó sẽ giống nhau.

10:55.310 --> 11:01.430
Nó sẽ là căn bậc hai của sáu chia cho tổng của quạt và quạt ra.

11:01.580 --> 11:04.460
Vậy là xong.

11:04.640 --> 11:09.590
Và tin tốt là nó giống hệt như trước đây.

11:09.950 --> 11:18.410
Chúng tôi đã sử dụng một hàm thống nhất cho các trọng số và hàm điền cho độ lệch để có được cùng một

11:18.410 --> 11:19.550
kiểu khởi tạo.

11:19.760 --> 11:24.250
Nhưng lần này với một người hâm mộ khác nhau và người hâm mộ ra và do đó giới hạn khác nhau.

11:24.260 --> 11:26.060
Vì vậy, đó là cùng một nguyên tắc.

11:26.060 --> 11:27.260
Đó là cùng một ý tưởng.

11:27.290 --> 11:32.690
Điều duy nhất thay đổi ở đây là chúng ta có ít kích thước hơn cho kết nối đầy đủ và do

11:32.690 --> 11:38.180
đó, việc tính toán giới hạn trọng số này đơn giản hơn ở đây để tạo ra các trọng số ngẫu nhiên này.

11:39.070 --> 11:42.080
Nhưng tin tốt là bây giờ nó đã sẵn sàng.

11:42.100 --> 11:48.850
Không chỉ sự chờ đợi này mà chức năng của nó đã sẵn sàng, mà bây giờ chúng ta có hai công cụ của mình và vì vậy chúng ta đã sẵn sàng để bắt

11:48.850 --> 11:50.010
đầu xây dựng bộ não.

11:50.020 --> 11:51.140
Vì vậy, tôi không thể chờ đợi.

11:51.160 --> 11:53.310
Tất nhiên, đây sẽ là phần thú vị nhất.

11:53.320 --> 11:59.140
Điều này chỉ để khởi động và giúp chúng tôi sẵn sàng cho những điều lớn lao, vì vậy chúng tôi sẽ giải quyết vấn đề đó trong hướng

11:59.140 --> 11:59.860
dẫn tiếp theo.

11:59.860 --> 12:01.690
Thực ra, sẽ cần một vài hướng dẫn.

12:01.690 --> 12:08.020
Tất nhiên, chúng ta sẽ bắt đầu bằng cách tạo mắt và sau đó nhớ rằng chúng ta sẽ thêm một lshtm để tìm hiểu các thuộc tính thời

12:08.020 --> 12:12.010
gian của đầu vào, sau đó chúng ta sẽ quan tâm đến diễn viên và nhà phê bình.

12:12.010 --> 12:16.810
Và đó là nơi chúng ta sẽ sử dụng hai cột chuẩn hóa hàm này, khởi tạo và trọng số trong đó.

12:16.810 --> 12:18.370
Vì vậy, tôi không thể chờ đợi để làm điều đó.

12:18.370 --> 12:22.360
Bây giờ chúng tôi sẽ tạo ra một thứ gì đó rất mạnh mẽ, vì vậy hãy sẵn sàng cho nó.

12:22.600 --> 12:23.770
Cho đến lúc đó, hãy tận hưởng.

12:23.770 --> 12:24.310
TÔI.
