Respuesta corta

  • En la próxima década, en el campo del desarrollo de software habŕan tantos trabajos de desarrollador clásico como de ingeniero en Machine Learning o Deep Learning.
  • Las empresas se basarán en el análisis profundo y masivo de datos usando técnicas de Inteligencia Artificial para mejorar sus productos/servicios y superar a sus competidores. Aquella empresa o startup que no sea data driven (basada en datos) sufrirá una gran desventaja.
  • Casi todas las disciplinas de la ciencia y la tecnología implementarán modelos de Machine Learning (como las redes neuronales) para hacer avances nunca antes vistos: Diseño de medicinas nuevas, diagnóstico médico instantáneo o coches autónomos. Cualquier cosa, seguro se logra con IA.

Respuesta larga: Si todavía no estás convencido, sigue leyendo el post.

Conceptos básicos

Antes de seguir, necesitamos tener todo en orden.

El Deep Learning pertenece al Machine Learning, y éste a la Inteligencia Artifical

  • Inteligencia Artificial (IA): ¿Alguna vez has oído del meme de la IA consiste sólo en condicionales if-else? Bueno, es en parte cierto. En esta categoría caen algoritmos que emulan tener razonamiento humano, pero que simplemente están programados de manera que toman decisiones basados en datos del entorno. Por comodidad y estética, utilizaré IA para describir el campo en general, aunque la mayoría de las veces me refiera al Machine Learning o Deep Learning
  • Machine Learning (ML): Aquí empieza la magia. Hablamos de "modelos" que permiten a una computadora aprender a realizar una tarea simplemente mostrandole ejemplos de cómo hacer bien o mal su trabajo. No programamos a la computadora; ella "aprende" por si sola.
  • Deep Learning (DL): Se encuentra dentro del Machine Learning. Engloba modelos más complejos, basados en redes neuronales, que permiten a una computadora realizar tareas abstractas que hasta ahora sólo humanos podían. Hablamos de reconocimiento facial, escritura de textos con estilo similar a cierto autor, coches autónomos y deep fakes, generación de video y/o audio donde se imita la voz o imagen de una persona (casi podemos hablar de robo de identidad).
Videos de Barack Obama generados por una red neuronal. El expresidente de EU nunca grabó estos videos

¿Cómo aprende una computadora?

Básicamente, aprende mientras más ejemplos le son mostrados sobre cómo realizar su tarea. Expliquémoslo con las etapas de una tarea de verificación facial:

  1. Seleccionamos un modelo adecuado para la tarea (por ejemplo, una red neuronal). El producto final de toda tarea de Machine Learning es un modelo, el cual es una representación simplificada de la complejidad de nuestra tarea, que se apoya en herramientas de probabilidad y estadística para generar conocimiento sobre los datos. Un programa, por otra parte, sólo sigue instrucciones sumamente específicas y dictadas con anticipación.
  2. Mostramos una imagen a la computadora y le decimos si en ella se encuentra el rostro de cierta persona A. Repetimos esta tarea con decenas de imágenes. A esta etapa se le llama "entrenamiento del modelo".
  3. Cuando terminemos de entrenar, mostramos a nuestro modelo imágenes que nunca ha visto y esperamos su respuesta. La proporción de respuestas correctas e incorrectas nos dirá qué tan bien ha aprendido nuestro modelo. Esta etapa se conoce como "evaluación del modelo".

Obviamente, la explicación es muy simple. En todos las etapas existen detalles que explican la fuerza y versatilidad de los modelos de Machine Learning:  Podemos combinar varios modelos para crear un sistema más robusto, entrenar con diferentes tipos de datos (texto, números, audio), entre otras cosas.  ¡Incluso podemos hacer que una máquina aprenda sin siquiera decirle si los ejemplos están bien o no!

Asombrosas aplicaciones del Machine Learning en la actualidad

Diagnóstico médico automático: IA's que pueden, dadas una radiografía o un historial médico, diagnosticar si un paciente tiene neumonía o presenta X probabilidad de desarrollar una enfermedad; todo, con la precisión de un médico experto. El aumento de la calidad de vida sería brutal: No sólo aumentaría la productividad de los hospitales en cuento a dar predicciones expeditas y confiables, sino que podría auxiliar personas en lugares donde los servicio de salud son de difícil acceso.

Si Andrew Ng, director de IA en Facebook, está a favor de estas tecnologías, es por muchas razones.

Conducción autónoma: Uno de los ejemplos más populares la IA. Usando técnicas de procesamiento de imágenes, los automóviles aprenden cómo conducir, actuando de acuerdo a una variedad de situaciones: respetar los semáforos, tomar una salida, prevenir accidentes, entre otros. Lo mejor es que no se limitan a los automóviles: ¡Imagina entrega de pizzas a domicilio hechas por drones!

El concepto de transporte está a punto de ser revolucionado con la IA

Sistemas de recomendación: ¿Cómo es que Google, Facebook, Spotify y Netflix siempre parecen saber cuáles son tus gustos? A través del análisis de datos de uso de sus servicios, estas mega corporaciones pueden ofrecerte exactamente lo que quieres consumir de sus plataformas: música, series, películas, productos, etcétera.

El marketing personalizado será la mejor forma de hacer crecer un negocio en el futuro.

¿Cómo comienzo con Machine Learning?

Para este punto espero haberte convencido de que la IA será una herramienta primodiral en los años venideros, y que deberías comenzar a aprender.

No importa si eres desarrollador web, experto en ciberseguridad o incluso si no perteneces al campo de TI. Iniciar con el Machine Learning es tan sencillo como aprender de los siguientes tres campos:

Programación

El lenguaje de programación de IA por excelencia es Python. Aunque existan lenguajes específicos para ciencia de datos como R, Python es sencillo, multiplataforma y posee una gran cantidad de apoyo por parte de la comunidad de IA, tanto por gente de desarrollo de software como por gente en el área de investigación. En especial, Python posee librerías que son el estándar para cuestiones de ML y DL: Numpy, Pandas, Matplotlib, Scikit Learn, PyTorch. Las opciones son demasiadas.

Python posee el entorno mas rico de herramientas para desarrollar proyectos de IA

Matemáticas

NO TE ASUSTES. CONFÍA EN MÍ. SIGUE LEYENDO.

A la mayoría de gente que no le agradan las matemáticas es porque sus profesores enseñaban mal o eran estrictos. Las matemáticas son abstractas y difíciles de comprender si no se explican con ejemplos claros y usando mucho, pero que mucho apoyo visual. No es tu culpa. Te enseñaron mal. Comprender conceptos matemáticos y cómo aplicarlos es más importante que resolver una integrales dobles con lápiz y papel.

Los campos de las matemáticas bajo los que se cimentan los modelos más potentes de Machine Learning son 3:

  • Probabilidad y Estadística: Herramientas que describen y obtienen valor de las grandes muestras de datos.
  • Algebra Lineal: Simplifican la representación y manipulación de datos y entidades. Si Juan Pérez tuviera 1.78 m de estatura y 80 kg de peso, resulta fácil representarlo con un vector [1.78, 80] para su posterior procesamiento.
  • Cálculo: ¿Te acuerdas de los problemas de optimización de la universidad? Pues resulta que lo que hacemos al entrenar un modelo es optimizar qué tan bien resuelve una tarea. No te preocupes, no resolverás a lápiz ningún ejericicio. Basta con saber los conceptos y cómo se aplican.
Distribución gaussiana o normal: Aunque parece complicado, el tema se aprende en 10 minutos. Te lo prometo.

Pasión

Lo que yo considero más importante. Como desarrolladores estamos acostumbrados a aprender de tutoriales de YouTube, cursos de Udemy o de otras plataformas. La teoría es algo que no nos gusta: preferimos mil veces programar que ponernos a leer.

Sin embargo, el Machine Learning necesita de una combinación sublime entre teoría y práctica. No basta con sólo usar las librerías más famosas de Deep Learning. Es necesario que tengas un motivo para estudiar: ¿quieres estar al tanto de cómo funciona la tecnología que revolucionará al mundo? ¿qué proyecto personal te gustaria construir? ¿cómo verías incrementado tu salario si aprendieras IA?

Piensa en alguno de tus temas de interés: de seguro que puedes usar IA para construir algún proyecto. Piensa en alguna empresa: si no cuenta ya con un área de Machine Learning o similar, puedes aprovechar para generarle competencia usando herramientas de análisis tan potentes que podrían hacerla quebrar.

Sígueme, y estudia una o dos horas al dia. Conforme generes hábito, aumenta tus horas de estudio, consume contenido que te llame la atención y rodéate de personas que estén interesadas en el mismo campo que tú. Y, no sé, tal vez hasta podamos colaborar en algún proyecto. Hasta entonces, síguete enterando de temas sobre IA en este humilde blog. ¡Buen día a todos!