¿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?
reinforcement-learning
applications
Mark Markrowave Charlton
fuente
fuente
Respuestas:
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
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.
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.
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.
fuente
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.
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.
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.
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.
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.
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.
fuente