¿Hay otras aplicaciones de refuerzo de aprendizaje que no sean juegos?

13

¿Hay alguna manera de enseñar el aprendizaje por refuerzo en aplicaciones que no sean juegos?

Los únicos ejemplos que puedo encontrar en Internet son de agentes de juegos. Entiendo que los VNC controlan la entrada a los juegos a través de la red de refuerzo. ¿Es posible configurar esto con digamos un software CAD?

Mark Markrowave Charlton
fuente
3
Sí, es posible, pero la verdadera pregunta debería ser si es más eficiente que otros algoritmos o no. Si tienes un objetivo específico, puedes pensar en él y modelarlo como un juego (incluso la vida es un juego;)). De hecho, muchas IA exitosas aprovechan más de una técnica. Eche un vistazo a este: datascience.stackexchange.com/questions/11126/…
TasosGlrs
2
El punto sobre AlphaGo es que un cierto tipo de juego (información no trivial , no casual, perfecta) en particular proporciona un excelente campo de pruebas para la IA porque estos juegos tienen parámetros muy simples, pero una complejidad similar a la naturaleza. Los juegos, desde cierta perspectiva, son los tipos de artefactos más útiles porque enseñan el pensamiento abstracto y estratégico. Para comprender la importancia de los juegos, observe el impacto de Game Theory en la informática .
DukeZhou
Eso puede ser debido a NDAs. Las mejores aplicaciones de aprendizaje son propietarias, al igual que el mejor software de torre celular o el mejor reconocimiento de voz o los mejores centros comerciales en línea. Eso es ingeniería en general.
FauChristian
Correcto. Si todo lo que uno tiene es teoría de juegos, el mundo se convierte en un juego.
FelicityC

Respuestas:

2

Uno de los mejores ejemplos de aprendizaje de refuerzo es un helicóptero volador autónomo. Tuve la oportunidad de aprender algunas de las cosas hechas por Andrew Ng y otros recientemente. Aquí está el artículo de investigación de papel . También hay otros documentos similares. Puede buscarlos en Google si desea obtener más información.

También puedes verlo en acción en este video de YouTube .

Aquí hay otra aplicación completamente diferente en finanzas aparentemente.


fuente
2

Verá muchos ejemplos de juegos en la literatura de aprendizaje de refuerzo, porque los entornos de juego a menudo pueden codificarse de manera eficiente y ejecutarse rápidamente en una sola computadora que luego puede contener el entorno y el agente. Para los juegos clásicos, como el backgammon, las damas, el ajedrez, vaya, hay expertos humanos con los que podemos comparar los resultados. Ciertos juegos o entornos de juegos simplificados se usan comúnmente para comparar diferentes enfoques, al igual que los dígitos escritos a mano MNIST se usan para comparar enfoques de aprendizaje supervisado.

¿Hay alguna manera de enseñar el aprendizaje por refuerzo en aplicaciones que no sean juegos?

Si. Informalmente, puede aplicar enfoques de aprendizaje de refuerzo siempre que pueda enmarcar un problema como agente que actúa dentro de un entorno en el que puede estar informado del estado y un valor de recompensa que influye en el objetivo. Más formalmente, la teoría del aprendizaje por refuerzo se basa en soluciones a los procesos de decisión de Markov , por lo que si puede adaptar la descripción de su problema a un MDP, se pueden aplicar las diversas técnicas utilizadas en RL, como Q-learning, SARSA, REINFORCE. Este ajuste a la teoría no necesita ser perfecto para que el sistema resultante funcione, por ejemplo, a menudo se puede tratar el estado desconocido u observado imperfectamente como efectivamente aleatorio para el agente, y considerar esta parte de un entorno estocástico.

Aquí hay algunos ejemplos de posibles usos para el aprendizaje por refuerzo fuera de los juegos recreativos:

  • Lógica de control para robot motorizado, como aprender a voltear panqueques y otros ejemplos . Aquí las mediciones del entorno se realizan mediante sensores físicos en el robot. Las recompensas se otorgan por completar un objetivo, pero también se pueden ajustar por la suavidad, el uso económico de la energía, etc. El agente elige acciones de bajo nivel como el par motor o la posición del relé. En teoría, puede haber agentes anidados donde los de nivel superior eligen los objetivos para los de nivel inferior, por ejemplo, el robot podría decidir a un nivel alto entre realizar una de las tres tareas que requieren moverse a diferentes ubicaciones, y en un nivel inferior podría ser decisiones sobre cómo controlar motores para mover el robot a su objetivo elegido.

  • Autos sin conductor. Aunque se centra mucho en la interpretación del sensor: ver marcas en la carretera, peatones, etc., se requiere un sistema de control para seleccionar el acelerador, el freno y la dirección.

  • Comercio financiero automatizado. Quizás un juego para algunos, hay claras consecuencias en el mundo real. Sin embargo, la señal de recompensa es bastante simple, y RL se puede ajustar para preferir ganancias a largo o corto plazo.

¿es posible configurar esto con digamos un software CAD?

En teoría sí, pero no sé qué podría estar disponible para hacer esto en la práctica. También necesita uno o más objetivos en mente que codifique en el agente (como valores de recompensa que puede observar) antes de asignarle un mouse virtual y configurar una tarea para dibujar algo. Los juegos de computadora vienen con un esquema de recompensas integrado como su sistema de puntaje, y brindan retroalimentación frecuente, para que un agente pueda obtener conocimiento de las buenas y malas decisiones rápidamente. Debería reemplazar este componente de puntuación con algo que represente sus objetivos para el sistema basado en CAD.

CAD no tiene nada incorporado adecuado, aunque las herramientas CAD con simulaciones, como varios motores de física o análisis de elementos finitos, podrían permitirle calificar diseños basados ​​en una medida física simulada. Otras posibilidades incluyen el análisis de la deformación, el uso no derrochador de material, independientemente de las métricas que el sistema CAD / CAM pueda proporcionar para un diseño parcial o completo. La parte difícil es restringir un diseño a su objetivo o propósito y hacer arreglos para que eso sea recompensado, o construir las restricciones en el entorno; dar a un agente de RL un control total y sin restricciones del proceso CAD y recompensar con la menor tensión probablemente resultará en algo muy poco interesante, como un cubo pequeño.

Neil Slater
fuente
Un montón de cosas adecuados: Auto-dimensionamiento para mayor claridad visual máxima, búsquedas de interferencia para las partes en movimiento bajo tensión (sin FEA), optimización de la salida CAM, haciendo que la aceleración usando información aproximada de profundidad z, etc, etc
FauChristian
@FauChristian: No estoy seguro de que todos puedan ser alimentados como una señal de recompensa, simplemente como una puntuación de juego. Optimizar un diseño para reducir la tensión, por ejemplo, implica que su diseño tiene un propósito : también debe agregar algunas restricciones / reglas para rastrear ese propósito, y eso podría ser más difícil a menos que también tenga un análisis ergonómico. Sin embargo, el comentario agrega algunas cosas que podría mencionar, y agregará a la respuesta.
Neil Slater
Si. Cierto. Lo intentaré. Disculpe la cadena de comentarios que necesitaré para hacerlo. En cada caso anterior, mi objetivo será agregar las preocupaciones de un diseñador mecánico en una sola señal de bienestar que pueda guiar las iteraciones, con la verdad en mente de que puede haber múltiples órganos de NN, cada uno de los cuales puede recibir una agregación diferente. Pero por simplicidad, agregaré cada caso a un escalar. Se necesitará un elemento estocástico para la mayoría de estos porque la mayoría de los casos en CAD tienen múltiples puntos críticos en la superficie del valor agregado.
FauChristian
Dimensionamiento automático - w = sqrt (Σ min (s_clear, s_nice)) + k n_jumps, ... donde ... w es el agregado de calidad del estado del dimensionamiento del dibujo, del que se puede derivar una señal de retroalimentación normalizada, s_clear es la distancia entre una línea de acotación y la otra línea más cercana, excluidas las líneas de salto, s_nice es un metaparámetro que representa una buena distancia de separación entre líneas para el tipo de dibujo que se acota, k es una constante y n_jumps es el número de líneas de salto ( donde las líneas se cruzarían pero una de las dos tiene un espacio para indicar que está saltando detrás de la otra línea).
FauChristian
Búsquedas de interferencia - w = n, ... donde ... w es el agregado de calidad de la búsqueda de interferencias yn es el número de interferencias encontradas después de alimentar las conjeturas de iteraciones en una simulación dinámica de la conjetura. Este es como un juego en el que cuanto más correcta sea la interferencia, mayor será la puntuación.
FauChristian
1

Definitivamente, hay una manera de introducir lo que muchos llaman aprendizaje reforzado en aplicaciones web, móviles y de estación de trabajo reales.

Las organizaciones militares lo hacen, la industria del cine lo hace, las compañías centradas en software lo están haciendo, y lo he hecho para las empresas Fortune 500 y las pequeñas empresas por igual. Hay componentes de aprendizaje adaptativo en todo tipo de componentes del sistema integrados en sistemas más grandes, que van desde los robots de reconocimiento facial de FaceBook hasta Google Translate, los sistemas de reconocimiento de código postal USPS y los sistemas autónomos de control de tráfico y vuelo. El software de diseño asistido por computadora (CAD) es ciertamente un objetivo viable.

La base para el refuerzo

Considere una serie de vectores que describen eventos. Imagine que se dividen en dos sub-series A y B. Una red neuronal (artificial o biológica) podría entrenarse utilizando A.

La capacitación podría supervisarse, lo que significa que una de las dimensiones del vector se considera la etiqueta y, por lo tanto, la variable dependiente para predecir de manera óptima. Las otras dimensiones se convierten en hechos o señales de entrada y, por lo tanto, en variables independientes que se utilizan para la predicción. La capacitación podría no supervisarse mediante la extracción de características.

De cualquier manera, cuando se le proporciona A antes de B y se espera que funcione en producción (uso real) antes de que llegue B, la llegada posterior de B presenta una opción.

  1. Borre los pesos y los ajustes de metaparámetros realizados durante el entrenamiento con A y vuelva a ejecutar el entrenamiento con la serie concatenada de A y B.
  2. Continúe el entrenamiento con B, en cuyo caso la red estaría sesgada con A y el resultado sería diferente del resultado obtenido al entrenar con B y luego con A.
  3. Encuentre una manera de limitar el sesgo de haberse entrenado primero con A mientras evita el consumo de recursos requerido para la opción # 1 anterior.

La opción n. ° 3 es la mejor opción en muchos casos porque contiene los beneficios de las opciones n. ° 1 y n. ° 2. Matemáticamente, el # 3 se realiza facilitando de alguna manera la prevención de lo aprendido de la serie A. Los pesos de la red neuronal y los ajustes de metaparámetros deben hacerse susceptibles de corrección, ya que la nueva experiencia indica la necesidad de hacerlo. Un enfoque ingenuo puede formularse matemáticamente la función exponencial inversa, que modela la descomposición natural en muchos fenómenos en física, química y ciencias sociales.

P = e -nt , donde P es la probabilidad de que el hecho siga siendo eficaz, n es la tasa de descomposición de la información aprendida en el pasado y t es alguna medida del progreso hacia adelante, como la marca de tiempo, el número de subsecuencia (lote), número de secuencia de hechos o número de evento.

En el caso de las sub-series A y B, cuando la fórmula anterior se implementa de alguna manera en el mecanismo de aprendizaje, el entrenamiento de A colocará menos sesgo en el resultado final después del entrenamiento continuo usando B porque la t para A es menor que la t para B, indicando al mecanismo que B es probablemente más pertinente.

Si dividimos recursivamente A y B en mitades, creando más y más sub-series granulares, la idea anterior de dejar que la información previa decaiga gradualmente sigue siendo válida y valiosa. El sesgo de la red a la primera información utilizada para el entrenamiento es el equivalente de los conceptos psicológicos de mentalidad estrecha. Los sistemas de aprendizaje que se han convertido en cerebros de mamíferos parecen olvidar o perder interés en cosas pasadas para fomentar la mentalidad abierta, que no es más que dejar que el nuevo aprendizaje a veces se adelante al aprendizaje anterior si la nueva información contiene patrones más fuertes para aprender.

Hay DOS razones para permitir que los datos de ejemplo más nuevos superen progresivamente a los datos de ejemplo más antiguos.

  • La eliminación anterior del sesgo del aprendizaje anterior para sopesar adecuadamente los eventos más recientes en el aprendizaje posterior tiene sentido si todos los eventos experimentados (entrenados) representan hechos razonables sobre el mundo externo que el sistema intenta aprender.
  • El mundo externo puede estar cambiando y el aprendizaje anterior puede volverse irrelevante o incluso engañoso.

Esta necesidad de dejar que la importancia de la información previa decaiga gradualmente a medida que el aprendizaje continúa es uno de los dos aspectos principales del refuerzo. El segundo aspecto es un conjunto de conceptos correctivos basados ​​en la idea de la señalización de retroalimentación.

Retroalimentación y refuerzo

Una señal de retroalimentación en el aprendizaje reforzado es el aprendizaje automático equivalente a conceptos psicológicos familiares como el dolor, el placer, la satisfacción y el bienestar. El sistema de aprendizaje recibe información para guiar la capacitación más allá del objetivo de la extracción de características, la independencia de las agrupaciones o la búsqueda de una matriz de peso neto neural que se aproxime a la relación entre las características del evento de entrada y sus etiquetas.

La información proporcionada puede originarse internamente desde el reconocimiento de patrones preprogramados o externamente desde la recompensa y el castigo, como es el caso de los mamíferos. Las técnicas y algoritmos que se están desarrollando en el aprendizaje automático reforzado utilizan estas señales adicionales con frecuencia (usando el corte de tiempo en el procesamiento) o continuamente usando la independencia de las unidades de procesamiento de las arquitecturas de procesamiento en paralelo.

Este trabajo fue pionero en el MIT por Norbert Wiener y se expone en su libro Cybernetics (MIT Press 1948). La palabra Cibernética proviene de una palabra más antigua que significa dirección de barcos . El movimiento automático de un timón para mantenerse en curso puede haber sido el primer sistema de retroalimentación mecánica. Su motor de cortacésped probablemente tenga uno.

Aplicaciones adaptativas y aprendizaje

La adaptación simple en tiempo real para una posición de timón o un acelerador de cortacésped no está aprendiendo. Dicha adaptación suele ser alguna forma de control PID lineal. La tecnología de aprendizaje automático que se está ampliando hoy abarca la evaluación y el control de sistemas complejos y no lineales que los matemáticos llaman caóticos.

Por caótico, no significan que los procesos descritos estén en un frenesí o que estén desorganizados. Los caóticos descubrieron hace décadas que las ecuaciones no lineales simples pueden conducir a un comportamiento altamente organizado. Lo que quieren decir es que el fenómeno es demasiado sensible a pequeños cambios para encontrar algún algoritmo fijo o fórmula para predecirlos.

El lenguaje es así. La misma afirmación que se dice con una docena de inflexiones vocales diferentes puede significar una docena de cosas diferentes. La oración en inglés, "Realmente", es un ejemplo. Es probable que las técnicas de refuerzo permitan a las máquinas futuras distinguir con altas probabilidades de éxito entre los diversos significados de esa declaración.

¿Por qué los juegos primero?

Los juegos tienen un conjunto de escenarios posibles muy simple y fácil de definir. Uno de los principales contribuyentes al advenimiento de la computadora, John von Neumann, argumentó en Theory of Games and Economic Behavior , un libro del que fue coautor con Oskar Morgenstern, que toda planificación y toma de decisiones es en realidad un juego de diversas complejidades.

Considere los juegos como el conjunto de ejemplos de entrenamiento de la colección de cerebros que, con el tiempo, crearán sistemas que pueden determinar el significado de una declaración como lo pueden hacer las personas educadas a partir de tres fuentes de sugerencias.

  1. Contexto dentro de una conversación o escenario social
  2. Las inflexiones vocales del hablante
  3. Las expresiones faciales y el lenguaje corporal del hablante.

Más allá del ajedrez y el juego de go

A lo largo del camino desde los juegos hasta los sistemas de lenguaje con una comprensión precisa y capacidades de escucha más profundas, hay varias aplicaciones de aprendizaje reforzado que son de mucha mayor importancia para la tierra y la experiencia humana.

  • Sistemas que aprenden a apagar o atenuar luces, electrodomésticos, sistemas digitales, HVAC y otros dispositivos que consumen energía: la energía es quizás la mercancía con mayor influencia geopolítica en la historia humana debido al agotamiento de los recursos de combustibles fósiles a lo largo del tiempo).
  • Desarrollo de vehículos autónomos: la tendencia peligrosa de la operación de equipos pesados, como aviones, vehículos recreativos, camiones, autobuses y remolques de tractores por personas en estados de ánimo desconocidos en carreteras abiertas, probablemente será vista por las futuras personas como una locura.
  • La calificación de confiabilidad de la información: la información está en todas partes y más del 99% está en error, ya sea parcial o completamente. La investigación real autentica muy poco, ya sea estudios aleatorios doble ciego adecuadamente diseñados e interpretados o pruebas y análisis de laboratorio confirmables.
  • Aplicaciones de atención médica que diagnostican mejor, adaptan los remedios al individuo y ayudan con la atención continua para evitar la recurrencia.

Estos cuatro y muchos otros son mucho más importantes que la acumulación de riqueza a través del comercio automatizado de alta velocidad o las competiciones de juegos ganadores, dos intereses de aprendizaje automático centrados en sí mismos que simplemente afectan a una o dos generaciones de la familia de una sola persona.

La riqueza y la fama son lo que en teoría de juegos se llama un juego de suma cero . Producen tantas pérdidas como ganancias si se considera la filosofía más alta de la Regla de Oro de que otros y sus familias son de igual importancia para nosotros.

Aprendizaje reforzado para software CAD (diseño asistido por computadora)

El diseño asistido por computadora es el precursor natural del diseño de la computadora (sin la ayuda de humanos), al igual que las roturas antibloqueo conducen naturalmente a vehículos totalmente autónomos.

Considere la orden, "Créame una jabonera para mi ducha que maximice la probabilidad de que mi familia pueda tomar el jabón en el primer intento sin abrir los ojos y minimiza la dificultad de mantener limpios el jabón y las superficies de la ducha. Estas son las alturas de miembros de mi familia y algunas fotos del espacio de la ducha ". Luego, una impresora 3D desplegaría el dispositivo, lista para conectar, junto con las instrucciones de instalación.

Por supuesto, un sistema de CD de este tipo (CAD sin A) debería estar capacitado en tareas domésticas, comportamiento humano sin visión, formas de unir elementos a las baldosas, las herramientas y las capacidades de mantenimiento del hogar del consumidor promedio, las capacidades de la impresora 3D , y varias otras cosas.

Tales desarrollos en la automatización de la fabricación probablemente comenzarían con un aprendizaje reforzado de comandos más simples como "Adjunte estas dos partes utilizando sujetadores producidos en masa y mejores prácticas". El programa CAD luego seleccionaría hardware entre tornillos, remaches, adhesivos y otras opciones, quizás haciendo preguntas al diseñador sobre la temperatura de operación y los rangos de vibración. La elección, la posición y el ángulo se agregarían al conjunto apropiado de piezas CAD y dibujos de ensamblaje y listas de materiales.

Douglas Daseeco
fuente
Normalmente no haría un comentario crítico sobre la respuesta bien escrita, pero desde que solicitó una crítica: creo que las secciones Las bases para el refuerzo , la retroalimentación y el refuerzo y las aplicaciones adaptativas y el aprendizaje, aunque interesantes, podrían reducirse considerablemente, ya que La pregunta de OP ya implica cierto conocimiento de RL, y pasa mucho tiempo configurando esta discusión de antecedentes relacionada antes de abordar la pregunta original.
Neil Slater
El hecho de que el OP hizo la pregunta indica agujeros, ya sea el estado actual de la investigación indicativo de alguien nuevo en el campo y puede necesitar el manual en las secciones anteriores. La última sección responde más directamente a la pregunta.
FauChristian