WEBVTT

00:00.360 --> 00:02.490
Xin chào và chào mừng bạn đến với hướng dẫn Python này.

00:02.520 --> 00:07.530
Bây giờ chúng ta sẽ tạo ra hàm chuyển tiếp sẽ truyền tín hiệu trong não ngay từ

00:07.530 --> 00:13.050
đầu với các hình ảnh đầu vào cho đến đầu ra, sẽ chứa các giá trị tín hiệu cho tác nhân

00:13.050 --> 00:17.920
và giá trị V là giá trị được lấy bằng hàm V dành cho nhà phê bình.

00:17.940 --> 00:23.720
Vì vậy, nó sẽ khá giống như những gì chúng tôi đã làm cho Doom, nhưng lần này sẽ có một số điều thay đổi.

00:23.730 --> 00:29.040
Điều chính sẽ thay đổi là bây giờ chúng ta có một máy ATM trong não, vì vậy tất cả chúng ta phải làm gì

00:29.040 --> 00:32.280
đó nhiều hơn để truyền tín hiệu và hãy cẩn thận với điều đó.

00:32.580 --> 00:38.220
Và điều khác ít quan trọng hơn, nhưng vẫn thay đổi so với trước đây, đó là chúng tôi sẽ

00:38.220 --> 00:43.800
không sử dụng chức năng kích hoạt vòng lặp như bạn biết đấy, chức năng kích hoạt phi tuyến, nhưng

00:43.800 --> 00:48.770
chúng tôi sẽ sử dụng vòng lặp, đó là một loại chức năng phức tạp hơn.

00:48.780 --> 00:51.210
Chúng ta sẽ thấy điều đó trong tài liệu Python.

00:51.630 --> 00:52.770
Vì vậy, chúng ta hãy làm điều này.

00:52.770 --> 00:54.180
Hãy thực hiện chức năng này.

00:54.180 --> 00:55.800
Chúng tôi bắt đầu với một trận thua.

00:55.890 --> 00:58.980
Đó thực sự là chức năng cuối cùng của lớp hoạt động này.

00:58.980 --> 01:02.400
Vì vậy, chúng tôi sẽ gọi nó về phía trước như lần trước.

01:02.400 --> 01:08.880
Và chức năng thứ tư này sẽ tự nhận đối tượng vì chúng ta sẽ sử dụng đối tượng và

01:08.880 --> 01:09.930
các đầu vào.

01:09.930 --> 01:13.320
Vì vậy, điều quan trọng là phải hiểu những đầu vào này sẽ là gì?

01:13.350 --> 01:19.110
Đây sẽ không chỉ là các hình ảnh đầu vào, các đầu vào này cũng sẽ chứa các nút ẩn và

01:19.110 --> 01:20.810
các nút ô của nhóm.

01:20.850 --> 01:24.300
Vì vậy, đó là lý do tại sao tôi muốn nhấn mạnh rằng một số thứ sẽ thay đổi.

01:24.300 --> 01:30.020
Về cơ bản, chúng ta đang xem xét trong hàm chuyển tiếp các nút ẩn trong các nút di động

01:30.040 --> 01:30.720
của STM.

01:30.930 --> 01:38.760
Và nói về chúng bây giờ những gì chúng ta sẽ làm là tách hai đầu vào của đối số này, đầu vào trong hàm chuyển tiếp, và làm

01:38.760 --> 01:41.440
thế nào chúng ta có thể tách chúng ra?

01:41.460 --> 01:46.050
Chà, chúng ta có thể nhớ lại một biến mới, đó sẽ là các hình ảnh đầu vào.

01:46.050 --> 01:55.110
Vì vậy, đó là lần này, các hình ảnh đầu vào và chúng tôi tách chúng bằng bộ ba H, X và C x, là một vài

01:55.110 --> 02:02.520
trạng thái ẩn và trạng thái ô của lsg m nên h x là trạng thái ẩn và c x là trạng

02:02.550 --> 02:03.720
thái ô .

02:04.440 --> 02:04.800
Được rồi.

02:04.800 --> 02:07.470
Và điều đó sẽ bằng với các yếu tố đầu vào.

02:07.470 --> 02:09.030
Đó là lập luận này ở đây.

02:09.420 --> 02:15.000
Vì vậy, bây giờ chúng ta thực hiện sự tách biệt này và do đó chúng ta có thể bắt đầu truyền tín hiệu đến khắp não bộ.

02:15.000 --> 02:21.030
Và để làm điều đó, chúng ta sẽ liên tiếp nhận được các lớp khác nhau từ lớp đầu

02:21.030 --> 02:28.470
tiên đến lớp cuối cùng bằng cách sử dụng các kết nối là chập, kết nối lshtm và kết nối tuyến tính ở đây,

02:28.470 --> 02:30.060
các kết nối đầy đủ.

02:30.210 --> 02:31.650
Vì vậy, chúng ta hãy làm điều này ngay bây giờ.

02:31.650 --> 02:33.470
Nó sẽ giống như trước đây.

02:33.480 --> 02:39.060
Chúng ta sẽ nhận được lớp đầu tiên mà chúng ta sẽ gọi là X và để có được lớp đầu

02:39.060 --> 02:44.880
tiên này, chúng ta cần truyền tín hiệu từ đầu vào đến lớp đầu tiên này và do đó chúng ta cần sử

02:44.880 --> 02:50.760
dụng tích chập đầu tiên vì nó là tích chập đầu tiên này truyền tín hiệu từ các hình ảnh đầu vào đến

02:50.760 --> 02:51.660
lớp đầu tiên.

02:51.840 --> 02:58.020
Vì vậy, những gì chúng ta sẽ làm bây giờ là sao chép điều này bởi vì đây là tích chập đầu tiên chúng tôi dán

02:58.020 --> 03:04.710
nó vào đây và chúng tôi áp dụng tích chập đầu tiên này cho các hình ảnh đầu vào của chúng tôi mà bây giờ là đầu vào phù hợp.

03:04.710 --> 03:05.640
Và chúng ta bắt đầu.

03:05.640 --> 03:09.480
Điều đó truyền tín hiệu từ các hình ảnh đầu vào đến lớp đầu tiên.

03:09.600 --> 03:16.170
Nhưng bây giờ hãy nhớ rằng, chúng ta phải sử dụng một hàm kích hoạt phi tuyến tính để phá vỡ độ tuyến tính để có

03:16.170 --> 03:20.040
thể tìm hiểu các mối quan hệ phi tuyến tính bên trong các hình ảnh.

03:20.040 --> 03:25.830
Và để làm điều này, chúng tôi sẽ sử dụng, như chúng tôi đã nói, chức năng kích hoạt ALU mà chúng tôi sắp

03:25.830 --> 03:27.990
thấy ngay bây giờ trong tài liệu PyTorch.

03:27.990 --> 03:29.940
Nhưng trước đó, hãy lấy nó.

03:29.940 --> 03:36.450
Vì vậy, để có được nó, nó giống như thực sự chúng tôi lấy mô-đun chức năng có một đoạn ngắn F, sau đó chấm

03:36.450 --> 03:45.750
và sau đó là Alu và sau đó chúng tôi đặt tất cả những thứ này trong dấu ngoặc đơn vì chúng tôi muốn kích hoạt không tuyến tính các nơ-ron của lớp đầu tiên

03:45.750 --> 03:50.730
này mà chúng tôi có được bằng cách áp dụng tích chập đầu tiên trên các đầu vào.

03:50.970 --> 03:55.050
Vì vậy, bây giờ chúng ta hãy đến PyTorch, Doug, để hiểu ALU là gì.

03:55.080 --> 04:02.130
Đây là nó để bạn có thể truy cập nó vào pytorch dot org slash doug slash rn dot html.

04:02.130 --> 04:04.860
Và sau đó bạn phải tìm các kích hoạt phi tuyến tính.

04:05.310 --> 04:10.470
Và trong hàm kích hoạt phi tuyến, bạn sẽ thấy tốt, Lou, đó là hàm cổ điển mà chúng ta biết.

04:10.470 --> 04:16.500
Vì vậy, nó chỉ là giá trị tối đa của 0 và x, bạn có đồ thị trong tâm trí, sau đó bạn có bản phát hành sáu, chính là

04:16.500 --> 04:17.100
cái này.

04:17.100 --> 04:19.260
Vì vậy, một chút tinh vi hơn.

04:19.260 --> 04:20.040
Và chúng ta bắt đầu.

04:20.040 --> 04:21.060
Chúng tôi có một Lou.

04:21.330 --> 04:26.400
Và như bạn có thể thấy, một vòng lặp là một vòng lặp cộng với một phần tử bổ sung.

04:26.400 --> 04:29.130
Vì vậy, nó giống như một giá trị tinh vi hơn.

04:29.130 --> 04:33.960
Và đó là cách mà chúng tôi sử dụng để kích hoạt không tuyến tính các tế bào thần kinh ở các lớp khác nhau.

04:33.960 --> 04:39.030
Và nhân tiện, hàm kích hoạt vòng lặp này được gọi là đơn vị tuyến tính hàm mũ.

04:39.300 --> 04:40.170
Vậy là xong.

04:40.170 --> 04:46.170
Chúng tôi áp dụng vòng lặp trên lớp tích chập đầu tiên và bây giờ mọi thứ sẽ trở nên dễ dàng.

04:46.170 --> 04:52.230
Chúng ta sẽ tiến hành bước truyền thứ tư tiếp theo của tín hiệu, từ lớp chập đầu tiên

04:52.230 --> 04:58.980
đến lớp chập thứ hai, mà chúng ta sẽ gọi là X, vì về cơ bản chúng ta chỉ cập nhật X

04:58.980 --> 05:05.430
bây giờ x là lớp chập đầu tiên và bằng cách truyền tín hiệu từ lớp chập đầu tiên sang

05:05.430 --> 05:09.060
lớp tiếp theo, x sẽ trở thành lớp chập tiếp theo.

05:09.270 --> 05:15.120
Và do đó, để truyền tín hiệu từ lớp chập đầu tiên sang lớp thứ hai, chúng ta chỉ

05:15.120 --> 05:20.310
cần sao chép và dán nó vào đây và thay thế conf từng lớp một.

05:20.310 --> 05:25.920
Và tất nhiên bây giờ tích chập thứ hai không được áp dụng cho các hình ảnh đầu vào mà cho x.

05:25.920 --> 05:29.400
Đó là lớp chập đầu tiên ở ngay đây.

05:29.670 --> 05:30.630
Được rồi, hoàn hảo.

05:30.630 --> 05:36.720
Bây giờ chúng ta nhận được lớp chập thứ hai và bây giờ chúng ta hãy truyền tín hiệu một lần nữa từ lớp chập thứ

05:36.720 --> 05:37.950
hai sang lớp thứ ba.

05:37.950 --> 05:45.660
Và do đó, chúng tôi có thể sao chép trực tiếp cái này và căn cứ vào đây và thay thế hai bằng ba.

05:45.810 --> 05:46.710
Chúng ta bắt đầu.

05:46.710 --> 05:52.740
Và lớp cuối cùng bây giờ để truyền tín hiệu từ lớp chập ba sang lớp thứ tư và lớp cuối cùng,

05:52.740 --> 05:58.620
chúng ta chỉ cần sao chép lại cái này, dán cái đó vào đây và thay thế trại ba bằng bốn.

05:58.650 --> 05:59.460
Chúng ta bắt đầu.

06:00.000 --> 06:01.560
Vì vậy, chúng ta hãy tóm tắt lại.

06:01.590 --> 06:03.240
Chúng tôi bắt đầu với đầu vào của chúng tôi.

06:03.240 --> 06:06.930
Chúng tôi áp dụng tích chập đầu tiên để có được lớp tích chập đầu tiên.

06:07.080 --> 06:12.090
Sau đó, chúng tôi áp dụng tích chập thứ hai cho lớp chập đầu tiên để thu được lớp chập

06:12.090 --> 06:12.720
thứ hai.

06:12.720 --> 06:17.760
Sau đó, chúng tôi áp dụng tích chập thứ ba cho lớp chập thứ hai để thu được lớp chập

06:17.760 --> 06:18.300
thứ ba.

06:18.300 --> 06:24.570
Và cuối cùng, chúng tôi áp dụng tích chập thứ tư cho lớp chập thứ ba để thu được lớp

06:24.570 --> 06:29.700
chập thứ tư, và đó là cách tín hiệu được truyền qua mắt của AI.

06:29.820 --> 06:30.600
Vậy là xong.

06:30.600 --> 06:35.550
Bây giờ chúng ta có tín hiệu đầu ra sau bốn lần chập và bây giờ bạn biết phải làm gì.

06:35.550 --> 06:40.710
Chúng ta cần mở rộng toàn bộ tín hiệu đầu ra này trong vector một chiều.

06:40.710 --> 06:42.570
Đó là bước làm phẳng.

06:42.630 --> 06:45.060
Vì vậy, chúng tôi sẽ cập nhật lại X.

06:45.090 --> 06:48.690
X bây giờ sẽ trở thành vectơ một chiều được làm phẳng này.

06:49.050 --> 06:55.110
Và để làm điều này, cũng giống như chúng ta cần lấy X, cho đến nay là dấu chấm x

06:55.620 --> 06:57.180
lớp chập thứ tư.

06:57.330 --> 07:03.720
Sau đó, chúng tôi sử dụng hàm Vue và đầu tiên chúng tôi nhập số trừ một để nói rằng chúng tôi muốn.

07:03.800 --> 07:05.240
Vectơ một chiều.

07:05.240 --> 07:10.940
Và sau đó là đối số thứ hai, chúng ta cần nhập số phần tử trong vectơ này, và nghĩa

07:10.940 --> 07:16.280
là, hãy nhớ, 32 lần, ba lần ba, và do đó chúng tôi nhập vào đây 32.

07:17.060 --> 07:19.670
Lần ba lần ba.

07:20.120 --> 07:20.650
Chúng ta bắt đầu.

07:20.660 --> 07:24.290
Bây giờ chúng ta đã có vector phẳng của chúng ta và bước làm phẳng đã hoàn thành.

07:24.530 --> 07:25.290
Hoàn hảo.

07:25.310 --> 07:27.980
Bây giờ chúng ta hãy quan tâm đến phần cuối cùng.

07:27.980 --> 07:31.610
Vì vậy, như bạn đã hiểu, Lshtm đưa chúng tôi đầu vào.

07:31.610 --> 07:36.830
Vectơ phẳng, vectơ một chiều này gồm ba phần tử, hai lần, ba lần ba phần tử.

07:36.950 --> 07:40.250
Vì vậy, nó đã sẵn sàng và được chuẩn bị tốt cho Lshtm.

07:40.250 --> 07:47.120
Lshtm bây giờ đã sẵn sàng để lấy vectơ phẳng này làm đầu vào, và do đó chúng ta có thể lấy

07:47.240 --> 07:49.820
lshtm và các đầu vào làm đối số.

07:49.820 --> 07:55.820
X đầu tiên là vectơ phẳng sẵn sàng là tia x này ở đây mà chúng tôi vừa thử nghiệm.

07:56.000 --> 08:00.620
Nhưng cũng chính vì vậy mà cú đúp này phát huy tác dụng.

08:00.650 --> 08:08.660
Chúng ta cần nhập H, X và C, x và chúng ta có thể sử dụng x và xem x ở đây vì chúng ta đã thực hiện phân

08:08.660 --> 08:12.230
tách khỏi đối số đầu vào ban đầu của hàm chuyển tiếp.

08:12.740 --> 08:19.010
Vì vậy, lshtm x vector đầu ra được làm phẳng lên đến bốn chập và bảng này của ẩn và

08:19.010 --> 08:19.940
nút ô.

08:20.330 --> 08:21.230
Vậy là xong.

08:21.230 --> 08:26.030
Sau đó, chúng ta không được quên self vì lshtm là một biến của hàm kết thúc của chúng ta.

08:26.030 --> 08:33.560
Vì vậy, các biến gắn với đối tượng tự đến mức LCM và điều này sẽ thực sự trở lại kết quả đầu ra một bảng gồm hai đầu

08:33.560 --> 08:37.670
ra sẽ là các nút sức khỏe đầu ra và các nút ô đầu ra.

08:37.670 --> 08:46.130
Vì vậy, nó thực sự là một bộ tuple và do đó chúng ta có thể cập nhật h x các nút ẩn và xem x các nút ô vì đó

08:46.130 --> 08:48.920
chính xác là đầu ra của lshtm này ở đây.

08:49.930 --> 08:50.380
Tuyệt quá.

08:50.380 --> 08:52.660
Vì vậy, chúng tôi gần như hoàn thành bây giờ.

08:52.660 --> 08:58.780
Bây giờ chúng ta đã có kết quả đầu ra của nhóm LLS, chúng ta cần có được kết quả hữu ích vì thực tế

08:58.780 --> 09:05.230
chỉ có các ghi chú Hindu là hữu ích và do đó chúng ta sẽ có được nó bằng cách cập nhật lại x và x

09:05.230 --> 09:06.970
bây giờ sẽ bằng h x.

09:07.270 --> 09:13.810
Phần tử đầu tiên của cặp đầu ra của LSB x bằng h x và chúng ta sắp hoàn thành.

09:14.020 --> 09:18.580
Hãy nhớ rằng chúng ta có hai bộ não, một bộ não cho diễn viên và một bộ não cho nhà phê bình.

09:18.580 --> 09:24.340
Và do đó chúng ta phải xuất ra các tín hiệu để trả về tín hiệu đầu ra của tác nhân và tín hiệu đầu ra

09:24.340 --> 09:25.150
của phản biện.

09:25.330 --> 09:29.350
Và do đó, bây giờ những gì chúng ta sẽ làm là trả về hai tín hiệu đầu ra này.

09:29.350 --> 09:30.640
Và làm thế nào chúng ta có thể làm điều đó?

09:30.640 --> 09:31.870
Chà, điều đó rất dễ dàng.

09:31.870 --> 09:35.230
Chúng tôi chỉ cần thực hiện các kết nối tuyến tính, đầy đủ của chúng tôi.

09:35.230 --> 09:39.880
Nhưng riêng biệt, có sự kết nối tuyến tính, đầy đủ của nhà phê bình và sự kết nối đầy đủ tuyến tính

09:39.880 --> 09:40.660
của tác nhân.

09:40.960 --> 09:47.800
Và chúng tôi áp dụng từng kết nối này cho đầu ra x là đầu ra hữu ích của lshtm và đó sẽ là tất cả

09:47.800 --> 09:50.170
những gì sẽ là tín hiệu đầu ra.

09:50.170 --> 09:51.730
Vì vậy, chúng ta bắt đầu, chúng ta hãy làm điều đó.

09:51.730 --> 09:58.990
Đầu tiên chúng ta tự lấy đối tượng của mình, sau đó chúng ta nhận được kết nối chân tuyến tính của nhà phê bình, điểm

09:59.140 --> 10:06.730
này gạch dưới tuyến tính mà chúng tôi áp dụng cho x, tín hiệu đầu ra của lshtm và sau đó chúng tôi lấy lại bản thân,

10:06.730 --> 10:13.750
sau đó, và sau đó chúng tôi lấy kết nối tuyến tính đầy đủ của tác nhân, là tác nhân gạch dưới tuyến tính mà

10:13.750 --> 10:16.090
chúng ta áp dụng tương tự cho x.

10:16.090 --> 10:17.020
Chúng ta bắt đầu.

10:17.920 --> 10:19.520
Vì vậy, đó là điều chính chúng ta cần.

10:19.540 --> 10:25.780
Nhưng sau đó chúng tôi cũng sẽ trả lại phần trên cùng của tất cả các ghi chú ẩn và xem X để bán các ghi chú vì chúng

10:25.780 --> 10:28.990
tôi sẽ sử dụng chúng sau trong vòng lặp cổ điển của cảnh LSB.

10:29.350 --> 10:30.340
Được rồi, hoàn hảo.

10:30.340 --> 10:36.070
Vì vậy, bây giờ chúng tôi đã hoàn thành bộ não hay tôi nên nói bộ não, bởi vì chúng tôi thực sự đã tạo ra hai bộ não, một bộ não dành cho

10:36.070 --> 10:37.950
diễn viên và một bộ não dành cho nhà phê bình.

10:37.960 --> 10:41.900
Vì vậy, xin chúc mừng vì đã tạo ra bộ não a3c.

10:41.920 --> 10:48.160
Tôi hy vọng điều đó không quá áp đảo khi kết hợp CNN và LCM, nhưng ít nhất tin tốt là chúng tôi đang thực sự

10:48.160 --> 10:51.070
làm việc với mô hình tốt nhất và mạnh mẽ nhất.

10:51.070 --> 10:52.810
Vậy là xong.

10:52.840 --> 10:56.590
Chúng tôi thực sự đã hoàn thành với mô hình tệp đầu tiên này, chiếc bánh đó.

10:56.620 --> 11:02.050
Và vì vậy trong hướng dẫn tiếp theo, chúng tôi sẽ quan tâm đến trình tối ưu hóa bởi vì chúng tôi sẽ tạo ra một trình tối

11:02.050 --> 11:03.010
ưu hóa riêng biệt.

11:03.040 --> 11:08.170
Chúng tôi sẽ không viết mã từng dòng mã vì phần lớn nó đến từ các tài liệu nghiên cứu.

11:08.170 --> 11:10.270
Và điều này thực sự khá cụ thể.

11:10.270 --> 11:16.450
Và nếu chúng ta đi vào chi tiết sâu sắc về những gì đang xảy ra với trình tối ưu hóa này, điều

11:16.450 --> 11:22.360
này có thể hơi quá sức với những gì sắp xảy ra tiếp theo vì chúng ta vẫn còn hàm train để

11:22.360 --> 11:26.750
thực hiện, đây sẽ là một hàm rất lớn và chứa thuật toán của rủi ro.

11:26.800 --> 11:31.570
Vì vậy, hãy tin tôi, bạn muốn giữ một chút năng lượng cho việc đó, và do đó chúng tôi sẽ không dành quá nhiều thời gian

11:31.570 --> 11:32.260
cho việc này.

11:32.260 --> 11:37.630
Tuy nhiên, tôi sẽ giải thích mã và bạn sẽ hiểu toàn bộ ý tưởng đằng sau trình tối ưu hóa này.

11:37.960 --> 11:43.540
Vì vậy, một lần nữa xin chúc mừng bạn đã tạo ra lớp sáng tạo tích cực này và tôi sẽ gặp lại bạn trong hướng dẫn tạo trình tối

11:43.540 --> 11:44.470
ưu hóa tiếp theo.

11:44.500 --> 11:45.670
Cho đến lúc đó, hãy tận hưởng.

11:45.670 --> 11:45.970
TÔI.
