Xin chào và chào mừng đến với hướng dẫn này.
Xin chúc mừng một lần nữa vì đã hoàn thành với cả ba.
Thấy chưa, chúng tôi đã làm được.
Chúng tôi tạo ra bộ não và chúng tôi đào tạo chúng.
Nhưng bây giờ chúng ta vẫn phải tạo một đại lý thử nghiệm, tác nhân này sẽ không cập nhật mô hình nào cả, mà nó sẽ
chỉ sử dụng mô hình được chia sẻ để thực hiện các khám phá của riêng mình.
Và tất nhiên trong đoạn code này, chúng tôi sẽ quay một số video và đây sẽ là những video quay thử
người chơi này chơi breakout với một số điểm nhất định.
Vì vậy, chúng ta hãy đi qua đoạn mã này.
Quan trọng nhất là xong.
Vì vậy, như tôi đã nói với bạn, chúng tôi sẽ không viết mã từng dòng, nhưng tôi nghĩ điều quan trọng là bạn phải hiểu những
gì đang xảy ra ở đây.
Vì vậy, chúng tôi đi với mã này.
Trong phần đầu tiên, như bạn đã nhận thấy, chúng tôi nhập các thư viện và sau đó chúng tôi xác định chức năng kiểm tra
này sẽ làm cho tác nhân kiểm tra này tự khám phá và chơi trò chơi đột phá.
Vậy là xong.
Hàm kiểm tra này có ba đối số.
Đầu tiên là xếp hạng, và đó là vẫn phải thực hiện đồng bộ hóa tác nhân thử nghiệm như chúng tôi đã làm đối với các đại
lý đào tạo.
Sau đó, chúng tôi có các tham số của mình, tất nhiên, bởi vì chúng tôi sẽ cần một số.
Và tất nhiên chúng tôi có mô hình được chia sẻ vì tác nhân thử nghiệm này sẽ sử dụng mô hình được chia sẻ để thực hiện việc khám
phá riêng của mình.
Được rồi, sau đó, chúng ta đi vào bên trong hàm trong dòng mã này, chúng ta đã đồng bộ hóa tác nhân thử nghiệm
chính xác như chúng ta đã làm trước đó.
Sau đó, chúng tôi nhập môi trường.
Vì vậy, tôi nhắc nhở rằng trong mã chính, sẽ có trong hướng dẫn tiếp theo, tên cuối ở đây sẽ
được thay thế bằng dấu ngắt bằng 0 để chúng ta có thể đi vào môi trường đột phá bằng 0 và chơi
trò chơi.
Và video bằng true có nghĩa là chúng tôi sẽ nhận được các video về đột phá đường ống của chúng tôi.
Vì vậy, về cơ bản dòng mã này có nghĩa là chúng tôi chạy một môi trường với video.
Sau đó, ở dòng mã tiếp theo, chúng tôi đã đồng bộ hóa môi trường này theo nguyên tắc chính xác như trong một hàm
được đào tạo.
Sau đó, chúng tôi nhận được mô hình của mình và để làm điều này, chúng tôi tạo một đối tượng của lớp đang hoạt động và chúng tôi nhập hình dạng
đầu vào với môi trường, quan sát, không gian và hình dạng của chúng tôi bằng không.
Chính xác như đối với hàm train và kết quả đầu ra của chúng ta, đó là các hành động với một không gian hành động.
Vì vậy, chính xác như trước đó một cái gì đó mới ở đây.
Vì chúng tôi đã hoàn thành quá trình đào tạo, chúng tôi không muốn đặt mô hình ở chế độ đào tạo vì đơn giản là chúng tôi
không muốn nó đào tạo, chúng tôi muốn đặt nó ở chế độ VAL và đó là những gì chúng tôi làm ở đây với dấu chấm mô hình valy.
Vì vậy, về cơ bản đó chỉ là đặt tác nhân kiểm tra ở một chế độ về cơ bản sẽ kiểm tra nó, kiểm tra hiệu suất của nó
được đánh giá.
Sau đó, ở đây chúng tôi nhận được các trạng thái đầu vào của chúng tôi là các hình ảnh đầu vào từ trò chơi, tại thời điểm này được thực
hiện bởi các mảng.
Sau đó, ở đây chúng tôi chuyển đổi chúng thành cảm biến ngọn đuốc.
Ở đây chúng tôi khởi tạo một số phần thưởng.
Ở đây chúng tôi khởi tạo thành true.
Vì vậy, vẫn giống như lần trước, sau đó một cái gì đó mới lại.
Chúng tôi giới thiệu biến thời gian thứ ba này với hàm time to time để đo thời gian tính toán.
Và đó là bởi vì chúng tôi muốn có được điểm bắt đầu, sau đó ở đây cho các hành động, chúng tôi sử dụng một
loại cue rất thiết thực cho phép thêm một phần tử vào hàng đợi từ bên phải hoặc bên trái.
Vì vậy, điều đó rất thực tế và tôi sẽ cung cấp cho bạn liên kết tham khảo trong phiên bản được đề xuất của mã.
Vì vậy, bạn sẽ có một cái nhìn về hàng đợi ngày này là gì, và đó là những gì cho phép chúng tôi làm điều đó.
Sau đó, chúng tôi khởi tạo độ dài của một tập bằng 0, tất nhiên, và sau đó chúng tôi sẽ tăng kích thước
trong vòng lặp giếng này.
Vì vậy, chúng tôi sử dụng thủ thuật tương tự ở đây khi true và trong vòng lặp, chúng tôi tăng độ dài của tập lên một.
Khi trò chơi được thực hiện xong, khi trò chơi kết thúc, chúng tôi tải lại bộ cuối cùng của mô hình được chia sẻ.
Mô hình được chia sẻ đã được cập nhật bởi các mô hình khác.
Hãy nhớ rằng ở đây mô hình được chia sẻ này không còn được cập nhật.
Sau đó, vẫn còn, nếu trò chơi kết thúc, nếu trò chơi kết thúc, chúng ta sẽ ở trong đó.
Chúng tôi khởi tạo lại trạng thái ô, xem x và các trạng thái ẩn h x và nếu trò chơi vẫn chưa kết thúc, chúng tôi giữ nguyên trạng
thái ô và trạng thái ẩn, nhưng chúng tôi đảm bảo chúng nằm trong một biến tổng để chúng
có thể gắn với một gradient.
Vì vậy, đó là một cái gì đó chúng tôi đã làm trong hàm train và sau đó vẫn còn trong vòng lặp hoang dã.
Và sau khi đã cập nhật các trạng thái ô ở các trạng thái ẩn một cách đúng đắn, tùy thuộc vào hai trường hợp
ở đây.
Chà, chúng ta phải làm gì?
Chúng tôi nhận được các dự đoán của mô hình.
Vì vậy, đó chính xác là những gì chúng tôi làm ở đây với dòng mã này.
Vì vậy, chúng tôi nhận được giá trị, là đầu ra của chỉ số, giá trị hành động, là đầu ra của
tác nhân, và sau đó là đỉnh, tất cả các trạng thái ẩn, h, x và trạng thái ô xem x.
Sau đó, chúng tôi tạo ra một phân phối xác suất của các hành động có giá trị Q giá trị hành động
ở đây.
Và chúng tôi làm điều này với hàm max.
Và tất nhiên chúng ta không cần lấy xác suất log ở đây vì nó chỉ dành cho việc đào tạo
cho nhân viên kiểm tra.
Nó sẽ chỉ chơi các hành động mà chúng ta sẽ sử dụng như doom, một cơ thể tối đa mềm để chơi nó.
Nhưng chúng tôi không thực hiện bất kỳ khóa đào tạo nào ở đây, vì vậy chúng tôi chỉ có chỗ dựa.
Và từ thăm dò này, chúng tôi thực hiện hành động bằng cách lấy trực tiếp giá trị lớn nhất của các xác suất này.
Đó là, nó thực hiện hành động có xác suất cao nhất.
Và lý do là nhân viên kiểm tra không thực hiện bất kỳ hoạt động thăm dò nào.
Hãy nhớ rằng chúng tôi muốn.
Có cơ hội chọn một số hành động có xác suất thấp khi chúng tôi muốn thực hiện một số khám phá về những
hành động khác này và bạn biết đấy, không thực hiện mỗi lần hành động có xác suất cao nhất.
Nhưng ở đây nhân viên kiểm tra sẽ không thực hiện bất kỳ hoạt động thăm dò nào.
Và do đó, đó là lý do tại sao chúng tôi trực tiếp thực hiện hành động có xác suất tối đa.
Và sau đó khi chúng tôi chơi hành động, chúng tôi đạt đến trạng thái tiếp theo và chúng tôi nhận được phần thưởng tiếp theo và việc hoàn thành sẽ được cập nhật cho
dù trò chơi có kết thúc hay không.
Vì vậy, chúng tôi nhận được tất cả những điều này với dòng mã này bằng cách chơi hành động sau khi đã chọn nó với giá trị tối
đa ở đây.
Vì vậy, chúng tôi chơi hành động ở đây và chúng tôi nhận được trạng thái, chúng tôi nhận được phần thưởng và phần thưởng được cập nhật.
Và vì chúng tôi vừa nhận được phần thưởng mới, nên chúng tôi sẽ cập nhật tổng phần thưởng bằng cách chỉ cần thêm phần
thưởng mới này.
Và cuối cùng, bất cứ khi nào trò chơi được thực hiện.
Vì vậy, nếu hoàn thành có nghĩa là khi trò chơi kết thúc, khi AI chơi xong trò chơi,
tốt, chúng tôi sẽ in kết quả cùng với thời gian, phần thưởng cho độ dài của tập đó là khoảng thời gian mà nó
đã chơi lần cuối cùng. ngoài?
Và đây chỉ là cách chúng tôi in tất cả các biến này bằng cách sử dụng các thủ thuật thời gian này.
Vì vậy, đó là thời gian.
Và sau đó phần thưởng một số chỉ là một biến cho tổng phần thưởng và độ dài tập là biến cho
độ dài của một tập.
OC và sau đó khi chúng tôi in tất cả các kết quả, tốt, vì trò chơi đã kết thúc và chúng tôi muốn bắt đầu
một trò chơi mới, chúng tôi sẽ khởi tạo lại mọi thứ có tổng phần thưởng bằng không.
Thời lượng của một tập bằng 0.
Chúng tôi sẽ bắt đầu lại tất cả các hành động bằng cách sử dụng chức năng rõ ràng này.
Đặt lại các hình ảnh đầu vào mà bạn biết, bằng cách đặt tất cả các khối hình lại với nhau.
Và cuối cùng, chúng tôi sử dụng thời gian ngủ 60 giây này để nghỉ ngơi trong một phút để cho các đặc vụ khác luyện tập và
nếu trò chơi kết thúc và cuối cùng chúng tôi có dòng mã cuối cùng này sẽ giúp chúng tôi có trạng thái mới, và sau đó
chúng ta có thể tiến về phía trước.
Chúng ta có thể tiếp tục trong trò chơi mới này.
Vậy là xong.
Đó là chức năng kiểm tra, nhờ đó chúng ta sẽ xem các video trong một hoặc hai hướng dẫn.
Tôi hy vọng chúng ta sẽ ở bên nhau như lần trước để xem kết quả.
Đó là với bạn, Carol và tôi.
Điều đó sẽ rất vui.
Và tôi đang nói với bạn, hãy mong đợi để thấy kết quả tốt.
Nhưng hãy nhớ rằng trò chơi đột phá này là siêu thử thách.
Chúng tôi nghĩ rằng đó là trò chơi đơn giản nhất để chơi trước, nhưng không phải vậy.
Nó thực sự khó hơn nhiều so với Doom, và đó là lý do tại sao chúng tôi đưa nó vào mô-đun cuối cùng.
Nhưng dù sao đi nữa, hãy thực hiện chức năng chính này trong hướng dẫn tiếp theo nói rằng đây không phải là chức năng quan trọng nhất ở
đây.
Bây giờ a3c đã được thực hiện xong.
Vì vậy, chúng tôi sẽ không viết mã từng dòng một.
Tôi sẽ mở rộng mã và rất nhanh chóng chúng ta sẽ nhận được kết quả.
Cho đến lúc đó, hãy tận hưởng.
TÔI.