WEBVTT

00:00.240 --> 00:02.550
Xin chào và chào mừng đến với hướng dẫn này.

00:02.580 --> 00:07.680
Trong hướng dẫn trước, chúng tôi đã khởi tạo bản đồ và bây giờ là thời gian cho những thứ thú vị.

00:07.680 --> 00:11.190
Chúng tôi tạo ra cốt lõi và chúng tôi làm điều đó với một lớp học.

00:11.190 --> 00:18.120
Tất nhiên bạn sẽ thấy rằng lớp học này rất thực tế để tạo ra một số thứ có nhiều thuộc tính, vì như

00:18.120 --> 00:24.390
bạn thấy, không chỉ tôi đang xác định một số biến cho ô tô của mình mà còn cả một số

00:24.390 --> 00:30.000
hàm, tất nhiên là chức năng làm cho xe di chuyển sang trái, sang phải hoặc đi thẳng.

00:30.480 --> 00:34.920
Vì vậy, chúng tôi có một số biến quan trọng để mô tả môi trường.

00:34.920 --> 00:41.370
Ví dụ, chúng ta có góc, là góc giữa trục x và trục hướng của ô

00:41.370 --> 00:42.120
tô.

00:42.480 --> 00:49.680
Sau đó, chúng ta có vòng quay, là vòng quay cuối cùng của nó, ghi nhớ 0 độ, 20

00:49.680 --> 00:51.240
độ hoặc -20 độ.

00:51.330 --> 00:57.660
Khi đó ta có vận tốc, toạ độ x của véc tơ vận tốc và toạ độ Y của véc tơ

00:57.660 --> 01:02.610
vận tốc, rồi đến véc tơ toạ độ vận tốc X và vận tốc y.

01:03.240 --> 01:07.110
Sau đó, chúng tôi có các cảm biến và tín hiệu, và điều đó rất quan trọng.

01:07.140 --> 01:13.080
Chiếc xe mà chúng tôi đang sản xuất sẽ có ba cảm biến kể từ một cảm biến hai và cảm biến ba.

01:13.200 --> 01:18.090
Một bộ cảm biến sẽ phát hiện nếu có bất kỳ mùi hương nào phía trước xe.

01:18.240 --> 01:24.060
Sau đó, cảm biến hai là cảm biến sẽ phát hiện xem có bất kỳ mùi hương nào ở bên trái của xe hay không.

01:24.180 --> 01:29.550
Và cảm biến ba là cảm biến sẽ phát hiện xem có bất kỳ mùi hương nào ở bên phải xe hay không.

01:29.700 --> 01:36.360
Và sau đó từ ba cảm biến này, chúng ta nhận được tín hiệu, đó là tín hiệu được nhận bởi mỗi

01:36.360 --> 01:37.050
cảm biến.

01:37.050 --> 01:40.140
Vì vậy, tín hiệu một là tín hiệu nhận được bởi cảm biến một.

01:40.140 --> 01:46.130
Tín hiệu hai là tín hiệu nhận được bởi cảm biến hai và tín hiệu ba là tín hiệu nhận được bởi cảm biến ba.

01:46.140 --> 01:47.550
Và vì vậy nó hoạt động như thế nào?

01:47.580 --> 01:51.660
Tín hiệu một là mật độ gửi xung quanh cảm biến một.

01:51.660 --> 01:57.240
Tín hiệu hai là mật độ mùi xung quanh cảm biến hai và tín hiệu ba là mật độ cát xung quanh cảm

01:57.240 --> 01:57.900
biến ba.

01:58.020 --> 02:00.500
Và làm thế nào để chúng tôi tính toán mật độ này của cát?

02:00.510 --> 02:01.650
Chà, điều đó rất đơn giản.

02:01.650 --> 02:05.910
Chúng tôi lấy một số hình vuông lớn xung quanh mỗi cảm biến.

02:05.910 --> 02:08.790
Đây thực sự là những hình vuông có kích thước 200 x 200.

02:08.790 --> 02:14.340
Và với mỗi ô vuông, chúng ta chia số ô trong ô vuông cho tổng số ô

02:14.340 --> 02:17.790
trong ô vuông đó là 20 nhân 20 bằng 400.

02:17.790 --> 02:22.320
Và điều đó cho chúng ta mật độ của cát vì những cái đó tương ứng với cát.

02:22.350 --> 02:27.720
Chúng tôi làm điều này cho mỗi cảm biến và điều đó cho chúng tôi mật độ cát xung quanh mỗi cảm biến.

02:27.720 --> 02:29.070
Đó là các tín hiệu.

02:29.460 --> 02:29.820
Được rồi.

02:29.820 --> 02:35.250
Vì vậy, bây giờ chúng ta có mọi thứ để phát hiện cát và sau đó chúng ta có chức năng di chuyển.

02:35.310 --> 02:40.620
Và tất nhiên, chức năng di chuyển là những gì sẽ cho phép lõi đi bên trái đi thẳng hoặc đi thẳng sang

02:40.620 --> 02:41.280
bên phải.

02:41.730 --> 02:43.140
Vì vậy, chúng ta hãy lướt qua nó một cách nhanh chóng.

02:43.140 --> 02:49.980
Ở đây chúng ta có cập nhật vị trí của lõi với vị trí cuối cùng của nó, chính là vị trí

02:49.980 --> 02:52.320
đi qua đây và vectơ vận tốc.

02:52.320 --> 02:58.440
Vì vậy nhờ vectơ vận tốc, vị trí sẽ được cập nhật theo hướng của vectơ vận tốc.

02:58.710 --> 03:05.040
Sau đó, chúng tôi nhận được vòng quay mà chúng tôi sẽ đi sâu hơn trong đoạn mã ngay tại đây.

03:05.160 --> 03:11.010
Xoay tương đương với hành động với hành động xoay ở đây chúng ta sẽ chọn hành động và sau đó nhận được xoay.

03:11.100 --> 03:15.090
Và vì vậy sự tự quay này tương đương với sự quay vòng.

03:15.090 --> 03:20.940
Đây là cách xoay này mà chúng ta biết cách chúng ta cần xoay lõi quay sang trái hoặc

03:20.940 --> 03:21.690
sang phải.

03:22.230 --> 03:28.440
Sau đó, chúng tôi cập nhật góc, mà tôi nhắc nhở là góc giữa trục x và trục hướng

03:28.440 --> 03:29.220
của lõi.

03:29.340 --> 03:35.280
Và sau đó khi lõi đã di chuyển, thì chúng ta phải cập nhật các cảm biến và tín hiệu vì tất

03:35.280 --> 03:41.340
nhiên khi lõi vừa quay thì các cảm biến cũng vừa quay, và do đó chúng ta cần phải xoay chúng bằng cách

03:41.340 --> 03:45.420
sử dụng chức năng xoay và để mà chúng tôi thêm vị trí mới.

03:45.480 --> 03:48.870
Và tại sao chúng ta có vectơ này là 30 số 0?

03:48.870 --> 03:53.910
Đó chỉ đơn giản là vì 30 là khoảng cách giữa lõi và cảm biến.

03:53.910 --> 03:58.380
Bạn biết đấy, đó là khoảng cách giữa lõi và những gì lõi phát hiện được.

03:58.980 --> 04:04.050
Và sau khi các cảm biến được cập nhật, tốt, thì đã đến lúc cập nhật các tín hiệu.

04:04.050 --> 04:07.020
Và vì vậy ở đây chúng tôi thực hiện chính xác những gì tôi giải thích để tính toán các tín hiệu.

04:07.020 --> 04:12.840
Chúng tôi nhận được tọa độ X của cảm biến của chúng tôi, sau đó chúng tôi lấy tất cả các ô từ trừ mười đến cộng mười.

04:13.170 --> 04:18.840
Sau đó, chúng tôi làm tương tự với tọa độ Y, lấy tất cả các ô từ trừ mười đến cộng mười.

04:18.840 --> 04:26.520
Do đó, chúng tôi nhận được hình vuông 20 x 20 pixel xung quanh cảm biến và bên trong hình vuông này, chúng tôi tính tổng tất

04:26.550 --> 04:28.020
cả các điểm ảnh.

04:28.020 --> 04:32.820
Vì vậy, về cơ bản chúng tôi tính tổng tất cả các ô vì các ô chứa không hoặc một.

04:32.820 --> 04:37.950
Và vì trong bình phương 20 x 20 có 20 nhân 20 bằng 400 ô.

04:37.950 --> 04:43.230
Chúng ta chia nó cho 400 để có mật độ của một lần bên trong hình vuông.

04:43.230 --> 04:48.300
Và đó là cách chúng tôi nhận được tín hiệu về mật độ của các tế bào xung quanh cảm biến.

04:48.300 --> 04:54.240
Và chúng tôi cũng làm như vậy đối với cảm biến thứ hai và cảm biến thứ ba để lấy tín hiệu thứ hai và tín hiệu

04:54.240 --> 04:54.840
thứ ba.

04:54.960 --> 04:55.190
Được chứ.

04:55.290 --> 04:56.760
Vì vậy, đó là để phát hiện cảm giác.

04:56.760 --> 05:00.060
Và sau đó ba dòng mã ở đây rất quan trọng.

05:00.060 --> 05:05.670
Đó là một phần thưởng tệ khác mà chúng tôi muốn trao cho chiếc xe của mình khi nó đang đến một trong các cạnh của bản

05:05.670 --> 05:06.060
đồ.

05:06.390 --> 05:12.570
Chúng tôi không muốn chiếc xe lao vào một số bức tường và do đó chúng tôi muốn phạt nó, trừng phạt nó khi nó

05:12.570 --> 05:14.250
đến quá gần một bức tường.

05:14.400 --> 05:16.230
Và do đó, đó là những gì chúng tôi làm ở đây.

05:16.410 --> 05:24.450
Nếu cảm biến đầu tiên lớn hơn dài hơn trừ mười, thì cảm biến đó lớn hơn ở đây vì khoảng cách này ở đây

05:24.450 --> 05:25.110
dài hơn.

05:25.110 --> 05:27.360
Vì vậy, lâu hơn, trừ mười là ngay ở đây.

05:27.360 --> 05:34.110
Vì vậy, nếu cảm biến lớn hơn một x dài hơn, trừ đi mười liên quan đến tất cả các điểm ở đây,

05:34.110 --> 05:41.470
đó là nếu chiếc xe đang tiến gần đến mép bên phải của bản đồ hoặc nếu cảm biến của bản thân một X thấp hơn mười.

05:41.490 --> 05:42.420
Vì vậy, đó là ngay tại đây.

05:42.420 --> 05:49.080
Nếu ô tô đang tiến gần đến mép trái của bản đồ hoặc nếu cảm biến Y lớn hơn lớn hơn trừ

05:49.080 --> 05:51.810
10, thì đó là mép trên của bản đồ.

05:51.870 --> 05:57.960
Và hoặc nếu cảm biến tự y thấp hơn 10, đó là cạnh dưới của bản đồ.

05:58.470 --> 06:05.730
Và vì vậy nếu cảm biến tiếp cận bất kỳ cạnh nào trong số bốn cạnh này, chúng tôi sẽ đặt tín hiệu của

06:05.730 --> 06:06.360
cảm biến.

06:06.360 --> 06:08.430
Tín hiệu một là tín hiệu của cảm biến một.

06:08.550 --> 06:10.260
Chúng tôi sẽ đặt nó là một.

06:10.260 --> 06:11.400
Và thế có nghĩa là gì?

06:11.400 --> 06:15.330
Điều đó có nghĩa là gửi đầy đủ, giống như một mật độ đầy đủ của mùi hương.

06:15.360 --> 06:17.100
Nó giống như điều tồi tệ nhất mà bạn có thể nhận được.

06:17.100 --> 06:19.440
Có rất nhiều ý nghĩa rằng nó sẽ dừng xe của bạn.

06:19.440 --> 06:23.940
Vì vậy, tín hiệu sẽ là một và do đó chiếc xe sẽ nhận được phần thưởng khủng khiếp.

06:24.300 --> 06:24.720
Được rồi.

06:24.720 --> 06:29.520
Và sau đó chúng tôi làm tương tự cho tín hiệu hai và tín hiệu ba từ cảm biến hai và cảm biến ba.

06:30.280 --> 06:30.730
Được rồi.

06:30.730 --> 06:32.950
Và sau đó chúng tôi tạo lớp trò chơi.

06:32.950 --> 06:38.050
Vì vậy, về cơ bản đó là lớp để tạo trò chơi vì cho đến nay chúng tôi chỉ tạo ra ô tô.

06:38.200 --> 06:43.450
Và tất nhiên bây giờ, chúng ta phải tạo bản đồ, chúng ta phải tạo ra chính trò chơi để chúng ta sẽ

06:43.450 --> 06:44.380
không chơi trò chơi.

06:44.380 --> 06:46.690
Đó là AI của chúng tôi sẽ chơi trò chơi.

06:46.690 --> 06:52.030
Và trò chơi thực sự là để tránh các chướng ngại vật và đi từ sân bay đến trung tâm thành phố và ngược lại.

06:52.270 --> 06:59.560
Vì vậy, trong lớp trò chơi này, chúng ta cần tạo một số đối tượng như chiếc xe, sau đó chúng ta cần xác định chức

06:59.560 --> 07:01.690
năng cập nhật là quan trọng nhất.

07:01.690 --> 07:06.880
Và thực sự chúng tôi sẽ tập trung vào điều đó ngay bây giờ vì đó là trong chức năng cập nhật này,

07:06.880 --> 07:12.040
chúng tôi sẽ chọn hành động mà xe phải làm tại mỗi thời điểm để hoàn thành mục tiêu của nó.

07:12.040 --> 07:18.370
Và hành động này chính xác là đầu ra của mạng thần kinh của chúng ta, mạng thần kinh sẽ là trung tâm của

07:18.370 --> 07:20.470
trí tuệ nhân tạo của chúng ta.

07:20.770 --> 07:27.020
Và vì vậy hành động này được bộ não của chiếc xe quay lại, mà tôi nhắc nhở là đối tượng của lớp hiện tại của chúng

07:27.040 --> 07:29.620
ta sẽ được thực hiện trong tệp AI của chúng ta.

07:29.650 --> 07:36.490
Và đối tượng này có một phương thức được gọi là cập nhật và nó lấy đầu vào là phần thưởng cuối cùng và tín hiệu

07:36.490 --> 07:37.120
cuối cùng.

07:37.390 --> 07:40.930
Vì vậy, phần thưởng cuối cùng tất nhiên là phần thưởng cuối cùng mà chiếc xe có được.

07:40.930 --> 07:45.490
Và tín hiệu cuối cùng tất nhiên là tín hiệu cuối cùng của ba cảm biến.

07:45.490 --> 07:51.160
Tín hiệu một từ cảm biến một tín hiệu hai từ cảm biến hai tín hiệu ba từ cảm biến ba.

07:51.160 --> 07:56.710
Nhưng sau đó tôi bổ sung thêm hai yếu tố đầu vào khác, đó là định hướng của chiếc xe đối với mục tiêu.

07:56.710 --> 08:01.510
Vì vậy, ví dụ, nếu chiếc xe đang hướng tới mục tiêu, thì định hướng sẽ bằng không.

08:01.510 --> 08:06.550
Nếu nó hơi lệch sang phải, thì định hướng sẽ gần 45 độ.

08:06.640 --> 08:11.200
Và nếu nó hơi lệch sang trái, hướng sẽ gần -45 độ.

08:11.710 --> 08:15.160
Vì vậy, đó là đầu vào thứ tư của trạng thái đầu vào của chúng tôi.

08:15.160 --> 08:18.760
Và sau đó có một đầu vào cuối cùng là định hướng trừ.

08:18.760 --> 08:22.480
Vì vậy, thông thường các đầu vào của mạng nơ-ron là độc lập.

08:22.480 --> 08:27.730
Không có sự tuyến tính, nhưng sẽ không thực sự quan trọng nếu chúng ta thêm điều này vì mạng nơ-ron sẽ chỉ sửa

08:27.730 --> 08:29.230
lỗi đó với các trọng số.

08:29.230 --> 08:35.200
Nhưng vẫn còn, tôi nhận thấy rằng bằng cách thêm định hướng trừ này, tốt, cho phép chiếc xe, việc đào

08:35.200 --> 08:37.750
tạo chiếc xe ổn định việc khám phá.

08:37.750 --> 08:42.550
Bạn biết đấy, chúng tôi đang làm điều này để AI không phải lúc nào cũng khám phá theo cùng một hướng.

08:42.550 --> 08:48.640
Bằng cách thêm hướng trừ này, chúng tôi đảm bảo rằng nó khám phá theo cả hai hướng, phải hoặc trái.

08:48.640 --> 08:55.720
Và vì vậy, đây là ba tín hiệu, cộng với định hướng và định hướng trừ là năm đầu vào của vectơ được

08:55.720 --> 08:58.810
mã hóa của chúng tôi, sẽ đi vào mạng.

08:58.810 --> 09:02.380
Đó là vectơ đầu vào của chúng tôi sẽ đi vào mạng.

09:02.620 --> 09:08.830
Và sau khi nó đi vào mạng, tốt, mạng sẽ trả về kết quả đầu ra, đó là hành động để

09:08.830 --> 09:10.450
chơi tại mỗi thời điểm.

09:10.450 --> 09:15.700
Và đầu ra được trả về bởi chức năng cập nhật này chứa chính mạng và các đầu ra

09:15.700 --> 09:16.450
của mạng.

09:16.720 --> 09:22.060
Và do đó, đó là lý do tại sao chúng ta phải nhập tín hiệu cuối cùng là trạng thái đầu vào và cũng

09:22.060 --> 09:26.110
là phần thưởng ít hơn, bởi vì hành động chơi cũng phụ thuộc vào phần thưởng ít hơn.

09:26.820 --> 09:27.180
Được rồi.

09:27.180 --> 09:33.810
Và sau đó chúng tôi cập nhật điểm trung bình của các phường, chúng tôi cập nhật vòng quay, chúng tôi sử dụng chức

09:33.810 --> 09:37.230
năng di chuyển để xoay xe theo hành động đã được chọn.

09:37.230 --> 09:43.410
Chúng tôi cập nhật khoảng cách của ô tô đến mục tiêu và chúng tôi cập nhật vị trí của các cảm biến.

09:43.410 --> 09:48.270
Cả một quả bóng, hai quả bóng và quả bóng ba tương ứng với các quả bóng sẽ đại diện cho các cảm biến trên bản đồ.

09:48.270 --> 09:49.770
Bạn sẽ thấy điều đó rất nhanh chóng.

09:50.400 --> 09:56.190
Và đây là phần rất quan trọng bởi vì đó là nơi chúng tôi phạt xe nếu nó đi trên

09:56.190 --> 10:04.000
một ít cát, bởi vì như bạn thấy, điều này có nghĩa là nếu chiếc xe ở trên một số cát, tốt, nó sẽ bị giảm tốc độ.

10:04.020 --> 10:06.350
Vì vậy, đó là nơi chúng tôi giảm vận tốc của nó.

10:06.360 --> 10:09.900
Bạn biết đấy, vận tốc của nó thường là sáu, như bạn có thể thấy ở đây.

10:09.900 --> 10:12.570
Và nếu nó dính vào cát, nó sẽ là một.

10:12.570 --> 10:14.250
Vì vậy, nó sẽ được làm chậm lại một.

10:14.250 --> 10:17.550
Bạn sẽ thấy chiếc xe sẽ giảm tốc độ như thế nào khi nó đi vào một bãi cát.

10:17.850 --> 10:21.720
Vì vậy, nó bị chậm lại và bên cạnh đó, nó nhận được phần thưởng không tốt.

10:21.720 --> 10:23.670
Nó nhận được một phần thưởng trừ một.

10:23.670 --> 10:25.950
Và đó thực sự là phần thưởng tồi tệ nhất mà bạn có thể nhận được.

10:25.950 --> 10:27.510
Phần thưởng tốt nhất là một.

10:27.540 --> 10:31.770
Phần thưởng tệ nhất là trừ một và phần thưởng nằm trong khoảng trừ một đến cộng một.

10:32.400 --> 10:39.150
Và ngược lại, nếu chiếc xe không ở trên bãi cát, thì nó vẫn giữ tốc độ bình thường, tốc độ sáu.

10:39.270 --> 10:40.890
Và sau đó chúng tôi thêm một cái gì đó khác.

10:40.890 --> 10:45.660
Nếu nó đang tiến gần hơn đến mục tiêu, thì nó sẽ nhận được một phần thưởng tích cực hơn một chút.

10:45.660 --> 10:52.530
Và nếu nó càng ngày càng xa mục tiêu, thì nó sẽ nhận được một phần thưởng hơi âm, trừ đi 0. 2.

10:53.380 --> 10:57.180
Và sau đó là các điều kiện cuối cùng liên quan đến phần thưởng.

10:57.190 --> 11:02.710
Chà, đó là nếu lõi quá gần với một trong các cạnh, như chúng ta đã nói trước đó.

11:02.740 --> 11:04.920
Hãy nhớ khi chúng ta nói về cát đầy đủ?

11:04.930 --> 11:11.000
Chà, nếu lõi đến quá gần mép trái của bản đồ, nó sẽ bị trừ một phần thưởng.

11:11.020 --> 11:15.250
Nếu nó đến quá gần mép phải của bản đồ, nó sẽ nhận được phần thưởng là hai trừ một.

11:15.400 --> 11:20.050
Và nếu nó đến quá gần mép dưới của bản đồ, nó sẽ nhận được phần thưởng trừ đi một phần thưởng.

11:20.050 --> 11:25.150
Và nếu nó đến quá gần phía trên bên trái của bản đồ, nó sẽ nhận được phần thưởng trừ đi một phần thưởng.

11:25.150 --> 11:27.360
Vì vậy, đó là một hình phạt khủng khiếp.

11:27.370 --> 11:31.180
Và vì vậy bạn sẽ thấy nó sẽ học nhanh như thế nào để không phải lao vào thứ khác.

11:31.750 --> 11:32.170
Được rồi.

11:32.170 --> 11:36.430
Và sau đó điều này là để cập nhật mục tiêu khi mục tiêu đã đạt được.

11:36.430 --> 11:40.930
Vì vậy, bạn biết đấy, khi ô tô đến sân bay, mục tiêu đầu tiên là góc trên bên trái của bản

11:40.930 --> 11:45.970
đồ, trong khi mục tiêu chuyển sang góc dưới cùng bên phải của bản đồ, đó là trung tâm thành phố và đó chính xác là

11:45.970 --> 11:47.470
những gì chúng tôi Làm ở đây.

11:47.470 --> 11:53.680
Chúng tôi cập nhật tọa độ X của mục tiêu và tọa độ Y của mục tiêu, sau đó chúng tôi cập nhật khoảng cách từ

11:53.680 --> 11:55.030
ô tô đến mục tiêu.

11:55.720 --> 11:56.170
Được rồi.

11:56.170 --> 11:58.180
Và sau đó điều đó ít quan trọng hơn.

11:58.180 --> 12:05.290
Đó chỉ là một lớp sẽ thêm các công cụ vẽ để chúng ta có thể vẽ một số con đường hoặc một số chướng ngại vật

12:05.290 --> 12:08.020
trên bản đồ liên quan nhiều hơn đến hang động.

12:08.050 --> 12:09.400
Bạn có thể có một cái nhìn nếu bạn muốn.

12:09.400 --> 12:15.730
Tôi sẽ cung cấp phiên bản đáng khen ngợi của mã này và tôi sẽ cung cấp một số thông tin tham khảo nếu bạn muốn tìm hiểu sâu hơn và cách

12:15.730 --> 12:17.320
thực hiện điều đó với Sky V.

12:17.320 --> 12:22.120
Nhưng chúng ta đang tiến xa hơn từ trí tuệ nhân tạo, vì vậy tôi sẽ không đi sâu vào chi tiết của

12:22.120 --> 12:22.510
nó.

12:22.600 --> 12:26.860
Và điều đó cũng tương tự cho phần mã cuối cùng ở đây với lớp ứng dụng xe hơi.

12:26.860 --> 12:31.240
Đó chỉ là thêm các nút API, xóa, lưu và tải.

12:31.240 --> 12:32.710
Vì vậy, đó là những gì chúng tôi làm ở đây.

12:32.710 --> 12:34.720
Xóa phần lưu canvas.

12:34.720 --> 12:36.010
Và điều đó thực sự rất quan trọng.

12:36.010 --> 12:43.150
Đó là để chúng tôi có thể cứu AI, lưu bộ não để bạn có thể sử dụng lại nó sau này bằng cách sử dụng chức năng

12:43.150 --> 12:48.160
tải, là một công cụ khác mà chúng tôi thêm trên bản đồ để tải bộ não của ô tô,

12:48.160 --> 12:51.730
đó là tải bộ nhớ của xe, cách điều hướng trong bản đồ.

12:52.000 --> 12:57.790
Và cuối cùng chúng ta có phần cuối cùng của đoạn mã cuối cùng chạy toàn bộ

12:57.790 --> 13:00.430
thứ chạy bản đồ và chính AI.

13:00.700 --> 13:03.280
Và trên thực tế, đó là những gì chúng tôi sẽ làm ngay bây giờ.

13:03.310 --> 13:06.730
Hãy xem mọi thứ chúng tôi tạo ra trong đoạn mã này.

13:06.730 --> 13:10.300
Vì vậy, ngay bây giờ AI không được triển khai.

13:10.300 --> 13:13.780
Vì vậy, mã sẽ có một chuyển động rất ngẫu nhiên.

13:13.780 --> 13:15.850
Nó thực sự sẽ giống như một con côn trùng.

13:15.850 --> 13:17.590
Nhưng đừng lo lắng, chúng tôi sẽ khắc phục điều đó.

13:17.590 --> 13:24.850
Không chỉ chúng tôi sẽ huấn luyện nó di chuyển như một chiếc ô tô thật và huấn luyện nó di chuyển theo một số con đường và tránh

13:24.850 --> 13:26.320
một số chướng ngại vật.

13:26.320 --> 13:27.550
Vì vậy, chúng ta hãy làm điều này.

13:27.550 --> 13:32.230
Tôi sẽ chọn mọi thứ và thực hiện.

13:32.230 --> 13:35.050
Và đây là bản đồ và đây là chiếc xe.

13:35.530 --> 13:35.980
Được rồi.

13:35.980 --> 13:41.380
Vì vậy, đó là một điều nhỏ ở đây mà bạn thấy rằng trông giống như một con côn trùng là chiếc xe của chúng tôi.

13:41.380 --> 13:45.940
Vì vậy, như tôi đã nói với bạn, các hành động là hoàn toàn ngẫu nhiên.

13:45.940 --> 13:53.530
Vì vậy tại mỗi thời điểm ô tô lựa chọn ngẫu nhiên hành động đi thẳng sang trái hay sang phải.

13:53.680 --> 13:58.720
Vì vậy, đó là lý do tại sao nó tạo ra một số chuyển động vô nghĩa, và đó là lý do tại sao nó trông giống như một con côn trùng.

13:59.170 --> 14:01.420
Vì vậy, chúng tôi sẽ sửa chữa điều đó, tất nhiên.

14:01.420 --> 14:08.050
Và tất nhiên, vì AI được kích hoạt, nên nó sẽ không hoạt động, đó là sân bay ở đây

14:08.050 --> 14:12.910
hoặc trung tâm thành phố ở phía dưới bên phải của bản đồ.

14:13.520 --> 14:21.500
Và chúng tôi sẽ khắc phục tất cả điều này bằng cách tạo ra cái Tôi để chúng tôi triển khai AI vào lõi này hoặc côn trùng này.

14:21.500 --> 14:26.350
Vì vậy, bạn có thể thấy ba quả bóng ở đây, quả bóng màu vàng, quả bóng màu đỏ và quả bóng màu trắng.

14:26.360 --> 14:28.070
Đó là ba cảm biến của chúng tôi.

14:28.070 --> 14:32.480
Vì vậy, đó là những gì sẽ phát hiện nếu có một số mùi hương xung quanh nó.

14:32.480 --> 14:35.480
Và nói về mùi hương, chúng ta hãy ném một ít.

14:35.480 --> 14:41.540
Vì vậy, để làm như vậy, tôi chỉ cần thực hiện một cú nhấp chuột trái vào đây và.

14:42.440 --> 14:45.220
Bạn biết đấy, vẽ một số gửi bằng cách vẫn nhấp chuột trái.

14:45.230 --> 14:50.000
Vì vậy, ngay bây giờ tôi đang thêm một số cát, chúng tôi có thể thêm một số nữa.

14:50.000 --> 14:55.370
Vì vậy, mỗi lần tôi thêm cát, như bạn có thể thấy, đó là đặt những cái vào mảng cát.

14:55.370 --> 14:59.780
Đó là mảng cát, đó là tọa độ 0 0 của điểm gốc.

14:59.900 --> 15:01.850
Và ở đây có rất nhiều cái.

15:01.850 --> 15:03.920
Và như bạn có thể thấy, tốt, điều đó thật tốt.

15:03.920 --> 15:07.130
Chiếc xe vừa đi lên bãi cát đã bị giảm tốc độ.

15:07.400 --> 15:13.310
Vì vậy, như bạn có thể thấy ngay bây giờ, nó thực sự đang giảm tốc độ vì nó đang tiếp tục trên cát và ngay bây giờ

15:13.310 --> 15:14.780
nó đang cố gắng thoát ra.

15:16.130 --> 15:23.900
Và những gì chúng tôi sẽ làm là chúng tôi sẽ vẽ một số con đường và chúng tôi sẽ vẽ một số con đường từ sân bay đến trung tâm thành phố,

15:23.900 --> 15:27.890
và chúng tôi sẽ huấn luyện xe ô tô bám đường và tránh chướng ngại vật.

15:28.310 --> 15:28.760
Được rồi.

15:28.760 --> 15:31.940
Và như bạn có thể thấy, có nút rõ ràng để dọn sạch cát.

15:31.970 --> 15:37.100
Có nút lưu để lưu lại bộ não của xe.

15:37.100 --> 15:42.740
Và trên thực tế, có một đường cong điểm số mà chúng tôi đã nói đến giúp lưu lại con mắt, giúp lưu mô hình của bạn, thực

15:42.740 --> 15:44.570
sự là bộ não của chiếc xe của bạn.

15:44.780 --> 15:50.870
Và sau đó bạn có thể biết, khi bạn để lại mã hoặc tắt máy tính của mình và bạn muốn quay

15:50.870 --> 15:57.710
lại nó một lần nữa, bạn có thể sử dụng nút tải để tải mô hình của mình, nghĩa là tải bộ não và điều

15:57.710 --> 16:01.010
đó sẽ được đào tạo mắt của chiếc xe của bạn.

16:01.640 --> 16:02.150
Được rồi.

16:02.150 --> 16:05.930
Vì vậy, bây giờ tôi không thể chờ đợi để bắt đầu tạo ra cái Tôi.

16:05.960 --> 16:07.300
Điều này sẽ rất thú vị.

16:07.310 --> 16:13.850
Chúng tôi sẽ tạo ra mạng lưới thần kinh của mình và chúng tôi sẽ trừng phạt chiếc xe ngay khi nó không làm những gì chúng tôi muốn.

16:13.880 --> 16:16.160
Vì vậy, hãy làm điều đó từ hướng dẫn tiếp theo.

16:16.160 --> 16:17.770
Và cho đến khi đó, hãy tận hưởng.

16:17.780 --> 16:18.320
TÔI.
