WEBVTT

00:00.300 --> 00:06.270
Xin chào và chào mừng bạn đến với phần cực kỳ thú vị trong quá trình sáng tạo của chúng tôi, phần mà chúng tôi làm cho nó trở nên thông minh.

00:06.270 --> 00:12.120
Vì vậy, đó chính xác là những gì sẽ xảy ra khi đào tạo AI sẽ đào tạo trí thông minh của nó để đạt được mục tiêu mà chúng

00:12.120 --> 00:13.260
ta muốn nó hoàn thành.

00:13.260 --> 00:19.020
Và để làm được điều này, về cơ bản chúng ta sẽ huấn luyện mạng lưới thần kinh để đưa ra các dự đoán

00:19.020 --> 00:24.360
đúng và sau đó mọi thứ đã sẵn sàng vì những tín hiệu đầu ra này từ não đã được truyền

00:24.360 --> 00:27.510
đúng đến cơ thể để thực hiện các hành động cuối cùng.

00:27.510 --> 00:32.220
Vì vậy, về cơ bản bây giờ những gì chúng tôi sắp làm là những gì chúng tôi đã làm trước đây.

00:32.220 --> 00:37.410
Chúng tôi sẽ chỉ lấy một số lô ngẫu nhiên từ bộ nhớ, lấy đầu vào của chúng tôi từ

00:37.410 --> 00:42.810
các mẫu này, lấy kết quả đầu ra, lấy mục tiêu, lấy dự đoán, tính toán khu vực cuối cùng giữa

00:42.810 --> 00:47.970
dự đoán và mục tiêu, sau đó thực hiện lan truyền ngược với stochastic gradient descent để cập nhật trọng

00:47.970 --> 00:51.660
số theo mức độ mà chúng đã đóng góp vào lỗi cuối cùng này.

00:51.750 --> 00:53.040
Vì vậy, chúng ta hãy làm tất cả những điều này.

00:53.040 --> 00:57.660
Bạn sẽ thấy nó sẽ trở nên dễ dàng như thế nào vì chúng tôi đã có tất cả các công cụ để thực hiện

00:57.660 --> 00:58.140
điều này.

00:58.140 --> 01:04.740
Chúng tôi không chỉ có các công cụ PyTorch như Trình tối ưu hóa và các chức năng bị mất, mà còn có tất cả các lớp mà chúng

01:04.740 --> 01:10.530
tôi đã thực hiện trước đây, tất nhiên là bộ não của chúng tôi, mà chúng tôi sẽ sử dụng để nhận các dự đoán.

01:10.530 --> 01:17.640
Sau đó, kinh nghiệm của chúng tôi, phát lại, triển khai, theo dõi tính đủ điều kiện và tất cả các công cụ này được kết hợp với các công

01:17.640 --> 01:23.280
cụ PyTorch sẽ làm cho quá trình đào tạo siêu hiệu suất và do đó cuối cùng chúng tôi sẽ có được một

01:23.280 --> 01:24.360
AI siêu mạnh mẽ.

01:24.540 --> 01:26.340
Vì vậy, chúng ta hãy làm cho khóa đào tạo này diễn ra.

01:26.340 --> 01:28.260
Hãy làm cho AI của chúng ta trở nên thông minh.

01:28.260 --> 01:33.390
Và điều đầu tiên chúng tôi sẽ làm bây giờ là lấy chức năng cuối cùng mà chúng tôi sẽ sử dụng trong quá trình

01:33.390 --> 01:37.860
đào tạo khi tính toán lỗi và trình tối ưu hóa, đó là điều đầu tiên chúng tôi sẽ làm.

01:37.860 --> 01:40.590
Vì vậy, hãy tạo một biến cho hàm cuối cùng.

01:40.590 --> 01:42.390
Chúng ta sẽ gọi nó là mất mát.

01:42.720 --> 01:50.550
Và điều này sẽ bằng với hàm mất mát MSI từ mô-đun RN.

01:50.760 --> 01:56.520
Và sau đó là trận thua MSI, đó là chức năng cuối cùng chúng tôi sẽ sử dụng vì về cơ bản các dự đoán của chúng tôi là giá

01:56.520 --> 01:56.910
trị Q.

01:57.120 --> 01:59.940
Chúng tôi đang dự đoán giá trị Q của các hành động khác nhau.

01:59.940 --> 02:05.970
Và do đó, vì đây là các số thực, chúng ta đang thực hiện một số mạng nơron để hồi quy, và

02:05.970 --> 02:09.060
do đó hàm cuối cùng là lỗi bình phương trung bình.

02:09.060 --> 02:12.090
Đó là hàm cuối cùng mà chúng tôi sử dụng nói chung để hồi quy.

02:12.420 --> 02:13.020
Được rồi.

02:13.020 --> 02:16.290
Vì vậy, bây giờ chúng ta đã có chức năng cuối cùng, hãy lấy trình tối ưu hóa của chúng ta.

02:16.440 --> 02:21.240
Vì vậy, trình tối ưu hóa ở đây, đó là biến chúng tôi tạo cho trình tối ưu hóa.

02:21.240 --> 02:23.940
Và chúng tôi sẽ thực hiện như thường lệ.

02:23.940 --> 02:30.840
Đối với xe tự lái, Atom Optimizer, đó là một công cụ tối ưu hóa rất mạnh mẽ sẽ mang lại hiệu quả tuyệt vời cho

02:30.840 --> 02:31.950
quá trình đào tạo.

02:31.950 --> 02:36.060
Vì vậy, hãy đưa cái này lên tới nguyên tử kia.

02:36.780 --> 02:39.990
Và hãy nhớ rằng, đó chính xác là dành cho xe tự lái.

02:39.990 --> 02:42.930
Chúng ta phải nhập hai đối số thiết yếu.

02:42.930 --> 02:49.200
Cái đầu tiên là cái sẽ tạo kết nối giữa trình tối ưu hóa và các tham số của mạng nơ-ron của chúng

02:49.200 --> 02:52.890
ta, tức là trọng lượng của các nơ-ron trong não của chúng ta.

02:52.890 --> 02:56.880
Và để làm điều này, chúng tôi sử dụng bộ não của mình, cái mà chúng tôi gọi là CNN.

02:56.880 --> 02:59.220
Đó là vật thể chúng ta đã tạo ra cho bộ não của mình.

02:59.220 --> 03:03.210
Và vì vậy CNN không nhớ các thông số.

03:03.450 --> 03:04.320
Chúng ta bắt đầu.

03:04.320 --> 03:06.120
Và một số dấu ngoặc đơn.

03:06.270 --> 03:11.970
Vì vậy, điều đó tạo ra kết nối giữa trình tối ưu hóa và trọng lượng của các tế bào thần kinh trong não của AI

03:12.000 --> 03:12.660
của chúng ta.

03:12.690 --> 03:18.870
Và sau đó đối số thứ hai là tỷ lệ học tập, và điều đó được đưa ra bởi lỗi.

03:18.870 --> 03:24.480
Và vì vậy ở đây chúng ta phải lấy một tỷ lệ học tập nhỏ bởi vì chúng tôi không muốn hội tụ quá nhanh và chúng

03:24.480 --> 03:29.340
tôi muốn có một số khám phá và do đó tỷ lệ học tập tốt mà chúng tôi có thể đạt được

03:29.340 --> 03:33.360
ở đây là một tỷ lệ nhỏ là 0. 01 đó là mở 1%.

03:33.360 --> 03:36.450
Tôi nghĩ đó cũng là điều chúng tôi đã sử dụng cho xe tự lái.

03:37.390 --> 03:40.570
Được rồi, bây giờ chúng ta có một chức năng cuối cùng, một trình tối ưu hóa.

03:40.570 --> 03:43.450
Vì vậy, chúng tôi gần như đã sẵn sàng để bắt đầu vòng lặp đầy đủ.

03:43.450 --> 03:46.060
Thực ra, chúng ta sẽ bắt đầu vòng lặp đầy đủ ngay bây giờ.

03:46.060 --> 03:51.250
Nhưng ngay trước khi chúng tôi làm điều đó, chúng tôi sẽ quyết định kích thước của số kỷ nguyên.

03:51.250 --> 03:57.040
Chúng tôi sẽ đào tạo AI và do đó tôi đang tạo một biến mới ở đây sẽ tương ứng với

03:57.040 --> 03:58.390
số kỷ nguyên này.

03:59.290 --> 04:02.360
Và hãy đặt nó bằng 100.

04:02.380 --> 04:04.790
Đó sẽ là cách đủ để luyện mắt.

04:04.810 --> 04:11.350
Và tôi thậm chí còn đặt cược rằng AI sẽ đạt được cách tốt nhất trước 100, như 20 hoặc 30.

04:11.380 --> 04:12.010
Hãy xem nào.

04:12.010 --> 04:13.870
Nhưng bây giờ, hãy lấy 100.

04:13.870 --> 04:16.060
Và nếu chúng tôi cần, chúng tôi sẽ tăng nó lên.

04:16.060 --> 04:17.980
Nhưng tôi không nghĩ rằng điều đó sẽ cần thiết.

04:18.420 --> 04:18.620
Được chứ.

04:18.640 --> 04:24.580
Vì vậy, bây giờ chúng ta đã có số kỷ nguyên của mình, chúng ta có thể bắt đầu tạo vòng lặp for này là vòng lặp for chính của quá

04:24.580 --> 04:26.880
trình huấn luyện khi chúng ta huấn luyện qua các kỷ nguyên.

04:26.890 --> 04:31.520
Vì vậy, biến được lặp lại sẽ là kỷ nguyên.

04:31.540 --> 04:34.450
Đó là những gì chúng tôi chọn cho kỷ nguyên.

04:34.930 --> 04:41.740
Tất nhiên, bây giờ chúng ta sẽ sử dụng hàm phạm vi để nói rằng chúng ta muốn đi từ

04:41.740 --> 04:44.710
kỷ nguyên đầu tiên đến số kỷ nguyên.

04:47.130 --> 04:51.960
Thêm một, bởi vì hãy nhớ rằng, giới hạn trên của một dải ô không được bao gồm.

04:51.960 --> 04:58.080
Và do đó, nếu chúng ta muốn tăng lên 100, tốt, chúng ta phải chỉ định và là một hộp cộng với một để

04:58.080 --> 04:58.920
tăng lên 100.

04:59.400 --> 05:00.960
Được rồi, Colin.

05:00.960 --> 05:03.030
Và bây giờ chúng ta hãy đi vào vòng lặp.

05:03.600 --> 05:03.930
Được rồi.

05:03.930 --> 05:08.550
Vì vậy, điều đầu tiên chúng ta sẽ làm là thực hiện 200 lần chạy trong 10 bước.

05:08.550 --> 05:13.810
Vì vậy, mỗi kỷ nguyên sẽ là 200 lần chạy, nối tiếp nhau trong mười bước.

05:13.830 --> 05:18.420
Và để làm điều này, chúng tôi có chức năng các bước chạy này từ lớp phát lại có kinh nghiệm của chúng tôi.

05:18.420 --> 05:23.400
Và do đó, để sử dụng hàm này, thực ra là một phương thức vì chúng ta sẽ lấy nó từ

05:23.400 --> 05:30.540
đối tượng bộ nhớ của mình, là một đối tượng từ lớp bộ nhớ phát lại để tạo ra 200 lần chạy trong 10 bước này, nơi chúng ta phải

05:30.540 --> 05:32.520
lấy đối tượng bộ nhớ của mình.

05:33.350 --> 05:36.140
Điều đó tôi nhắc nhở chúng tôi đã tạo ra ngay tại đây.

05:36.140 --> 05:43.520
Bộ nhớ là một đối tượng của lớp bộ nhớ phát lại với các bước MN là mười bước và dung lượng 10.000.

05:43.790 --> 05:52.250
Chúng tôi đã tạo đối tượng này và từ đối tượng này, chúng tôi thực hiện tốt, bước chạy này, bước, chức năng, các bước chạy

05:52.250 --> 05:56.630
và chúng tôi chỉ định 200 lần chạy liên tiếp trong 10 bước.

05:56.930 --> 06:00.680
Vì vậy, về cơ bản mỗi kỷ nguyên sẽ chạy 200 bước.

06:00.740 --> 06:07.970
Và bây giờ chúng ta có 200 bước này đang chạy ở mỗi kỷ nguyên, tốt, đã đến lúc lấy mẫu một số lô từ những

06:07.970 --> 06:09.110
lần chạy này.

06:09.110 --> 06:10.610
Và để lấy mẫu các lô này.

06:10.610 --> 06:16.700
Chúng tôi có một chức năng khác từ bộ nhớ của mình, đó là lô mẫu và chính xác sẽ tạo ra

06:16.700 --> 06:19.100
một số lô từ 200 lần chạy này.

06:19.340 --> 06:25.010
Nhưng hãy nhớ rằng, các đợt này là các đợt thời gian của chuỗi chuyển tiếp.

06:25.010 --> 06:30.440
Đó là một loạt mười bước so với trước đây, trong đó các lô chỉ là một số loạt chuyển đổi

06:30.440 --> 06:31.640
đơn lẻ ở đây.

06:31.640 --> 06:37.130
Lần này chúng sẽ là các lô gồm mười bước, mười chuyển tiếp, và do đó bây giờ đã

06:37.130 --> 06:45.230
đến lúc lấy từ bộ nhớ của chúng ta những lô ngẫu nhiên này và để lấy chúng, chúng ta sử dụng hàm lô mẫu mà chúng ta

06:45.230 --> 06:47.060
phải áp dụng kích thước lô.

06:47.060 --> 06:53.690
Và đối với kích thước lô, chúng tôi có thể lấy 32 hoặc thậm chí 64 hoặc thậm chí 128.

06:54.050 --> 06:57.140
Hãy nhớ rằng, đối với kích thước lô, đó là một thực tế phổ biến để sử dụng.

06:57.140 --> 07:03.620
32 Đó là những gì bạn sẽ thấy nói chung trong kiến trúc mạng nơ-ron khi thực hiện một số học theo lô.

07:03.620 --> 07:05.600
Nhưng lần này thì hoàn toàn khác.

07:05.600 --> 07:11.630
Chúng tôi chỉ lấy mẫu một số lô gồm mười bước, vì vậy tốt hơn nên lấy các lô với kích thước lớn hơn.

07:11.630 --> 07:14.990
Vì vậy, đó là lý do tại sao chúng ta có thể lấy 64 hoặc 128.

07:14.990 --> 07:17.000
Vì vậy, chúng tôi sẽ lấy 128.

07:17.240 --> 07:24.770
Và thực sự điều này sẽ nằm trong vòng lặp bốn bởi vì chúng tôi muốn lấy một số lô và chúng tôi đang

07:24.770 --> 07:29.090
lấy chúng trong những gì được trả về bởi hàm lô mẫu này.

07:29.330 --> 07:38.750
Vì vậy, vòng lặp for này đối với lô trong bộ nhớ mẫu lô 128 có nghĩa là cứ 128 bước, tốt, bộ nhớ của chúng ta

07:38.750 --> 07:47.390
sẽ cung cấp cho chúng ta một lô có kích thước 128, thực sự sẽ chứa 128 bước cuối cùng vừa được chạy.

07:47.810 --> 07:54.230
Chúng tôi chỉ nhận được một số lô có kích thước 128 và việc học sẽ diễn ra trên các lô này.

07:54.230 --> 07:58.700
Và bên cạnh đó, bên trong các đợt này, chúng ta sẽ có đủ điều kiện, bạn biết đấy, để học

07:58.700 --> 07:59.660
mười bước một lần.

08:00.200 --> 08:00.620
Được rồi.

08:00.620 --> 08:06.920
Vì vậy, bây giờ bên trong vòng lặp này, vẫn đang diễn ra trong một kỷ nguyên, nhưng bây giờ lần này chúng ta đang ở trong một đợt

08:06.920 --> 08:07.550
cụ thể.

08:07.670 --> 08:14.300
Và vì vậy, điều đầu tiên chúng tôi sẽ làm là chúng tôi sẽ nhận được đầu vào và mục tiêu của chúng tôi một cách riêng biệt.

08:14.450 --> 08:16.610
Và điều đó, như tôi đã nói với bạn, nó rất dễ dàng.

08:16.610 --> 08:21.500
Chúng tôi có thể làm điều đó bằng một trong những công cụ mà chúng tôi đã triển khai, đó là theo dõi tính đủ điều kiện.

08:21.500 --> 08:28.160
Như bạn có thể thấy ở đây, chức năng theo dõi tính đủ điều kiện này lấy một lô làm đầu vào và bây giờ chúng

08:28.160 --> 08:32.270
ta có lô và trả về dưới dạng đầu ra, đầu vào và mục tiêu.

08:32.270 --> 08:37.640
Vì vậy, ngay bây giờ những gì chúng ta có thể làm đơn giản là tạo ra hai biến mới

08:37.640 --> 08:42.290
sẽ là đầu vào và mục tiêu và làm cho đầu vào này đến đúng mục tiêu.

08:43.220 --> 08:44.000
Bằng nhau.

08:44.030 --> 08:48.840
Chính xác những gì trả về chức năng theo dõi tính đủ điều kiện này áp dụng cho một lô.

08:48.860 --> 08:52.190
Vì vậy, chúng tôi sẽ áp dụng chức năng này cho hàng loạt vòng lặp của chúng tôi.

08:52.190 --> 08:55.340
Và vì vậy những gì chúng tôi sẽ làm chỉ là tính đủ điều kiện.

08:56.410 --> 09:00.340
Dấu vết được áp dụng cho loạt vòng lặp của chúng tôi.

09:00.640 --> 09:04.210
Được rồi, để chúng tôi có được thông tin đầu vào và mục tiêu.

09:04.210 --> 09:08.020
Nhưng trong PyTorch, luôn có nhiều việc chúng ta phải làm.

09:08.020 --> 09:13.510
Và tất nhiên, điều này là để chuyển đổi các đầu vào của mạng nơ-ron và cả các mục tiêu thành một số biến

09:13.510 --> 09:15.220
tra tấn, nhưng không được giải phóng.

09:15.220 --> 09:16.140
Không có gì là mới.

09:16.150 --> 09:17.430
Chúng tôi biết cách để làm nó.

09:17.440 --> 09:18.460
Chúng ta có thể làm theo cách này.

09:18.460 --> 09:26.740
Chúng tôi lấy đầu vào của chúng tôi, sau đó là mục tiêu của chúng tôi, và tốt, chúng sẽ bằng với đầu vào biến đổi.

09:27.740 --> 09:33.800
Đó là cho các đầu vào và các mục tiêu biến đổi và đó là cho các mục tiêu.

09:34.070 --> 09:34.880
Được rồi.

09:35.210 --> 09:42.680
Vì vậy, các đầu vào của bộ não được chuyển đổi thành một số biến ngọn đuốc và các mục tiêu cũng được chuyển đổi thành

09:42.680 --> 09:44.130
một số biến ngọn đuốc.

09:44.150 --> 09:48.530
Vì vậy, bây giờ chúng ta có thể nhận các đầu vào vào mạng nơ-ron.

09:48.530 --> 09:50.120
Và tại sao chúng ta cần làm điều này?

09:50.150 --> 09:55.430
Đó là bởi vì bước tiếp theo là lấy các dự đoán mà chúng ta có, các yếu tố đầu vào mà chúng ta phải nhắm mục tiêu.

09:55.460 --> 10:00.110
Tất nhiên, bây giờ chúng ta cần những dự đoán của mình, bởi vì sau đó điều xảy ra là chúng ta sẽ

10:00.110 --> 10:02.360
tính toán thiệt hại giữa dự đoán và mục tiêu.

10:02.900 --> 10:06.570
Vì vậy, chúng ta hãy lấy những dự đoán để có được chúng.

10:06.590 --> 10:07.910
Vâng, một lần nữa, điều này rất đơn giản.

10:07.910 --> 10:14.750
Bây giờ chúng ta chỉ cần lấy bộ não của mình, đó là CNN, mạng nơ-ron phức hợp của chúng ta, và áp dụng

10:14.750 --> 10:16.970
nó vào đầu vào của chúng ta.

10:17.240 --> 10:18.140
Chúng ta bắt đầu.

10:18.230 --> 10:23.480
Các đầu vào đi vào mạng nơ-ron và mạng nơ-ron sẽ đưa ra các dự đoán.

10:24.150 --> 10:24.870
Hoàn hảo.

10:24.870 --> 10:28.560
Vì vậy, bây giờ chúng tôi có dự đoán, chúng tôi có mục tiêu để chúng tôi có thể nhận được lỗ.

10:28.560 --> 10:30.030
Và đó là bước tiếp theo.

10:30.210 --> 10:35.070
Chúng ta sẽ giới thiệu một biến mới vì ngay bây giờ chúng ta sẽ gặp lỗi cuối cùng,

10:35.070 --> 10:39.900
khác với hàm cuối cùng, vì chúng ta sử dụng hàm cuối cùng để nhận lỗi cuối cùng.

10:39.930 --> 10:48.960
Vì vậy, ít lỗi hơn ở đây và chúng tôi sẽ nhận được nó với chức năng cuối cùng được áp dụng cho các dự đoán của chúng tôi.

10:49.650 --> 10:51.360
Và các mục tiêu.

10:52.170 --> 10:52.980
Chúng ta bắt đầu.

10:53.370 --> 10:55.020
Xem mọi thứ trôi chảy như thế nào bây giờ.

10:55.050 --> 10:56.160
Mọi thứ đều logic.

10:56.160 --> 10:58.230
Chúng tôi lấy mục tiêu đầu vào trước tiên.

10:58.230 --> 11:00.540
Sau đó, nhờ đầu vào, chúng tôi có được các dự đoán.

11:00.540 --> 11:03.960
Và sau đó nhờ vào các dự đoán và các mục tiêu, chúng tôi nhận được ít lỗi hơn.

11:04.990 --> 11:07.200
Vì vậy, rất hợp lý và trôi chảy.

11:07.210 --> 11:09.040
Và bây giờ bước tiếp theo là gì?

11:09.070 --> 11:10.770
Chà, cùng một con đường hợp lý.

11:10.780 --> 11:16.420
Bây giờ chúng ta có những gì cuối cùng mà chúng ta có thể quay lại, hãy truyền ít lỗi này trở lại mạng nơ-ron để cập

11:16.420 --> 11:17.080
nhật trọng số.

11:17.080 --> 11:22.150
Và chúng tôi làm điều đó với giảm độ dốc ngẫu nhiên và để thực hiện giảm độ dốc ngẫu nhiên, chúng tôi cần trình tối

11:22.150 --> 11:26.290
ưu hóa của mình, nhưng chúng tôi đã có nó ở đây, trình tối ưu hóa nguyên tử của chúng tôi.

11:26.290 --> 11:29.230
Nhưng bây giờ ở thời điểm này, hãy nhớ những gì chúng ta phải làm.

11:29.230 --> 11:32.380
Chúng ta phải khởi tạo nó và khởi tạo nó.

11:32.380 --> 11:40.780
Hãy nhớ rằng, chúng tôi lấy đối tượng trình tối ưu hóa của chúng tôi và sau đó chúng tôi áp dụng phương pháp lưới số không.

11:41.460 --> 11:41.920
Sau đó chúng tôi đi.

11:41.920 --> 11:45.240
Chúng tôi không quên dấu ngoặc đơn khởi tạo nó.

11:45.360 --> 11:50.900
Và bây giờ bước tiếp theo là truyền lại lỗi cuối cùng trở lại mạng nơ-ron.

11:50.910 --> 11:58.960
Và để làm điều này, chúng tôi lấy lỗi cuối cùng của mình và chúng tôi áp dụng phương pháp quay ngược lại trên đó.

11:58.980 --> 12:02.010
Vì vậy, đó là chính xác để áp dụng truyền ngược.

12:02.010 --> 12:07.530
Và cuối cùng, bây giờ lỗi cuối cùng đã được lan truyền trở lại trong mạng mới, chúng ta có thể cập nhật

12:07.530 --> 12:09.780
các trọng số với gốc gradient ngẫu nhiên.

12:10.260 --> 12:17.190
Và để làm điều này, hãy nhớ rằng, chúng tôi sử dụng trình tối ưu hóa của mình và sau đó chúng tôi áp dụng phương pháp bước này.

12:17.370 --> 12:18.310
Chúng ta bắt đầu.

12:18.330 --> 12:20.120
Các trọng lượng hiện đã được cập nhật.

12:20.130 --> 12:25.740
Như tôi đã nói với bạn, không chỉ chúng tôi đã làm điều đó, mà bây giờ nó có vẻ rất đơn giản và tự nhiên.

12:26.070 --> 12:28.520
Vì vậy, bây giờ chúng ta sẽ làm một cái gì đó vui vẻ.

12:28.530 --> 12:34.620
Chúng tôi sẽ in phần thưởng trung bình, mỗi kỷ nguyên để chúng tôi có thể theo dõi hoạt động của AI, quá trình đào tạo

12:34.620 --> 12:36.040
diễn ra như thế nào.

12:36.060 --> 12:40.530
Chúng tôi muốn thấy phần thưởng trung bình tăng lên qua các bước của kỷ nguyên.

12:40.530 --> 12:44.040
Và lúc đầu, tất nhiên, có giai đoạn thăm dò này.

12:44.040 --> 12:49.680
Vì vậy, phần thưởng trung bình có thể không tăng vào lúc đầu, nhưng sau đó khi nó đạt đến giai đoạn khai

12:49.680 --> 12:56.190
thác, thì chúng ta sẽ thấy phần thưởng trung bình chắc chắn tăng lên và nó sẽ tăng lên đến một mức nhất định, đó là

12:56.190 --> 12:58.860
khi nó đạt đến chiếc áo nhanh như khả thi.

12:59.310 --> 13:01.470
Vì vậy, hãy bắt đầu với bản in.

13:01.980 --> 13:07.500
Bạn biết đấy, chúng tôi đang làm điều này trong một kỷ nguyên, vì vậy chúng tôi phải quay lại vòng lặp ở

13:07.500 --> 13:15.270
đây in và sau đó chúng tôi sẽ in tốt kỷ nguyên đầu tiên một cột sau đó đến phần trăm se bởi vì chúng tôi sẽ chuyển đổi mọi thứ thành

13:15.270 --> 13:16.380
một chuỗi tốt hơn.

13:16.710 --> 13:21.300
Và sau đó chúng tôi sẽ thêm phần thưởng trung bình.

13:22.540 --> 13:25.300
Và sau đó chúng tôi cũng thêm phần trăm.

13:25.600 --> 13:27.880
Sau đó, chúng ta sẽ kết thúc phần trích dẫn.

13:28.960 --> 13:30.700
Và sau đó chúng tôi thêm một phần trăm.

13:30.700 --> 13:36.670
Và ở phía bên kia, bạn biết đấy, chúng tôi nhập các biến sẽ là người đầu tiên sẽ là EPC

13:36.670 --> 13:42.400
ở đây và biến thứ hai tương ứng với phần thưởng trung bình mà chúng tôi sẽ tính toán ngay bây

13:42.400 --> 13:42.940
giờ.

13:42.940 --> 13:45.670
Vì vậy, biến phần thưởng trung bình chưa tồn tại.

13:45.670 --> 13:47.770
Chúng tôi sẽ tạo nó ngay bây giờ.

13:48.010 --> 13:52.120
Vì vậy, chúng tôi sẽ sử dụng kỷ nguyên STR.

13:52.450 --> 13:55.450
Ngay cả khi epoch là một số, chúng tôi sẽ chuyển đổi nó thành một chuỗi.

13:55.450 --> 13:57.340
Điều đó tốt hơn và.

13:58.030 --> 14:02.080
Chúng tôi sẽ thêm một ngôi sao có thể là phần thưởng trung bình.

14:02.080 --> 14:08.140
Và vì vậy chúng tôi sẽ tạo một biến mà chúng tôi sẽ gọi là phần thưởng VG, và bây giờ chúng tôi sẽ

14:08.140 --> 14:10.000
tạo biến này và tính toán nó.

14:10.960 --> 14:12.430
Vì vậy, chúng ta hãy làm điều này.

14:12.430 --> 14:13.930
Đó là điều duy nhất chúng tôi phải làm còn lại.

14:13.930 --> 14:16.090
Vì vậy, kỷ nguyên chúng tôi đã có.

14:16.120 --> 14:20.140
Bây giờ chúng ta hãy tính toán phần thưởng trung bình và chúng ta cần tính nó ngay tại đây.

14:20.140 --> 14:27.100
Vẫn trong vòng lặp nhưng ra khỏi vòng lặp hàng loạt bởi vì bây giờ chúng tôi đã lấy mẫu theo lô và chúng tôi đang đào tạo

14:27.100 --> 14:28.210
diễn ra trong lô.

14:28.210 --> 14:32.080
Nhưng bây giờ nhân giống thuận cộng với nhân giống lùi được thực hiện theo lô.

14:32.080 --> 14:38.890
Vì vậy, chúng tôi đang quay trở lại vòng lặp kỷ nguyên và bây giờ chúng tôi có thể tính toán phần thưởng tích lũy mà chúng tôi

14:38.890 --> 14:44.920
có thể thực hiện với đối tượng bước kết thúc vì đối tượng bước kết thúc của chúng tôi có chứa hàm này.

14:44.920 --> 14:50.980
Chúng tôi sẽ thực hiện các bước cho phép chúng tôi nhận được phần thưởng tích lũy xảy ra trong các bước trong quá trình chạy

14:50.980 --> 14:51.490
các bước.

14:51.490 --> 14:59.500
Vì vậy, chúng tôi sẽ sử dụng nó ngay bây giờ để cập nhật phần thưởng mới của các bước và sau đó chúng tôi sẽ cập nhật

14:59.500 --> 15:06.850
đối tượng trung bình động bằng cách thêm phần thưởng tích lũy vào đối tượng trung bình động và sau đó tính toán lại giá

15:06.850 --> 15:07.750
trị trung bình.

15:07.750 --> 15:10.090
Và đó là cách chúng tôi sẽ nhận được phần thưởng trung bình.

15:10.480 --> 15:11.500
Vì vậy, chúng ta hãy làm điều này.

15:11.500 --> 15:14.890
Điều đầu tiên chúng ta cần là phần thưởng được cập nhật.

15:14.890 --> 15:17.140
Vì vậy, chúng ta hãy gọi chúng là phần thưởng.

15:18.080 --> 15:19.010
Các bước.

15:19.250 --> 15:24.000
Và sau đó, như chúng tôi đã nói, chúng tôi thực hiện các bước PN của mình.

15:24.020 --> 15:30.830
Đối tượng là một lời nhắc được tạo ở đây, một đối tượng của lớp Tiến trình bước PN từ tệp phát lại trải

15:30.830 --> 15:33.530
nghiệm của chúng tôi để đối tượng bước PN.

15:33.920 --> 15:39.710
Sau đó, chúng tôi thêm các bước phần thưởng và sau đó là một số dấu ngoặc đơn.

15:39.710 --> 15:43.930
Được rồi, điều đó sẽ giúp chúng tôi nhận được phần thưởng tích lũy mới của các bước.

15:43.940 --> 15:50.930
Được rồi, nhưng sau đó chúng ta cần thêm những phần thưởng tích lũy mới này vào đối tượng trung bình động của chúng ta.

15:50.930 --> 15:57.320
Và để làm điều này, chúng ta có một phương thức, lần này là trong lớp trung bình động, đó là phương pháp ADD.

15:57.410 --> 15:58.220
Vì vậy, điều đó rất đơn giản.

15:58.220 --> 16:05.330
Chúng tôi lấy đối tượng trung bình động của chúng tôi, mà chúng tôi đã tạo ở đây với 100 bước, sau đó chúng tôi sẽ

16:05.330 --> 16:13.400
sử dụng phương pháp THÊM và sau đó trong phương pháp quảng cáo, chúng tôi nhập các bước thưởng của mình và điều này sẽ thêm phần thưởng của các

16:13.400 --> 16:15.350
bước vào đường trung bình động .

16:15.950 --> 16:16.340
Được rồi.

16:16.340 --> 16:21.680
Và cuối cùng, chúng tôi có thể tính toán phần thưởng trung bình, và bạn biết đấy, đó là cùng một biến

16:21.680 --> 16:22.220
ở đây.

16:22.640 --> 16:26.720
Vì vậy, đó là những gì sẽ tương đương với phần thưởng trung bình.

16:26.720 --> 16:33.440
Và để có được nó, chúng ta chỉ cần sử dụng phương pháp trung bình lần này từ đối tượng trung bình động của chúng ta.

16:33.590 --> 16:42.320
Và đó là chúng tôi thực hiện một điểm trung bình giống như vậy bởi vì trung bình động của chúng tôi đã được cập nhật với các bước phần thưởng

16:42.320 --> 16:45.650
mới mà chúng tôi vừa thêm vào nhờ phương pháp ADD.

16:46.350 --> 16:46.930
Tuyệt quá.

16:46.970 --> 16:50.130
Vì vậy, bây giờ chúng tôi có phần thưởng trung bình của mình để chúng tôi sẽ điền vào đây.

16:50.130 --> 16:53.160
Và điều này sẽ được in mỗi kỷ nguyên.

16:53.430 --> 16:53.850
Được rồi.

16:53.850 --> 16:54.960
Vậy là chúng ta đã hoàn thành.

16:54.960 --> 16:57.150
Vì vậy, tôi rất vui mừng để xem kết quả.

16:57.150 --> 17:01.620
Và thực ra, tôi sẽ có một điều bất ngờ cho bạn trong phần hướng dẫn tiếp theo khi xem kết quả.

17:01.620 --> 17:03.600
Vì vậy, nó sẽ khá thú vị.

17:03.600 --> 17:06.960
Và vì vậy, bây giờ tôi đoán đã đến lúc chơi với AI và vui chơi.

17:07.620 --> 17:11.380
Được rồi, vậy hãy chuẩn bị cho mình một ly cà phê ngon hoặc một ly trà ngon.

17:11.400 --> 17:16.950
Bây giờ là lúc để ngồi thoải mái trên ghế của chúng tôi và xem một số video rất thú vị về AI của chúng tôi chơi Doom.

17:16.980 --> 17:18.750
Vì vậy, hãy làm điều đó trong hướng dẫn tiếp theo.

17:18.750 --> 17:20.040
Và cho đến khi đó, hãy tận hưởng.

17:20.040 --> 17:20.460
TÔI.
