Question

J'ai travaillé sur l'exemple d'apprentissage Q-Network dans ce Le blog d'Arthur Juliani. C'est basé sur la jolie trivia Lac surgelé de gym Exemple. Il s'agit de la mise en œuvre de la base d'environ 47% le taux de réussite sur 3000 itérations. J'ai décidé d'ajouter un biais à la mise en œuvre et j'ai constaté qu'il avait gravement blessé les résultats à pas mieux que le hasard.

Autrement dit, j'ai ajouté le terme de biais ci-dessous:

inputs1 = tf.placeholder(shape=[1,16],dtype=tf.float32)
bias = tf.Variable(tf.zeros(shape=[1,4]))
W = tf.Variable(tf.random_uniform([16,4],0,0.01))
Qout = tf.matmul(inputs1,W) + bias
predict = tf.argmax(Qout,1)

Le reste du code est identique à la solution d'origine. Des idées pourquoi cela affecterait-il si négativement les performances?

Mise à jourOn dirait Quelqu'un d'autre a rencontré ce problème, et la réponse donnée était que

Avoir un terme biais avec le codage à un hot empêche les valeurs Q de chaque État d'être indépendantes

Des idées pourquoi c'est le cas? Le biais est ajouté après la multiplication, il est donc dans la dimension des actions, pas les entrées. Je ne vois pas pourquoi cela ferait échouer l'apprentissage.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top