Hola a todos! Le presento una traducción del artículo de Analytics Vidhya con una descripción general de los eventos de AI / ML en las tendencias 2018 y 2019. El material es bastante grande, por lo que se divide en 2 partes. Espero que el artículo interese no solo a especialistas especializados, sino también a aquellos interesados en el tema de la IA. Que tengas una buena lectura!
Herramientas y Bibliotecas
Esta sección será de interés para todos los profesionales de la ciencia de datos. Herramientas y bibliotecas: pan y mantequilla para científicos. Participé en muchos debates sobre qué herramienta es mejor, qué marco reemplaza al otro, qué biblioteca es la encarnación de la informática "económica", y todo eso. Estoy seguro de que muchos de ustedes también se ven afectados.
Pero una cosa con la que no podemos estar en desacuerdo es que debemos estar al tanto de las últimas herramientas en esta área o arriesgarnos a quedarnos atrás. El ritmo al que Python ha superado a los competidores y se ha establecido como un líder de la industria es un buen ejemplo de esto. Por supuesto, todo se reduce a una elección subjetiva (qué herramienta usa su organización, compatibilidad con la infraestructura existente, etc.), pero si no se mantiene actualizado, es hora de comenzar AHORA MISMO.
Entonces, lo que llegó a los titulares este año [en 2018 - aprox. por.]? ¡Vamos a resolverlo!
PyTorch 1.0
¿Cuál es el bombo alrededor de PyTorch que mencioné muchas veces en este artículo?
Dado lo lento que puede ser TensorFlow, allanó el camino para que PyTorch ingrese al mercado de aprendizaje profundo. La mayor parte del código fuente abierto que veo en GitHub es una implementación en PyTorch. Esto no es una coincidencia: PyTorch es muy flexible y la última versión (v1.0) ya admite muchos productos y escalas de Facebook, incluido el procesamiento de 6 mil millones de traducciones de texto por día.
PyTorch está ganando impulso y su crecimiento continuará en 2019, por lo que ahora es el momento de unirse a la comunidad.
AutoML - Aprendizaje automático automatizado
El aprendizaje automático de máquinas (o AutoML) ha ganado popularidad en los últimos años. Empresas como
RapidMiner ,
KNIME ,
DataRobot y
H2O.ai ya han lanzado excelentes productos que demuestran el enorme potencial de este servicio.
¿Te imaginas trabajar en un proyecto de ML donde solo necesitas trabajar con la interfaz de arrastrar y soltar sin codificar? Este es un escenario que puede volverse real en el futuro cercano. Además, un evento importante ya ha tenido lugar en ML / DL: ¡el
lanzamiento de Auto Keras !
Auto Keras es una biblioteca de código abierto para realizar tareas de AutoML. La idea es hacer que el aprendizaje profundo sea accesible para los expertos en dominios que pueden no tener experiencia con ML. Puede familiarizarse con el producto
aquí . En los próximos años, hará un gran avance.
TensorFlow.js - Aprendizaje profundo en un navegador
Desde que comenzamos este trabajo, hemos estado construyendo y diseñando modelos de aprendizaje automático y aprendizaje profundo en nuestras IDE y computadoras portátiles favoritas. ¿Qué tal dar un paso y probar otra cosa? Sí, estoy hablando de aprendizaje profundo en tu navegador web.
Ahora se ha convertido en realidad gracias al advenimiento de
TensorFlow.js. Hay varios ejemplos
en el sitio web del proyecto que demuestran cuán genial es este concepto de código abierto. En primer lugar, TensorFlow.js tiene tres ventajas / características:
- Puede desarrollar e implementar modelos ML utilizando JavaScript;
- Ejecute modelos existentes de TensorFlow en su navegador;
- Vuelva a entrenar los modelos confeccionados.
Tendencias de AutoML para 2019
Quería centrarme en AutoML en este artículo. Por qué Siento que en los próximos años la situación en el campo de la ciencia de datos cambiará, ¡pero no confíe en mi palabra!
Mario Mihailidis de H2O.ai, Gran Maestro de Kaggle, hablará sobre qué esperar de AutoML en 2019:
El aprendizaje automático continúa su camino para convertirse en una de las tendencias más importantes del futuro, hacia dónde se dirige el mundo. Esta expansión ha aumentado la demanda de aplicaciones en esta área. Dado este crecimiento, es imperativo que la automatización sea la clave para maximizar el uso de los recursos en el campo de la ciencia de datos. De hecho, los campos de aplicación son infinitos: préstamos, seguros, antifraude, visión por computadora, acústica, sensores, recomendaciones, pronósticos, PNL. Es un gran honor trabajar en esta área. La lista de tendencias que seguirá siendo relevante es la siguiente:
- Proporcionar visualizaciones e ideas para ayudar a describir y comprender los datos;
- Buscar / construir / extraer las mejores funciones para un conjunto de datos dado;
- Construyendo modelos predictivos más potentes / más inteligentes;
- Cerrar la brecha entre el modelado de caja negra y el uso de dicho modelo;
- Facilitando la producción de estos modelos.
Aprendizaje de refuerzo
El aprendizaje de refuerzo es uno de los métodos de aprendizaje automático, durante el cual el sistema de prueba (agente) aprende interactuando con un determinado entorno. Desde el punto de vista de la cibernética, es un tipo de experimento cibernético. La respuesta del entorno (y no el sistema especial de gestión de refuerzo, como ocurre en la enseñanza con el maestro) a las decisiones tomadas son las señales de refuerzo, por lo tanto, dicha capacitación es un caso especial de capacitación con el maestro, pero el maestro es el entorno o su modelo. También debe tener en cuenta que algunas reglas de refuerzo se basan en maestros implícitos, por ejemplo, en el caso de un entorno neuronal artificial, en la actividad simultánea de neuronas formales, por lo que pueden atribuirse al aprendizaje sin un maestro.
- Fuente de Wikipedia
Si me preguntaran en qué área me gustaría ver un desarrollo más rápido, la respuesta sería el aprendizaje de refuerzo. A pesar de los titulares que aparecen ocasionalmente, no ha habido avances en esta área, y lo más importante, parece que las tareas de aprendizaje de refuerzo para la comunidad son demasiado complejas matemáticamente y no hay áreas para la aplicación real de tales aplicaciones.
Hasta cierto punto, esto es cierto, el próximo año me gustaría ver más ejemplos prácticos del uso de RL. Todos los meses en GitHub y Reddit, trato de mantener al menos un repositorio o discusión RL para ayudar a discutir este tema. Es posible que esta sea la próxima cosa importante que saldrá de todos estos estudios.
OpenAI ha publicado un conjunto de herramientas realmente útil para aquellos que recién se están familiarizando con RL. Puedes
leer la introducción a RL aquí (resultó ser muy útil para mí).
Si me perdí algo, me alegraré por sus adiciones.
Desarrollo OpenAI en Aprendizaje de Refuerzo Profundo
Si bien el desarrollo de RL es lento, la cantidad de material de capacitación sobre este tema sigue siendo mínima (por decirlo suavemente). A pesar de esto, OpenAI compartió material excelente sobre este tema. Llamaron a su proyecto "Spinning Up in Deep RL", está disponible
aquí .
En pocas palabras, esta es una lista exhaustiva de recursos en RL. Los autores intentaron hacer que el código y las explicaciones fueran lo más simples posible. Hay suficientes materiales que incluyen terminología de RL, consejos de desarrollo para la investigación de RL, listas de materiales importantes, código y repositorios bien documentados, así como ejemplos de tareas para comenzar.
Ya no tiene que posponerlo hasta más tarde, si planea comenzar a trabajar con RL, ¡ha llegado su hora!
Google Dopamine
Para dar un impulso al desarrollo e involucrar a la comunidad en el tema del aprendizaje por refuerzo, el equipo de Google AI introdujo el marco Densamine TensorFlow para todos los que quieran hacer que los proyectos sean más flexibles y reproducibles.
En este repositorio de GitHub, puede encontrar la información necesaria para la capacitación junto con el código TensorFlow. Esta es quizás la plataforma perfecta para comenzar experimentos simples en un entorno controlado y flexible. Suena como un sueño despierto para cualquier especialista.
Tendencias de aprendizaje de refuerzo para 2019
Xander Steenbrugge, orador de DataHack Summit 2018 y fundador de ArxivInsights Channel, es un experto en aprendizaje por refuerzo. Aquí están sus pensamientos sobre el estado actual de RL y lo que deberíamos esperar en 2019:
Por el momento, veo tres problemas principales en el campo de RL:
- La complejidad del modelo (el agente debe ver / recopilar una gran cantidad de experiencia para aprender)
- Generalización y transferencia de capacitación (Capacitación en la tarea A, prueba en la tarea relacionada B)
- RL jerárquico (descomposición automática de submetas)
Estoy seguro de que los dos primeros problemas se pueden resolver utilizando un conjunto similar de métodos relacionados con el aprendizaje de representación no supervisado.
Ahora en RL entrenamos redes neuronales profundas que extraen acciones de extremo a extremo (por ejemplo, con propagación hacia atrás) del espacio de entrada sin formato (por ejemplo, en píxeles) utilizando señales de recompensa raras (por ejemplo, una cuenta en algún juego Atari o éxito de captura robótica). El problema aquí es que:
El primero Se necesita mucho tiempo para "hacer crecer" los detectores de funciones útiles, porque la relación señal / ruido es muy baja. Básicamente, RL comienza con acciones aleatorias, hasta que tenga la suerte de tropezar con una recompensa, entonces aún debe averiguar exactamente qué recompensa específica realmente se causó. La investigación adicional está codificada (investigación codiciosa con épsilon) o fomentada por métodos como la exploración impulsada por la curiosidad . Esto es ineficiente, y esto nos lleva de vuelta al problema 1.
Segundo , tales arquitecturas de redes neuronales profundas son conocidas por su tendencia a "memorizar", y en RL generalmente probamos agentes en conjuntos de datos para entrenamiento, por lo tanto, se fomenta la "memorización" en este paradigma.
Una posible ruta de desarrollo que veo con entusiasmo es utilizar el aprendizaje de representación no supervisada para convertir un espacio de entrada multidimensional sucio (por ejemplo, píxeles) en un espacio "conceptual" de una dimensión inferior que tiene ciertas propiedades requeridas, como linealidad, desenredado, estabilidad al ruido y más.
Tan pronto como logre conectar los píxeles en una especie de "espacio latente", el aprendizaje de repente se vuelve más simple y rápido (problema 1) y espera que las reglas extraídas de este espacio tengan una generalización más fuerte debido a las propiedades mencionadas anteriormente ( problema 2)
No soy un experto en el problema de la Jerarquía, pero todo lo anterior también se aplica aquí: es más fácil resolver un problema jerárquico complejo en un "espacio oculto" que en un espacio de entrada sin procesar.
Un par de spoilers de un traductor
¿Qué es el aprendizaje de representación?En el aprendizaje automático, el aprendizaje de características o el aprendizaje de representación es un conjunto de técnicas que permiten al sistema examinar automáticamente los factores necesarios para determinar funciones o clasificaciones basadas en datos sin procesar. Esto reemplaza la ingeniería de características manual y permite que la máquina aprenda funciones y las use para realizar tareas específicas.
El aprendizaje de características puede estar "bajo vigilancia" y "sin observación":
- En el aprendizaje de características bajo el aprendizaje de funciones supervisadas, las funciones se aprenden usando entradas etiquetadas.
- En el aprendizaje de características sin observación (aprendizaje de características no supervisado), las funciones se aprenden basándose en datos no asignados.
-
Fuente de Wikipedia ¿Qué es el espacio latente?La palabra "latente" aquí significa "oculto". En este contexto, se usa con mayor frecuencia en el aprendizaje automático: está observando algunos datos que se encuentran en un espacio que puede observar y desea transformarlos en un espacio oculto donde los puntos de datos similares estén más cercanos entre sí.
Por ejemplo, considere 4 imágenes:

En el espacio de píxeles observado, no hay similitud directa entre dos imágenes. Pero, si desea mostrarlo en un espacio oculto, le gustaría que las imágenes de la izquierda estén más cerca una de la otra en el espacio oculto que cualquiera de las imágenes de la derecha. Por lo tanto, su espacio oculto transmite la esencia de la estructura de sus datos relacionados con la tarea. En
LDA, modela la tarea para que los documentos relacionados con temas similares estén más cerca en el espacio oculto de los temas. Al incorporar palabras, desea mostrar las palabras en un espacio vectorial oculto para que las palabras con un significado similar estén más cerca en ese espacio.
Bonificación: mira un video de Xander sobre la superación de recompensas raras en Deep RL (la primera tarea destacada anteriormente).
La complejidad del modelo continuará mejorando con la adición de más y más tareas de capacitación auxiliar que aumenten la dispersión, señales de recompensa atípicas (cosas como investigación, capacitación preliminar basada en la curiosidad al estilo de un codificador automático, desenredar factores causales en el entorno y más). Esto funciona especialmente bien con condiciones de recompensa muy raras.
Debido a esto, los sistemas de entrenamiento directamente en el mundo físico serán cada vez más factibles (en lugar de las aplicaciones modernas que se entrenan principalmente en entornos simulados y luego usan la aleatorización de dominios para transferir al mundo real). Supongo que 2019 traerá las primeras demostraciones realmente impresionantes en robótica, que son posibles solo cuando se utilizan métodos de aprendizaje profundo y no pueden ser codificadas / diseñadas por humanos (a diferencia de la mayoría de los ejemplos que hemos visto hasta ahora).
Creo que después del éxito de Deep RL en la historia de AlphaGo (especialmente teniendo en cuenta los resultados recientes de AlphaFold), RL comenzará a usarse gradualmente en aplicaciones comerciales reales que aportarán valor práctico más allá del espacio académico, pero primero el alcance se limitará a las aplicaciones en las que existen Simulaciones precisas para la capacitación virtual a gran escala de estos agentes (por ejemplo, descubrimiento de fármacos, optimización de la arquitectura de chips electrónicos, enrutamiento de vehículos y paquetes, y otros).
Un cambio general en el desarrollo de RL es un proceso que ya ha comenzado cuando las pruebas del agente en los datos de entrenamiento ya no se considerarán "autorizadas". Resumir métricas será clave, como es el caso de los métodos de enseñanza supervisados
AI para Good Boys: un movimiento hacia la IA ética
Imagine un mundo impulsado por algoritmos que definen cada acción humana. ¿No es un escenario agradable? La ética en IA es un tema que siempre hemos discutido en Analytics Vidhya, pero se pierde en el contexto de todas las discusiones técnicas, mientras que debe considerarse a la par con otros temas.
Este año, muchas organizaciones se encontraron en una situación estúpida después del escándalo de Cambridge Analytica (Facebook) y la controversia interna de Google sobre el desarrollo de armas encabezando la lista de escándalos.
No existe una receta simple y adecuada para todos los casos para resolver los aspectos éticos de la IA. La pregunta requiere un enfoque detallado en combinación con un plan estructurado, cuya implementación alguien debería asumir. Veamos un par de eventos importantes que sacudieron el área a principios de este año.
Campañas de Google y Microsoft
Fue gratificante ver a las grandes corporaciones enfatizando el lado ético de la IA (aunque el camino que las llevó a este punto no fue muy elegante). Preste atención a las pautas y principios publicados por algunas de las empresas:
En esencia, estos documentos hablan de justicia en IA, así como cuándo y dónde trazar la línea. Siempre es una buena idea referirse a ellos cuando comienza un nuevo proyecto basado en IA.
Cómo GDPR ha cambiado las reglas del juego
El GDPR (Reglamento general de protección de datos) ha influido definitivamente en la forma en que se recopilan los datos para construir aplicaciones de IA. El RGPD apareció en este juego para proporcionar un mayor control de los usuarios sobre sus datos (qué información se recopila y difunde sobre ellos).
Entonces, ¿cómo afectará esto a la IA? Es bueno si los investigadores en el campo de los datos no reciben los datos o si no son suficientes, la construcción de cualquier modelo no comenzará. Esto, por supuesto, sentó las bases de cómo funcionaban las plataformas sociales y otros sitios. El GDPR creó un maravilloso ejemplo, "punteando todo i", pero limitó la utilidad de la IA para muchas plataformas.
Tendencias éticas en IA para 2019
Hay muchas manchas grises en esta área. Debemos unirnos como sociedad para integrar la ética en los proyectos de IA. ¿Cómo podemos hacer esto? El fundador y CEO de Vidhya Analytics, Kunal Jane, enfatizó en su discurso en DataHack Summit 2018 que necesitaremos desarrollar un concepto que otros puedan seguir.
Espero ver nuevos roles en las organizaciones que adoptan la ética en la IA. Será necesario reestructurar las mejores prácticas corporativas y revisar los enfoques de gestión a medida que la IA se convierta en un elemento central de la visión de la empresa. También espero que el gobierno desempeñe un papel más activo a este respecto con un curso político fundamentalmente nuevo o modificado. De hecho, 2019 será muy interesante.
Conclusión
Impactante es la única palabra que describe brevemente los increíbles eventos en 2018. Me convertí en un usuario activo de ULMFiT este año, y espero explorar BERT lo antes posible. Tiempo realmente asombroso.
Estaré encantado de saber tu opinión! ¿Qué desarrollos encontraste más útiles? ¿Está trabajando en un proyecto utilizando las herramientas y los enfoques que cubrimos en este artículo? ¿Cuáles son sus pronósticos para el próximo año? Espero sus respuestas en los comentarios a continuación.