7 votos

¿El aprendizaje de refuerzo es la opción correcta para pintar como Bob Ross?

Mi trabajo es tener 2 semanas de código de desafío, que implica la producción de un algoritmo para reproducir 100 de la muestra de pinturas de Bob Ross tan estrechamente como sea posible con algunas restricciones:

  • "Pinturas" se presentó como un archivo JSON que contiene un color de fondo y una serie de "pinceladas".
  • Trazos de pincel tiene un punto de inicio, punto final, el radio y el color.
  • Hay un 500 accidente cerebrovascular límite por la pintura.
  • Todos los 100 referencia pinturas tienen exactamente el mismo tamaño y relación de aspecto: 450x337.

Example Bob Ross original.

El servidor de la "pinta" de cada presentación y, a continuación, hace una per-pixel diff con la referencia de la pintura. Cada pixel en la presentación de la pintura se anotó en un escalar 0-1 intervalo basado en cuán similar es el valor de la fuente de píxeles y la partitura de la pintura es un promedio de todos los píxeles de las puntuaciones. La gente corriendo de la competencia se han publicado las bibliotecas tanto de la pintura y de la puntuación de imágenes que se pueden ejecutar en la línea de comandos en MacOS / Linux.

Siento que este problema debe ser susceptible de ML ya que tienen un mecanismo de grano fino de la puntuación de cada intento de que el algoritmo intenta. La generación y la puntuación de una pintura sólo se tarda unos 200ms. Por desgracia, yo soy todo sólo un ML fanboy (escucho muchos podcasts) y no sé cómo debo modelar el problema.

Dejar que el algoritmo de hacer 500 completamente al azar trazos y luego de clasificación de la salida iba a tener para siempre a converger en algo útil. Pensé acerca de cómo limitar el espacio de color de los trazos para un conjunto de 64 más frecuente de colores en cada cuadro (mediante la ejecución de un histograma antes de comenzar a pintar) y también limitar el algoritmo de tamaño de pincel de selección.

Para el registro, simplemente la presentación de una imagen que es un sólido campo de el color más común me valió un 65% de la puntuación. La actualidad de la ganancia de algoritmos son en su mayoría sólo la conversión de las pinturas en las redes y poner un punto de la media de color en cada sector en la parte superior de cada uno.

5voto

Yo sugeriría que los algoritmos genéticos (GA) o otros optimizadores para esta búsqueda, como su secuenciales de puntuación "construir" la pintura en el más complejo de los estados no es probablemente la mejor guía.

Hay un par de ejemplos similares del rompecabezas, tales como la construcción de la Mona Lisa de los círculos, y aquí tenemos un ejemplo más reciente de un mismo problema, con ejemplos de código.

Un enfoque GA consistiría básicamente en una población de 100s se generan de forma aleatoria conjuntos de trazos, que puntuación y evaluar las mejores opciones. A continuación, seleccione de la población, favoreciendo soluciones con la mejor puntuación (hay un montón de opciones para que, como sólo recoger a partir de la parte superior de la fracción, para el uso de una distribución desigual que favorece a la parte superior). Crear pares de soluciones y la "raza" tomando algunas partes de la primera y algunos de la segunda matriz. Añadir un poco de ruido aleatorio como una "mutación". Cuando usted ha hecho lo suficiente para crear una segunda generación, repetir todo el proceso. Hay un montón de variaciones.

RL debería funcionar también, pero usted puede tener una tarea cuesta arriba para crear una directiva o el valor de la función que puede aprender la asignación de trazo de las acciones y el estado actual de la eventual política o valor. Definitivamente es viable desde un punto de vista teórico, aunque. El estado es la imagen actual. La acción es una opción de siguiente golpe. La recompensa es la mejora en la puntuación, y probablemente debería ser evaluado en cada acción (pero se podría hacer de cada 10, por cada 50, o incluso sólo al final - más retrasos serán un reto para la RL más, pero podría permitir una más rápida iteración). La mayoría de RL de algoritmos, tales como el P-aprendizaje, debe ser capaz de lidiar con evitar el "callejón sin salida" resultados donde los principios de las buenas calificaciones son pistas falsas y deben ser revisadas.

No sé, pero sería muy interesante ver, si un GA o RL resuelve este problema de manera más eficiente . . . mi sensación es GA sería el camino a seguir.

1voto

user777 Puntos 10934

Creo que su escepticismo de RL de esta tarea está bien fundada. Pero ha habido algunas investigaciones hacia la construcción de redes neuronales para reproducir el estilo de los pintores. Este trabajo aprovecha la potencia de convolucional redes neuronales.

"Un Neural Algoritmo de Estilo Artístico" León A. Gatys, Alexander S. Ecker, Matías Bethge

En las bellas artes, especialmente la pintura, los seres humanos han dominado la habilidad para crear experiencias visuales a través de la composición de una compleja interacción entre el contenido y el estilo de una imagen. Hasta ahora, los algoritmos base de este proceso es desconocida y no existe ningún sistema artificial con capacidades similares. Sin embargo, en otras áreas clave de la percepción visual como objeto de reconocimiento de rostro y de cerca-de la actuación humana se ha demostrado recientemente por una clase de inspirados en la visión de los modelos que se denomina Deep Redes Neuronales.1, 2 Aquí se introduce un sistema artificial que se basa en un Profundo Red Neuronal que crea imágenes artísticas de alta calidad perceptual. El sistema utiliza las representaciones neurales para separar y recombinar el contenido y el estilo de imágenes arbitrarias, proporcionando un neural algoritmo para la creación de imágenes artísticas. Por otra parte, a la luz de las similitudes entre el rendimiento optimizado de redes neuronales artificiales y visión biológica,3-7 de nuestro trabajo ofrece un camino a seguir para un algoritmo de comprensión de cómo los seres humanos de crear y percibir artística de las imágenes.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X