Xin chào và chào mừng đến với hướng dẫn này.
Trong hướng dẫn hôm nay, chúng ta sẽ đồng bộ hóa với mô hình được chia sẻ.
Vì vậy, những gì chúng ta sẽ làm tất nhiên vẫn giống như chức năng và sau đó khởi tạo độ dài của
một tập.
Vì vậy, chúng tôi sẽ gọi thời lượng của một tập phim là độ dài gạch dưới.
Chúng ta bắt đầu.
Và chúng tôi sẽ khởi tạo nó bằng 0.
Nhưng sau đó thời lượng tập này sẽ được tăng lên.
Và nói về việc gia tăng nó, đó chính xác là những gì chúng tôi sẽ làm.
Vì vậy, chúng ta sẽ sử dụng một vòng lặp while và sử dụng thủ thuật này để nói trong khi đúng.
Cullen để lặp lại những gì sẽ xảy ra bây giờ, những gì sẽ xảy ra bên trong vòng lặp này.
Và vì vậy, điều đầu tiên sẽ xảy ra trong vòng lặp giếng này là việc triển khai độ dài của
một tập phim.
Vì vậy, điều đầu tiên mà chúng tôi sẽ làm là tăng từng thứ một.
Và để làm như vậy, chúng ta có thể chỉ cần lấy độ dài tập và.
Thêm ở đây cộng với bằng một.
Và bây giờ chúng tôi sẽ đồng bộ hóa với mô hình được chia sẻ.
Điều đó có nghĩa là hiện tại tác nhân sẽ nhận được sẽ sử dụng mô hình chia sẻ để thực hiện khám phá nhỏ của mình
trên một số bước nhất định.
Và mô hình sẽ như thế nào để có được mô hình chia sẻ này?
Chà, chúng ta cần lấy mô hình của mình rồi chấm và sau đó sử dụng phương thức load state dict vì chúng ta sẽ
sử dụng nó để lấy từ điển trạng thái của mô hình được chia sẻ của chúng ta.
Vì vậy, chúng ta phải đặt mô hình chia sẻ trước và áp dụng sau đó là phương thức tĩnh để lấy các tham số của mô hình chia
sẻ này.
Và đó là cách mô hình của chúng tôi ở đây sẽ đưa mô hình được chia sẻ vào khám phá nhỏ của nó.
Và một khi mô hình có được mô hình chia sẻ này, bây giờ chúng ta phải phân biệt hai trường hợp.
Đầu tiên là nếu hoàn thành, nghĩa là nếu trò chơi đã hoàn thành.
Vì vậy, nếu trò chơi được thực hiện, sau đó điều gì sẽ xảy ra trong trường hợp đó?
Chà, chúng ta phải khởi tạo lại các trạng thái ẩn và trạng thái ô của lshtm và mô hình.
Và đó là lý do tại sao bây giờ tôi sẽ lấy C X các trạng thái ô và cả h x trạng thái ẩn và tôi sẽ
khởi tạo lại cả hai.
Và làm thế nào chúng ta sẽ khởi tạo lại chúng tốt chỉ với các số không.
Sẽ có một vectơ gồm 256 số không vì hãy nhớ đầu ra của lshtm có kích thước một
và 256.
Vậy là xong.
Chúng tôi sẽ khởi tạo chúng bằng cách sử dụng thư viện ngọn đuốc.
Sau đó, hàm số không.
Và vì chúng tôi muốn một vectơ gồm 256 số không, chúng tôi sẽ nhập vào đây hai thứ nguyên, một
cho vectơ và 256 cho số phần tử sẽ là số không.
Và chúng ta bắt đầu.
Nhưng sau đó chúng tôi sẽ chuyển đổi nó thành một biến ngọn đuốc vì sau đó một số gradient sẽ được tính toán.
Vì vậy, chúng ta cần tích hợp điều này với gradient.
Được rồi.
Và chúng tôi sẽ làm tương tự cho các trạng thái ẩn ngay bên dưới, và chúng tôi khởi tạo chúng theo cùng một cách.
Chúng ta bắt đầu.
Vì vậy, đó là nếu trò chơi được thực hiện.
Và bây giờ trường hợp khác mà chúng ta có thể truy cập bằng ls ls thì điều gì sẽ xảy ra trong trường hợp đó.
Chà, chúng ta sẽ giữ các trạng thái ô cũ và trạng thái ẩn và rất dễ dàng chúng ta có thể giữ các trạng thái
cũ theo cách này bằng cách nhập.
Xem x bằng với dữ liệu của biến c x và tương tự đối với các trạng thái ẩn.
Chúng ta có thể chỉ cần thêm ở đây h x bằng biến h x vào dữ liệu.
Được rồi.
Điều tốt.
Xong.
Bây giờ chúng ta có thể thoát khỏi LS vì về cơ bản chúng ta đã giải quyết xong hai trường hợp này cho dù trò chơi có kết thúc
hay không.
Nhưng chúng tôi vẫn ở trong vòng lặp hoang dã bởi vì bây giờ chúng tôi sẽ làm thêm một số việc mà về cơ bản là
tất cả quá trình đào tạo.
Và vì vậy những gì chúng ta sẽ làm bây giờ là khởi tạo một số biến sẽ là trọng tâm của
các phép tính trong khóa đào tạo.
Vì vậy, chúng ta hãy làm điều này.
Chúng ta sẽ cần các giá trị mà ghi nhớ là đầu ra của nhà phê bình.
Vì vậy, đó là hàm V và chúng tôi sẽ khởi tạo chúng dưới dạng một danh sách trống theo cách này.
Sau đó, chúng ta sẽ cần các xác suất nhật ký.
Vì vậy, đăng nhập các probs và chúng tôi cũng sẽ khởi tạo nó dưới dạng một danh sách trống.
Sau đó, tất nhiên chúng tôi sẽ cần phần thưởng của chúng tôi mà chúng tôi cũng sẽ khởi tạo dưới dạng danh sách trống.
Và cuối cùng chúng ta sẽ cần entropy là một cái gì đó mới, nhưng đây thực sự là trọng tâm của việc tính
toán huấn luyện.
Vì vậy, danh sách trống là tốt.
Vì vậy, bây giờ chúng ta khởi tạo bốn biến này, chúng ta có thể bắt đầu một vòng lặp for mới.
Và trong vòng lặp for mới này, chúng tôi sẽ cập nhật giá trị của 4 biến này.
Và vì vậy, vòng lặp for mới này sẽ là một vòng lặp đầy đủ qua các bước khám phá và do đó biến lặp
sẽ là các bước của chúng ta.
Vì vậy, đối với bước trong phạm vi và bên trong, chúng ta có thể nhập trực tiếp các bước tham số dot num vì bước num tham số chính
xác là số bước của thăm dò.
Vì vậy, đối với tất cả các bước trong khám phá, chúng ta phải làm gì?
Chà, chúng ta sẽ lấy các dự đoán của mô hình, bạn biết đấy, những gì được mô hình trả về.
Và để có được những dự đoán này, chúng ta chỉ cần lấy mô hình và áp dụng nó vào đầu vào.
Vì vậy, đó là tín hiệu đầu vào.
Nó đi qua các bộ não trong mô hình và điều đó sẽ cho chúng ta kết quả đầu ra, nhưng nó sẽ nhận được một số đầu ra.
Bạn biết đấy, nó sẽ cho chúng ta các giá trị của hàm V, đó là đầu ra của nhà phê bình, sau
đó là Q giá trị Q khảo nghiệm, là đầu ra của tác nhân.
Nhưng cũng đừng quên rằng nó cũng sẽ xuất ra bộ ba trạng thái ẩn và trạng thái ô.
Bởi vì hãy nhớ rằng, nếu chúng ta quay lại mô hình của mình tốt trong hàm chuyển tiếp, chúng ta có thể thấy
rằng thực sự nó trả về đầu ra của người chỉ trích là giá trị của hàm v so với đầu ra của tác nhân, là giá
trị Q giá trị Q thử nghiệm. , và cả kết quả đầu ra của lshtm, là hex kép này và xem các trạng
thái ẩn và trạng thái ô.
Vì vậy, chúng ta phải cẩn thận với điều đó.
Điều này khá khác so với những gì đã xảy ra trước đây và do đó bây giờ chúng ta sẽ áp dụng
mô hình cho đầu vào là trạng thái.
Nhưng bây giờ có một số việc phải làm liên quan đến tra tấn, nhưng điều đó dĩ nhiên mang lại sức mạnh cho những
gì chúng tôi đang làm.
Việc đầu tiên chúng ta cần làm là ép chặt.
Bang để thêm thứ nguyên giả này mà phải có chỉ số bằng không.
Đó là bởi vì mô hình chỉ có thể chấp nhận một loạt các đầu vào chứ không phải một đầu vào của chính nó trong một vectơ
hoặc một tensor.
Vì vậy, đó là điều đầu tiên chúng ta phải thực hiện ép.
Nhưng đó không phải là tất cả những gì chúng ta cần để chuyển trạng thái đầu vào của mình thành một biến ngọn đuốc.
Vì vậy, tôi đang thêm biến ở đây.
Vì vậy, bây giờ chúng tôi ổn với trạng thái, trạng thái đầu vào.
Nhưng hãy nhớ rằng đầu vào của bốn chức năng thực sự là hình ảnh đầu vào.
Đó là những gì chúng tôi vừa quan tâm, nhưng cũng là yếu tố chính của các trạng thái ẩn và trạng thái ô.
Và do đó, chúng ta cần thêm vào đây phần thứ hai của đầu vào với cặp H, x và c x.
Được rồi.
Và chúng ta phải lấy dấu ngoặc đơn mà chúng ta đi.
Chúng tôi có hai đầu vào của chúng tôi.
Đầu tiên là trạng thái đầu vào.
Đó là tất cả các hình ảnh đầu vào được chuyển đổi thành một biến ngọn đuốc và được ép để thêm thứ nguyên
mơ hồ này của lô và bộ ba trạng thái ẩn và trạng thái ô.
Vì vậy, tất cả chúng ta đều tốt để đi.
Chúng tôi đã sẵn sàng để có được dự đoán của chúng tôi.
Và bây giờ kể từ lần quay trở lại này, tốt, ba dự đoán của chúng tôi, đầu ra của nhà phê bình,
đầu ra của tác nhân và bộ ba trạng thái ẩn và trạng thái ô bởi LCM.
Bây giờ, chúng tôi sẽ giới thiệu một số ba biến mới, đây sẽ là ba kết quả đầu ra.
Vậy là xong.
Đầu ra đầu tiên là giá trị của hàm V, là đầu ra của nhà phê bình.
Vì vậy, chúng tôi sẽ gọi nó là giá trị.
Vậy là xong.
Đó là đầu ra đầu tiên.
Sau đó, đầu ra thứ hai sẽ là đầu ra của tác nhân, và đó là khảo nghiệm Q giá trị Q.
Nhưng vì các giá trị Q được liên kết với các hành động, chúng ta cũng có thể gọi chúng là các giá trị hành động.
Được rồi.
Và sau đó sản lượng cuối cùng được trả về bởi mô hình.
Đó là đỉnh của trạng thái ẩn, h x và các trạng thái ô.
Xem X và chúng ta bắt đầu.
Chúng tôi có ba đầu ra của chúng tôi được trả về bởi mô hình.
Hoàn hảo.
Vì vậy, bây giờ chúng tôi đã có dự đoán, chúng tôi cần sử dụng mức tối đa mềm để chơi đúng hành động.
Và bây giờ điều đó sẽ giống hệt như những gì chúng ta đã làm trước đây.
Bước tiếp theo là lấy xác suất của chúng ta để chúng ta có thể gọi chúng là xác suất.
Và đó là nơi chúng tôi sử dụng phương thức soft max mà chúng tôi lấy từ mô-đun chức năng có phím tắt.
F Vì vậy, F chấm soft max và đó là thứ tạo ra phân phối xác suất của đầu vào mà chúng ta sắp nhập ngay
bây giờ và tất nhiên là các giá trị hành động.
Đó là giá trị Q, là đầu ra của tác nhân trong mô hình.
Được chứ.
Vì vậy, bây giờ chúng ta có các xác suất, nhưng như bạn nhận thấy, chúng ta sẽ làm
việc với entropy và để có được entropy, chúng ta không chỉ cần xác suất mà còn cả xác suất log vì
entropy là tổng của tích.
Ghi nhật ký lần thử nghiệm của tất cả điều này nhân với trừ một.
Và vì vậy, chúng ta cũng cần lấy bản ghi log của chúng ta, những thứ tương tự sẽ được tạo từ log soft max.
Vì vậy, thay vì lấy phân phối của các xác suất, chúng tôi lấy một phân phối của các xác suất
log và chúng tôi làm điều đó với log.
Cổ nhồi, ổ khóa của chức năng tối đa giống nhau.
Chúng tôi áp dụng cho các giá trị cue.
Cái mà chúng tôi gọi là các giá trị hành động.
Được rồi.
Vì vậy, bây giờ chúng ta có đầu dò và đầu dò, và vì vậy chúng ta đã sẵn sàng để có được entropi và entropy.
Công thức cho điều đó là gì?
Chà, như tôi vừa đề cập, chúng ta lấy giá trị log, chúng ta nhân nó với thăm dò, sau đó chúng ta sẽ lấy tổng
của tất cả những điều này.
Và để làm điều đó, chúng ta có thể thêm vào đây số tiền đó.
Một.
Chúng tôi thực sự sử dụng thủ thuật này nhiều lần bây giờ.
Và như chúng tôi đã nói, chúng tôi nhân tất cả số này với trừ một.
Vì vậy, đó là số trừ của tổng số lần xác suất nhật ký sản phẩm là hoàn hảo.
Và bây giờ chúng ta sẽ lưu trữ entropy này vừa được tính toán trong danh sách entropy của chúng ta.
Bởi vì chúng tôi đi đến đó.
Chúng tôi có tính toán cuối cùng của entropy.
Và vì vậy chúng ta cần lưu trữ nó trong danh sách entropy.
Và để làm điều này, không có gì đơn giản hơn, tất nhiên chúng ta sẽ sử dụng hàm append
vì entropy là một danh sách.
Vì vậy, chúng tôi lấy danh sách entropy của chúng tôi, sau đó chấm, và chúng tôi sử dụng hàm append để thêm entropy vừa được
tính toán.
Được rồi.
Vì vậy, chúng ta sẽ nghỉ ngơi ngay bây giờ.
Chúng tôi sẽ làm điều này từng bước.
Trong hướng dẫn tiếp theo, chúng ta sẽ thực hiện hành động bằng cách lấy ngẫu nhiên phân phối xác suất
được tạo ra này.
Và sau khi chúng tôi chơi hành động, chúng tôi sẽ nhận được giá trị của trạng thái và cuối cùng chúng tôi sẽ lưu trữ phần
thưởng trạng thái truyền mới của chúng tôi và thực hiện như vậy.
Đó sẽ là một bước tiến lớn mới được thực hiện và chúng tôi sẽ hoàn thành điều đó trong hướng dẫn tiếp theo.
Cho đến lúc đó, hãy tận hưởng.
TÔI.