WEBVTT

00:00.270 --> 00:03.890
Xin chào và chào mừng một lần nữa đến với Mô-đun hai Doom.

00:03.900 --> 00:07.830
Bây giờ chúng tôi sẽ chuẩn bị sẵn sàng để bắt đầu triển khai AI của chúng tôi.

00:07.860 --> 00:13.230
Và như thường lệ, việc đầu tiên chúng ta cần làm là đặt đúng thư mục làm thư mục làm việc.

00:13.350 --> 00:17.310
Vì vậy, chúng ta hãy làm điều này ngay bây giờ để chúng ta có thể chuyển sang những gì thú vị hơn.

00:17.310 --> 00:23.580
Vì vậy, như thường lệ, tôi bắt đầu trên máy tính để bàn của mình, sau đó tôi đi đến trí thông minh nhân tạo của tôi là thư mục đó,

00:23.580 --> 00:25.380
sau đó mô-đun hai bây giờ diệt vong.

00:25.380 --> 00:29.190
Và chúng ta bắt đầu, đó là thư mục chúng ta phải đặt làm thư mục làm việc.

00:29.220 --> 00:30.120
Vì vậy, chúng ta hãy làm điều này.

00:30.120 --> 00:35.880
Bây giờ chúng ta nhấp vào hai nút này ở đây, sau đó khởi động lại hạt nhân và sau đó có và chúng ta bắt đầu.

00:35.880 --> 00:38.820
Bây giờ chúng ta có đúng thư mục làm thư mục làm việc.

00:39.210 --> 00:42.210
Vì vậy, bây giờ như bạn có thể thấy, chúng tôi có bốn tệp.

00:42.210 --> 00:45.990
Thực ra cũng có thư mục 3001 trong thư mục thư mục làm việc này.

00:45.990 --> 00:47.460
Vì vậy, hãy bắt đầu với cái đầu tiên.

00:47.460 --> 00:49.980
Người đầu tiên là ADP.

00:50.010 --> 00:54.270
Đó là tất nhiên, tệp sẽ chứa trí tuệ nhân tạo của chúng tôi.

00:54.270 --> 00:56.670
Và đó không có gì khác hơn là tập tin này ở đây.

00:56.670 --> 01:04.650
Đó là tệp ADP trong đó chúng tôi sẽ triển khai mọi thứ liên quan đến xây dựng API và đặc biệt là

01:04.650 --> 01:08.430
xây dựng AI với mô hình học tích hợp sâu.

01:09.060 --> 01:11.730
Vì vậy, về cơ bản đó là nơi chúng ta sẽ có cuộc phiêu lưu lớn.

01:11.970 --> 01:13.330
Sau đó, chúng tôi có một số tệp khác.

01:13.330 --> 01:17.130
Vì vậy, chúng tôi có tệp thứ hai ở đây, đó là trải nghiệm chơi lại số pi đó.

01:17.130 --> 01:23.460
Và vì vậy lần này tôi đặt kinh nghiệm thay thế riêng chỉ vì chúng tôi đã triển khai nó.

01:23.460 --> 01:25.740
Và bây giờ chúng tôi muốn tập trung vào những gì mới.

01:25.740 --> 01:32.280
Và tin tôi đi, chúng ta có rất nhiều điều mới phải làm với trí thông minh nhân tạo mới này vì không chỉ chúng ta

01:32.280 --> 01:36.450
muốn xây dựng một AI mà còn muốn xây dựng một AI để đánh bại Doom.

01:36.450 --> 01:40.920
Vì vậy, bạn có thể tưởng tượng rằng điều này sẽ yêu cầu một số mã khá nâng cao.

01:41.370 --> 01:42.360
Vì vậy, không phải lo lắng.

01:42.360 --> 01:46.620
Chúng tôi có một mã lớn đang chờ chúng tôi và bạn sẽ học được rất nhiều thủ thuật mới.

01:46.620 --> 01:53.370
Đó là lý do tại sao thủ thuật chơi lại trải nghiệm này mà bạn đã biết và tôi nhắc nhở sẽ cải thiện rất nhiều quá trình đào tạo.

01:53.370 --> 01:55.950
Vâng, chúng ta hãy đặt nó một cách riêng biệt trong trải nghiệm này.

01:55.950 --> 02:01.500
Chúng tôi phát tệp PI đó để bây giờ chúng tôi có thể tập trung vào tất cả các khái niệm, kỹ thuật và thủ thuật mới đang

02:01.500 --> 02:02.430
chờ đợi chúng tôi.

02:02.880 --> 02:03.300
Được rồi.

02:03.300 --> 02:06.750
Và sau đó chúng tôi có hình ảnh xử lý trước tệp pi.

02:06.750 --> 02:12.270
Vì vậy, đó là một tệp Python khác sẽ xử lý trước hình ảnh của chúng ta bởi vì bạn biết đấy, lần

02:12.270 --> 02:18.810
này AI của chúng ta sẽ có mắt và đó là bởi vì các trạng thái đầu vào không còn được mã hóa bởi một vectơ nữa, mà

02:18.810 --> 02:21.360
lần này các trạng thái đầu vào là hình ảnh.

02:21.360 --> 02:27.180
Vì vậy, lớp đầu tiên của mạng nơ-ron lớn mà chúng ta sẽ tạo ra sẽ là mắt và đó

02:27.180 --> 02:30.210
sẽ là các lớp chập của mạng nơ-ron tích hợp.

02:30.240 --> 02:36.090
Nhưng để đảm bảo những hình ảnh này có thể được chấp nhận làm đầu vào của mạng nơ-ron phức hợp, chúng ta

02:36.090 --> 02:37.650
cần phải xử lý trước chúng.

02:37.650 --> 02:43.920
Và vì vậy tệp này sẽ xử lý trước những hình ảnh này để chúng có thể đi vào mạng nơ-ron.

02:43.920 --> 02:48.720
Và vì vậy tôi đã tách tệp này ra vì nó không liên quan trực tiếp đến AI.

02:48.720 --> 02:55.170
Và một lần nữa, chúng tôi muốn duy trì tối đa bộ não và trí nhớ cũng như sự tập trung của chúng tôi vào mọi

02:55.170 --> 02:56.430
thứ liên quan đến AI.

02:56.460 --> 03:02.370
Vì vậy, chúng tôi đặt điều này một cách riêng biệt để chúng tôi có thể xử lý trước hình ảnh bằng đèn pin và tiết kiệm một số năng

03:02.370 --> 03:03.510
lượng cho phần còn lại.

03:03.660 --> 03:05.340
Bạn có thể xem qua nó nếu bạn muốn.

03:05.340 --> 03:10.350
Và nếu bạn cũng có khóa học học sâu, tốt, bạn có thể xem các hướng dẫn thực hành.

03:10.350 --> 03:15.240
Chúng tôi nói về tiền xử lý hình ảnh, nhưng ở đây một lần nữa, chúng tôi thực sự muốn tập trung vào AI.

03:15.240 --> 03:17.130
Tin tôi đi, chúng ta còn rất nhiều việc phải làm.

03:17.610 --> 03:21.540
Và cuối cùng là thư mục cuối cùng, đó là thư mục video.

03:21.540 --> 03:24.540
Vì vậy, ngay bây giờ thư mục này trống như bạn có thể thấy.

03:24.540 --> 03:31.050
Nhưng khi chúng tôi thực thi mã, một số video về AI đang chơi trò diệt vong sẽ được thêm vào thư mục này.

03:31.050 --> 03:36.660
Vì vậy, điều đó sẽ rất thú vị vì chúng ta sẽ thấy trên một số video AI đang hoạt động tốt như thế nào.

03:36.660 --> 03:41.910
Vì vậy, chúng ta sẽ thấy AI giết quái vật và cố gắng chạy về phía mục tiêu theo đúng nghĩa đen.

03:42.090 --> 03:44.310
Vì vậy, bạn sẽ thấy điều này sẽ khá thú vị.

03:44.310 --> 03:50.700
Vì vậy, tất nhiên những video đầu tiên sẽ rất tệ vì AI sẽ chưa được đào tạo nhiều và vì vậy nó

03:50.700 --> 03:52.170
sẽ bị giết rất nhanh.

03:52.170 --> 03:58.470
Nhưng sau đó bạn sẽ thấy rằng khi quá trình đào tạo đang tiến triển tốt, AI sẽ ngày càng tốt hơn và

03:58.470 --> 04:04.200
cuối cùng nó sẽ tiêu diệt được một số quái vật đang bị giết và hy vọng chúng ta có

04:04.200 --> 04:05.730
thể đạt được mục tiêu.

04:06.480 --> 04:06.900
Được rồi.

04:06.900 --> 04:10.680
Vì vậy, hãy quay trở lại AFL của chúng tôi, là cái này.

04:10.680 --> 04:16.200
Và như bạn có thể thấy, tôi đã lo việc nhập tất cả các thư viện và gói thiết yếu mà chúng

04:16.200 --> 04:17.820
ta cần để chơi diệt vong.

04:17.820 --> 04:19.980
Vì vậy, chúng ta hãy nhanh chóng xem xét chúng từng cái một.

04:19.980 --> 04:23.820
Tất nhiên, chúng tôi có numpy vì chúng tôi sẽ làm việc với các mảng.

04:23.820 --> 04:25.440
Đó là điều không thể tránh khỏi.

04:25.440 --> 04:29.310
Tất nhiên, chúng ta sẽ bị tra tấn bởi vì chúng ta đang triển khai AI bằng pytorch.

04:29.340 --> 04:34.980
Sau đó, chúng ta có ngọn đuốc và trong mô-đun chứa tất cả các công cụ để triển khai mạng nơ-ron.

04:34.980 --> 04:40.680
Vì vậy, ví dụ, mô-đun sẽ chứa các lớp chập, sẽ là một phần của mạng nơ-ron trong tương lai của

04:40.680 --> 04:41.430
chúng ta.

04:41.520 --> 04:48.360
Sau đó, chúng ta có, và sau đó là gói chức năng có phím tắt F và chứa tất cả các chức

04:48.360 --> 04:50.790
năng được sử dụng trong mạng nơ-ron.

04:50.790 --> 04:57.090
Vì vậy, điển hình là các chức năng kích hoạt, chúng tôi sẽ sử dụng một số chức năng kích hoạt bộ chỉnh lưu, nhưng cũng

04:57.090 --> 04:59.970
có một số chức năng gộp tối đa cho tích chập.

05:00.060 --> 05:03.600
Mạng nơron và tất cả các chức năng này được chứa trong hàm.

05:04.020 --> 05:07.730
Sau đó, chúng tôi có Optim, tất nhiên là dành cho Trình tối ưu hóa.

05:07.740 --> 05:15.480
Tôi nghĩ rằng chúng ta sẽ sử dụng một trình tối ưu hóa nguyên tử và trình tối ưu hóa này được chứa trong Optim và sau đó

05:15.480 --> 05:20.220
là phần mềm tốt nhất trong số tốt nhất của PyTorch, lớp biến từ mô-đun grad khác.

05:20.220 --> 05:26.010
Và đó là tất cả sức mạnh của PyTorch bởi vì đó là thứ chứa các đồ thị động cho phép thực

05:26.010 --> 05:30.570
hiện các tính toán rất nhanh về gradient, thậm chí là gradient của các hàm tổng hợp.

05:30.570 --> 05:32.710
Vì vậy, chúng tôi chắc chắn sẽ sử dụng nó.

05:32.730 --> 05:37.680
Đối với xe tự lái, nhưng hãy tin tôi đi, chúng tôi sẽ cần nó rất tệ.

05:38.460 --> 05:40.890
Vì vậy, đó là tất cả cho các thư viện thiết yếu.

05:40.890 --> 05:46.530
Sau đó, chúng ta cần nhập một số gói liên quan đến Openai, gym và doom.

05:46.530 --> 05:53.520
Vì vậy, tất nhiên chúng tôi nhập Jim, sau đó chúng tôi nhập một số mô-đun trình bao bọc của thư viện Jim và một trong những trình bao

05:53.520 --> 05:55.260
bọc này là trình bao bọc Kip.

05:55.290 --> 05:58.770
Vì vậy, về cơ bản đó là nhập tất cả các công cụ và môi trường của Jim.

05:59.040 --> 06:04.590
Và cuối cùng, chúng tôi có gói này mà chúng tôi cần nhập và có liên quan trực tiếp đến

06:04.590 --> 06:11.400
doom, và đó là không gian hành động và hai phần rời rạc của trình bao bọc doom về cơ bản chứa môi trường của

06:11.400 --> 06:17.850
diệt vong và cụ thể hơn, các hành động có thể được chơi, số lượng hành động cho trò chơi Doom cụ thể

06:17.850 --> 06:19.470
mà chúng tôi sẽ chơi.

06:19.470 --> 06:21.570
Và tôi nhắc rằng có sáu hành động.

06:21.570 --> 06:24.210
Di chuyển sang trái, sang phải, rẽ trái, rẽ phải.

06:24.210 --> 06:25.950
Tiến về phía trước và bắn.

06:25.950 --> 06:26.640
Tấn công.

06:27.330 --> 06:27.690
Được rồi.

06:27.690 --> 06:30.470
Vì vậy, về cơ bản đó là những gì bạn cần nhập để diệt vong.

06:30.480 --> 06:37.680
Và cuối cùng, tất nhiên, chúng tôi cần nhập hai tệp bên trong trải nghiệm phát lại chiếc bánh đó để trải nghiệm,

06:37.710 --> 06:44.400
phát lại và xử lý trước hình ảnh để xử lý trước hình ảnh không có gì khác ngoài hình

06:44.400 --> 06:47.130
ảnh của màn hình khi chơi trò chơi.

06:47.130 --> 06:53.640
Và những hình ảnh này sẽ được xử lý trước, chuyển đổi thành các mảng numpy, định hình lại thành một định dạng nhất

06:53.640 --> 06:57.420
định, sau đó chúng sẽ chuyển đến mạng nơ-ron, mạng nơ-ron phức hợp.

06:58.160 --> 06:58.610
Được rồi.

06:58.610 --> 07:07.610
Vì vậy, tôi đoán bây giờ chúng ta đã sẵn sàng để bắt

07:07.610 --> 07:12.170
đầu triển khai lớn điều này.

07:12.200 --> 07:17.290
Đó là vì, bạn biết đấy, tôi đã nói với bạn, chúng ta có một triển khai lớn đang chờ chúng ta.

07:17.300 --> 07:21.560
Để không bị lạc trong tất cả những điều này, chúng ta cần có một cấu trúc tốt.

07:21.650 --> 07:24.860
Và vì vậy tôi đã đánh dấu cấu trúc.

07:24.890 --> 07:27.750
Chúng tôi sẽ thực hiện điều này trong hai phần.

07:27.770 --> 07:30.830
Phần đầu tiên sẽ là về xây dựng AI.

07:30.860 --> 07:34.460
Vì vậy, đó là nơi chúng tôi sẽ tạo ra bộ não của AI.

07:34.460 --> 07:38.130
Và bộ não, như bạn đã hiểu, không gì khác chính là mạng lưới thần kinh.

07:38.150 --> 07:45.320
Bạn biết đấy, CNN lớn này bao gồm một số lớp phức hợp và sau đó là một số lớp được kết nối đầy đủ để dự đoán

07:45.320 --> 07:48.140
kết quả đầu ra vẫn là giá trị gợi ý.

07:48.140 --> 07:50.300
Và sau đó chúng tôi sẽ tạo ra cơ thể của AI.

07:50.300 --> 07:53.180
Và đó là một đại diện mới mà tôi đang mang đến cho bạn.

07:53.180 --> 07:55.370
Và đó, một lần nữa, không để bị lạc.

07:55.370 --> 08:01.190
Bạn sẽ thấy rằng chúng ta càng tiến xa hơn với mã, bạn sẽ càng thấy cấu trúc và mọi thứ cuối

08:01.190 --> 08:02.600
cùng sẽ có ý nghĩa.

08:02.600 --> 08:06.380
Và để đảm bảo điều đó có ý nghĩa, chúng ta cần một đại diện của AI.

08:06.410 --> 08:12.570
Và về cơ bản, phần đầu tiên xây dựng AI sẽ bao gồm ba phần.

08:12.590 --> 08:17.030
Phần đầu tiên sẽ là về cấu tạo bộ não là mạng lưới thần kinh.

08:17.180 --> 08:22.580
Phần thứ hai sẽ nói về việc tạo ra cơ thể và tôi gọi nó là cơ thể vì đây là phần

08:22.580 --> 08:24.980
sẽ cho AI biết cách thực hiện hành động.

08:24.980 --> 08:30.860
Vì vậy, bạn biết đấy, đầu tiên bạn có bộ não phát hiện hình ảnh và dự đoán các giá trị tín hiệu, nhưng

08:30.860 --> 08:36.860
sau đó bạn cần xác định cách AI sẽ thực hiện hành động và nó thực hiện hành động đó với cơ thể giống như cơ

08:36.860 --> 08:37.640
thể con người.

08:37.820 --> 08:43.790
Vì vậy, phần thân sẽ là phần mà chúng ta sẽ chỉ định phương pháp chơi hành động.

08:43.790 --> 08:49.520
Vì vậy, ví dụ, với chiếc xe tự lái của chúng tôi, não là mạng lưới thần kinh mà chúng tôi tạo ra và cơ

08:49.520 --> 08:51.380
thể là cách diễn ra hành động.

08:51.380 --> 08:53.300
Đó là, là phương pháp max mềm.

08:53.420 --> 08:54.650
Và đây cũng vậy.

08:54.650 --> 08:59.000
Chúng ta sẽ tạo ra một bộ não và chúng ta sẽ tạo ra một cơ thể sẽ đóng vai trò hành động.

08:59.000 --> 09:00.290
Tôi sẽ cho bạn tìm hiểu.

09:00.290 --> 09:06.140
Nhưng điểm mấu chốt trong tất cả những điều này là chúng tôi sẽ có một đoạn mã rất có cấu trúc để không chỉ bạn có

09:06.140 --> 09:11.660
thể lùi lại một bước và thực sự hiểu những gì đang xảy ra, mà còn có thể sử dụng nó như một khuôn khổ bất

09:11.660 --> 09:14.870
cứ khi nào bạn muốn xây dựng một AI cho các mục đích khác.

09:15.170 --> 09:15.830
Được rồi.

09:15.830 --> 09:21.950
Và sau khi xây dựng AI ở phần một, chúng ta sẽ chuyển sang phần hai, sẽ là về việc triển

09:21.950 --> 09:24.320
khai mô hình học sâu, phức hợp.

09:24.320 --> 09:29.120
Và một lần nữa, chúng ta sẽ có các phần khác nhau và một trong số đó tất nhiên sẽ là đào

09:29.120 --> 09:29.660
tạo AI.

09:29.960 --> 09:32.030
Vì vậy, tôi nóng lòng muốn đi sâu vào nó.

09:32.030 --> 09:38.060
Rõ ràng là bây giờ chúng ta sẽ bắt đầu với phần một và chúng ta sẽ bắt đầu bằng cách tạo ra bộ não của AI

09:38.060 --> 09:38.840
của chúng ta.

09:39.050 --> 09:42.170
Vì vậy, tôi không thể chờ đợi và cho đến lúc đó, hãy tận hưởng AI.
