Tag: Deep Learning

El terreno de las tecnologías de información está a la orden del día y son muchas las empresas que vuelcan gran parte de sus gastos en invertir en ellas. Los pilares sobre los que se sustentan las TIC´s son la Transformación Digital, el Big Data y la Industria 4.0. Siendo la Transformación Digital el principal proceso que escogen las empresas para consolidarse en la era más tecnológica conocida hasta la fecha.

Existen multitud de tendencias que vienen de la mano de estas tecnologías de la información, pero en este post sólo os hablaremos de aquellas que consideramos más importantes durante este 2018.

Inteligencia Artificial

Su despegue definitivo tuvo a lo largo del pasado año, constituyéndose a día de hoy como la tecnología más importante y con mayor progresión. Las principales tecnologías de inteligencia artificial que marcarán los años venideros son:

  • Del procesamiento conjunto de la ciencia computacional y la lingüística aplicada, nace el Procesamiento de Lenguaje Natural (PLN o NLP en inglés), cuyo objetivo no es otro que el de hacer posible la compresión y procesamiento asistidos por ordenador de información expresada en lenguaje humano, o lo que es lo mismo, hacer posible la comunicación entre personas y máquinas.
  • Machine Learning o aprendizaje automático, es una Inteligencia Artificial que crea sistemas que aprenden de forma automática. Actualmente, se utilizan en gran variedad de aplicaciones empresariales, principalmente para realizar predicciones, sistemas de recomendación o clasificaciones. El objetivo es crear algoritmos inteligentes para detectar patrones exitosos y aprender de estas tendencias para poder repetirlas.
  • Deep Learning o Aprendizaje profundo. Es una técnica dentro del machine learning basado en arquitecturas de redes neuronales artificiales. Está relacionado con algoritmos inspirados en la estructura y función del cerebro. Estas redes neuronales artificiales se construyen como el cerebro humano, con nodos de neuronas conectados como una red. Un modelo basado en deep learning puede aprender a realizar tareas de clasificación directamente a partir de imágenes, texto o sonido, etc. sin necesidad de intervención humana para la selección de características.

Internet de las cosas (IoT)

Con el Internet de las Cosas (en inglés, Internet of Things, IoT), hacemos referencia a la conexión de las personas con los objetos. El IoT se trata de la digitalización del mundo físico. Pongamos un ejemplo: IoT puede ser que un frigorífico pueda realizar una compra online de un producto que haya caducado.

Otro ejemplo podemos observarlo en las zapatillas deportivas en las que, mediante un chip en las botas, podemos tener datos reales sobre el esfuerzo físico realizado.

Quizás, aún tenemos un largo recorrido para que todos tengamos en nuestros hogares frigoríficos inteligentes, pero está a un paso de ser realidad gracias al sistema de identificación por radiofrecuencia, bastará con integrar un chip de pocos milímetros en cualquier objeto del hogar, del trabajo o de la ciudad para poder procesar y transmitir información a partir de él constantemente. El objetivo de todo esto es proporcionar a los consumidores una serie de servicios y aplicaciones inteligentes sin precedentes.

Edge Computing

A medida que los drones inteligentes, los vehículos autónomos y otros dispositivos inteligentes alimentados con inteligencia artificial se conectan y se comunican de manera instantánea a través del IoT, la cuestión del envío de sus datos a la nube es muy poco práctico. Muchos de estos dispositivos necesitan respuesta y procesamiento en tiempo real, lo que convierte al edge computing en la única opción viable.

Como podéis observar, este término está muy ligado al anterior, ya que su principal objetivo es hacer útil aquellos datos recolectados por los sensores y dispositivos loT. Antes, estos datos se enviaban a la nube (Cloud Computing) como almacenamiento y solo servía para obtener cierta información. Actualmente, estos datos procedentes del IoT y de sensores se procesan a través del Edge Computing (análisis en local en lugar de en la nube) y aporta una mayor autonomía a éstos para que sean más “inteligentes”, no sólo para recolectar la información sino también para analizarla.

El edge computing conlleva muchas ventajas: análisis de los datos en tiempo real ya que son analizados a nivel local y abaratamiento de costes operativos ya que no se requieren centros de datos. Sin embargo, aunque el Edge continúe siendo la opción preferida para procesar datos en tiempo real, es probable que los datos más importantes y relevantes sigan dirigiéndose a la nube.

Big Data Analytics: análisis de grandes volúmenes de datos.

Es un concepto que agrupa esas tecnologías y modelos matemáticos que se dedican a almacenar, analizar y cruzar toda grandes volúmenes de datos para intentar encontrar patrones de comportamiento o información útil para hacer de esta información una ventaja competitiva de inteligencia empresarial. Las plataformas de analítica Big Data serán una herramienta indispensable para la toma de decisiones.

Industria 4.0 

Esta industria 4.0, también denominada Industria Inteligente, se trata de una nueva revolución industrial de base tecnológica que constituye una nueva forma de organización y gestión de la cadena de valor de la industria. Esta cuarta revolución industrial viene determinada por la introducción de la tecnología digital en fábricas inteligentes capaces de adaptarse a las necesidades y procesos de producción. Este cambio tecnológico, permite vincular el mundo físico al virtual para hacer de la industria una industria inteligente. Aunque las oportunidades que ofrece esta industria 4.0 son múltiples, la que más nos llama  la atención es que en los próximos años surgirán nuevos modelos de negocio que enriquecerán la cadena de valor de la industria y estarán basados en la creación de nuevas propuestas para los clientes tanto externos como internos. Sin embargo, la integración total de los sistemas de información se enfrentarán a un desafío importante: la recolección de una inmensidad de datos procedentes de una gran variedad de fuentes diversas y heterogéneas, donde entrarán en juego las tecnologías anteriormente citadas: big data, inteligencia artificial, IoT, edge computing…

Blockchain

El blockchain, o cadena de bloques en español, se trata de una base de datos diseñada para almacenar de forma creciente (por bloques) datos ordenados en el tiempo (en cadena) y que no puedan ser modificados una vez publicados (mantiene los datos seguros y privados).

La primera aplicación práctica de la cadena de bloques pudimos verla con la aparición de las criptomonedas o el bitcoin en 2008. También, puede utilizarse para registrar datos de transacciones -se puede aplicar a todo tipo de transacciones que no tienen por qué ser necesariamente económica-, acuerdos, contratos, etc., es decir, todo aquello que se tenga la necesidad de registrar de forma independiente y verificada.

Además, este registro de datos es universal, es decir, no se distribuye en un único sitio sino a través de muchas computadoras y toda persona puede acceder a esta base de datos con la versión actualizada. Esto supone que todo el control del proceso está en manos de los propios usuarios.

El futuro de esta tecnología vendrá de la manos de aquellas empresas que desarrollen sus propios servicios de blockchain o cadena de bloques, sobre todo en el sector bancario, tanto para ofrecer servicio al público en general como para grupos reducidos, un servicio personalizado para clientes específicos.

Realidad aumentada

La realidad aumentada consiste en combinar el mundo real con el virtual mediante un proceso informático, enriqueciendo la experiencia visual y mejorando la calidad de comunicación. No debemos confundir este término con el de realidad virtual, en el post anterior hacemos referencia a ambos términos así como las principales diferencias entre los mismos.

Gracias a esta tecnología se puede añadir información visual a la realidad, y crear todo tipo de experiencias interactivas: catálogos de productos en 3D, probadores de ropa virtual, video juegos y mucho más. Aunque existen tiendas online en las que esta realidad aumentada está implementada, aun queda mucho por recorrer. Cabe esperar que se consolide esta tendencia para que deje de serlo y se instaure como un recurso imprescindible.

La era digital ha provocado una explosión de datos en todas las formas y desde todas las regiones del mundo. Esta explosión de datos, conocido como Big Data, no siempre están bien estructurados y no son accesibles. Se podría tardar que una persona pudiera manualmente extraer la información relevante de estos grandes datos desestructurados. Sin embargo, existen técnicas de Inteligencia Artificial que permiten la estructuración de los datos y posibilita la extracción de información útil de los mismos. Por este motivo, las empresas se dan cuenta el increíble potencial del Big Data & Inteligencia Artificial.

QUÉ ES DEEP LEARNING

Deep learning (aprendizaje profundo) es una nueva técnica dentro del aprendizaje automático (machine learning) basado en arquitecturas de redes neuronales. Está relacionado con algoritmos inspirados en la estructura y función del cerebro, de ahí el nombre redes neuronales artificiales. Las redes neuronales artificiales se construyen como el cerebro humano, con nodos de neuronas conectados como una red.

Mientras que los modelos tradicionales crean análisis con estructuras lineales, los modelos de deep learning se caracterizan por su estructura jerárquica permitiendo procesar los datos con un enfoque no lineal.

¿Qué tiene de especial el deep learning? Un modelo basado en deep learning puede aprender a realizar tareas de clasificación directamente a partir de imágenes, texto o sonido, etc. Sin necesidad de intervención humana para la selección de características, esto se puede considera la principal característica y ventaja del deep learning, llamada “feature discovering” .Pueden, además, poseer una precisión que supera al ser humano.

EN QUÉ CONSISTE, CÓMO FUNCIONA

Los modelos se entrenan mediante un amplio conjunto de datos etiquetados y arquitecturas de redes neuronales que contienen muchas capas.

La primera capa de la red neuronal procesa una entrada de datos brutos como por ejemplo una imagen, y la pasa a la siguiente capa como salida, este proceso se va repitiendo sucesivamente hasta completar todas las capas de la red neuronal. Por ejemplo, una imagen que comienza como una matriz de píxeles. Las características aprendidas en la primera capa puede ser por ejemplo, la aparición o no de ejes en una parte concreta de la imagen. La segunda capa detecta uniones de ejes. La tercera capa aprende combinaciones que correspondería a partes de objetos. La principal característica de este método es que estas capas realizan el descubrimiento de características sin intervención humana, aprendiéndolo directamente de los datos brutos.

El término “deep” (profundo) suele hacer referencia al número de capas ocultas en la red neuronal que pueden ser hasta 150 capas (las redes neuronales tradicionales solo contienen dos o tres capas oculta).

ARQUITECTURAS DEEP LEARNING

Hemos comentado que la mayoría de métodos de machine learning emplean arquitecturas neuronales, por lo que las arquitecturas de deep learning emplean modelización de redes neuronales, tales como:

  • Deep Neural Network (DNN) o Redes neuronales profundas
  • Convolutional Neuronal Network (CNN) ó Redes neuronales profundas convolucionales
  • Deep Belief Network (DBN) o Redes de creencia profundas

corteza visual_deep learning

CONVOLUTIONAL NEURONAL NETWORK 

En este post nos centraremos en la arquitectura de deep learning, Convolutional Neural Network (CNN) que, traducido al español, se trata de Redes Neuronales Convolucionales. En este tipo de arquitectura se emplean modelizacion de redes neuronales artificiales donde las neuronas correspondes a campos receptivos -similar a las neuronas en la corteza visual V1 de un cerebro humano-. Este tipo de redes son muy efectivas para tareas de:

  • Detección y categorización de objetos
  • Clasificación y segmentación de imágenes

El objetivo de CNN es aprender características de orden superior utilizando la operación de convolución. Puesto que las redes neuronales convolucionales puede aprenden relaciones de entrada-salida (donde la entrada es una imagen), en la convolución, cada pixel de salida es una combinación lineal de los pixeles de entrada.

Pero, ¿qué significa “convolucion”? La convolución consiste en filtrar una imagen utilizando una máscara. Diferentes máscaras producen distintos resultados. Las máscaras representan las conexiones entre neuronas de capas anteriores. (INAOE).

Estas capas aprenden progresivamente las características de orden superior de la entrada sin procesar. Este proceso para aprender características automáticas es la característica principal del modelo de deep learning, llamado descubrimiento de características.

Las redes neuronales convolucionales se forman usando dos tipos de capas: convolucionales y pooling.(INAOE). La capa de convolución transforma los datos de entrada utilizando la operación matemática de convolución. La operación de convolución describe cómo fusionar dos conjuntos de información diferentes.

Después de la capa o capas de convolucion se usa una capa de pooling. La función de las capas de pooling es resumir las respuestas de las salidas cercanas. La principal característica de la capa de pooling son dos. Primero, la capa de pooling reduce progresivamente el tamaño espacial de los datos. Y segundo, la agrupación ayuda a obtener una representación invariable a una pequeña traslacion de la entrada.

Convolutional Neuronal Network

Las redes neuronales convolucionales fueron algunas de las primeras redes neuronales aplicadas para resolver aplicaciones comerciales importantes. Un ejemplo de ello fue en la década de 1990, AT & T desarrolló un modelo de CNN para la lectura de cheques. También más tarde se desarrollaron muchos sistemas OCR basados ​​en CNN. Actualmente, el interés por el deep learning se debe en gran parte a la victoria de Krizhevsky et al. en el desafío de imageNet.

El congreso IWANN se trata de un foro de discusión para científicos, ingenieros, educadores y estudiantes en el que se debaten y se exponen los últimos descubrimientos realizados en teorías, modelos y sistemas inspirados en la naturaleza. Estos descubrimientos han sido realizados mediante la utilización de diferentes metodologías de inteligencia computacional, enfocadas particularmente en temas relevantes al Deep Learning, la computación centrada en el ser humano y en proyectos del cerebro humano.

Este evento, organizado por la Universidad de Málaga, Universidad de Granada, Universidad Politécnica de Catalunya, Universidad de Cádiz y IEEE Computational Intelligence Society se realiza cada dos años, y los próximos días 14, 15 y 16 de junio se celebrará por primera vez en la ciudad de Cádiz.

Coincidiendo con el estreno de la Universidad de Cádiz en la participación de este Congreso, nuestro compañero Mario Rivas, ingeniero I+D+i  de nuestro equipo técnico, asistirá al IWANN el primer día del congreso para hablar de  “Using deep learning for image similarity in Product Matching”. En esta ponencia colaboran también nuestro director técnico Jaime Martel junto a docentes de la Universidad de Cádiz como María De La Paz Guerrero, Elisa Guerrero, Guillermo Bárcena y Pedro L. Galindo.

Ésta ponencia tendrá lugar el primer día de IWANN 2017, el miércoles 14 de junio de 9 a 11 de la mañana en el Salón Lequerica del edificio Constitución 1812 (ver programación).  Será la primera ponencia de las que componen la sesión “Image and Signal Processing” moderada por el Dr. Joseph Constantin.

Asimismo,  a lo largo de estos tres días, en IWANN 2017 se darán cita docentes, investigadores y profesionales del sector donde compartirán experiencias y estudios relacionados con:

  • Los métodos matemáticos y teóricos en la inteligencia computacional.
  • Formulaciones neurocomputacional.
  • Aprendizaje y adaptación.
  • La emulación de las funciones cognitivas.
  • Sistemas y neuro-ingeniería Bio-inspirado.
  • Temas avanzados en inteligencia computacional.
  • Aplicaciones

Además, IWANN 2017 contará con tres ponentes invitados de gran prestigio cómo son:

invited speakers IWANN

  • Matthias Rauterberg, de la Universidad de Eindhoven, que hablará sobre “How to desig for tne unconscious”.
  • Ulrich Rückert, de la Universidad de Bielefeld, cuya ponencia tratará acerca de “Cognitronics: Resource-efficient Architectures for Cognitive Systems”.
  • Le Lu, del Instituto Nacional de Salud de Estados Unidos, cuyo tema será “Towards ´Big Data, Weak Label and True Clinical Impact´ on Medical Image Diagnosis: The Roles of Deep Label Discovery and Open-ended Recognition”.

El Product Matching es un área perteneciente a Data Matching o Record Linkage encargada de identificar automáticamente aquellas ofertas, productos o entidades en general, que aparecen en la web procedente de diversas fuentes, aparentemente de forma distinta e independiente, pero que hacen referencia a una misma entidad real.

Actualmente, el Product Matching está experimentando un auge debido al incremento de compras online, lo cual ha propiciado la aparición de herramientas de comparación, monitorización y análisis de precios de los productos en venta. Desde el punto de vista de la implementación software, este proceso conlleva un arduo trabajo, ya que para un mismo producto, su descripción o nombre puede aparecer de distinta forma en páginas web diferentes, lo cual puede llevar a equívoco al motor de búsqueda obteniendo resultados incorrectos. Por tanto, se requiere de:

  • Un minucioso, exhaustivo y preciso proceso de búsqueda de productos a través de la web
  • Un filtrado de elementos candidatos, extracción de características, identificación y asociación de productos iguales y distintos
  • Un análisis de los parámetros o características que se requieren investigar entre estas entidades

Aproximación al estado del arte

El Product Matching debido a su relación con el Data Matching o Record Linkage comparte muchas de sus características. El Record Linkage se ha centrado principalmente, desde su nacimiento, en la fusión de distintas bases de datos en una única en la que se identifiquen aquellos elementos relacionados en ambas bases de datos, bien eliminando esas duplicaciones  y/o registrando nuevos enlaces. En las investigaciones realizadas hasta la fecha en el campo del Product Matching se pueden distinguir dos enfoques distintos:

  1. Uso de técnicas de similitud de textos (asociar a cada producto el título, descripción, características técnicas, etc.) para decidir si dos elementos de fuentes distintas hacen referencia a una misma entidad.
  2. Aplicar técnicas de aprendizaje automático para generar modelos que realicen la correspondencia entre productos.

Estos dos enfoques no son independientes entre sí. Normalmente, para el uso de técnicas de aprendizaje automático es necesario el uso de técnicas englobadas en el primer enfoque (Ej. tokenizado de textos, medidas de similitud, etc.) para obtener las entradas a los modelos que serán generados con el segundo enfoque.

Una nueva aplicación conocida como Content Based Image Retrieval (CBIR) ha surgido en el ámito del procesamiento de imágenes con el objetivo de resumir la información de una imagen en varias de sus características tales como el color, textura, forma o la combinación de éstas.

La forma de los objetos que se encuentran dentro de una imagen, es una de las características más usadas en las técnicas CBIR. Para obtenerla con necesarias técnicas de extracción morfológicas. Dentro de estas técnicas tiene una especial relevancia la basada en los Descriptores de Fourier. Dentro del campo de CBIR, también se deben destacar las técnicas de descomposición de imágenes en regiones locales de interés. Estas técnicas detectan, en una imagen, aquellos puntos más importantes y significativos pertenecientes a una región. Dichos puntos son denominados keypoints. En la literatura es posible encontrar una gran variedad de algoritmos para la obtención de keypoints dentro de una imagen.

ITELLIGENT_Product Marching_Monitorizacion de precios

Con el reciente auge del Deep Learning también han aparecido aplicaciones para CBIR. El Deep Learning consiste en un conjunto de algortimos de aprendizaje automático que generan modelos abstractos de alto nivel mediante el empleo de arquitecturas “profundas” -deep- compuestas de múltiples transformaciones no lineales, dispuestas de manera jerárquica. Ese enfoque es diferente a las técnicas convencionales de aprendizaje automático que se basan en arquitecturas “planas”.

Dentro de las múltiples técnicas englobadas dentro del Deep Learning, la técnica Convolutional Neuronal Network (CNN) es especialmente usada en el campo de CBIR. Esta técnica consiste en la utilización de múltiples capas de convolución situadas una encima de otra. Entre estas capas se comparten pesos así como la salia producida a la capa inferior. Mediante el entrenamiento de estos pesos y la disposición de las capas se consiguen modeles capaces de ser independientes a la rotación, traslación, contrastes, etc.

La importancia e imparable crecimiento del comercio electrónico –ecommerce- ha obligado a las organizaciones a disponer herramientas de monitorización de precios, que le permitan gestionar sus políticas de precios y conocer las estrategias de la competencia. Para estas herramientas es fundamental realizar una identificación adecuada de los productos entre las distintas fuentes que se monitorizan, ya que de no ser así no se podrán comparar los productos con sus verdaderos rivales, distorsionando toda la información obtenida.