La Inteligencia Artificial (IA), está cada vez más entre nosotros. Tenemos asistentes personales que parecen entender nuestras órdenes, sistemas que juegan ancestrales juegos con la perfección del mejor jugador del mundo, programas que ya permiten hacer búsquedas en imágenes, etcétera. Para quien se dedique a estos temas, claramente debe estar preparado sobre las herramientas que existen para realizar tareas que nos lleven a una verdadera inteligencia artificial.
La IA es un término demasiado amplio, que cubre la habilidad de la computadora para categorizar, predecir y tomar decisiones sin la interacción de los seres humanos. Muchos programas usan de alguna manera esto cuando se toman decisiones a partir de simples órdenes de «si se cumple tal condición, haz tal tarea». Sin embargo, con el desarrollo de los procesadores, ahora se tienen algoritmos más poderosos y más rápidos y es aquí donde entra el aprendizaje de máquinas y el aprendizaje profundo. Estos dos últimos temas nacen de las redes neuronales artificiales, que buscan emular lo que hacen las neuronas vivas en el cerebro.
Para trabajar con estas últimas, que están dando muy buenos resultados, tenemos varias alternativas que nos podrán servir para incorporarnos en esta rama de la programación. He aquí cuatro de las más usadas:
TensorFlow (https://tensorflow.org)
Empezó en el 2011 como un proyecto interno de Google llamad «Google Brain» y que se hizo público en el 2017 como un sistema de código abierto de aprendizaje profundo, es decir, de una red neuronal, la cual puede correr en múltiples CPUs y GPUs. Se usa para entrenar redes neuronales que puedan detectar y descifrar patrones y correlaciones análogas a las que vemos en el aprendizaje y razonamiento humano.
Caffe (https://caffe.berkeleyvision.org)
Esta herramienta a fue creada por BAIR (Berkeley Artificial Intelligence Research), en el 2014, y se hizo popular en la investigación académica. En un marco de trabajo de aprendizaje profundo usando redes convolutivas.
Caffe 2 (https://caffe2.ai/)
En el 2017 Facebook lanzó esta herramienta como un sucesor comercial de Caffe. Se escribió para tratar con las dificultades de Caffe en términos de escalabilidad y además, buscando ser menos pesada. Permute cómputo distribuido y computación cuantizada.
ONNX (https://onnx.ai/)
Esta herramienta significa Open Neural Network exchanged y se anunció apenas en septiembre del 2017. Es un esfuerzo conjunto de Microsoft y Facebook. ONNX es un formato pensado para hacer fácil el intercambio de modelos de aprendizaje profundo entre entornos de esta naturaleza. La iniciativa busca hacer más fácil para los desarrolladores usar múltiples entornos de programación de redes neuronales.