stringtranslate.com

Estrategia de evolución natural

Las estrategias de evolución natural ( NES ) son una familia de algoritmos de optimización numérica para problemas de caja negra . Similares en espíritu a las estrategias de evolución , actualizan iterativamente los parámetros (continuos) de una distribución de búsqueda siguiendo el gradiente natural hacia una mayor aptitud esperada.

Método

El procedimiento general es el siguiente: se utiliza la distribución de búsqueda parametrizada para producir un lote de puntos de búsqueda y se evalúa la función de aptitud en cada uno de esos puntos. Los parámetros de la distribución (que incluyen los parámetros de estrategia ) permiten que el algoritmo capture de forma adaptativa la estructura (local) de la función de aptitud. Por ejemplo, en el caso de una distribución gaussiana , esto comprende la media y la matriz de covarianza . A partir de las muestras, NES estima un gradiente de búsqueda en los parámetros hacia una aptitud esperada más alta. Luego, NES realiza un paso de ascenso de gradiente a lo largo del gradiente natural , un método de segundo orden que, a diferencia del gradiente simple, renormaliza la actualización con respecto a la incertidumbre. Este paso es crucial, ya que evita oscilaciones, convergencia prematura y efectos no deseados derivados de una parametrización dada. Todo el proceso se reitera hasta que se cumple un criterio de detención.

Todos los miembros de la familia NES operan con base en los mismos principios. Se diferencian en el tipo de distribución de probabilidad y el método de aproximación de gradiente utilizado. Diferentes espacios de búsqueda requieren diferentes distribuciones de búsqueda; por ejemplo, en baja dimensionalidad puede ser altamente beneficioso modelar la matriz de covarianza completa. En altas dimensiones, por otro lado, una alternativa más escalable es limitar la covarianza solo a la diagonal . Además, los espacios de búsqueda altamente multimodales pueden beneficiarse de distribuciones de colas más pesadas (como Cauchy , en oposición a la gaussiana). Una última distinción surge entre distribuciones donde podemos calcular analíticamente el gradiente natural y distribuciones más generales donde necesitamos estimarlo a partir de muestras.

Buscar gradientes

Sea n los parámetros de la distribución de búsqueda y la función de aptitud evaluada en . NES persigue entonces el objetivo de maximizar la aptitud esperada bajo la distribución de búsqueda

mediante ascenso de gradiente . El gradiente se puede reescribir como

es decir, el valor esperado de multiplicado por las derivadas logarítmicas en . En la práctica, es posible utilizar la aproximación de Monte Carlo basada en un número finito de muestras

.

Finalmente, los parámetros de la distribución de búsqueda se pueden actualizar iterativamente.

Ascenso de gradiente natural

En lugar de utilizar el gradiente estocástico simple para las actualizaciones, NES sigue el gradiente natural , que ha demostrado tener numerosas ventajas sobre el gradiente simple ( vanilla ), por ejemplo:

Por lo tanto, la actualización de NES es

,

donde es la matriz de información de Fisher . La matriz de Fisher a veces se puede calcular con exactitud, de lo contrario se estima a partir de muestras, reutilizando las derivadas logarítmicas .

Modelado físico

NES utiliza un modelado de aptitud basado en rangos para hacer que el algoritmo sea más robusto e invariante bajo transformaciones monótonamente crecientes de la función de aptitud. Para este propósito, la aptitud de la población se transforma en un conjunto de valores de utilidad . Sea θ el i -ésimo mejor individuo. Reemplazando la aptitud por la utilidad, la estimación del gradiente se convierte en

.

La elección de la función de utilidad es un parámetro libre del algoritmo.

Pseudocódigo

aporte :1 repetición 2 para  hacer   // λ es el tamaño de la población 3 muestras de extracción 4 evaluar la aptitud física 5 Calcular derivadas logarítmicas 6 final 7 asignar las utilidades  // según el rango 8 estimar el gradiente 9 estimar  // o calcularlo exactamente  10 parámetros de actualización  // η es la tasa de aprendizaje11 hasta que se cumpla el criterio de detención

Véase también

Bibliografía

Enlaces externos