(2/3) El rol del Open Source en el desarrollo de la Inteligencia Artificial y el Deep Learning

Hola muchachos y muchachas, aca les traigo la nueva entrega de la serie «El rol del open souce en el desarrollo de la inteligencia artificial y el deep learning». En el post pasado vimos un poco de la historia de estas técnicas de inteligencia artificial, como los software usados al inicio eran privativos y tambien hablamos de los inicios de Torch, el primer framework open source para desarrollo de modelos de aplendizaje profundo o deep learning pero que no fue muy aceptado por la comunidad cientifica ni de desarrolladores.

El primero de estos frameworks que se gano el corazon de científicos y desarrolladores y gesto una gran comunidad fue Theano. Desarrollado por Yoshua Bengio y su equipo de la Universidad de Montreal uno de los colaboradores de Yann LeCun padres del deep learning (ver post anterior). Fue liberado en 2007, estaba desarrollado para ser usado en Python lo que lo hizo ganar muchísimos adeptos. La parte menos atractiva de este framework es que era bastante complejo de utilizar. Crear una red era bastante complejo pues habia que programar todo a lo que seria el equivalente de ASM para deep learning declarando las multipliaciones de las matrices en cada capa y definiendo los camiunos de la propagacion hacia atras para asegurar el aprendizaje. Ademas para instalarlo habia que compilarlo desde cero con un sin fin de dependencias, hasta un compilador de Pascal habia que instalar. En fin toda una pelicula de terror de la cual no me quiero acordar. 

 

La comunidad no se hizo esperar con soluciones Lasagne y Keras, librerias que agregaban un nivel de abstracción sobre Theano que facilitaban muchísimo el desarrollo. Estas librerias brindaban bloques funcionales llamados capas que hacian la vida mas facil y ademas gestionaban automaticamente la propagacion hacia atras. Tambien la comunidad colaboro en el empaquetado para distribucion via pip.

 

 

En 2013 apareció otro framework que comenzó a ser bastante usado desarrollado en la Universidad de Berkeley llamado Caffe que además de Python también podía ser usado desde C++ y MATLAB (para quien no la conoce MAtlab es plataforma cerrada muy utilizada por científicos e ingenieros). Se podría decir que su facilidad de uso unido a su compatibilidad con tres lenguajes de programación hicieron que su popularidad aumentara bastante.

 

 

En este punto ya el BUMM de las redes convolucionales había empezado. Pero había un problema, a nivel científico y de prototipado estos frameworks iban genial pero era difícil embeberlo en aplicaciones móviles o web. Otro problema era que tras el BUMM del deep learning muchas nuevas funcionalidades surgían pero los creadores/mantenedores de Theano y Caffe no eran capaces de seguir el ritmo de los nuevos descubrimientos. El resultado de esto era que algunas funcionalidades estaban en Caffe otras en Theano y otras en Torch. Esto limitaba muchísimo a los que usaban esta tecnología viéndose obligados a utilizar un framework en dependencia de lo que necesitaran. Un ejemplo de eso fue las redes convolucionales totalmente conectadas, usadas para segmentacion semantica con capas de Convolucion Traspuesta (llamada Learnnable upsampling en la imagen). Aqui va un ejemplo visual del articulo cientificos de los creadores, miembros del equipo de desarrollo de Caffe en la universidad de Berkeley.

Fuente: Long, E. Shelhamer, T. Darrell, Fully Convolutional Networks for Semantic Segmentation, 2015.

 

Esta funcion estuvo por mucho tiempo solamente implementada en Caffe, lo que me obligo a usar este framework por un buen tiempo pues estaba trabajando en  segmentacion del miocardio en imagenes de resonancia magnetica del corazon. Aqui les dejo una imagen y una referencia del trabajo por si quieren chismosear un poco en que andaba metido yo.

Fuente: Myocardial segmentation in cardiac magnetic resonance images using fully convolutional neural networks

 

En el post pasado el colega Franz hizo varios comentarios acerca de ¿Que tan útil es todo esto de la inteligencia artificial?, ¿Hay algún beneficio real para las personas o solo las grandes compañias se estan beneficiando de esta tecnologia?. Todas preguntas super interesantes y que responderemos en un futuro y no muy lejano post. 

 

Aqui les dejo algunos links de interes por si quieren leer más al respecto:

https://en.wikipedia.org/wiki/Theano_(software)

https://es.wikipedia.org/wiki/Keras

https://github.com/Lasagne/Lasagne

https://en.wikipedia.org/wiki/Caffe_(software)

 

¿Te resultó interesante? Compártelo ...



bosito7

Publicado por bosito7

http://gutl.jovenclub.cu » Forma parte de GUTL desde el 19 diciembre, 2012. Soy un investigador apasionado de Machine Learning / Deep Learning. Me encanta aplicar Inteligencia Artificial en áreas que mejoran significativamente la calidad de vida del ser humano, como la salud y la agricultura. Amante de GNU/Linux y el Software Libre en general.

Este artículo tiene 4 comentarios

  1. Hola colega.
    Hablando de IA. Existe un sistema censurado en los servidores espejo de mirrorservice; Unknown OS, básicamente es un Linux que evade los controles de IA que usan las agencias de inteligenca a nivel global.

    • Pues ni idea de esto, de hecho el link que proporcionaste esta roto. Todavia la IA no esta en un nivel Terminator. No hay por que temer … todavia 😀

  2. Muy interesantes tus artículos, pero veo que no haz hablado de Tensorflow ni PyTorch, supongo que estás guardando lo mejor para el final. Espero el próximo post. Gracias

  3. En el hospital Italiano (departamento de informática) han construido una red neuronal para la detección en imágenes de la densidad mamaria (DM), factor de riesgo para el cáncer de mama.

    La red neuronal se llama Artemisia, y está construida con:

    – Keras
    – TensorFlow
    – Django (Python)
    – SpringBoot (Java)
    – Angular 6

    Se está avanzando mucho es ésta tecnología, y espero que avance aún más. Es tan importante, sobre todo para el mundo médico, como la vida de las personas, que pueden se diagnosticadas con antelación y ser tratadas en tiempo.

    Saludos.

    Fuente:

    http://hiba.hospitalitaliano.org.ar/infomed/index.php?contenido=ver_curso.php&id_curso=81982

Los comentarios están cerrados.