Usamos cookies. Más información  aquí Aceptar

TensorFlow, la plataforma de Inteligencia Artificial de Google

¿Que es TensorFlow? ¿Cómo aplicarlo al Machine Learning y Deep Learning?

Tensorflow abre un nuevo mundo a los proyectos de Inteligencia Artificial


Actualmente hay muchos desarrolladores mejorando día a día todas las Inteligencias Artificiales e incluso creando nuevas. No obstante hay un grave problema y es que hay muchos más ingenieros de software que expertos en Machine Learning.


En respuesta a este gran problema, Google ha creado la plataforma de Machine Learning y Deep Learning más importante del mundo. Gracias a todo el desarrollo invertido en TensorFlow y su flexibilidad, permite a los ingenieros poder aprender como funciona en profundidad el Machine Learning y el Deep Learning, consiguiendo así una mejora importante en las plataformas de IA.


¿Pero realmente que es TensorFlow?

TensorFlow es una biblioteca de software de código abierto para computación numérica. Este utiliza gráficos de flujo de datos. Los nodos en las gráficas representan operaciones matemáticas, mientras que los bordes de las gráficas representan las matrices de datos multidimensionales (tensores) comunicadas entre ellos.


Gracias a su arquitectura flexible, le permite implementar el cálculo a una o más CPU o GPU en equipos de escritorio, servidores o dispositivos móviles con una sola API. TensorFlow fue desarrollado originalmente por investigadores e ingenieros que trabajaban en el equipo Google Brain Team, dentro del departamento de Machine Intelligence. Fue desarrollado con el propósito de llevar a cabo el aprendizaje automático y la investigación de redes neuronales profundas.


Por lo que realmente es tan importante esta plataforma es porque es de código abierto, con lo cual cualquier persona la puede utilizar o intentar mejorar y además es muy sencillo de usar, puesto que funciona en una amplia gama de sistemas e incluso se pueden correr demos en el propio navegador.


Además de todo esto, TensorFlow cuenta con un ecosistema integral de herramientas, bibliotecas y recursos de la comunidad. Por tanto permite a los investigadores innovar con el sistema de aprendizaje automático. También permite a otros desarrolladores implementar de manera sencilla la plataforma, aún sin estar especializados en Machine Learning.


Comienzos de TensorFlow



Después de mucho tiempo y esfuerzo de los desarrolladores de Google, el 9 de noviembre de 2015 fue liberado como software de código abierto TensorFlow. No obstante esto no fue una tarea sencilla.


El desarrollo comenzó en 2011 con una plataforma llamada DistBelief.Esta plataforma se basaba en el aprendizaje automático basado en redes neuronales y Deep Learning. Para esto, Google dedicaba un 20% de su tiempo únicamente a este proyecto. Gracias a esto el equipo fue creciendo y el proyecto tomó buena forma.


En 2014 decidieron construir al sucesor de DistBelief, el cual conocemos actualmente como TensorFlow. El nombre que se le otorgó a esta plataforma deriva de las operaciones que tales redes neuronales realizan sobre listas multidimensionales de datos. Estas listas son conocidas como tensores. En una primera versión, los cómputos de TensorFlow se basaban en gráficos no dirigidos, sin embargo con la evolución de la biblioteca la forma de codificar estas redes se ha vuelto diferente. TensorFlow se popularizó, puesto que en 2016 había 2016 repositorios de git mencionando esta plataforma, de los cuales únicamente 5 eran de su creador: Google.


Pruebas que permite TensorFlow



A pesar de que el mundo del Machine Learning no es sencillo, la propia página oficial de TensorFlow ofrece diversos tutoriales de su plataforma.

De primeras podemos crear una red neuronal sencilla que sea capaz de distinguir con un acierto del 90% entre diversos productos del repositorio de Zalando. (Esto lo hace en una escala de colores entre el 0 y el 1)

Aparte de esta prueba sencilla, también hay otros dos tutoriales, donde en uno nos enseñan a crear un sistema sencillo de recomendaciones en función de las búsquedas realizadas y otro en el cual nos permite distinguir entre diferentes entradas de texto con un mismo significado. Por ejemplo números escritos a mano, ya que ha de tener en cuenta tanto la letra del usuario que los ha escrito, como de que manera hace los números. Si nos fijamos hasta un simple número como el 7 se puede escribir de distintas maneras y nosotros somos capaces de percibir que es un 7 a pesar de sus variantes.


Aplicaciones de TensorFlow



Los directivos de Google consideran que TensorFlow puede ser muy útil para las empresas sanitarias, de seguros y automovilísticas. Por ejemplo el gigante de los seguros AXA, utiliza este software para predecir las posibilidades de que un asegurado cause un grave accidente de coche. De momento la aplicación de TensorFlow ha tenido una tasa del 78% de acierto. Otra aplicación popular derivada del uso de los datos de TensorFlow es el motor de reconocimiento de imágenes DeepDream. Miles de startups e investigadores universitarios apuestan por TensorFlow como base para desarrollar sus propios sistemas de inteligencia artificial.


Esta tecnología ha revolucionado completamente el mundo del Deep Learning, puesto que ha desarrollado tareas que parecían imposibles en un primer momento.


Una de ellas fue conseguir separar a una persona o elementos seleccionados, del fondo en una imagen, consiguiendo así nitidez en la persona y que el fondo se difumine. Hasta el momento que se consiguió hacer el efecto utilizando TensorFlow, únicamente era posible conseguir esto, con el uso de dos cámaras, para poder separar fondo y persona sin ningún problema. Actualmente la mayoría de teléfonos móviles tienen la opción de hacer el desenfoque mediante el uso de varias cámaras o mediante el uso de software.





Otra aplicación muy utilizada es la de poder obtener información de una imagen en tiempo real. Se han desarrollado aplicaciones utilizando TensorFlow, las cuales se basan de una cámara y un campo de texto. Una vez tú vas enfocando diferentes tipos de objeto en tiempo real, aparece el nombre del objeto y el porcentaje en que la IA está segura de que el objeto real corresponde al introducido en el campo de texto. Obviamente esta IA no es perfecta. Puedes poner un mando de la televisión y que te lo reconozca con un 99% de acierto o también puede pasar que pongas un bolígrafo sobre un papel y te lo reconozca o bien como bolígrafo + papel, o como una fuente. No obstante el hecho de que sea capaz de conseguir saber con bastante exactitud que objetos hay en tiempo real donde tú estás enfocando, ya es un gran logro y cada vez se consigue más exactitud.


Derivado del reconocimiento a tiempo real, también se puede utilizar en una fotografía. Esta IA es capaz de reconocer la mayoría de elementos de una imagen y con bastante exactitud. También es capaz de aumentar la resolución de una imagen en baja calidad.





Al poder reconocer imágenes sin problema, permite también la transcripción de texto a tiempo real, tanto para poder traducirlo a otro idioma, como para poder entender un tipo de letra. Esto no se detiene únicamente en la lectura de letras, sino que puede entender todo lo que este escrito, facilitando así programas muy útiles para los ingenieros como podrían ser el resolver fórmulas escritas automáticamente, simplemente enfocándola con nuestra cámara del teléfono.


Actualmente la gente valora mucho la inmediatez de respuesta al igual que si asistieses a un establecimiento físico. Por tanto es imprescindible que la atención al cliente sea eficaz y rápida. Dicho esto, TensorFlow no se podía crear atrás y por tanto una de las tareas que puede llevar a cabo es la creación de un chatbot inteligente que permita responder de manera elocuente y automática a las preguntas de las personas. Aparte, al ser una herramienta de Deep Learning, la misma IA es la que se encarga de aprender de los errores y mejorar, hasta llegar al punto de que sea muy difícil saber si te atiende una persona o la propia IA.


Otra tarea que puede llevar a cabo es la recomendación de productos en función de los gustos de los usuarios. Esta utiliza los datos públicos del usuario teniendo en cuenta sus búsquedas en las diversas aplicaciones y así conocer al usuario. De hecho esta tecnología es mucho más útil de lo que parece, puesto que no sirve únicamente para recomendar productos. Esta IA es capaz de detectar a personas mal intencionadas en base a sus búsquedas o hábitos. Actualmente la mayoría de nuestros datos son públicos y nuestra localización o búsquedas no son una excepción. Al ser capaz de “conocernos” y mostrarnos lo que más nos interesa, esta IA es capaz de detectar búsquedas sospechosas de artículos peligrosos o de actos que no son moralmente aprobados. También se puede detectar un patrón de movimiento extraño y de esta manera conseguir que salte una alerta en el sistema y poder avisar a las autoridades pertinentes para que revisen si ha habido una confusión o no. Para poner esto en práctica la IA tiene que tener un alto porcentaje de acierto. No obstante a día de hoy se podría aplicar perfectamente.


En conclusión cabe aclarar que, a pesar de que las IA actualmente no son perfectas y están muy lejos de serlo, es cierto que son increíbles e inimaginables hace unos años. También cabe destacar que hay un desarrollo continuo de estas y proyectos como TensorFlow son los que hacen esto capaz, consiguiendo que más personas profundicen en el Machine Learning y descubran lo increíble que es.


Solicítanos ahora tu presupuesto para proyecto de Inteligencia Artificial y uno de nuestros consultores especializados te atenderá personalmente.


Blog sobre Inteligencia Artificial