Los 5 proyectos de Machine Learning más interesantes del momento

Los 5 proyectos de Machine Learning más interesantes del momento

Quien no haya oído hablar de inteligencia artificial o machine learning en los últimos años, debería hacérselo ver. Como profesional de las TIC creo que es uno de los términos más en boga y utilizados por la industria en los dos últimos años. No hay servicio que se precie que no lleve por detrás una capa de inteligencia artificial que lo haga mejorar en cuanto a prestaciones, rendimiento, seguridad, etc.

Pero qué diferencia hay entre la inteligencia artificial y el machine learning

Lo primero de todo es diferenciar un término de otro, ya que el segundo es una rama del primero, es decir, la inteligencia artificial es según la enciclopedia británica la capacidad de un ordenador o robot controlado por este de realizar tareas comúnmente asociadas a seres inteligentes. El término se aplica con frecuencia al proyecto de desarrollo de sistemas dotados de los procesos intelectuales característicos de los seres humanos, como la capacidad de razonar, descubrir un significado, generalizar o aprender de experiencias pasadas. Por lo que el machine learning es una de las áreas en las que trabaja la inteligencia artificial, así como lo pueda ser el aprendizaje profundo (Deep Learning).

Mucho ha llovido desde que el padre de la Intelligencia Artificial, Alan Turing, haya por mediados del siglo pasado definiese lo que se dio a conocer como el Test de Turing. El cual reta a la máquina a una serie de juegos o pruebas para juzgar la inteligencia de esta, buscando ver si sus respuestas serían indistinguibles de las de un ser humano.

En qué consiste el machine learning

Como comentaba anteriormente, el machine learning o aprendizaje automático es la rama de la IA (Inteligencia Artificial) que estudia la construcción de algoritmos que pueden aprender y hacer predicciones sobre datos, mediante la construcción de un modelo a partir de las muestras de entrada al mismo.

Aunque no nos demos cuenta, hoy en día estamos rodeados de algoritmo de aprendizaje automático como pueden ser el reconocimiento de gatos por parte de Google en los famosos videos de gatos en YouTube. O la capacidad de que Google Map nos recomiende la mejor ruta para llegar a nuestro destino, evitando autopistas de peaje, usando el trayecto más corto o el más rápido.

¿Y qué es TensorFlow?

Creado por el equipo de Google Brain, TensorFlow es una biblioteca de software libre que se utiliza para realizar cálculos numéricos mediante diagramas de flujo de datos. Los nodos de los diagramas representan operaciones matemáticas y las aristas reflejan las matrices de datos multidimensionales (tensores) comunicadas entre ellas. Actualmente TensorFlow es un proyecto de la comunidad de software libre, liberado por Google en noviembre del 2015. El desarrollo inicial de TensorFlow se apoyaba en el lenguaje de programación Phyton, pero hoy en día soporta una amplia variedad como pueden ser R, Swift o Java.

Un año después de haber liberado el código fuente de TensorFlow, Google anunciaba que había desarrollado un procesador especialmente diseñado para dar respuesta a las cargas de trabajo asociadas a los proyectos de aprendizaje automatizado, bautizadas como TPU, unidad de procesamiento tensorial o dicho en el idioma de Shakespeare, tensor processing unit.

Casos de uso de TensorFlow

Y como lo prometido es deuda, a continuación, te dejo un listado de los cinco proyectos más interesantes que hoy en día están haciendo uso de TesorFlow como framework de desarrollo para el aprendizaje automático.

AlphaGo Zero: Es la continuación, evolución y mejora del ya famoso proyecto AlphaGo desarrollado por Deepmind, empresa adquirida por Google a comienzos del año 2014. La primera versión del proyecto, el algoritmo aprendió en base a la base de conocimiento generada a través de gran cantidad de partidas de Go de los principales maestros de esta disciplina. Pero la gran revolución de la versión Zero, fue partir como bien indica su propio nombre de la nada, realimentándose de las propias partidas jugadas entre sí para llegar a batir a su predecesor en sólo 21 días. La red neuronal de AlphaGo Zero se entrenó con TensorFlow, con 64 GPU workers, 19 servidores de parámetros de CPU y tan sólo 4 TPU para inferencia.

Comparativa  evolución AlphaGO vs AlphaGO Zero

Deep Dream: Es un algoritmo de procesamiento de imágenes creado por Google, que se basa en la enseñanza a sus computadoras en cuanto a la forma de ver, entender y apreciar nuestro mundo. El algoritmo está formado por una red neuronal artificial, que fue entrenada mostrándole millones de imágenes como ejemplo, para así ajustar poco a poco los parámetros de la red neuronal hasta obtener la identificación de la imagen y clasificarla de la manera adecuada. En junio de 2015 liberó el Código de este Proyecto que se basa en el framework de aprendizaje profundo, Caffe.

RankBrain: Es un algoritmo que aprende de las búsquedas en Google para ayudar y sugerir a los usuarios las búsquedas más relevantes, básicamente realiza una interpretación de las palabras y frases de cada consulta con el fin de deducir la intención del usuario, su uso fue confirmado por Google en octubre de 2015. Con este tipo de algoritmos, Google confirmo la importancia del contenido en su algoritmo de búsqueda, dando mayor importancia a los contenidos de valor de forma natural.

Michelangelo: Es una plataforma desarrollada por UBER, para proporcionar servicios internos de aprendizaje automático y facilitar la construcción e implementación de estos sistemas a gran escala. Horovod, es el componente de código abierto del kit de herramientas de aprendizaje profundo de Michelangelo que facilita el inicio y la aceleración de proyectos de aprendizaje profundo distribuidos con TensorFlow. El proyecto surgió como una necesidad de reducir los tiempos de procesamiento de los juegos de datos usados para el aprendizaje de semanas a horas. Y hoy en día puede ser reutilizado por otras compañías, ya que ha sido liberado para la comunidad por parte de Uber.

Escáner OCR móvil de DropBox: Gracias a las tecnologías de reconocimiento óptico de caracteres (OCR) Dropbox ha creado un servicio capaz de extraer el reconocimiento OCR de los documentos escaneados con los móviles de sus usuarios, este es un servicio que ofrecen dentro de la suit business de Dropbox y que utiliza por debajo el framework de TensorFlow en conjunto con otras tecnologías para lograr que cualquier texto disponible en la imagen escaneada sea presentado al cliente Dropbox del usuario final como un conjunto de píxeles que se pueden pegar, buscar o realizar cualquier otra acción que hacemos habitualmente con un array de caracteres.

Pero estos son sólo una muestra de casos de usos reales y proyectos en producción desarollados con TensorFlow, otras muchas más empresas como Airbnb, Facebook, Baidu, y así un largo etcétera, están usando TensorFlow como framework de desarrollo para proyectos de machine learning. Pero ojo TensorFlow no es  la única opción, en el mercado hay otra serie de alternativas disponibles que ya compartiré más adelante con vosotros, como puedan ser OpenAI, PyTorch, CNTK o Apache MXNet.

Así que si actualmente estas desarrollando algún proyecto de machine learning o tienes experiencia con TensorFlow, déjame tus comentarios más abajo y estaré encantado de escuchar tu experiencia con este framework de desarrollo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *