Xin chào và chào mừng một lần nữa đến với mô-đun xe tự lái của chúng tôi.
Vì vậy, trong hướng dẫn này, tôi sẽ giải thích môi trường mà chúng ta sẽ triển khai trí tuệ nhân tạo của mình, và điều đó tất
nhiên sẽ chứa chiếc xe mà chúng ta sẽ đào tạo để tự lái và tránh chướng ngại vật và trên đó chúng ta sẽ
vẽ một số con đường và một số khối để xe của chúng ta di chuyển xung quanh chúng.
Vì vậy, sau này chúng tôi sẽ xây dựng trí thông minh nhân tạo này để đào tạo chiếc xe này, lái xe trên đường mà không vượt qua
giới hạn và tránh một số chướng ngại vật mà chúng tôi sẽ đặt bên trong đường.
Vì vậy, đây là một thử thách khá thú vị.
Và thực tế có hai tệp riêng biệt.
Như bạn có thể thấy, có tệp AI python.
Đó là trí thông minh nhân tạo của chúng tôi sẽ thực hiện tất cả các khóa đào tạo để đào tạo về ô tô, cách tự lái, lái xe.
Và chúng ta có bản đồ, tệp p đó là mã tạo nên tất cả môi trường này.
Vì vậy, đây là đoạn mã thực sự là 200 dòng mã nhiều hơn một chút.
Vì vậy, mã này thường không liên quan đến AI, nó chỉ là mã để tạo môi trường để tạo bản
đồ.
Vì vậy, tôi sẽ đi qua từng phần một để giải thích, nhưng chúng tôi sẽ không triển khai
từng dòng mã này từ đầu vì chúng tôi muốn tập trung vào trí tuệ nhân tạo.
Nhưng chúng ta hãy vẫn lần lượt xem qua các phần để hiểu chuyện gì đang xảy ra.
Vì vậy, trước tiên, chúng tôi nhập các thư viện cần thiết.
Đó là cho bất kỳ mã nào.
Chúng tôi cần một số thư viện để thực hiện một số tác vụ hiệu quả hơn, sau đó chúng tôi nhập tất cả các gói lưu trữ.
Vì vậy, điều đó không quan trọng lắm vì tất cả điều này là cụ thể để lưu trữ.
Chúng tôi đang sử dụng KB để tạo bản đồ và vì vậy chúng tôi đang nhập rất nhiều lớp và đối tượng để có thể tạo bản
đồ này và thêm một số công cụ vào bản đồ.
Được rồi, dòng này quan trọng.
Dòng này liên quan đến AI, vì về cơ bản đây là nơi chúng ta nhập bộ não của chúng ta, bộ não của chiếc
xe, sẽ là một đối tượng của lớp cồn cát này.
Và lớp cồn cát chính là trí tuệ nhân tạo của chúng ta.
Bạn sẽ thấy chúng tôi sẽ thực hiện VQ trong lớp trong các hướng dẫn sau.
Và như bạn có thể đoán, DCN là viết tắt của Deep Q Networks.
Vì vậy, chúng tôi sẽ triển khai một mạng học Q sâu và sau đó khi nó đã sẵn sàng, chúng
tôi sẽ nhập nó vào đây với dòng này từ AI.
Và AI tất nhiên là tệp trăn AI của chúng tôi.
Được chứ?
Vì vậy, không thể chờ đợi để thực hiện điều này.
Đây sẽ là một hành trình khá khó khăn, nhưng bạn sẽ thấy điều này sẽ rất thú vị
vì nhờ có AI, chiếc xe sẽ có thể tự lái.
Được rồi.
Và bây giờ trước khi chuyển sang phần tiếp theo, chúng ta phải giải thích cách chúng ta sẽ đào tạo chiếc xe này.
Tôi sẽ không giải thích về mạng nơ-ron ngay bây giờ, nhưng tôi sẽ giải thích ý tưởng về
cách chúng ta sẽ huấn luyện ô tô tự lái và tránh chướng ngại vật.
Vậy bạn biết đấy, trong cuộc sống thực, nếu bạn muốn điều khiển một chiếc ô tô thật tránh một số bức tường hoặc một số chướng
ngại vật, bạn sẽ làm gì?
Bạn chắc chắn sẽ không lấy những bức tường thật hoặc những chướng ngại vật lớn thực sự và đập chiếc xe của bạn lên chúng.
Điều đó sẽ khiến bạn tốn rất nhiều tiền.
Thay vào đó, một ý tưởng thông minh hơn sẽ là phạt xe của bạn, không phải khi nó đập vào tường hoặc chướng ngại vật, mà
là khi nó đi vào một bãi cát.
Vì vậy, nó giống như bạn có một lĩnh vực.
Cánh đồng này có một số con đường mà ô tô phải lưu lại và các con đường được phân định bởi một số cát.
Và mỗi lần xe đi trên cát, giống như đang gặp chướng ngại vật bởi vì một khi xe đi vào bãi
cát, nó sẽ bị giảm tốc độ và chúng ta chắc chắn rằng xe sẽ bị phạt.
Nó bị trừng phạt vì điều đó.
Và đó là một trong những điểm thiết yếu của trí tuệ nhân tạo.
Phần thưởng tồi tệ đến bất cứ khi nào chiếc xe đi trên bãi cát và bị giảm tốc độ.
Được rồi.
Và do đó, ở đây tôi giới thiệu X cuối cùng và Y cuối cùng, là tọa độ của điểm cuối cùng trong bộ nhớ khi
chúng ta vẽ một số cát trên bản đồ.
Được rồi.
Và sau đó chúng ta có được trí thông minh nhân tạo của mình, cái mà chúng ta gọi là não, và nó chứa mạng lưới thần kinh của chúng ta.
Và chúng ta sẽ gọi nó là bộ não, bởi vì đây thực sự là bộ não của chiếc xe và chứa mạng lưới thần kinh
của chúng ta.
Được rồi.
Vì vậy, trong dòng mã này, như bạn có thể thấy, tôi đang tạo một đối tượng của lớp dune.
Tôi sẽ nhắc nhở các lớp và các đối tượng là gì, nhưng não là đối tượng.
DCN là lớp và năm ba và 0. 9 là các đầu vào của lớp.
Vì vậy, điều đó rất đơn giản.
Năm tương ứng với các trạng thái được mã hóa vectơ của năm chiều.
Chúng ta sẽ thấy những gì họ đang mô tả một cách hoàn hảo, những gì đang xảy ra trong môi trường trên bản đồ.
Sau đó, ba là số lượng hành động sẽ có.
Ba hành động có thể thực hiện là đi trái, đi thẳng hoặc đi phải và 0. 9 là tham số gamma trong thuật toán
học sâu.
Được rồi.
Và sau đó chúng ta có hai vòng quay hành động.
Vì vậy, hành động hai phép quay là một vectơ gồm ba phần tử, 0, 20 và -20.
Và vì vậy chúng tôi phải làm điều này bởi vì các hành động được mã hóa bởi ba số không một.
Hai, và điều đó tương ứng với các chỉ số của hành động này là hai vectơ xoay.
Vì vậy, ví dụ, nếu hành động được chọn tại thời điểm T bằng 0, thì số không tương ứng với chỉ số của hành động này
đối với vectơ quay và giá trị của chỉ số 0 là 0 và do đó chúng ta sẽ đi thẳng.
Sau đó, nếu hành động được chọn là một, thì một hành động tương ứng với chỉ số của hành động này đối với vectơ quay
và giá trị của vectơ này có chỉ số một là 20.
Vì vậy, 20 tương ứng với một vòng quay 20 độ và điều đó có nghĩa là lõi sẽ đi sang bên phải 20 độ.
Và sau đó nếu hành động được chọn là hai, cũng là hai tương ứng với chỉ số, hai hành động này đối
với vectơ quay và do đó lõi sẽ thực hiện quay -20 độ và do đó nó sẽ chuyển sang trái.
Được rồi, sau đó chúng tôi giới thiệu biến phần thưởng cuối cùng, vì ở mỗi trạng thái, chúng tôi sẽ nhận được
phần thưởng cuối cùng.
Vì vậy, hãy nhớ, nếu thẻ không đi vào một số cát, thì phần thưởng sẽ là dương.
Và nếu thẻ có ý nghĩa nào đó, thì, nó sẽ nhận được một phần thưởng tệ.
Và tại mỗi thời điểm, biến này sẽ chứa phần thưởng này mà nó nhận được tại mỗi thời điểm.
T Và sau đó chúng tôi khởi tạo khóa học này, là một vectơ sẽ chứa phần thưởng, không phải tất cả chúng, mà là phần
thưởng trên một cửa sổ trượt để bạn biết đấy, chúng tôi có thể tạo đường cong về điểm trung
bình của phần thưởng. theo thời gian.
Được rồi, trong phần mã này, chúng tôi khởi tạo bản đồ, vì vậy chúng tôi khởi tạo, ví dụ,
biến cen.
Vì vậy, đó là điều quan trọng.
Biến thực sự sẽ là một mảng trong đó các ô sẽ là pixel của bản đồ.
Và trong mỗi ô, chúng ta sẽ có một nếu có ý nghĩa và một số 0 nếu không có xu ở đầu, chúng ta sẽ
không vẽ được gì cả.
Vì vậy, sẽ không có ý nghĩa gì cả và do đó tất cả các ô của mảng gửi sẽ bằng không.
Vì vậy, sẽ có số không ở khắp mọi nơi.
Và ngay sau khi chúng tôi vẽ một số cát, các ô mà chúng tôi vẽ giác quan sẽ nhận được một và chúng tôi khởi
tạo các mảng với tất cả các số không ngay tại đây, cát bằng và p số không.
Sau đó, chúng tôi có điều quan trọng này là mục tiêu.
Vì vậy, mục tiêu là điểm trong bản đồ mà chúng tôi sẽ huấn luyện xe hơi đến.
Vì vậy, nó giống như một điểm đến.
Vậy mục tiêu này sẽ là gì?
Đây sẽ là góc trên bên trái của bản đồ.
Vì vậy, chúng ta sẽ huấn luyện xe đi đến góc trên bên trái của bản đồ.
Và sau đó khi nó đến góc trên bên trái của bản đồ, thì chúng tôi sẽ huấn luyện nó đi đến góc dưới
cùng bên phải của bản đồ.
Vì vậy, chúng ta có thể hình dung kịch bản sau đây.
Góc trên bên trái của bản đồ là sân bay của một thành phố và góc dưới bên phải của bản đồ
là trung tâm của thành phố.
Và chúng tôi sẽ chuyển sang Taxi hoặc Uber để thực hiện một số chuyến đi khứ hồi giữa sân bay và trung tâm thành phố.
Và tất nhiên, chúng tôi sẽ làm cho bài kiểm tra khó khăn hơn đối với chiếc taxi này bằng cách vẽ một số con đường
ngày càng khó hơn và thêm ngày càng nhiều chướng ngại vật trên đường để xem liệu taxi có thể xoay sở để đi từ sân bay
về trung tâm thành phố hay không.
Vì vậy, điều này sẽ rất vui.
Và đó là lý do tại sao ở đây tôi đang đặt tọa độ của mục tiêu đầu tiên.
Đó là sân bay, ở phía trên bên trái của màn hình.
Vì vậy, bản đồ sẽ giống như một hình vuông như thế này.
Và tọa độ của điểm gốc, đó là tọa độ, số 0 ở ngay đây.
Và sau đó lớn hơn là khoảng cách này ở đây.
Vì vậy, các tọa độ, 20 và lớn hơn, -20 do đó sẽ nằm ngay tại đây, góc trên bên trái của bản
đồ.
Và tại sao tôi lại chọn 20 chứ không phải 0?
Đó là bởi vì chúng tôi muốn đào tạo chiếc xe, không phải lao vào các bức tường.
Bạn biết đấy, chúng tôi cũng muốn huấn luyện nó để tránh những bức tường.
Và do đó, mục tiêu không được bằng 0 vì chúng tôi không muốn xe chạm vào tường.
Chúng tôi muốn chạm vào mục tiêu.
Vì vậy, chúng ta phải đặt nó ngay tại đây.
Và sau đó, tôi chỉ giới thiệu biến khoảng cách cuối cùng, biến khoảng cách hiện tại từ ô
tô đến mục tiêu và tôi đang khởi tạo bằng 0.
Được rồi.
Và bây giờ là lúc để tạo ra chiếc xe và trò chơi.
Vì vậy, chúng ta sẽ tạo ra hai lớp, một lớp cho ô tô và một lớp cho trò chơi.
Và bên trong các lớp này, chúng ta sẽ tạo ra một số kết nối bằng mắt của mình.
Vì vậy, chúng tôi sẽ làm điều đó trong hướng dẫn tiếp theo.
Và cho đến khi đó, hãy tận hưởng.
TÔI.