Politika gradyanları hakkında daha fazla bilgi edinmek için, bkz: Destekli Öğrenim.
REINFORCE algoritmasını uyguluyoruz. Bu algoritma, eğitime başlamak için tam bir yörüngenin tamamlanmasını gerektirir. Aşağıdaki denkleme bakarsanız, nedenini göreceksiniz:
$R_t = r_t + \gamma R_{t+1}$
Bir sonraki adımdan itibaren getiriye her zaman ihtiyacımız olduğuna dikkat edin. Bu nedenle, bir Monte Carlo yaklaşımı kullanmalı ve tüm bir savaşı simüle etmeliyiz. Mücadele ederken her adımda ödülleri topluyoruz, ardından geriye dönük getirileri hesaplıyoruz.
import numpy as np
def get_discounted_return(rewards, gamma):
running_discounted_reward = rewards[len(rewards)-1]
discounted_return = rewards.copy()
discounted_return[-1] = rewards[-1]
for t in reversed(range(len(discounted_return) - 1)):
discounted_return[t] = rewards[t] + gamma * running_discounted_reward
running_discounted_reward =+ rewards[t]
return np.array(discounted_return)
RL modellerinde olduğu gibi, durumu politikaya eşlemek için bir fonksiyon kullanıyoruz. AI Arena'nın ilk testleri için araştırmacıları ileri beslemeli, tamamen bağlantılı neural network kullanmaya zorluyoruz.
Aşağıdaki kod parçacıkları da dahil olmak üzere, başlangıç modelinin neural network bölümünü aşağıdaki yapılarda uyguladık:
<aside> ↩️ Geri Dön
</aside>
<aside> ➡️ Sonraki
</aside>