WEBVTT

00:00.210 --> 00:02.070
Xin chào và chào mừng đến với hướng dẫn này.

00:02.070 --> 00:05.910
Trong hướng dẫn hôm nay, chúng ta sẽ đồng bộ hóa với mô hình được chia sẻ.

00:05.910 --> 00:13.290
Vì vậy, những gì chúng ta sẽ làm tất nhiên vẫn giống như chức năng và sau đó khởi tạo độ dài của

00:13.290 --> 00:13.950
một tập.

00:13.950 --> 00:19.740
Vì vậy, chúng tôi sẽ gọi thời lượng của một tập phim là độ dài gạch dưới.

00:20.040 --> 00:20.910
Chúng ta bắt đầu.

00:20.910 --> 00:23.700
Và chúng tôi sẽ khởi tạo nó bằng 0.

00:23.700 --> 00:27.150
Nhưng sau đó thời lượng tập này sẽ được tăng lên.

00:27.300 --> 00:30.360
Và nói về việc gia tăng nó, đó chính xác là những gì chúng tôi sẽ làm.

00:30.390 --> 00:37.560
Vì vậy, chúng ta sẽ sử dụng một vòng lặp while và sử dụng thủ thuật này để nói trong khi đúng.

00:38.430 --> 00:43.680
Cullen để lặp lại những gì sẽ xảy ra bây giờ, những gì sẽ xảy ra bên trong vòng lặp này.

00:43.980 --> 00:49.110
Và vì vậy, điều đầu tiên sẽ xảy ra trong vòng lặp giếng này là việc triển khai độ dài của

00:49.110 --> 00:49.950
một tập phim.

00:49.980 --> 00:53.640
Vì vậy, điều đầu tiên mà chúng tôi sẽ làm là tăng từng thứ một.

00:53.640 --> 00:58.860
Và để làm như vậy, chúng ta có thể chỉ cần lấy độ dài tập và.

00:59.720 --> 01:02.480
Thêm ở đây cộng với bằng một.

01:02.990 --> 01:06.330
Và bây giờ chúng tôi sẽ đồng bộ hóa với mô hình được chia sẻ.

01:06.350 --> 01:13.520
Điều đó có nghĩa là hiện tại tác nhân sẽ nhận được sẽ sử dụng mô hình chia sẻ để thực hiện khám phá nhỏ của mình

01:13.520 --> 01:15.280
trên một số bước nhất định.

01:15.290 --> 01:18.620
Và mô hình sẽ như thế nào để có được mô hình chia sẻ này?

01:18.650 --> 01:27.650
Chà, chúng ta cần lấy mô hình của mình rồi chấm và sau đó sử dụng phương thức load state dict vì chúng ta sẽ

01:27.650 --> 01:34.140
sử dụng nó để lấy từ điển trạng thái của mô hình được chia sẻ của chúng ta.

01:34.160 --> 01:41.240
Vì vậy, chúng ta phải đặt mô hình chia sẻ trước và áp dụng sau đó là phương thức tĩnh để lấy các tham số của mô hình chia

01:41.240 --> 01:41.780
sẻ này.

01:41.780 --> 01:46.970
Và đó là cách mô hình của chúng tôi ở đây sẽ đưa mô hình được chia sẻ vào khám phá nhỏ của nó.

01:48.430 --> 01:53.560
Và một khi mô hình có được mô hình chia sẻ này, bây giờ chúng ta phải phân biệt hai trường hợp.

01:53.590 --> 01:59.940
Đầu tiên là nếu hoàn thành, nghĩa là nếu trò chơi đã hoàn thành.

01:59.950 --> 02:03.240
Vì vậy, nếu trò chơi được thực hiện, sau đó điều gì sẽ xảy ra trong trường hợp đó?

02:03.280 --> 02:09.660
Chà, chúng ta phải khởi tạo lại các trạng thái ẩn và trạng thái ô của lshtm và mô hình.

02:09.670 --> 02:17.440
Và đó là lý do tại sao bây giờ tôi sẽ lấy C X các trạng thái ô và cả h x trạng thái ẩn và tôi sẽ

02:17.440 --> 02:18.960
khởi tạo lại cả hai.

02:18.970 --> 02:22.900
Và làm thế nào chúng ta sẽ khởi tạo lại chúng tốt chỉ với các số không.

02:22.930 --> 02:30.370
Sẽ có một vectơ gồm 256 số không vì hãy nhớ đầu ra của lshtm có kích thước một

02:30.370 --> 02:31.600
và 256.

02:31.600 --> 02:32.260
Vậy là xong.

02:32.260 --> 02:36.070
Chúng tôi sẽ khởi tạo chúng bằng cách sử dụng thư viện ngọn đuốc.

02:36.070 --> 02:38.890
Sau đó, hàm số không.

02:38.890 --> 02:46.270
Và vì chúng tôi muốn một vectơ gồm 256 số không, chúng tôi sẽ nhập vào đây hai thứ nguyên, một

02:46.270 --> 02:50.500
cho vectơ và 256 cho số phần tử sẽ là số không.

02:50.500 --> 02:51.520
Và chúng ta bắt đầu.

02:51.520 --> 02:58.450
Nhưng sau đó chúng tôi sẽ chuyển đổi nó thành một biến ngọn đuốc vì sau đó một số gradient sẽ được tính toán.

02:58.450 --> 03:01.390
Vì vậy, chúng ta cần tích hợp điều này với gradient.

03:01.870 --> 03:02.380
Được rồi.

03:02.380 --> 03:09.460
Và chúng tôi sẽ làm tương tự cho các trạng thái ẩn ngay bên dưới, và chúng tôi khởi tạo chúng theo cùng một cách.

03:09.730 --> 03:10.570
Chúng ta bắt đầu.

03:10.570 --> 03:13.060
Vì vậy, đó là nếu trò chơi được thực hiện.

03:13.060 --> 03:20.740
Và bây giờ trường hợp khác mà chúng ta có thể truy cập bằng ls ls thì điều gì sẽ xảy ra trong trường hợp đó.

03:20.740 --> 03:27.010
Chà, chúng ta sẽ giữ các trạng thái ô cũ và trạng thái ẩn và rất dễ dàng chúng ta có thể giữ các trạng thái

03:27.010 --> 03:28.810
cũ theo cách này bằng cách nhập.

03:28.840 --> 03:36.610
Xem x bằng với dữ liệu của biến c x và tương tự đối với các trạng thái ẩn.

03:36.610 --> 03:44.470
Chúng ta có thể chỉ cần thêm ở đây h x bằng biến h x vào dữ liệu.

03:44.890 --> 03:45.490
Được rồi.

03:45.490 --> 03:46.000
Điều tốt.

03:46.000 --> 03:46.420
Xong.

03:46.420 --> 03:53.230
Bây giờ chúng ta có thể thoát khỏi LS vì về cơ bản chúng ta đã giải quyết xong hai trường hợp này cho dù trò chơi có kết thúc

03:53.230 --> 03:53.890
hay không.

03:53.890 --> 03:59.080
Nhưng chúng tôi vẫn ở trong vòng lặp hoang dã bởi vì bây giờ chúng tôi sẽ làm thêm một số việc mà về cơ bản là

03:59.080 --> 04:00.250
tất cả quá trình đào tạo.

04:00.250 --> 04:05.890
Và vì vậy những gì chúng ta sẽ làm bây giờ là khởi tạo một số biến sẽ là trọng tâm của

04:05.890 --> 04:07.930
các phép tính trong khóa đào tạo.

04:07.930 --> 04:08.830
Vì vậy, chúng ta hãy làm điều này.

04:08.830 --> 04:13.600
Chúng ta sẽ cần các giá trị mà ghi nhớ là đầu ra của nhà phê bình.

04:13.600 --> 04:18.610
Vì vậy, đó là hàm V và chúng tôi sẽ khởi tạo chúng dưới dạng một danh sách trống theo cách này.

04:18.940 --> 04:22.450
Sau đó, chúng ta sẽ cần các xác suất nhật ký.

04:22.720 --> 04:27.040
Vì vậy, đăng nhập các probs và chúng tôi cũng sẽ khởi tạo nó dưới dạng một danh sách trống.

04:27.340 --> 04:33.160
Sau đó, tất nhiên chúng tôi sẽ cần phần thưởng của chúng tôi mà chúng tôi cũng sẽ khởi tạo dưới dạng danh sách trống.

04:33.370 --> 04:41.860
Và cuối cùng chúng ta sẽ cần entropy là một cái gì đó mới, nhưng đây thực sự là trọng tâm của việc tính

04:41.860 --> 04:43.060
toán huấn luyện.

04:43.060 --> 04:44.800
Vì vậy, danh sách trống là tốt.

04:44.890 --> 04:49.240
Vì vậy, bây giờ chúng ta khởi tạo bốn biến này, chúng ta có thể bắt đầu một vòng lặp for mới.

04:49.240 --> 04:53.110
Và trong vòng lặp for mới này, chúng tôi sẽ cập nhật giá trị của 4 biến này.

04:53.110 --> 04:59.260
Và vì vậy, vòng lặp for mới này sẽ là một vòng lặp đầy đủ qua các bước khám phá và do đó biến lặp

04:59.260 --> 05:01.300
sẽ là các bước của chúng ta.

05:01.300 --> 05:12.070
Vì vậy, đối với bước trong phạm vi và bên trong, chúng ta có thể nhập trực tiếp các bước tham số dot num vì bước num tham số chính

05:12.070 --> 05:14.680
xác là số bước của thăm dò.

05:14.950 --> 05:19.090
Vì vậy, đối với tất cả các bước trong khám phá, chúng ta phải làm gì?

05:19.120 --> 05:24.490
Chà, chúng ta sẽ lấy các dự đoán của mô hình, bạn biết đấy, những gì được mô hình trả về.

05:24.490 --> 05:29.740
Và để có được những dự đoán này, chúng ta chỉ cần lấy mô hình và áp dụng nó vào đầu vào.

05:29.740 --> 05:31.240
Vì vậy, đó là tín hiệu đầu vào.

05:31.240 --> 05:36.850
Nó đi qua các bộ não trong mô hình và điều đó sẽ cho chúng ta kết quả đầu ra, nhưng nó sẽ nhận được một số đầu ra.

05:36.850 --> 05:42.400
Bạn biết đấy, nó sẽ cho chúng ta các giá trị của hàm V, đó là đầu ra của nhà phê bình, sau

05:42.400 --> 05:45.790
đó là Q giá trị Q khảo nghiệm, là đầu ra của tác nhân.

05:45.970 --> 05:51.430
Nhưng cũng đừng quên rằng nó cũng sẽ xuất ra bộ ba trạng thái ẩn và trạng thái ô.

05:51.430 --> 05:58.120
Bởi vì hãy nhớ rằng, nếu chúng ta quay lại mô hình của mình tốt trong hàm chuyển tiếp, chúng ta có thể thấy

05:58.120 --> 06:05.620
rằng thực sự nó trả về đầu ra của người chỉ trích là giá trị của hàm v so với đầu ra của tác nhân, là giá

06:05.620 --> 06:12.280
trị Q giá trị Q thử nghiệm. , và cả kết quả đầu ra của lshtm, là hex kép này và xem các trạng

06:12.670 --> 06:14.410
thái ẩn và trạng thái ô.

06:14.680 --> 06:16.810
Vì vậy, chúng ta phải cẩn thận với điều đó.

06:16.810 --> 06:22.270
Điều này khá khác so với những gì đã xảy ra trước đây và do đó bây giờ chúng ta sẽ áp dụng

06:22.270 --> 06:24.280
mô hình cho đầu vào là trạng thái.

06:24.280 --> 06:29.500
Nhưng bây giờ có một số việc phải làm liên quan đến tra tấn, nhưng điều đó dĩ nhiên mang lại sức mạnh cho những

06:29.500 --> 06:30.610
gì chúng tôi đang làm.

06:31.030 --> 06:34.210
Việc đầu tiên chúng ta cần làm là ép chặt.

06:35.590 --> 06:40.600
Bang để thêm thứ nguyên giả này mà phải có chỉ số bằng không.

06:40.840 --> 06:46.250
Đó là bởi vì mô hình chỉ có thể chấp nhận một loạt các đầu vào chứ không phải một đầu vào của chính nó trong một vectơ

06:46.250 --> 06:47.020
hoặc một tensor.

06:47.050 --> 06:49.420
Vì vậy, đó là điều đầu tiên chúng ta phải thực hiện ép.

06:49.420 --> 06:55.290
Nhưng đó không phải là tất cả những gì chúng ta cần để chuyển trạng thái đầu vào của mình thành một biến ngọn đuốc.

06:55.300 --> 06:58.450
Vì vậy, tôi đang thêm biến ở đây.

06:58.960 --> 07:01.720
Vì vậy, bây giờ chúng tôi ổn với trạng thái, trạng thái đầu vào.

07:01.720 --> 07:06.790
Nhưng hãy nhớ rằng đầu vào của bốn chức năng thực sự là hình ảnh đầu vào.

07:06.830 --> 07:13.180
Đó là những gì chúng tôi vừa quan tâm, nhưng cũng là yếu tố chính của các trạng thái ẩn và trạng thái ô.

07:13.510 --> 07:22.030
Và do đó, chúng ta cần thêm vào đây phần thứ hai của đầu vào với cặp H, x và c x.

07:23.090 --> 07:23.570
Được rồi.

07:23.570 --> 07:26.810
Và chúng ta phải lấy dấu ngoặc đơn mà chúng ta đi.

07:26.810 --> 07:28.300
Chúng tôi có hai đầu vào của chúng tôi.

07:28.310 --> 07:30.140
Đầu tiên là trạng thái đầu vào.

07:30.140 --> 07:36.080
Đó là tất cả các hình ảnh đầu vào được chuyển đổi thành một biến ngọn đuốc và được ép để thêm thứ nguyên

07:36.080 --> 07:40.160
mơ hồ này của lô và bộ ba trạng thái ẩn và trạng thái ô.

07:40.160 --> 07:41.510
Vì vậy, tất cả chúng ta đều tốt để đi.

07:41.510 --> 07:43.670
Chúng tôi đã sẵn sàng để có được dự đoán của chúng tôi.

07:43.820 --> 07:49.820
Và bây giờ kể từ lần quay trở lại này, tốt, ba dự đoán của chúng tôi, đầu ra của nhà phê bình,

07:49.820 --> 07:54.350
đầu ra của tác nhân và bộ ba trạng thái ẩn và trạng thái ô bởi LCM.

07:54.350 --> 07:59.720
Bây giờ, chúng tôi sẽ giới thiệu một số ba biến mới, đây sẽ là ba kết quả đầu ra.

07:59.720 --> 08:00.380
Vậy là xong.

08:00.380 --> 08:05.330
Đầu ra đầu tiên là giá trị của hàm V, là đầu ra của nhà phê bình.

08:05.330 --> 08:07.490
Vì vậy, chúng tôi sẽ gọi nó là giá trị.

08:08.330 --> 08:08.900
Vậy là xong.

08:08.900 --> 08:10.130
Đó là đầu ra đầu tiên.

08:10.130 --> 08:16.790
Sau đó, đầu ra thứ hai sẽ là đầu ra của tác nhân, và đó là khảo nghiệm Q giá trị Q.

08:16.910 --> 08:23.720
Nhưng vì các giá trị Q được liên kết với các hành động, chúng ta cũng có thể gọi chúng là các giá trị hành động.

08:24.630 --> 08:25.440
Được rồi.

08:25.440 --> 08:28.700
Và sau đó sản lượng cuối cùng được trả về bởi mô hình.

08:28.710 --> 08:33.000
Đó là đỉnh của trạng thái ẩn, h x và các trạng thái ô.

08:33.030 --> 08:34.920
Xem X và chúng ta bắt đầu.

08:34.920 --> 08:38.970
Chúng tôi có ba đầu ra của chúng tôi được trả về bởi mô hình.

08:39.000 --> 08:39.930
Hoàn hảo.

08:39.930 --> 08:45.420
Vì vậy, bây giờ chúng tôi đã có dự đoán, chúng tôi cần sử dụng mức tối đa mềm để chơi đúng hành động.

08:45.420 --> 08:48.390
Và bây giờ điều đó sẽ giống hệt như những gì chúng ta đã làm trước đây.

08:48.420 --> 08:53.730
Bước tiếp theo là lấy xác suất của chúng ta để chúng ta có thể gọi chúng là xác suất.

08:54.700 --> 09:01.450
Và đó là nơi chúng tôi sử dụng phương thức soft max mà chúng tôi lấy từ mô-đun chức năng có phím tắt.

09:01.450 --> 09:09.970
F Vì vậy, F chấm soft max và đó là thứ tạo ra phân phối xác suất của đầu vào mà chúng ta sắp nhập ngay

09:09.970 --> 09:14.050
bây giờ và tất nhiên là các giá trị hành động.

09:14.050 --> 09:18.880
Đó là giá trị Q, là đầu ra của tác nhân trong mô hình.

09:19.030 --> 09:19.270
Được chứ.

09:19.390 --> 09:24.820
Vì vậy, bây giờ chúng ta có các xác suất, nhưng như bạn nhận thấy, chúng ta sẽ làm

09:24.820 --> 09:31.090
việc với entropy và để có được entropy, chúng ta không chỉ cần xác suất mà còn cả xác suất log vì

09:31.090 --> 09:32.770
entropy là tổng của tích.

09:32.770 --> 09:37.120
Ghi nhật ký lần thử nghiệm của tất cả điều này nhân với trừ một.

09:37.120 --> 09:46.210
Và vì vậy, chúng ta cũng cần lấy bản ghi log của chúng ta, những thứ tương tự sẽ được tạo từ log soft max.

09:46.210 --> 09:51.640
Vì vậy, thay vì lấy phân phối của các xác suất, chúng tôi lấy một phân phối của các xác suất

09:51.640 --> 09:54.250
log và chúng tôi làm điều đó với log.

09:55.060 --> 09:59.200
Cổ nhồi, ổ khóa của chức năng tối đa giống nhau.

09:59.200 --> 10:01.330
Chúng tôi áp dụng cho các giá trị cue.

10:02.280 --> 10:04.170
Cái mà chúng tôi gọi là các giá trị hành động.

10:04.320 --> 10:04.710
Được rồi.

10:04.710 --> 10:11.190
Vì vậy, bây giờ chúng ta có đầu dò và đầu dò, và vì vậy chúng ta đã sẵn sàng để có được entropi và entropy.

10:12.030 --> 10:13.590
Công thức cho điều đó là gì?

10:13.620 --> 10:20.550
Chà, như tôi vừa đề cập, chúng ta lấy giá trị log, chúng ta nhân nó với thăm dò, sau đó chúng ta sẽ lấy tổng

10:20.550 --> 10:22.380
của tất cả những điều này.

10:22.860 --> 10:26.010
Và để làm điều đó, chúng ta có thể thêm vào đây số tiền đó.

10:26.830 --> 10:27.520
Một.

10:27.640 --> 10:29.830
Chúng tôi thực sự sử dụng thủ thuật này nhiều lần bây giờ.

10:29.980 --> 10:33.400
Và như chúng tôi đã nói, chúng tôi nhân tất cả số này với trừ một.

10:33.490 --> 10:39.670
Vì vậy, đó là số trừ của tổng số lần xác suất nhật ký sản phẩm là hoàn hảo.

10:39.670 --> 10:44.770
Và bây giờ chúng ta sẽ lưu trữ entropy này vừa được tính toán trong danh sách entropy của chúng ta.

10:45.340 --> 10:46.060
Bởi vì chúng tôi đi đến đó.

10:46.060 --> 10:48.400
Chúng tôi có tính toán cuối cùng của entropy.

10:48.400 --> 10:51.370
Và vì vậy chúng ta cần lưu trữ nó trong danh sách entropy.

10:51.460 --> 10:55.720
Và để làm điều này, không có gì đơn giản hơn, tất nhiên chúng ta sẽ sử dụng hàm append

10:55.720 --> 10:57.250
vì entropy là một danh sách.

10:57.250 --> 11:04.720
Vì vậy, chúng tôi lấy danh sách entropy của chúng tôi, sau đó chấm, và chúng tôi sử dụng hàm append để thêm entropy vừa được

11:04.720 --> 11:05.590
tính toán.

11:06.420 --> 11:06.780
Được rồi.

11:06.780 --> 11:08.300
Vì vậy, chúng ta sẽ nghỉ ngơi ngay bây giờ.

11:08.310 --> 11:10.020
Chúng tôi sẽ làm điều này từng bước.

11:10.020 --> 11:15.510
Trong hướng dẫn tiếp theo, chúng ta sẽ thực hiện hành động bằng cách lấy ngẫu nhiên phân phối xác suất

11:15.510 --> 11:16.730
được tạo ra này.

11:16.740 --> 11:22.260
Và sau khi chúng tôi chơi hành động, chúng tôi sẽ nhận được giá trị của trạng thái và cuối cùng chúng tôi sẽ lưu trữ phần

11:22.260 --> 11:25.230
thưởng trạng thái truyền mới của chúng tôi và thực hiện như vậy.

11:25.230 --> 11:29.340
Đó sẽ là một bước tiến lớn mới được thực hiện và chúng tôi sẽ hoàn thành điều đó trong hướng dẫn tiếp theo.

11:29.340 --> 11:30.590
Cho đến lúc đó, hãy tận hưởng.

11:30.600 --> 11:31.140
TÔI.
