Reproducción priorizada, ¿qué hace realmente el muestreo de importancia?

10

No puedo entender el propósito de los pesos de muestreo de importancia (IS) en la reproducción priorizada (página 5) .

Es más probable que se muestree una transición de la repetición de la experiencia cuanto mayor sea su "costo". Tengo entendido que 'IS' ayuda a abandonar sin problemas el uso de la reproducción priorizada después de haber entrenado durante el tiempo suficiente. Pero, ¿qué utilizamos en su lugar, muestreo uniforme?

Supongo que no puedo darme cuenta de cómo cada componente de dicho coeficiente está afectando el resultado. ¿Alguien podría explicarlo en palabras?

wi=(1N1P(i))β

Luego se usa para amortiguar el gradiente, que tratamos de obtener de las transiciones.

Dónde:

  • wi es "ES"
  • N es el tamaño del búfer Experience Replay
  • P (i) es la oportunidad de seleccionar la transición i, dependiendo de "qué tan gordo es su costo".
  • β comienza desde 0 y se arrastra cada vez más cerca de 1 con cada nueva época.

¿Mi comprensión de estos parámetros también es correcta?

Editar Algún tiempo después de que se aceptara la respuesta, encontré una fuente adicional, un video que podría ser útil para principiantes - MC Simmulations: 3.5 Importance Sampling


Editar Como @avejidah dijo en el comentario a su respuesta "1/N se usa para promediar las muestras por la probabilidad de que sean muestreadas " .

Para darse cuenta de por qué es importante, asuma βse fija a 1, tenemos 4 muestras, cada una tieneP(i) como sigue:

0.1  0.2   0.3     0.4

Es decir, la primera entrada tiene el 10% de ser elegida, la segunda es el 20%, etc. Ahora, invirtiéndolas, obtenemos:

 10   5    3.333   2.5

Promedio vía 1/N (que en nuestro caso es 1/4) obtenemos:

2.5  1.25  0.8325  0.625     ...which would add up to '5.21'

Como podemos ver, están mucho más cerca de cero que las versiones simplemente invertidas (10,5,3.333,2.5) Esto significa que el gradiente de nuestra red no se ampliará tanto, lo que dará como resultado una variación mucho menor a medida que entrenemos nuestra red.

Entonces, sin esto 1Ntuvimos la suerte de seleccionar la muestra menos probable (0.1), el gradiente se escalará 10 veces. Sería aún peor con valores más pequeños, digamos0.00001 posibilidad, si nuestra repetición de experiencia tiene miles de entradas, lo cual es bastante habitual.

Kari
fuente

Respuestas:

11

DQN sufre intrínsecamente de inestabilidad. En la implementación original, se emplean múltiples técnicas para mejorar la estabilidad:

  1. una red objetivo se usa con parámetros que van a la zaga del modelo entrenado;
  2. las recompensas se recortan en el rango [-1, 1];
  3. los gradientes se recortan en el rango [-1, 1] (usando algo como Huber Loss o recorte de gradiente);
  4. y lo más relevante para su pregunta, se utiliza un gran búfer de reproducción para almacenar las transiciones.

Continuando con el punto 4, el uso de muestras completamente aleatorias de un gran búfer de reproducción ayuda a descorrelacionar las muestras, porque es igualmente probable que muestree transiciones de cientos de miles de episodios en el pasado como lo es para muestrear nuevos. Pero cuando se agrega muestreo prioritario a la mezcla, se abandona el muestreo puramente aleatorio: obviamente, existe un sesgo hacia las muestras de alta prioridad. Para corregir este sesgo, los pesos correspondientes a las muestras de alta prioridad se ajustan muy poco, mientras que los correspondientes a las muestras de baja prioridad son la relatividad sin cambios.

Intuitivamente, esto debería tener sentido. Es probable que las muestras que tienen alta prioridad se usen en el entrenamiento muchas veces. La reducción de los pesos en estas muestras que se ven a menudo básicamente le dice a la red, "entrena en estas muestras, pero sin mucho énfasis; pronto se volverán a ver". Por el contrario, cuando se ve una muestra de baja prioridad, los pesos de IS básicamente le dicen a la red, "esta muestra probablemente nunca se volverá a ver, así que actualice completamente". Tenga en cuenta que estas muestras de baja prioridad tienen un error TD bajo de todos modos, por lo que probablemente no haya mucho que aprender de ellas; sin embargo, siguen siendo valiosos para fines de estabilidad.

En la práctica, el parámetro beta es recocido hasta 1 durante la duración del entrenamiento. El parámetro alfa puede ser recocido simultáneamente, lo que hace que el muestreo prioritario sea más agresivo y al mismo tiempo corrija más fuertemente los pesos. Y en la práctica, según el documento que vinculó, mantener un alfa fijo (.6) mientras se recobra el beta de .4 a 1 parece ser el punto óptimo para el muestreo basado en prioridades (página 14).

Como nota al margen, desde mi propia experiencia personal, simplemente ignorar los pesos IS (es decir, no corregir en absoluto) da como resultado una red que entrena bien al principio, pero luego la red parece sobreajustarse, olvida lo aprendido (también conocido como olvido catastrófico) y tanques. En Atari Breakout, por ejemplo, los promedios aumentan durante los primeros 50 millones de fotogramas, luego los promedios se acumulan por completo. El documento que vinculó discute esto un poco y proporciona algunos gráficos.

avejidah
fuente
¡Gracias! Me preocupa por qué los autores tendrían que equilibrarse1N cuando ya tienen 1P(i)(dentro del peso 'IS'). No es1P(i)¿Ya está basado en el tamaño de la colección de todos modos?
Kari
2
De nada. Para responder la pregunta en el comentario, no,1N no se enrolla en el 1P(i). P(i)es la probabilidad de seleccionar la muestra i. Eso se calcula usandoprioikpriok Es decir, la prioridad de la muestra i sobre la suma de todas las prioridades. (Donde las prioridades generalmente se calculan como(td_error+ε)α) Sin entrar en demasiados detalles, el1Nestá ahí para promediar (palabra clave) las muestras por la probabilidad de que sean muestreadas.
avejidah
1
@ user3180 El punto de importancia del muestreo no es obtener un estimador imparcial del rendimiento esperado; está sesgado por su propia naturaleza. El punto es que algunas muestras tienen más impacto en el entrenamiento que otras y, por lo tanto, deben tomarse muestras con mayor frecuencia. La ponderación corrige el sesgo al disminuir los ajustes de peso en relación con las prioridades de las muestras. Esta ponderación se vuelve cada vez más importante a medida que la red comienza a converger, por lo que se utiliza el recocido. Ignorar la ponderación o corregir por completo el sesgo es algo que cubre el papel PER (consulte la figura 12).
avejidah
2
@ user3180 Con respecto a su segunda pregunta sobre el uso de todo el peso (β = 1): sospecho que en este caso en general aún verá un beneficio para PER, pero en general el entrenamiento será más lento que con el recocido beta. Tenga en cuenta que hay dos parámetros, α y β, e incluso si fija β a 1, el parámetro α determina la cantidad de muestras priorizadas. Es decir, las muestras todavía se extraen de manera sesgada e, incluso si la tendencia está completamente corregida, la solución sobre la cual converge su red será diferente del caso uniforme. Nuevamente, vea la figura 12 en el documento PER.
avejidah
1
@ user3180 No estoy seguro de poder proporcionar una buena respuesta matemática; sin embargo, la razón práctica es que al priorizar la red se entrena en un conjunto de datos que difiere del caso uniforme. Con 0 <α <= 1, las muestras tienen prioridad, por lo que no son uniformes y están sesgadas. Claro, puede ajustar los pesos para corregir ese sesgo, pero las muestras siguen siendo drásticamente diferentes al caso uniforme. El entrenamiento en un conjunto diferente de muestras produce una solución diferente, independientemente de los ajustes de peso.
avejidah
0

Tengo una duda. Como por papel,

Por razones de estabilidad, siempre normalizamos los pesos en 1 / maxi wi para que solo escalen la actualización hacia abajo

Entonces, ¿el factor 1 / N no se vuelve ineficaz? por ejemplo, considere la última muestra,

case 1 without N : 0.25/10 = 0.25
case 2 with N=4; 0.625/2.5 = 0.25.

entonces,

Wi = pow(N,-beta) * pow(Pi, -beta)
Wmax = pow(N,-beta) * pow(Pmin,-beta)

normalizando,

Wi/Wmax will cancel out the pow(N, -beta).

Por favor, ayúdame si mi comprensión es incorrecta.

Karthikeyan Nagarajan
fuente
Aún lo necesitas. Por ejemplo, considere tener 100 entradas, y un valor máximo de alguna entrada para ser, digamos, 5. Ahora imagine imaginar cambiar a 1 billón de entradas.
Kari
Lo siento, no te entendí. He actualizado con la fórmula. Por favor verifique y hágame saber su respuesta.
Karthikeyan Nagarajan