Expertos

Las mejores cinco herramientas de código abierto para la Inteligencia Artificial

Ante el gran auge del desarrollo de aplicaciones, negocios y la vista puesta de las grandes empresas como Apple, Amazon, Google por mencionar algunas en el desarrollo acelerado de la Inteligencia Artificial (AI, en inglés), el interés por aprender y reforzar (para los ya experimentados) el conocimiento en este campo, son variadas las opciones disponibles de Framework en código abierto para la programación en este campo específico.

single-image

Ante el gran auge del desarrollo de aplicaciones, negocios y la vista puesta de las grandes empresas como Apple, Amazon, Google por mencionar algunas en el desarrollo acelerado de la Inteligencia Artificial (AI, en inglés), el interés por aprender y reforzar (para los ya experimentados) el conocimiento en este campo, son variadas las opciones disponibles de Framework en código abierto para la programación en este campo específico.

Aun cuando el proceso de aplicaciones en IA está en constante desarrollo y mejoramiento según los ingenieros van descubriendo nuevas capacidades y habilidades para mejorar su uso, las librerías disponibles permiten un gran respaldo para muchos programadores en este campo, y en este artículo te traemos los más destacados en códigos abiertos para su aplicación.

Recordemos que la IA es la Inteligencia exhibida por máquinas, también llamada Inteligencia computacional; y como ya describimos en otra oportunidad; el Deep Learning, la robótica y la IA son tres ramas muy diferentes pero interrelacionadas, de las cuales la última quizás es la que hoy en día tiene mayor auge por su diversidad de aplicaciones en diferentes sectores de la vida cotidiana: desde dAPPs hasta motores de búsqueda en la red como Google la utilizan para mejorar la experiencia del usuario.

TensorFlow

Como lo indica su página oficial, es una biblioteca de software de código abierto para el cálculo numérico de alto rendimiento. Fue desarrollada por el equipo de Google Brian en base a los avances en redes neuronales de aprendizaje profundo que tuvieron con DistBelief en el 2011.

Fue lanzado como software de código abierto el 09 de noviembre del 2015.  TensorFlow dada su arquitectura flexible puede correr en múltiples CPUs y GPUs con extensiones adicionales de CUDA para informática de propósito general en GPUs.

Está disponible en Linux de 64 bits, MacOS y plataformas móviles de Android e iOS.

TensorFlow es para el cálculo numérico usando gráficos de flujo de datos. Los nodos en el gráfico representan operaciones matemáticas, mientras que los bordes del gráfico representan los conjuntos de datos multidimensionales (tensores) comunicados entre ellos.

TensorFlow proporciona múltiples API. El API de nivel más bajo, TensorFlow Core, le proporciona un control de programación completo. Las API de nivel superior se basan en TensorFlow Core. Estas API de nivel superior son generalmente más fáciles de aprender y usar qué TensorFlow Core.

Además las API de nivel superior hacen que las tareas repetitivas sean más fáciles y consistentes entre diferentes usuarios. Una API de alto nivel como tf.estimator lo ayuda a administrar conjuntos de datos, estimadores, capacitación e inferencia.

Google la usa para satisfacer sus necesidades de sistemas capaces de construir y entrenar redes neuronales para detectar y descifrar patrones y correlaciones, análogos al aprendizaje y razonamiento usados por los humanos.

Entre las aplicaciones para los cuales TensorFlow es la base, está el software automatizado de procesamiento de imágenes DeepDream.  También está RankBrian, oficialmente implementado el 26 de octubre del 2015 respaldado por TensorFlow, para manejar un número sustancial de consulta de búsqueda en google.com.

Otra aplicación muy popular basada en TensorFlow es SmartReply, modelo Deep LSTM para generar automáticamente respuestas por correo electrónico.

Además de Google, existen numerosas empresas reconocidas que utilizan TensorFlow para sus aplicaciones de IA: Airbnb, AMD, Nvidia, Uber, SAP, Kakao, Coca-Cola, entre otras.

TensorFlow

Apache SystemML

Es un sistema flexible de aprendizaje computacional que automáticamente escala a clusters Spark y Hadoop. Fue creado en 2010 por IBM escrito en lenguaje Java y lanzado como código de fuente abierta el 02 de noviembre del 2015. Es un tipo de aprendizaje profundo y Machine Learning.

Un lugar de trabajo óptimo para el aprendizaje automático con gran data. Ha alcanzado uno de los niveles de proyecto de nivel superior en la Fundación Apache Software. Sus características principales más importantes son:

  • Algoritmo de personalización a través de lenguajes R-like y Python-like.
  • Múltiples modos de ejecución, incluidos Spark MLContext, Spark Batch, Hadoop Batch, Standalone y JMLC (Java Machine Learning Conector).
  • Optimización automática basada en datos y características del cluster para garantizar la eficiencia y escalabilidad.

Se puede ejecutar sobre Apache Spark y es considerado como el SQL para aprendizaje automático. Los futuros desarrollos de SystemML incluyen aprendizaje profundo adicional con capacidades de GPU, como la importacion y ejecución de arquitecturas de redes neuronales y modelos preformados para la capacitación.

Ente las librerías más resaltantes de esta aplicación encontramos la JMLC para System ML, la cual es una interfaz programática para interactuar con SystemML de forma incrustada, donde además de usarse como una API de puntuación, incorporado se puede utilizar para tareas como el aprendizaje no supervisado.

Apache SystemML

Caffe

Un marco de aprendizaje profundo hecho con expresión, velocidad y modularidad en mente. Fue iniciado por Yangqing durante su Ph.D. en UC Berkeley y luego desarrollado por Berkeley AI Research (BAIR) y por colaboradores de la comunidad.

Se enfoca principalmente en redes convolucionales para aplicaciones de visión por computadora. Caffe es una opción sólida y popular para las tareas relacionadas con la visión artificial y se pueden descargar muchos modelos exitosos hechos por los usuarios de Caffe del Caffe Model Zero.

Caffe soporta diferentes tipos de aprendizaje profundo enfocados en clasificación de imágenes y segmentación de las mismas. Es usado por CNN, RCNN, LSTM y totalmente conectado a diseños de redes neuronales. Soporta GPU y CPU basada en kernel de librerías de aceleración computacional tales como Nvidia CuDNN e Intel MKL.

Yahoo integro Cafee con Apache Spark para crear CaffeOnSpark, un marco de aprendizaje profundo distribuido.

La arquitectura expresiva fomenta la aplicación y la innovación. Los modelos y la optimización se definen mediante la configuración sin codificación rígida. Speed hace que Caffe sea perfecto para experimentos de investigación e implementación en la industria.

Caffe puede procesar mas de 60 millones de imágenes por día con una sola GPU Nvidia K40.

Caffe

Torch

Una biblioteca de aprendizaje de máquina de código abierto, un Framework informático científico y un lenguaje de script basado en el lenguaje de programación Lua.

Entre sus características tenemos:

  • Una poderosa matriz N-dimensional
  • Muchas rutinas para indexar, cortar, transponer, etc
  • Increible interfaz para C, a traves de LuaJIT
  • Rutinas de álgebra lineal
  • Red neuronal y modelos basados en la energía
  • Rutinas de optimización numérica
  • Soporte de GPU rápido y eficiente
  • Incrustable, con puertos para backends iOS y Android

Torch es utilizado por Facebook AI Research Group, IBM Yandex y el Idiap Research Institute. Se ha ampliado para su uso en Android e iOS y se ha utilizado para crear implementaciones de hardware para flujos de datos como los que se encuentran en redes neuronales.

PyTorch es una biblioteca de aprendizaje de máquina de código abierto para Python, que se utiliza para aplicaciones como el procesamiento de lenguaje natural. Es desarrollado principalmente por el grupo de investigación de Inteligencia Artificial de Facebook, y el software «Pyro» de Uber para programación probabilística.

Torch

Mycroft

Afirmando que es el primer asistente de código abierto del mundo y se puede utilizar en cualquier cosa, desde un proyecto de ciencia a una aplicación de software empresarial.

Mycroft funciona en cualquier lugar: en una computadora de escritorio, dentro de un automóvil o en una Raspberry Pi. Este es un software de código abierto que se puede volver a mezclar, ampliar y mejorar libremente.

Mycroft es un asistente virtual y navegador de conocimientos de software libre y de código abierto para sistemas Linux que usa el lenguaje natural para recibir órdenes a ejecutar.

Mycroft usa el analizador sintáctico llamado Adapt para convertir lenguaje natural a estructuras de datos procesados por la computadora. Para síntesis de voz usa Mimic, que se basa en el sistema Festival Lite. Está diseñado para ser modular, así los usuarios pueden cambiar sus componentes.

Es un asistente práctico clásico: puede decirte la fecha, la hora, el clima, configurar alarmas o escuchar las noticias, así como responder todo tipo de preguntas objetivas.

Deja un comentario

Loading data ...
Comparison
View chart compare
View table compare