BLOG

TO DEEP, OR NOT TO DEEP, THAT IS THE QUESTION!

VÍCTOR FERNÁNDEZ-CARBAJALES | 12/02/2019

El aprendizaje profundo o Deep Learning no es un paradigma nuevo, ya existían aproximaciones conocidas en artículos científicos desde los años 50. Entonces, si el Deep Learning ha existido desde hace bastante tiempo, ¿por qué se volvió tan relevante en los últimos años?

Computer Vision - Deep Learning
Uno de los ámbitos que está revolucionando el Deep Learning es el de la visión artificial o Computer Vision.

El desencadenante, producido a finales de la década del 2000, fue la posibilidad de encontrar una forma realmente confiable de entrenar redes neuronales profundas. Hoy en día, existen una serie de factores que han dado cabida a la importancia del Deep Learning en el ámbito de la Inteligencia Artificial y las técnicas de Machine Learning, como son los avances en hardware (principalmente GPU, ahora TPU) y la generación y acumulación exponencial de datos.


El Deep Learning también es un campo de investigación activo y está revolucionando otros ámbitos dentro del paraguas de la inteligencia artificial. Uno de estos ámbitos es la visión artificial o Computer Vision. Computer Vision es una disciplina científica, definida como un subcampo de la inteligencia artificial, centrado en adquirir, procesar y analizar imágenes y/o vídeos del mundo real con el fin de producir información que pueda ser tratada por una máquina. Una manera simple de comprender este sistema es compararlo directamente con el sistema visual humano.

Computer Vision antes de Deep Learning

Antes de la irrupción del Deep Learning, y en especial de las redes neuronales profundas, la visión artificial se centraba, como otros campos de la inteligencia artificial, en un enfoque de aprendizaje máquina tradicional. El enfoque tradicional de Machine Learning implica que los desarrolladores deben trabajar para extraer las características más representativas de los datos que tratan, es decir, secuencias temporales de imágenes o vídeos.


En este caso, tanto el trabajo científico, como el desarrollo de aplicaciones, se centra en obtener una caracterización lo más significativa posible que permita, por ejemplo, detectar personas que aparecen en las imágenes, conocer cómo se han desplazado estas de una imagen a otra, o clasificar los vehículos que pasan por una determinada zona. Tras obtener esta caracterización, se aplican funciones estadísticas para llevar esa representación a una “comprensión” real del entorno visual, mediante técnicas de agrupación (clusterización), máquinas de soporte vector (SVM), filtrados (lineales, no-lineales, regresivos), entre otras.


Todo esto implica que la bondad de las aplicaciones resida en cómo los investigadores y desarrolladores pueden abstraerse de las imágenes que manejan y verlas como una fuente de datos estructurada. Además, por la propia naturaleza humana, las relaciones presentes en esta caracterización suelen ser lineales, de causa-efecto o de intención-función, lo que hace muy complejo descubrir descriptores o caracterizaciones fuera de esta lógica racional de pensamiento.


Con esto en mente, podemos indicar que estas técnicas tradicionales de visión artificial solamente permiten un enfoque analítico muy cercano al problema, ya que implica una caracterización lo más ajustada posible a las condiciones del problema en cuestión. Esto produce que la soluciones deban ser ajustadas u optimizadas incluso para resolver problemáticas similares que tienen lugar en condiciones diferentes.

La irrupción del Deep Learning

Este marco de trabajo cambió cuando el paradigma del aprendizaje profundo empezó a aplicarse. Inicialmente, los desarrollos más novedosos dentro del Deep Learning no trabajaban en problemáticas de visión artificial, debido a la complejidad que implicaban los datos multimedia que manejaban. Sin embargo, con la creación de las primeras redes neuronales especializadas en trabajar con estos datos (VGGNet, AlexNet, DarkNet, etc.) se abrió una gran vía de innovación.


Las redes neuronales, principalmente las convolucionales (CNN), han permitido que los investigadores descubran relaciones no-lineales en los datos que eran muy complejas de analizar con el paradigma tradicional de la visión artificial. Aunque esto pueda parecer trivial, implicaba que casi cualquier problema anteriormente resuelto tenía potencial de ser mejorado al ampliar las posibles relaciones detectables en los datos y, por lo tanto, mejorar la caracterización de los mismos. El enfoque recae principalmente en explotar estas redes de la forma más eficiente posible, poniendo el foco en cómo deben ser ajustadas y cómo es la forma más óptima de entrenarlas. 


Estas ventajas tienen un precio, que es el gran volumen de datos que necesitan estas redes neuronales para su entrenamiento. Mientras que en los desarrollos clásicos de Computer Vision los datos necesarios eran escasos, ya que se dejaba al investigador el extrapolar las soluciones, toda solución con Deep Learning necesita que la maquina aprenda mediante la presentación de casos relevantes y no relevantes para las decisiones que quiera tomar. Un ejemplo es la base de datos COCO, la cual se usa para entrenar redes neuronales para la detección, segmentación y clasificación de objetos en imágenes. Esta base de datos cuenta con 330.000 imágenes para poder clasificar 80 clases de objetos. Sin embargo, el mismo impulso que ha llevado a la creación de nuevas redes también ha impulsado la creación de dataset públicos muy completos (COCO, ImageNet, NMIST, etc.), lo que ha abierto la puerta a la creación de aplicaciones sin tener que generar dataset muy complejos y que consumirían gran cantidad de esfuerzo humano.


En resumen, Deep Learning ha permitido mejorar las aplicaciones existentes mediante la mejora del tratamiento de los datos disponibles, así como intercambiar esfuerzo humano (desarrollo de descriptores) por procesamiento máquina (entrenamiento). Además, esto implica que el ajuste a nuevos entornos no suele conllevar desarrollos complejos, sino un entrenamiento específico para las tareas a resolver.

El nuevo Computer Vision y Treelogic

Actualmente la visión artificial se encuentra en un estado envidiable de avances y posibilidades que ha permitido llegar a aplicaciones más complejas y robustas. La visión artificial más tradicional (antes de aplicar Deep Learning) sigue siendo altamente explotada cuando los casos de uso no permiten obtener grandes volúmenes de datos (eventos con poca probabilidad, anotaciones costosas, etc.) o bien no existen datasets ya construidos que puedan ser utilizados, lo que cierra la puerta a una aproximación con Deep Learning.


Adicionalmente, la visión artificial tradicional también ha encontrado una simbiosis con estos nuevos paradigmas a través de realizar los pre-procesamientos sobre las imágenes que deben procesar las redes neuronales. Estos pre-procesamientos se centran en mejorar los resultados de inferencia de la red neuronal mediante la obtención de datos más significativos. Por ejemplo, extrayendo parámetros de seguimiento de personas como una secuencia temporal, en vez del uso de las propias imágenes del vídeo, así como reduciendo los datos sobre los que se infiere mediante la detección de las partes de la imagen significativas, por ejemplo, usando una detección de caras en una imagen para una red de identificación de personas. Por su parte, la renovación de Computer Vision mediante la explotación de Deep Learning, ha permitido abordar casuísticas más variables, con relaciones más complejas y más robustas a cambios inesperados del entorno de aplicación.


Treelogic cuenta con un equipo de personas altamente formadas tanto en el tradicional como en el nuevo paradigma de visión artificial, que atesoran más de 15 años de experiencia en los que han aportado innovadoras soluciones al mercado, manteniendo una posición relevante a nivel europeo en proyectos de investigación. Este último punto les ha permitido estar actualizados y poder valorar continuamente las nuevas técnicas presentes en el estado del arte para trasladar aquellas más maduras a entornos de producción real. 


Este ámbito de trabajo permite a Treelogic crear soluciones avanzadas enfocadas en el tratamiento de imágenes y vídeos que solventen problemáticas actuales en diferentes sectores. Para ello, se aplican las técnicas más eficientes, considerando tanto el desarrollo software de la aplicación, como la selección de las tecnologías de cámaras que mejor encajen en cada caso.

ENTRADAS RELACIONADAS

DEEP LEARNING, APRENDIZAJE PROFUNDO

Desde que en la década de los años 50 se comenzó a hablar de Inteligencia Artificial, no se ha parado de investigar, avanzar y desarrollar este tipo de tecnología. Su principal objetivo reside en poder dotar a sistemas informáticos y digitales de procesos que imiten el funcionamiento del cerebro humano.


Seguir leyendo

BIG DATA EN TIEMPOS DE KUBERNETES

La contenerización de aplicaciones ha proporcionado un método idóneo para la investigación, desarrollo y producción del software. ¿Cómo se adecúan las herramientas Big Data a este mundo?


Seguir leyendo

ARQUITECTURAS TREELOGIC BIG DATA

Los millones de datos que se generan actualmente en la era digital no servirían de nada sin sistemas que canalicen toda esa información. El conjunto de tecnologías que permite el tratamiento masivo de ese conjunto de datos es lo que se conoce como Big Data.


Seguir leyendo

LA APROXIMACIÓN TREELOGIC: WE DEAL WITH DATA

Uno de los principales objetivos que tenemos en Treelogic, para cualquiera de nuestros proyectos, es ayudar al cliente a descubrir cómo los datos otorgan valor a su negocio.


Seguir leyendo

LA REVOLUCIÓN DEL INTERNET DE LAS COSAS

El Internet de las cosas, o IoT por sus siglas en inglés, engloba cualquier dispositivo que se conecte a la red y se comunique con otros objetos digitales, como una nevera, un termostato o la alarma de seguridad de nuestro hogar.


Seguir leyendo

VISIÓN ARTIFICIAL

Los seres humanos tenemos un sistema de visión que permite a nuestros ojos captar lo que nos rodea y a nuestro cerebro procesarlo, gracias a lo cual podemos comprender una situación y tomar decisiones al respecto. La visión artificial trata de lograr el mismo efecto, obteniendo de manera automática información visual a través de cámaras, digitalizando y procesando las imágenes de cara a comprender qué está sucediendo y transmitir los resultados para actuar en consecuencia.


Seguir leyendo