Herramientas web

Deep(Learning) TabNine: Programación predictiva

Desarrollo Web 5 min. de lectura

La Inteligencia Artificial (IA), ha causado fascinación desde su concepción como término. Iniciando en el ámbito profesional, que lo ha visto crecer y la ciencia ficción, hasta asentarse en la cultura pop. Hoy podemos escuchar sobre ella cotidianamente, pero no como una historia. Ahora la inteligencia artificial se ha instalado en nuestras vidas, a través del machine learning.

Red neuronal, representada con diferentes colores. Representando las redes del Deep Learning.

La IA es un sub-campo de la informática, que trata de simular las capacidades cognitivas características de los humanos en los computadores. De ella, se deriva una serie de sub-ramas que tratan de encontrar la metodología más eficiente para lograr que un ordenador “aprenda” por su propia cuenta. 

De todas estas ramas, la más familiar para las personas, es el Machine Learning o aprendizaje automatizado. En esta están insertos, todos aquellos algoritmos que nos permiten predecir comportamientos. Y son los que permiten funcionar a la mayoría de nuestras herramientas digitales. Entre ellas, las redes sociales.

Machine Learning, adentrándose en el futuro

El objetivo principal del Machine Learning es desarrollar técnicas que permitan a un computador “aprender”. Se considera que un agente está “aprendiendo” cuando su desempeño mejora con la experiencia. Es decir, si al realizar una tarea dos veces; la segunda vez obtiene mejores resultados que la anterior. Y esta variación positiva, se obtiene gracias a lo que aprendió en la primera ejecución.

Sin embargo, el Machine Learning en sí no representa una técnica específica para desarrollar una IA. Más bien la IA, agrupa una serie de disciplinas, destinadas a alcanzar el raciocinio dentro de un computador. De ellas, una de las técnicas más prometedoras hasta el momento, es el Deep Learning.

Deep Learning, subiendo de nivel… literalmente

El Deep Learning lleva a cabo el proceso de aprendizaje automático, utilizando una red neuronal artificial compuesta de una serie de niveles, en los que cada uno de estos tendrá un grado de abstracción distinto. Entendamos como abstracción la separación de los elementos más básicos de un concepto; es decir, una unidad separada del resto. 

Esto le permite al computador ir aprendiendo por capas, aquellos conceptos que componen un elemento. Las capas están ordenadas desde los más básicos hasta los más complejos.

Entendiendo el Deep Learning

Por ejemplo, si utilizamos el Deep Learning para enseñarle a un computador a reconocer perros a través de imágenes; el primer nivel podría consistir en diferenciar las zonas claras de las oscuras. Luego, procedería a reconocer los bordes del perro a través de formas simples. Hasta identificar las formas más complejas. Así, seguiría subiendo de nivel hasta poder reconocer “un perro”.

Claro está, que para que este aprendizaje sea significativo, un ordenador tiene que procesar a través del Deep Learning, una cantidad bastante grande de imágenes que contengan perros (y también que no los contengan). 

Ya que es este proceso de identificación, la que permitirá llegar realmente a un punto de exactitud en el que pueda diferenciar si hay o no perros; o si son perros y no lobos, entre otros.

Por supuesto, nadie va a utilizar una de las herramientas más sofisticadas que existen nada más para identificar perros en fotos. El ámbito empresarial sabe que los datos son una mina de oro, y el Deep Learning es una de las herramientas que puede utilizar como “picota” para minar los datos y así sacarles provecho.

Dentro del mismo entorno informático, se le ha visto potencial al Deep Learning para aumentar la productividad de los programadores; además de facilitarles un poco su trabajo.

Deep TabNine, un autocompletado inteligente 

TabNine es un plugin de autocompletado, orientado a la programación, que tiene un tiempo en el mercado. Es muy útil para agilizar el trabajo de los desarrolladores. Sin embargo, han decidido subir la apuesta y lanzar Deep TabNine: un autocompletado potenciado por Deep Learning.

Deep TabNine ha utilizado hasta ahora alrededor de 2 millones de archivos de Github para potenciar su modelo. El desafío de este nuevo producto, surge al realizar inferencias en lenguajes de programación dinámicos. 

Además, los desarrolladores de TabNine admiten que su autocompletado futurista consume una gran cantidad de recursos del PC. Por lo que reconocen que podría entorpecer el trabajo de los programadores que no tengan un computador de altos recursos. 

Sin embargo, entre sus productos estará el uso de este plugin directamente en la Nube. Lo que significa que todo el procesamiento será realizado en los servidores de TabNine, y entregará los resultados de forma óptima.

Por ahora, Deep TabNine está en fase Beta, pero la recepción ha sido buena por parte de los desarrolladores que han podido probarlo durante estos meses. 

Y para quienes consideran que la privacidad es relevante e intransable; TabNine está también desarrollando una versión Lite, que tendrá una latencia menor.

 

Equipo de Desarrollo

 

Acerca del Autor

Soy desarrollador web Full Stack. Me considero atento a los detalles, soy constante y me gusta trabajar con un código pulcro. Comprendo y valoro la importancia del trabajo en equipo, por lo que sé integrarme bien en grupos de trabajo ya establecidos.

Agregar un comentario