Ingenieros de aprendizaje automático: mitos frente a realidades

Publicado: 2018-05-08

El aprendizaje automático es lo que proporciona a las computadoras la capacidad de aprender y mejorar iterativamente en sus tareas. Se centra en el desarrollo de algoritmos dinámicos que pueden cambiar (modificarse) a sí mismos cuando se exponen a un nuevo conjunto de datos. Hablando en términos simples, el aprendizaje automático es lo que hace que Facebook diga "¿quieres etiquetar a tus amigos en esta imagen?" , cada vez que subes una foto de grupo. Las personas que trabajan detrás de escena para hacer que todo esto suceda son humildemente conocidas como ingenieros de aprendizaje automático.
Ahora, al igual que con cualquier otro dominio bajo el amplio paraguas de la ciencia de datos, el aprendizaje automático también tiene muchos conceptos erróneos al respecto. Y limpiarlos es precisamente nuestro objetivo para hoy. Pero es crucial que primero lo guiemos a través de la vida de un ingeniero de aprendizaje automático, incluidas las habilidades y herramientas que posee.
Ingenieros de aprendizaje automático
Primero, primero separemos claramente el aprendizaje automático de la ciencia de datos.

Tabla de contenido

¿Los ingenieros de aprendizaje automático son científicos de datos?

La ciencia de datos es un término que incluye todo, pero hay algo fundamentalmente diferente en la forma en que funciona el aprendizaje automático. La ciencia de datos y los analistas esencialmente exploran datos e intentan encontrar enfoques o modelos que se ajusten a sus requisitos comerciales.
El aprendizaje automático, por otro lado, cambia este modelo por completo. Los ingenieros de aprendizaje automático no están tratando directamente con los datos. Conocen los resultados que quieren, pero dejan que los algoritmos hagan el trabajo por ellos. El aprendizaje automático construye una máquina que vence a los campeones de Go, o que etiqueta fotos o que traduce entre idiomas. Estos objetivos no se logran mediante una exploración cuidadosa de los datos, a diferencia del caso del análisis de datos. Hay una gran cantidad de datos para explorar y demasiadas dimensiones para abordar (por ejemplo, ¿cuál es la dimensionalidad de un juego de Go? ¿O de un idioma?) La promesa del aprendizaje automático es que construye el modelo en sí mismo: hace su exploración de datos y afinación.
¡La diferencia entre ciencia de datos, aprendizaje automático y Big Data!

Como resultado, los ingenieros de aprendizaje automático no "exploran" tanto como lo hacen los científicos de datos o los analistas, al menos no en el verdadero sentido de la palabra. Su objetivo no es encontrar significado en sus datos: creen que el significado ya está allí. En cambio, su objetivo es construir un modelo/algoritmo/máquina/sistema que pueda analizar los datos y producir resultados. O bien, para crear una red neuronal que funcione, que se pueda modificar para producir resultados confiables en cualquier conjunto de datos de entrada.
Veamos algunos puntos cruciales que giran en torno a los ingenieros de aprendizaje automático:

  • Tienen habilidades de ingeniería de software más sólidas que los típicos analistas/científicos de datos. Los ingenieros de aprendizaje automático trabajan con ingenieros responsables del mantenimiento de los sistemas de producción. Por lo tanto, deben comprender la metodología de desarrollo de software, las prácticas ágiles y las herramientas de desarrollo de software más modernas. Deben ser minuciosos con todo, desde IDE como Eclipse o IntelliJ hasta los componentes de una canalización de implementación de software.
  • Los ingenieros de aprendizaje automático se centran en hacer que los productos de datos funcionen en producción. Como resultado, son holísticos en su enfoque. Forman una parte central de cualquier equipo de desarrollo de software y, por lo tanto, saben qué es la prueba A/B. No solo lo “entienden”, sino que también saben cómo realizar pruebas A/B en los sistemas de producción. Comprenden la importancia del registro y la seguridad para el destino de cualquier aplicación.
  • Están alerta cuando se trata de monitorear productos de datos en producción. Aunque existen muchos recursos para automatizar el proceso de monitorización de aplicaciones, los requisitos del aprendizaje automático van un paso más allá. Las canalizaciones de datos, los modelos, los algoritmos o incluso los sistemas pueden volverse obsoletos y deben volver a capacitarse. Un sistema de aprendizaje automático puede distorsionarse fácilmente al comprometer las canalizaciones de datos que lo alimentan. Por lo tanto, los ingenieros de aprendizaje automático siempre necesitan saber cómo detectar estos compromisos.
Redes neuronales para tontos: una guía completa

Algunas habilidades necesarias para un ingeniero de aprendizaje automático exitoso:

  • Conocimientos básicos de informática y programación.
  • Probabilidades y estadísticas
  • Modelado y evaluación de datos
  • Encontrar la biblioteca ML adecuada para usar y ajustarla cuando sea necesario
  • Ingeniería y modelado de software

Mito #1: Los ingenieros de aprendizaje automático hacen que los sistemas piensen exactamente como los humanos.

Si bien este es un objetivo final eventual, está lejos de la verdad en este momento. Compare brevemente el proceso de aprendizaje de un niño con el de una máquina y se dará cuenta de que el aprendizaje automático aún está en sus inicios. Por ejemplo, un bebé no necesita observar a cientos de humanos para cosas simples como caminar o comer. Establecen sus propios objetivos, perciben a otros humanos a su alrededor, crean intuitivamente su estrategia de aprendizaje y la refinan a través de prueba y error hasta que tienen éxito. Incluso sin mucha intervención u orientación externa, un bebé puede aprender a caminar con éxito, junto con otras cosas esenciales.
Las máquinas, por otro lado, requieren supervisión en cada paso del aprendizaje. Además, un niño combina sin esfuerzo varias entradas recibidas de múltiples órganos de los sentidos de manera holística y eficiente. Por ejemplo, un niño podrá reconocer imágenes en un instante y también comprender cualquier texto escrito sobre ellas. Pero, para enseñarle a una máquina lo mismo, necesitamos algoritmos sofisticados separados, cada uno para reconocer datos, identificar ruidos y comprender el texto.

Mito n.º 2: todos los datos son útiles para los ingenieros de aprendizaje automático.

No hay duda de que los ingenieros de aprendizaje automático también necesitan datos, pero no todos son relevantes para el aprendizaje automático. Necesitan datos representativos que cubran los patrones y los resultados que su sistema necesitará manejar. Los datos no deben incluir patrones irrelevantes porque el modelo de aprendizaje automático reflejará esos patrones no relacionados y los buscará en los datos con los que se usará.
Todos los datos que usa para la capacitación deben estar bien etiquetados y etiquetados con las características que coinciden con las preguntas que le hará al sistema de aprendizaje automático, lo que requiere mucho trabajo. Todos estos datos deben estar bien etiquetados con las características que coincidan con las preguntas que va a plantear a su sistema. También debe ser impecable y libre de inconsistencias o errores. Por lo tanto, todos los datos no son valiosos para los ingenieros de aprendizaje automático, ¡solo los datos relevantes lo son!
Esté atento a la próxima gran novedad: el aprendizaje automático

Mito n.º 3: los ingenieros de aprendizaje automático ignoran el conocimiento preexistente.

Los expertos en muchos campos descartan el aprendizaje automático por adoptar un enfoque de "pizarra en blanco" en sus algoritmos de aprendizaje. Asumen que todos los algoritmos de aprendizaje automático comienzan desde cero, sin conocimiento de los datos preexistentes. Los ingenieros de aprendizaje automático entienden mejor que el aprendizaje es un proceso largo que requiere un monitoreo constante. No se puede imitar simplemente introduciendo los datos en un algoritmo. Por lo tanto, no todos los algoritmos de aprendizaje comienzan con una pizarra en blanco; algunos usan conjuntos de datos para refinar un conjunto de conocimientos preexistente. Al final del día, depende de los requisitos comerciales de la organización.
Mito n.° 4: los modelos de aprendizaje automático más simples siempre son más precisos.

Esto está en línea con la navaja de Occam. Pero, digamos que la navaja solo dice que son preferibles explicaciones más simples, no por qué. Se prefieren porque son más fáciles de entender, recordar y manejar. Sin embargo, cuando se trata de aprendizaje automático, a veces la hipótesis más simple consistente con los datos es menos precisa para la predicción que una más complicada. Algunos de los modelos de salida de algoritmos de aprendizaje más potentes parecen innecesariamente elaborados, a veces incluso continúan agregándolos después de haber ajustado correctamente los datos, pero así es como superan a los menos poderosos.

Aprenda el curso ML en línea de las mejores universidades del mundo. Obtenga programas de maestría, PGP ejecutivo o certificado avanzado para acelerar su carrera.

¿Son las matemáticas imprescindibles para los ingenieros de Machine Learning?

Dado que el aprendizaje automático es parte de la ciencia de datos, una combinación de informática y matemáticas, el conocimiento de las matemáticas es imprescindible para los ingenieros de aprendizaje automático. Necesitará conocimiento de conceptos matemáticos como álgebra lineal, cálculo, optimización, probabilidad y estadística para crear y comprender los algoritmos de Machine Learning. Para ser más exactos, deberá tener una idea básica de las operaciones matemáticas que ayudan en el análisis de datos. Pero la mejor parte es que puede aprender estos conceptos básicos de matemáticas con el tiempo mientras aprende Aprendizaje automático, y la mayoría de estos conceptos son moderadamente fáciles de comprender.

¿Los científicos de datos necesitan Machine Learning?

Sabemos que la ciencia de datos y el aprendizaje automático están íntimamente relacionados, por lo que el aprendizaje automático solo será tan bueno como los datos que se proporcionen y la capacidad de los algoritmos para ingerirlos. Se requerirá que los científicos de datos tengan una comprensión básica del aprendizaje automático. Los científicos de datos extraen conocimiento útil de cantidades masivas de datos. Descubren tendencias y ayudan en el desarrollo de soluciones para automatizar operaciones comerciales particulares. Para obtener pronósticos y estimaciones precisos, los científicos de datos deben dominar el aprendizaje automático. Esto puede ayudar a los robots a hacer mejores juicios y tomar acciones más sabias en tiempo real sin necesidad de interacción humana. La minería y la interpretación de datos están siendo transformadas por Machine Learning. Los procedimientos estadísticos tradicionales han sido reemplazados por conjuntos automatizados más precisos de algoritmos genéricos.

¿Qué lenguaje de codificación prefieren los ingenieros de ML?

Python es el lenguaje más utilizado para el análisis de datos y Machine Learning. La mayoría de los ingenieros de Machine Learning eligen Python para los desafíos de NLP, R o Python son los preferidos para los trabajos de análisis de sentimientos, y Java se usa para otras aplicaciones de Machine Learning, como la seguridad y la detección de amenazas. Python se ha convertido en el lenguaje preferido para el análisis de datos, el aprendizaje automático y la inteligencia artificial (IA) debido a su extenso ecosistema de biblioteca, que permite a los profesionales del aprendizaje automático acceder, administrar, convertir y analizar datos fácilmente. Python es popular entre los desarrolladores de Machine Learning debido a su independencia de plataforma, simplicidad y legibilidad.