Las estrategias de evolución natural ( ENE ) son una familia de algoritmos de optimización numérica para problemas de caja negra . Similares en espíritu a las estrategias evolutivas , 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 generar un conjunto de puntos de búsqueda, y la función de aptitud se evalúa en cada uno de ellos. Los parámetros de la distribución (que incluyen 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 sobre los parámetros hacia una mayor aptitud esperada. A continuación, 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 repite hasta que se cumple un criterio de parada.
Todos los miembros de la familia NES operan según los mismos principios. Se diferencian en el tipo de distribución de probabilidad y el método de aproximación del gradiente utilizado. Los distintos espacios de búsqueda requieren distintas distribuciones; por ejemplo, en baja dimensionalidad puede ser muy beneficioso modelar la matriz de covarianza completa. En alta dimensionalidad, en cambio, 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 con colas más pesadas (como la de Cauchy , en contraposición a la gaussiana). Una última distinción surge entre las distribuciones en las que podemos calcular analíticamente el gradiente natural y las distribuciones más generales en las que necesitamos estimarlo a partir de muestras.
Gradientes de búsqueda
Dejardenotan los parámetros de la distribución de búsquedayla función de aptitud evaluada enNES 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 deveces las derivadas logarítmicas enEn la práctica, es posible utilizar la aproximación de Monte Carlo basada en un número finito demuestras
- .
Finalmente, los parámetros de la distribución de búsqueda se pueden actualizar iterativamente.
ascenso por pendiente 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 ( vainilla ), por ejemplo:
- La dirección del gradiente es independiente de la parametrización de la distribución de búsqueda.
- Las magnitudes de las actualizaciones se ajustan automáticamente en función de la incertidumbre, lo que a su vez acelera la convergencia en mesetas y crestas.
La actualización de NES es, por lo tanto,
- ,
dóndees 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..
Moldeado físico
NES utiliza la conformación de aptitud basada en rangos para hacer que el algoritmo sea más robusto e invariante ante transformaciones monótonamente crecientes de la función de aptitud. Para ello, la aptitud de la población se transforma en un conjunto de valores de utilidad .. Dejardenotemos 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 porhacer // λ es el tamaño de la población 3. Extraer una muestra 4 evaluar la aptitud 5. Calcular las derivadas logarítmicas. 6 fin 7. Asignar los servicios públicos// basado en el rango 8 estimar la pendiente 9 estimación// o calcularlo exactamente 10 parámetros de actualización// η es la tasa de aprendizaje 11 hasta que se cumpla el criterio de parada
Véase también
Bibliografía
- D. Wierstra, T. Schaul, J. Peters y J. Schmidhuber (2008). Estrategias de evolución natural . Congreso IEEE sobre Computación Evolutiva (CEC).
- Y. Sun, D. Wierstra, T. Schaul y J. Schmidhuber (2009). Búsqueda estocástica mediante el gradiente natural . Conferencia Internacional sobre Aprendizaje Automático (ICML).
- T. Glasmachers, T. Schaul, Y. Sun, D. Wierstra y J. Schmidhuber (2010). Estrategias de evolución natural exponencial . Conferencia de Computación Genética y Evolutiva (GECCO).
- T. Schaul, T. Glasmachers y J. Schmidhuber (2011). Altas dimensiones y colas pesadas para estrategias de evolución natural . Conferencia de Computación Genética y Evolutiva (GECCO).
- T. Schaul (2012). Las estrategias de evolución natural convergen en funciones esféricas . Conferencia de Computación Genética y Evolutiva (GECCO).
Enlaces externos
- Colección de implementaciones de NES en diferentes lenguajes
- Estrategia de evolución
- Optimización estocástica