WEBVTT

00:02.520 --> 00:04.620
Người hướng dẫn: Xin chào mọi người và chào mừng trở lại.

00:04.620 --> 00:07.920
Trong video này, chúng ta sẽ nói về cách

00:07.920 --> 00:11.640
sử dụng ChatGPT để giải quyết "Đột phá",

00:11.640 --> 00:15.540
sử dụng ChatGPT để triển khai A3C.

00:15.540 --> 00:19.470
Vì vậy, tôi đã nhắc nó với rất nhiều lời nhắc điên rồ, chúng tôi đã nhận được

00:19.470 --> 00:23.010
kết quả đáng kinh ngạc, chúng ta sẽ thấy chúng sau giây lát.

00:23.010 --> 00:25.170
Vì vậy, video này về cơ bản sẽ hướng

00:25.170 --> 00:26.640
dẫn quá trình suy nghĩ

00:26.640 --> 00:28.740
của tôi về cách tôi thực sự nhận

00:28.740 --> 00:31.470
được kết quả và cách bạn thực sự có thể sử

00:31.470 --> 00:34.890
dụng ChatGPT để tạo thuật toán A3C.

00:34.890 --> 00:39.360
Được rồi, vì vậy tôi đã bắt đầu tương tự như những gì chúng tôi đã làm cho "DOOM",

00:39.360 --> 00:41.340
tôi đã nói, được rồi, về cơ bản, bạn

00:41.340 --> 00:42.930
là một chuyên gia máy học với

00:42.930 --> 00:46.110
nhiều năm kinh nghiệm về người máy.

00:46.110 --> 00:50.490
Tôi thuê bạn thực hiện thuật toán A3C cho "Breakout. Mục tiêu là có một thuật toán SOTA, A3C

00:50.490 --> 00:52.110
đầy đủ chức năng

00:52.110 --> 00:56.100
có thể chơi trò chơi "Bứt phá".

00:56.100 --> 00:58.401
Tôi đã triển khai các lớp, môi trường

00:58.401 --> 01:00.150
mã thử nghiệm và các phiên

01:00.150 --> 01:02.520
bản tùy chỉnh của trình tối ưu hóa Adam

01:02.520 --> 01:05.040
được sử dụng làm trình tối ưu hóa trọng

01:05.040 --> 01:07.590
số chia sẻ cho mô hình A3C.

01:07.590 --> 01:09.361
Vì vậy, điều này mang lại cho nó nhiều

01:09.361 --> 01:13.076
ngữ cảnh hơn, những gì tôi đã làm, tôi sẽ cung cấp ba điều này cho bạn.

01:13.076 --> 01:18.000
Vì vậy, khi tôi tham khảo trước khi tạo phần còn lại của mã, mục tiêu của

01:18.000 --> 01:20.160
bạn là triển khai giải pháp đầy

01:20.160 --> 01:21.900
đủ bằng Python, Torch, tương

01:21.900 --> 01:23.250
tự như những gì chúng

01:23.250 --> 01:25.650
tôi có và tối ưu hóa mã để được thực

01:25.650 --> 01:27.690
thi trong Google Colab, giống

01:27.690 --> 01:31.680
như những gì chúng tôi đã có trước đây.

01:31.680 --> 01:33.540
Ngoài ra, hãy nhận xét từng

01:33.540 --> 01:35.850
dòng mã để học sinh có thể hiểu

01:35.850 --> 01:38.590
những gì bạn đã làm trong mã.

01:40.710 --> 01:42.990
Đặt câu hỏi làm rõ nếu cần, hiểu rồi.

01:42.990 --> 01:46.500
Vì vậy, chúng tôi có một số trùng lặp với những gì

01:46.500 --> 01:48.360
chúng tôi đã làm đối với Deep

01:48.360 --> 01:53.130
Q đàm thoại cho "DOOM", nhưng tôi đã thêm rất nhiều ngữ cảnh mà tôi

01:53.130 --> 01:54.600
đã triển khai mọi thứ

01:54.600 --> 01:57.390
và tôi muốn chúng được sử dụng.

01:57.390 --> 02:00.210
Vì vậy, đó là những gì tôi bắt đầu và nó đã được xác nhận.

02:00.210 --> 02:03.030
Vâng, tôi hiểu và tôi sẽ hỏi bất kỳ câu

02:03.030 --> 02:06.840
hỏi nào, vui lòng cung cấp phần còn lại của mã.

02:06.840 --> 02:09.510
Sau đó, tôi nói, đây là trình tối ưu hóa Adam,

02:09.510 --> 02:11.753
đã dán mã cho trình tối ưu hóa Adam, cho

02:11.753 --> 02:15.180
các tài nguyên chúng tôi có và tôi đã đưa ra hướng dẫn này,

02:15.180 --> 02:16.920
tôi nói, hãy đợi phần còn lại

02:16.920 --> 02:18.870
của mã trước khi triển khai, tôi

02:18.870 --> 02:21.963
chỉ, trước khi tôi nhận được bất kỳ kết quả tốt nào

02:23.130 --> 02:27.210
, tôi thực sự chỉ cần dán và nó ngay lập tức chuyển sang triển khai

02:27.210 --> 02:30.510
A3C mà không cần đợi phần còn lại.

02:30.510 --> 02:32.310
Vì vậy, tôi đã thêm điều

02:32.310 --> 02:33.750
này như một loại mã

02:33.750 --> 02:38.750
hệ thống, lời nhắc hệ thống, và nó nói, được rồi, vui lòng cung

02:39.060 --> 02:40.560
cấp môi trường và kiểm

02:40.560 --> 02:41.820
tra mã.

02:41.820 --> 02:42.653
Vì vậy, nó thực sự đề cập đến những gì chúng

02:42.653 --> 02:43.650
tôi đã đưa ra trong lời nhắc đầu tiên.

02:43.650 --> 02:46.323
Tôi nói, mát mẻ, đây là việc thực

02:47.160 --> 02:51.030
hiện môi trường phòng tập thể dục.

02:51.030 --> 02:52.173
Tôi đã dán mã chính

02:53.760 --> 02:56.010
đó, tôi đã thêm ngữ cảnh ở đây, nếu bạn

02:56.010 --> 02:57.128
xem qua, và đây là

02:57.128 --> 02:59.040
tệp chính chạy mọi thứ.

02:59.040 --> 03:01.383
Và sau đó tôi nói, được rồi, tuyệt,

03:03.690 --> 03:05.267
hãy đợi mã kiểm tra.

03:05.267 --> 03:06.813
Và nó nói, vâng, tôi, tuy nhiên,

03:07.830 --> 03:08.766
tôi vẫn cần xem mã

03:08.766 --> 03:11.880
thử nghiệm trước khi triển khai A3C, tôi nói, thật tuyệt,

03:11.880 --> 03:13.410
đây là mã thử nghiệm.

03:13.410 --> 03:15.813
Và bạn thấy đây là cách nếu bạn

03:16.920 --> 03:19.170
có một dự án lớn hơn, lớn hơn,

03:19.170 --> 03:21.480
bạn có thể sử dụng dự án đó để điều

03:21.480 --> 03:23.230
khiển nó để sử dụng đoạn

03:24.330 --> 03:27.810
mã đó hoặc làm tài liệu tham khảo, theo kiểu

03:27.810 --> 03:30.870
để bạn thực sự có thể tạo ra thứ gì đó theo

03:30.870 --> 03:33.630
kiểu mã của mình.

03:33.630 --> 03:34.983
Thật tuyệt, và khi tôi làm điều

03:36.360 --> 03:38.370
đó, nó nói, thật tuyệt, hãy làm đi.

03:38.370 --> 03:41.190
Và về cơ bản, nó nói rằng tôi sẽ sử

03:41.190 --> 03:45.840
dụng mã chính này, thử nghiệm và thực hiện điều này.

03:45.840 --> 03:49.200
Và sau đó nó nói, đã tạo mô hình. py, điều mà thực ra chúng tôi cũng đã làm

03:49.200 --> 03:52.800
trong khóa học.

03:52.800 --> 03:55.830
Và anh ấy nói, đây là mô hình ActorCritic,

03:55.830 --> 03:58.620
và tôi so sánh với mô hình của chúng ta.

03:58.620 --> 04:00.630
Đây là phiên bản mới hơn của python, rất

04:00.630 --> 04:02.310
nhiều việc khởi tạo trọng số và những

04:02.310 --> 04:05.640
thứ tương tự có thể được thực hiện theo cách thanh lịch hơn.

04:05.640 --> 04:09.060
Vì vậy, nó đã làm điều đó và nó thực sự

04:09.060 --> 04:13.680
sử dụng khá tốt, sau đó tạo mã đào tạo và về cơ bản

04:13.680 --> 04:15.663
là ActorCritic.

04:16.500 --> 04:19.860
Và nếu bạn xem qua, nó khá đơn giản, vì vậy

04:19.860 --> 04:22.020
nó chắc chắn cần phải được

04:22.020 --> 04:23.039
cải thiện.

04:23.039 --> 04:25.980
Vì vậy, những gì bạn có thể làm, bạn có thể

04:25.980 --> 04:27.423
nói, được rồi, tôi đã

04:28.500 --> 04:31.560
nói tiếp tục, và nó tiếp tục viết ra.

04:31.560 --> 04:35.373
Nó tạo ra điều này như một sự mất mát,

04:37.920 --> 04:41.040
nhưng vâng, về cơ bản có mọi

04:41.040 --> 04:45.030
thứ chúng tôi cần, nó đã tối ưu hóa

04:45.030 --> 04:46.980
mọi thứ và bạn có

04:46.980 --> 04:47.910
thể thấy

04:47.910 --> 04:51.333
trình tối ưu hóa đó. dừng lại ở cuối.

04:53.160 --> 04:56.550
Vì vậy, về cơ bản, nó đã sử dụng mọi

04:56.550 --> 04:58.080
thứ mà chúng tôi đã xác định cho

04:58.080 --> 04:59.220
đến nay, cũng như sự mất

04:59.220 --> 05:02.490
mát thích hợp, và vâng, trình tối ưu hóa, mọi thứ.

05:02.490 --> 05:05.730
À chính nó đấy.

05:05.730 --> 05:07.591
Trong một vài bước đơn giản,

05:07.591 --> 05:10.530
chúng tôi đã quản lý để triển khai toàn bộ mã

05:10.530 --> 05:13.170
cho một trong những mô hình tiên tiến nhất

05:13.170 --> 05:15.270
được coi là một trong những mô

05:15.270 --> 05:18.450
hình tốt nhất trong năm 2017, 2018.

05:18.450 --> 05:21.060
Cho đến ngày nay, nó thực sự có rất

05:21.060 --> 05:24.900
nhiều khả năng để giải quyết các môi trường phức

05:24.900 --> 05:27.240
tạp như "Breakout. Như bạn đã thấy, bây giờ chúng ta có ChatGPT

05:27.240 --> 05:28.710
chẳng hạn, bạn có thể hướng

05:28.710 --> 05:32.490
dẫn nó triển khai một số phần nhất định của mã.

05:32.490 --> 05:35.250
Và nếu bạn không biết một số

05:35.250 --> 05:36.990
phần của mã thực sự

05:36.990 --> 05:39.450
làm gì, bạn có thể đi và hỏi

05:39.450 --> 05:41.430
nó, chẳng hạn, thật

05:41.430 --> 05:42.450
tuyệt, bạn

05:42.450 --> 05:44.853
có thể giải thích phần đào

05:47.310 --> 05:51.840
tạo và phong tục của Adam ở đâu không?

05:51.840 --> 05:56.200
Vì vậy, tôi đang nhắc nó thực sự giải thích chính nó, vì vậy đó

05:58.320 --> 05:59.223
là một cách khác

06:04.740 --> 06:08.430
để nhắc nó về cơ bản nhằm cung cấp cho bạn thêm lý do đằng

06:08.430 --> 06:10.290
sau thế hệ của nó.

06:10.290 --> 06:12.570
Và bạn có thể thấy rằng

06:12.570 --> 06:16.803
nó thực sự sẽ giải thích từng bước một.

06:17.730 --> 06:18.563
Vì vậy, vâng,

06:18.563 --> 06:21.213
chúng ta có thể đợi điều này, bạn có thể thực

06:22.920 --> 06:25.890
hiện các lời nhắc tương tự và bạn sẽ nhận được kết

06:25.890 --> 06:27.510
quả thực sự tương tự như của

06:27.510 --> 06:30.030
tôi, nhưng nói chung bây giờ, những gì nó

06:30.030 --> 06:31.950
sẽ làm là lấy chức năng đào tạo mà

06:31.950 --> 06:34.050
nó đã xác định ngay trên đầu ngay tại

06:34.050 --> 06:38.010
đây, và về cơ bản nó sẽ trải qua từng bước và thực hiện nó.

06:38.010 --> 06:40.890
Vì vậy, vâng, đó sẽ là nó.

06:40.890 --> 06:43.803
Tôi thực sự khuyến khích bạn dùng thử

06:44.700 --> 06:46.053
mã này trong Google

06:47.580 --> 06:48.600
Colab, mã này

06:48.600 --> 06:52.863
có thể thực hiện được, sẽ hơi khó để mã này hoạt động do tính

06:53.730 --> 06:54.780
trực quan và hạn

06:54.780 --> 06:58.380
chế của môi trường Goggle Colab.

06:58.380 --> 06:59.760
Tuy nhiên, bạn chắc chắn

06:59.760 --> 07:02.430
có thể đi và dán các lỗi ở đây, và bạn có thể,

07:02.430 --> 07:03.840
bạn có thể đi và nhận được

07:03.840 --> 07:07.083
một số kết quả khá tốt để gỡ lỗi quy trình.

07:08.580 --> 07:11.310
Và vâng, với điều đó, tôi sẽ để bạn làm

07:11.310 --> 07:13.890
như vậy và bây giờ bạn có cách sử dụng

07:13.890 --> 07:16.860
ChatGPT về cách nhận giá trị cho A3C.

07:16.860 --> 07:20.400
Và vâng, hy vọng bạn thích

07:20.400 --> 07:24.960
khóa học cho đến nay, tạm biệt.
