Xin chào và chào mừng bạn đến với phần đầu tiên của bài viết này, tôi thực hiện phần một là xây dựng AI và như
bạn có thể thấy, tôi đã thêm một thứ nguyên trong cấu trúc của việc triển khai này với ba phần tạo nên phần một cho thấy
rõ ràng cách chúng ta sẽ xây dựng cái này .
Đầu tiên tôi sẽ tạo ra bộ não không gì khác ngoài mạng nơ-ron.
Sau đó, chúng tôi sẽ tạo phần nội dung sẽ xác định cách các hành động sẽ được thực hiện.
Và sau đó khi chúng ta có bộ não và cơ thể, chúng ta sẽ lắp ráp chúng để tạo thành AI, sẽ có trong
phần cuối cùng của phần đầu tiên này.
Vì vậy, bây giờ bạn đã có thể có một tầm nhìn tốt về cấu trúc của việc triển khai này.
Đầu tiên, chúng tôi tạo ra bộ não, sau đó chúng tôi tạo ra cơ thể, và sau đó chúng tôi tập hợp các bộ phận để tạo ra AI.
Và sau đó là hướng dẫn này, chúng ta sẽ bắt đầu với phần đầu tiên nói về cấu tạo não bộ và phần
này sẽ đưa chúng ta đến với các bài hướng dẫn.
Bạn có thể tưởng tượng rằng việc tạo ra một bộ não không giống như làm một chiếc bánh.
Vì vậy, điều này sẽ yêu cầu nhiều hơn một hướng dẫn.
Và tất nhiên, như thường lệ, chúng tôi sẽ đại diện cho bộ não đó với lớp vì chúng tôi sẽ cần một số chức năng
và để có cấu trúc của một số chức năng sẽ được tổ chức theo một số loại hướng dẫn, tốt, tất nhiên chúng tôi
cần một lớp, và điều đó thật hoàn hảo, bởi vì một khi chúng ta làm tốt lớp đó, chúng
ta sẽ có thể tạo bao nhiêu bộ não mà chúng ta muốn bằng cách chỉ tạo một số đối tượng của lớp
này.
Vì vậy, một lần nữa, các lớp trong Python và nói chung trong các ngôn ngữ lập trình hướng đối tượng rất thực tế bởi vì bạn
tạo mô hình của mình về thứ gì đó bạn muốn xây dựng và sau đó bạn có thể tạo bao nhiêu đối
tượng tùy thích và chúng sẽ có tất cả các tính năng mà bạn xác định trong lớp.
Và đối với bộ não của chúng ta, tất nhiên sẽ có các tính năng.
Trước hết, kiến trúc của mạng nơ-ron mà tôi nhắc nhở sẽ là một CNN và tất nhiên,
các chức năng khác nhau, chẳng hạn như truyền tín hiệu từ các nơ-ron đầu vào đến các nơ-ron đầu
ra.
Vì vậy, đó là những gì chúng tôi tất nhiên, chức năng thứ tư mà chúng tôi sẽ thực hiện.
Vì vậy, chúng ta hãy làm điều này, chúng ta hãy bắt đầu tạo ra bộ não.
Điều này sẽ khá thú vị.
Đó là một trong những phần yêu thích của tôi và do đó chúng ta hãy đi thẳng vào nó.
Vì vậy, chúng tôi sẽ bắt đầu bằng cách giới thiệu một lớp học, tất nhiên, và chúng tôi sẽ gọi lớp học này.
Chà, tôi đã do dự khi gọi nó là não, nhưng hãy thẳng thắn hơn và hãy gọi nó là CNN, bởi vì
thực ra não là một mạng CNN, một mạng nơ-ron phức tạp.
Vì vậy, khi bạn muốn, bạn có thể gọi nó là bộ não nếu bạn muốn.
Nhưng ít nhất bây giờ chúng tôi biết những gì chúng tôi đang xây dựng.
Và CNN về mạng lưới xe tự lái sẽ kế thừa từ mô-đun GN.
Vì vậy, hãy nhớ mô-đun DN là những gì chúng tôi đã nhập ở đây và chúng tôi muốn có thể sử dụng tất cả các công cụ của mô-đun động
cơ này và do đó chúng tôi muốn sử dụng kỹ thuật này trong lập trình hướng đối tượng, đó là
sự kế thừa và cho phép chúng tôi, bạn biết đấy, tốt, sử dụng tất cả các công cụ từ một lớp cha.
Và lớp cha này sẽ là một mô-đun RN DOT.
Chúng ta bắt đầu.
Và bây giờ chúng ta có thể sử dụng tất cả các công cụ và đối tượng của mô-đun ghi chú.
Được rồi.
Vì vậy, bây giờ chúng ta đã có thừa kế của mình, chúng ta có thể đi vào lớp để tạo hàm đầu tiên của chúng ta.
Và như bạn có thể đoán, hàm đầu tiên là hàm init sẽ xác định tất cả các biến của các
đối tượng não bộ trong tương lai, các đối tượng CNN sẽ được tạo ra.
Được rồi, chúng ta hãy làm điều này def sau đó đến khóa học này trong nó để gạch dưới một lần nữa và bây giờ chúng ta cần
nhập một số biến.
Vì vậy, đầu tiên, biến đầu tiên sẽ là self.
Đó là tất nhiên để chỉ đối tượng.
Bây giờ tôi đoán bạn khá thoải mái với điều này.
Sau đó, chúng ta sẽ thêm một biến khác, sẽ là số lượng hành động trong môi trường câm.
Vì vậy, chúng tôi sẽ gọi nó là số hành động, một số hành động.
Và thực ra biến này không bắt buộc đối với hàm init.
Chỉ là nếu bạn muốn kiểm tra API mà chúng tôi sẽ xây dựng trên các môi trường khác, thì
điều này sẽ rất thực tế vì chúng tôi sẽ nhập số lượng biến hành động này từ các trình bao bọc môi trường Dhoom
với hai biến rời rạc.
Và khi làm điều đó, bạn biết đấy, nhập tên của môi trường diệt vong bằng 0.
Và vì vậy nếu bạn muốn thử nghiệm với I này trên các môi trường diệt vong khác và chơi trên các trò chơi khác, thì bạn sẽ
không phải làm gì vì số lượng hành động này sẽ trực tiếp lấy số lượng hành động trong môi
trường diệt vong mà bạn sẽ chơi với.
Được rồi, vậy là xong cho hai đối số của hàm init này.
Vì vậy, bây giờ chúng ta có thể vào bên trong và bây giờ hãy nhớ những gì chúng ta phải làm.
Điều đầu tiên chúng ta phải làm là kích hoạt thừa kế với siêu chức năng.
Vì vậy, điều đó hoàn toàn giống với xe tự lái.
Chúng tôi có chức năng siêu.
Sau đó, bên trong chúng ta bắt đầu bằng cách nhập lớp sẽ xác định mạng nơ-ron và đó là CNN.
Sau đó, chúng ta phải nhập self để tham chiếu đến đối tượng.
Nhưng hãy nhớ rằng, đó không phải là tất cả những gì chúng ta cần thêm vào đây một dấu chấm và sau đó là hàm init với một số dấu ngoặc đơn.
Và bằng cách đó, chúng tôi kích hoạt sự kế thừa và bây giờ chúng tôi có thể sử dụng tất cả các công cụ từ mô-đun cuối.
Được rồi, bây giờ tôi nghĩ đã đến lúc xây dựng kiến trúc của mạng nơ-ron.
Và vì vậy, như bạn nhớ, chúng tôi sẽ xây dựng CNN, một mạng nơ-ron phức hợp, đơn
giản vì lần này AI sẽ có mắt và mắt của AI sẽ là các lớp phức hợp của mạng nơ-ron phức
tạp này.
Và sau khi AI trực quan hóa các hình ảnh với các lớp phức hợp, nó sẽ truyền các tín hiệu
vào một mạng nơ-ron nhân tạo cổ điển.
Vì vậy, đó là cái mà chúng tôi đã có trước đây với các lớp được kết nối đầy đủ và đó là nơi nó sẽ cố
gắng dự đoán các giá trị tín hiệu cho mỗi hành động có thể mà chúng tôi có thể chơi.
Vì vậy, bạn có kiến trúc trong tâm trí.
Đầu tiên, chúng ta sẽ có một số lớp phức hợp và sau đó là một số lớp được kết nối hoàn chỉnh và
đây sẽ là bộ não của AI của chúng ta.
Vậy chúng ta sẽ làm gì để có thể lùi lại một bước với những gì chúng ta đang tạo ra?
Chúng ta hãy tạo kiến trúc này với các biến mà chúng ta muốn tạo.
Vì vậy, thực sự, nói về kiến trúc này, chúng ta sẽ xây dựng một CNN với ba lớp phức hợp và sau đó
là một lớp ẩn, điều đó có nghĩa là chúng ta sẽ cần ba kết nối chập và
hai kết nối đầy đủ.
Và nói về kết nối, đó chính xác là những gì chúng ta sắp xác định.
Đó sẽ là các biến của lớp CNN của chúng tôi.
Và do đó, ngay bây giờ, tôi sẽ xác định năm biến, ba cho các kết nối chập và
hai cho các kết nối đầy đủ.
Vì vậy, chúng ta hãy làm điều này.
Chúng ta sẽ bắt đầu với các kết nối phức tạp.
Vì vậy, tôi sẽ gọi chúng là tích chập tự chấm.
Tôi sẽ sao chép nó và.
Pace chúng bên dưới và chúng ta bắt đầu.
Tự chập hai và tự chập ba.
Đó là kết nối chập của chúng tôi.
Vì vậy, phép chập đầu tiên này ở đây sẽ áp dụng một số phép chập cho các hình ảnh đầu vào để có được lớp tích chập
đầu tiên, sau đó là phép tích chập thứ hai.
Hai ở đây sẽ lấy lớp chập đầu tiên làm đầu vào và bằng cách áp dụng lại một số phép chập,
nó sẽ tạo ra lớp chập thứ hai.
Và trong lớp phức hợp này, chúng ta sẽ nhận được một số hình ảnh mới, mỗi hình ảnh trong số họ phát hiện một tính năng cụ thể.
Vì vậy, chúng tôi sẽ nhận được những hình ảnh mới này trong một lớp phức hợp.
Sau đó, chúng tôi sẽ áp dụng tích chập này vào đây để kết nối các hình ảnh mới này từ lớp tích chập đầu tiên này
với một số hình ảnh mới của lớp tích chập thứ hai.
Và những hình ảnh mới này, một lần nữa, sẽ phát hiện một số đặc điểm trong hình ảnh của lớp chập đầu tiên.
Vì vậy, nó chỉ để củng cố tính năng phát hiện và sau đó là các hình ảnh của lớp phức hợp thứ hai.
Chúng tôi áp dụng phép chập thứ ba ở đây để có thêm một số hình ảnh cho mỗi hình ảnh phát hiện nhiều tính năng hơn bên trong
các hình ảnh đầu vào.
Và do đó, chúng tôi càng làm điều này, chúng tôi càng áp dụng một số phức hợp cho các lớp hình ảnh khác nhau.
Chà, chúng tôi càng có thể phát hiện ra một số tính năng.
Và đó là cách bằng cách phát hiện các tính năng, AI sẽ hiểu được quái vật ở đâu, nơi nó
phải bắn để giết chúng và nó sẽ đi đến đâu.
Nó cũng sẽ phát hiện ra các bức tường, các chướng ngại vật, đúng nghĩa là nơi nó phải đi.
Và đó là nhờ những gì mà tất cả các lớp phức hợp này phát hiện được trong các hình ảnh đầu vào ban đầu.
Được rồi.
Vì vậy, đó là phần tích hợp của CNN.
Nhưng sau đó hãy nhớ sau các lớp chập, chúng ta phải làm phẳng tất cả các pixel thu được bằng các chuỗi
chập khác nhau đã được áp dụng.
Và bằng cách làm phẳng tất cả các mảng pixel, chúng ta có được vectơ khổng lồ này sẽ trở thành đầu vào của một
mạng nơ-ron nhân tạo cổ điển.
Và đó là nơi chúng tôi có được các lớp được kết nối đầy đủ của chúng tôi và do đó là các kết nối đầy đủ của chúng tôi.
Và bây giờ những gì chúng ta phải làm là tạo hai biến mới bởi vì chúng ta sẽ có một lớp ẩn trong
mạng nơ-ron nhân tạo cổ điển này xuất hiện tiếp theo.
Và do đó, chúng ta cần một kết nối đầy đủ từ vector phẳng khổng lồ này đến một lớp ẩn này
và một kết nối đầy đủ thứ hai giữa một lớp ẩn này và lớp đầu ra bao gồm các nơ-ron
đầu ra là các giá trị cue.
Vì vậy, hãy tạo các kết nối 2/1 này và sau đó chúng ta sẽ xác định tất cả các kết nối này.
Vì vậy, đối với xe tự lái, chúng tôi sẽ gọi chúng là tự chấm FC một và sau đó tự chấm FC hai.
Được rồi, bây giờ chúng ta có tất cả các biến của mình và vì vậy bây giờ những gì chúng ta phải làm
tất nhiên là xác định chúng với các lớp của mô-đun RN.
Vì vậy, điều đó có nghĩa là về cơ bản chúng ta sẽ tạo ra kiến trúc của mạng nơ-ron và đó là những gì chúng ta
sẽ làm trong hướng dẫn tiếp theo.
Cho đến lúc đó, hãy tận hưởng.
TÔI.