Xin chào và chào mừng đến với hướng dẫn này.
Được rồi.
Vì vậy, chúng tôi sẽ bắt đầu với tệp đầu tiên của mô hình của chúng tôi và tệp quan trọng nhất được mô
hình trên PI.
Và đây là trong tệp này, chúng tôi sẽ triển khai bộ não của toàn bộ mô hình, bạn biết đấy, bộ não
ở trung tâm của mô hình a3c.
Vì vậy, trong tệp này, chúng tôi sẽ tạo mạng nơ-ron, tất nhiên sẽ chứa một số mạng nơ-ron phức hợp,
vì tất nhiên, chúng tôi vẫn đang thực hiện một số nghiên cứu củng cố sâu.
Vì vậy, AI của chúng ta vẫn sẽ có mắt.
Và bên trong mạng nơ-ron này, chúng tôi sẽ tích hợp mọi thứ liên quan đến mô hình phê bình tích cực.
Và có một phần thưởng.
Như tôi đã nói với bạn, chúng tôi đang triển khai một trong ba mô hình C mạnh mẽ nhất.
Và điều khiến nó trở nên mạnh mẽ là nó sẽ chứa một bản ghi của mạng nơ-ron và chính xác hơn là
trong bộ nhớ dài hạn, ngắn hạn, để chúng ta có thể tìm hiểu các thuộc tính thời gian của những gì đang diễn ra
trong trò chơi.
Đó thực sự là các thuộc tính thời gian của đầu vào để các dự đoán có thể tốt hơn nữa.
Vậy là xong.
Chúng tôi đang triển khai một mô hình rất mạnh mẽ kết hợp cơ bản tất cả các mạng nơ-ron mà chúng tôi đã thấy
trong khóa học học sâu.
Đó là mạng nơ-ron nhân tạo, mạng nơ-ron tích tụ và mạng nơ-ron tuần hoàn.
Và trung tâm của tất cả các mạng này, tất nhiên, có mô hình a3c sẽ làm cho AI trở
nên rất mạnh mẽ.
Vì vậy, chúng ta hãy làm điều này.
Hãy tấn công mô hình này và thực hiện nó.
Vì vậy, chúng ta sẽ bắt đầu bằng cách tạo ra hai hàm chỉ là một số hàm sẽ quan tâm đến cách chúng ta có thể
khởi tạo trọng số bởi vì chúng ta sẽ có một số mạng nơ-ron và do đó chúng ta
sẽ có trọng số.
Và chúng tôi chỉ muốn tạo hai chức năng này trước để chúng tôi đã có một công cụ để tích
hợp rất dễ dàng bên trong toàn bộ mô hình, mạng nơ-ron.
Vì vậy, hai hàm này sẽ được khởi tạo cột chuẩn hóa.
Về cơ bản, đó là một hàm không chỉ có thể khởi tạo một số trọng lượng mà còn thiết lập một phương sai cụ thể của một
hàng chục trọng lượng.
Vì vậy, đó chính xác là những gì chúng tôi sắp triển khai ngay bây giờ.
Và sau đó chúng ta sẽ triển khai một hàm thứ hai, đây sẽ là các trọng số trong chức năng CNTT, và về
cơ bản điều đó sẽ khởi tạo các trọng số theo cách tối ưu cho việc học.
Được rồi.
Và sau khi thực hiện xong hai hàm này, chúng ta sẽ bắt đầu triển khai mạng nơ-ron.
Vì vậy, chúng ta hãy làm điều đó.
Hãy nhanh chóng thực hiện hai chức năng này.
Vì vậy, tôi bắt đầu với def ở đây.
Sau đó, tôi sẽ cung cấp tên của chức năng này được chuẩn hóa.
Gạch dưới cột, gạch dưới, khởi tạo nó.
Chúng ta bắt đầu.
Và chức năng này sẽ chỉ cần hai đầu vào.
Đầu tiên sẽ là trọng số chúng ta muốn khởi tạo và độ lệch chuẩn, vì như tôi vừa nói, chúng ta muốn
đặt một phương sai cụ thể cho trọng số tensor của chúng ta.
Và nếu bạn muốn hiểu tại sao chúng ta phải làm điều này, đó là bởi vì, bạn biết đấy, khi chúng ta tạo
ra mạng nơ-ron, sẽ có tác nhân và nhà phê bình theo mô hình ba chữ C, và chúng ta sẽ tạo ra hai mạng riêng biệt,
được kết nối hoàn toàn. các lớp, một cho diễn viên và một cho nhà phê bình.
Và hai lớp được kết nối đầy đủ này sẽ có trọng số, và chúng tôi sẽ thiết lập độ lệch chuẩn cho mỗi nhóm
trong hai nhóm trọng số này.
Và vì vậy những gì chúng tôi sẽ làm là chúng tôi sẽ thiết lập một độ lệch chuẩn nhỏ cho diễn viên.
Nó sẽ là khoảng 0. Tôi nghĩ là 01 và một độ lệch chuẩn lớn đối với nhà phê bình, sẽ là khoảng một.
Vì vậy, đó là lý do tại sao chúng tôi tạo ra hàm này, để chúng tôi có thể rất dễ dàng thiết lập độ lệch chuẩn cho các trọng
số mà chúng tôi sẽ khởi tạo sau này cho tác nhân và nhà phê bình.
Đó là lý do tại sao chúng tôi đang làm điều này.
Vì vậy, bây giờ chúng ta sẽ chỉ đặt một giá trị mặc định, nhưng điều này sẽ thay đổi sau đó khi chúng ta khởi tạo
các trọng số.
Vì vậy, chúng ta hãy chọn như vậy cho 1. 0.
Được rồi.
Và bây giờ chúng tôi đã sẵn sàng để xác định những gì bên trong chức năng này.
Vì vậy, những gì chúng ta sẽ chuẩn bị đầu tiên là đầu ra mà chúng ta sẽ gọi ra.
Vì vậy, biến out này là những gì sẽ được trả về bởi hàm này.
Và trước tiên, những gì chúng ta sẽ làm là khởi tạo nó.
Vì vậy, như bạn đã hiểu, đầu ra này sẽ là một khối lượng hàng chục sẽ có độ lệch chuẩn cụ thể.
Nhưng trước khi chúng ta quan tâm đến việc thiết lập độ lệch chuẩn, chúng ta chỉ muốn khởi tạo nó và sau
đó chúng ta sẽ thiết lập độ lệch chuẩn ở đây, là đối số là đầu vào của hàm này.
Vì vậy, khi khởi tạo các trọng số nhạy cảm của nó, bạn có thể biết cách thực hiện.
Chúng tôi đã làm điều đó.
Chúng ta sẽ sử dụng thư viện ngọn đuốc của mình và từ thư viện lưu trữ, chúng ta sẽ sử dụng hàm Rand M sẽ khởi
tạo một tensor ngọn đuốc với trọng lượng ngẫu nhiên tuân theo phân phối chuẩn.
Vì vậy, đó là lý do tại sao nó được gọi là run NW và là bình thường.
Và bây giờ những gì chúng ta chỉ cần nhập là số phần tử mà tensor này sẽ chứa.
Và số phần tử này tất nhiên là số trọng lượng vì chúng ta đang thực sự khởi tạo một tensor cho
những trọng số này ở đây.
Và do đó, để có được số phần tử này, chúng ta có thể chỉ cần lấy trọng số của mình.
Và thêm dấu chấm để có kích thước bằng dấu ngoặc đơn.
Và điều này sẽ cung cấp số phần tử trong các trọng số để nó sẽ tạo ra một tenxơ ngọn đuốc có cùng một số phần tử của
tất cả các trọng số và nó sẽ được khởi tạo với các trọng số ngẫu nhiên theo
phân phối chuẩn.
Được rồi.
Và bây giờ là lúc để thiết lập độ lệch chuẩn mà chúng ta muốn có.
Đó là độ lệch chuẩn ở đây.
Vì vậy, những gì chúng ta sẽ làm bây giờ là một bình thường hóa đơn giản.
Chúng tôi có một bó đuốc có trọng lượng và bây giờ chúng tôi muốn bình thường hóa nó.
Và do đó, để chuẩn hóa nó, chúng ta chỉ cần viết một phép tính rõ ràng.
Và những gì chúng ta cần làm ở đây là lấy kết quả đầu ra, sau đó cập nhật nó bằng cách nhân nó với
độ lệch chuẩn mà chúng ta muốn chia cho tổng mà tôi vừa đề cập.
Và do đó, để có được tổng này, chúng ta sẽ sử dụng hàm căn bậc hai bằng đèn pin.
Và vì vậy đó là những gì tôi đang sử dụng ở đây theo hướng xiên đó hoặc DT Đó là hàm căn bậc hai.
Và bên trong, chúng ta sẽ nhập căn bậc hai, một số trọng số của vectơ của chúng ta.
Và vì vậy chúng tôi lấy đầu ra của mình, sau đó chúng tôi sử dụng hàm lũy thừa mà chúng tôi nhập vào vì chúng tôi
muốn lấy bình phương của tổng.
Và sau đó chúng tôi lấy, do đó, là tổng.
Và bên trong, chúng ta sẽ chỉ định chỉ mục của cột có chứa trọng số là một tính tổng.
Và sau đó lấy các trọng số này một cách riêng biệt vì chúng ta muốn tổng hợp chúng tốt.
Chúng tôi sử dụng phần mở rộng về điểm số như một hàm của kết quả đầu ra của chúng tôi.
Được rồi.
Vì vậy, điều này sẽ nhận được trọng lượng của alt, cho đến nay được khởi tạo như một trọng lượng nhạy cảm.
Vì vậy, đó nhận được tất cả các trọng lượng này.
Chúng tôi lấy tổng bình phương và sau đó chúng tôi lấy căn bậc hai để áp dụng chuẩn hóa.
Và thực tế là chúng ta có độ lệch chuẩn này ở tử số sẽ đảm bảo rằng có thể viết nó ở
đây.
Phương sai của alts sẽ bằng bình phương của độ lệch chuẩn.
Công thức này ở đây sẽ đảm bảo rằng hàng chục trọng số mà chúng ta đã khởi tạo này sẽ có phương sai
bằng bình phương của độ lệch chuẩn mà chúng ta nhập vào làm đối số.
Và đó là cách chúng tôi có thể thiết lập độ lệch chuẩn cụ thể cho tác nhân và nhà phê bình trong tương lai mà chúng tôi sẽ sớm
đưa ra.
Và chúng tôi sẽ chọn độ lệch chuẩn nhỏ cho diễn viên và độ lệch chuẩn lớn cho nhà phê bình.
Và chúng ta sẽ thực hiện điều này rất dễ dàng nhờ chức năng này.
Được rồi.
Và vì vậy bây giờ chúng tôi chỉ có một việc phải làm.
Tất nhiên, còn lại nó để trả về kết quả đầu ra hiện đã được chuẩn hóa với độ lệch chuẩn cụ thể này.
Được rồi.
Rất hoàn hảo.
Đó là chức năng đầu tiên chúng tôi phải thực hiện.
Đó là công cụ đầu tiên mà chúng tôi sẽ rất vui khi sử dụng để tạo ra bộ não a3c.
Chúng tôi có một chức năng nữa để thực hiện ngay bây giờ.
Nó sẽ là trọng số trong chức năng này, và đó chỉ là một chức năng mà tôi sẽ nhắc nhở khởi tạo
trọng số để làm cho việc học được tối ưu.
Vì vậy, chúng ta hãy làm điều này trong hướng dẫn tiếp theo.
Và cho đến khi đó, hãy tận hưởng.
TÔI.