TensorFlow es un marco de código abierto desarrollado por investigadores de Google para ejecutar el aprendizaje automático, el aprendizaje profundo y otras cargas de trabajo de análisis estadístico y predictivo. Al igual que las plataformas similares, está diseñado para agilizar el proceso de desarrollo y ejecución de aplicaciones analíticas avanzadas para usuarios como científicos de datos, estadísticos y modeladores predictivos.
El software TensorFlow maneja conjuntos de datos que se organizan como nodos computacionales en forma de gráfico. Las aristas que conectan los nodos en un gráfico pueden representar vectores o matrices multidimensionales, creando lo que se conoce como tensores. Debido a que los programas de TensorFlow usan una arquitectura de flujo de datos que funciona con resultados intermedios generalizados de los cálculos, están especialmente abiertos a aplicaciones de procesamiento paralelo a gran escala, siendo las redes neuronales un ejemplo común.
El marco incluye conjuntos de API de alto y bajo nivel. Google recomienda utilizar los de alto nivel cuando sea posible para simplificar el desarrollo de la canalización de datos y la programación de aplicaciones. Sin embargo, saber cómo usar las API de bajo nivel, llamadas TensorFlow Core, puede ser valioso para la experimentación y la depuración de aplicaciones, dice la compañía; también ofrece a los usuarios un «modelo mental» del funcionamiento interno de la tecnología de aprendizaje automático, en palabras de Google.
Las aplicaciones de TensorFlow pueden ejecutarse en CPU convencionales o en unidades de procesamiento de gráficos de mayor rendimiento (GPU), así como las propias unidades de procesamiento de tensor (TPU) de Google, que son dispositivos personalizados diseñados expresamente para acelerar los trabajos de TensorFlow. Las primeras TPU de Google, detalladas públicamente en 2016, se usaron internamente junto con TensorFlow para impulsar algunas de las aplicaciones y servicios en línea de la compañía, incluido su algoritmo de búsqueda RankBrain y la tecnología de mapeo de Street View.
A principios de 2018, Google impulsó sus esfuerzos externos de TensorFlow al poner la segunda generación de TPU a disposición de los usuarios de Google Cloud Platform para entrenar y ejecutar sus propios modelos de aprendizaje automático. Las cargas de trabajo basadas en TensorFlow se facturan por segundo; El servicio Cloud TPU se lanzó inicialmente como un programa beta con solo «cantidades limitadas» de dispositivos disponibles para su uso, según Google.
Orígenes y lanzamientos de TensorFlow
TensorFlow siguió los pasos de un marco de Google de código cerrado llamado DistBelief, que la compañía utilizó internamente para llevar a cabo aplicaciones de aprendizaje profundo y aprendizaje de funciones sin supervisión basadas en redes neuronales extremadamente grandes y el algoritmo de retropropagación.
DistBelief, que Google reveló por primera vez en detalle en 2012, fue un banco de pruebas para implementaciones de aprendizaje profundo que incluían reconocimiento avanzado de imagen y voz, procesamiento de lenguaje natural, motores de recomendación y análisis predictivo.
TensorFlow se diferencia de DistBelief en varias formas. Debido a que TensorFlow fue diseñado para poder funcionar por separado de la propia infraestructura informática de Google, su código era más fácil de transportar para usos externos. También es un marco de aprendizaje automático más general que no está tan centrado en las redes neuronales como lo estaba DistBelief. Además, está diseñado para admitir una configuración más rápida y ejecutarse contra las API de alto nivel.
Google lanzó TensorFlow como tecnología de código abierto en 2015 bajo una licencia Apache 2.0. Desde entonces, el marco ha ganado una variedad de adeptos más allá de Google. Por ejemplo, las herramientas de TensorFlow se admiten como módulos complementarios para el aprendizaje automático y las suites de desarrollo de inteligencia artificial de IBM, Microsoft y otros.
A principios de 2017, TensorFlow alcanzó el estado de Versión 1.0.0. Esa versión agregó un depurador especializado, un compilador específico de dominio para gráficos de TensorFlow, imágenes de contenedor de Docker para la versión 3 del lenguaje de programación Python y una API de Java experimental. Le siguieron cuatro lanzamientos más durante el transcurso de 2017; También se presentó una versión de TensorFlow Lite optimizada para su uso en dispositivos móviles e integrados como vista previa para desarrolladores. En febrero de 2018, TensorFlow llegó a la versión 1.6.0.
Aplicaciones de TensorFlow
En su mayor parte, las aplicaciones de TensorFlow son proyectos de inteligencia artificial avanzados y a gran escala en los ámbitos del aprendizaje automático y el aprendizaje profundo. Al impulsar el sistema de aprendizaje automático RankBrain de Google, TensorFlow se ha empleado para mejorar las capacidades de recuperación de información del motor de búsqueda insignia de la compañía.
Google también ha utilizado el marco para aplicaciones que incluyen generación automática de respuestas por correo electrónico, clasificación de imágenes y reconocimiento óptico de caracteres, así como una aplicación de descubrimiento de fármacos en la que la empresa trabajó con investigadores de la Universidad de Stanford.
Directores técnicos y becarios senior
en Google discuten el desarrollo
y usos de TensorFlow.
Otras empresas que figuran en el sitio web de TensorFlow como usuarios del marco incluyen Airbnb, Coca-Cola, eBay, Intel, Qualcomm, SAP, Twitter, Uber y el desarrollador de Snapchat Snap Inc. Otro usuario es STATS LLC, una empresa de consultoría deportiva que ejecuta TensorFlow- modelos basados en aprendizaje profundo para analizar cosas como los movimientos de los jugadores durante los juegos deportivos profesionales.
El aprendizaje profundo basado en TensorFlow también ha sido parte de experimentos y pruebas que involucran una de las innovaciones propuestas a mayor escala en la actualidad, que son los autos autónomos.
También se han encontrado algunos usos a menor escala. Por ejemplo, una pequeña granja japonesa usa TensorFlow para clasificar los pepinos según sus texturas.