28 marzo, 2019

Inteligencia Artificial y su aplicación en video

Sharing is caring!

Las tecnologías de información (TI´s) es una de las ramas que se renueva constantemente.  En cada entrega, la gente puede encontrar aplicaciones más eficientes que le ayudan en las tareas de su vida cotidiana, o también, nuevos servicios novedosos. Por su parte, en cada aplicación  de software (app), programa o sistema se encuentra respaldada por una gran cantidad de herramientas computacionales y disciplinas matemáticas.

Dentro de estas disciplinas matemáticas se encuentra la inteligencia artificial, la cual se define como el diseño e implementación de sistemas capaces de mostrar en su comportamiento aspectos propios, tales como el aprendizaje o solución de problemas. Esta se ayuda de varias disciplinas como: matemáticas, piscología, cognición, biología y filosofía (Solutions, 2016).

Anteriormente, solo se podía encontrar en rutinas o tareas muy específicas o en sistemas especializados, por lo cual, solo era conocido por los especialistas en el área. Conforme la tecnología evolucionó, empezó a ser más visible en aplicaciones cotidianas al público en general. Actualmente, muchas de estas implementaciones se encuentran en: videojuegos, electrodomésticos, Internet¸ automóviles, robots, entre  otros. Finalmente, empresas como IBM con Bluemix y Google con TensorFlow y Google Cloud ponen a disposición de los programadores y entusiastas, muchas de estas herramientas de inteligencia artificial que requieran implementar para sus aplicaciones, incrementando aún más su apertura a la gente.

APRENDIZAJE MÁQUINA

Una de las áreas importantes de estudio e implementación de la inteligencia artificial es el aprendizaje máquina (machine learning) o también conocido como aprendizaje automático. Esta área tiene como fin resolver aquellos problemas o modelos computacionales en los que se necesita clasificar o categorizar (ranking) mediante un conjunto de prototipos con una buena garantía de solución.

Para lograr dicha solución, se necesita entrenar al modelo computacional con muchos ejemplos, logrando reconocer mejor cada caso, e inclusive, diferentes clasificaciones en caso de existir. Un ejemplo de aprendizaje máquina se encuentra en el correo de Gmail, cuando la gente le da “click” a un correo notificando que es un correo no solicitado llamado spam, se ayuda  al modelo computacional a clasificar y categorizar mejor el servicio, teniendo una bandeja de entrada más limpia con los correos normales y mandando  los correos indeseados a la carpeta respectiva.

Dicho en otras palabras, en el aprendizaje máquina se le enseña con muchos ejemplos a la computadora para que  aprenda de forma correcta, reforzando con esto las características de inteligencia artificial mencionadas al comienzo de la lectura de este documento.

REDES NEURONALES ARTIFICIALES

Las redes neuronales artificiales (RNA´s) son una forma específica de lograr el aprendizaje máquina. Son modelos matemáticos estadísticos que se basan en la misma forma de trabajar que las neuronas del cerebro humano. Cuando un impulso o estímulo sobrepasa un umbral (threshold), se activa dicha neurona provocando una acción, en caso contrario, otra neurona se puede activar en caso de existir y que responda acorde a dicho estímulo. En ejemplo de esto es cuando las personas detectan la temperatura de un objeto, si sobrepasa de cierto límite o umbral se puede decir que está frio o caliente.  

El modelo más sencillo es una sola neurona artificial la cual permite una sencilla clasificación binaria (dos categorías) mediante una línea recta. Para demostrar los conceptos de aprendizaje máquina, ejemplos  y clasificación, se muestra primeramente el modelo sin ningún tipo de procesamiento, ver Figura 1.

Figura 1 Entrenamiento de una sola red neuronal (Cloud, 2017)

En esta figura se ve gráficamente en la parte derecha dos categorías de datos en forma de grupos, una de color naranja y otra de color azul. Los datos de cada grupo se usarán como ejemplos para que el modelo aprenda a clasificar un grupo del otro, y la línea blanca servirá gráficamente como umbral para delimitar una categoría de la otra.

Posteriormente, sigue el proceso de dar los ejemplos a la red neuronal, llamado entrenamiento. Conforme se introduce cada ejemplo, el umbral de la neurona artificial cambiará su pendiente y  terminará de girar hasta que aprende a categorizar todos los ejemplos de forma correcta. En la figura 2 se muestra el proceso terminado.

Figura 2 Red neuronal entrenada (Cloud, 2017)

En esta figura, el umbral separa correctamente ambas categorías. Si se introduce un dato nuevo, el umbral la clasificará en alguna de las dos regiones marcadas. Si se introducen más ejemplos para su entrenamiento, el umbral cambiará acorde a todo el conjunto anterior más los nuevos ejemplos, haciendo más eficiente su clasificación.

Resumiendo lo anterior, una neurona artificial es una forma particular de aprendizaje máquina. Requiere de un conjunto de ejemplos como entrenamiento. Tiene un umbral para clasificar los datos en categorías.  Y por último, mientras más ejemplos se hallan dado como entrenamiento, mejor será su aprendizaje y  clasificación.

APRENDIZAJE PROFUNDO

El cerebro humano tiene miles de millones de neuronas dispuestas en una red, la cual le permite aprender cosas muy sofisticadas que van mucho más allá de una simple clasificación. Análogamente, las neuronas artificiales se pueden  conectar de diferentes formas creando redes neuronales artificiales (RNA´s) permitiéndoles clasificaciones más complejas, ver Figura 3.

Figura 3 Red neuronal con una capa oculta (Cloud, 2017)

En esta figura se tienen dos grupos de datos, uno al centro y el otro  en la periferia. Gráficamente no es posible clasificar los datos con líneas rectas, por lo cual, ahora se tiene una RNA intermedia oculta (hidden layer) de cuatro neuronas, permitiendo su correcto entrenamiento y clasificación.

El proceso de agregar capas ocultas de RNA´s para poder obtener clasificaciones más complejas se le llama aprendizaje profundo (Deep learning). A mayor número de capas ocultas y RNA´s,  mayor será el número de características a poder clasificar. En la figura 4 se muestra un ejemplo más avanzado.

Figura 4 Red neuronal con 3 capas ocultas (Cloud, 2017).

En esta figura se observa que ahora ambos grupos de datos están en forma de espiral. Para la solución de este caso se utilizaron tres capas ocultas de RNA´s. La primera y segunda capas tienen ocho neuronas cada una. La tercera capa tiene cuatro.

INTELIGENCIA ARTIFICIAL Y GOOGLE CLOUD

Debido al uso del aprendizaje máquina, redes neuronales artificiales y aprendizaje profundo se ha logrado no solo clasificar puntos o grupos de datos, sino también, imágenes, sonido y texto de las imágenes, por solo mencionar algunos ejemplos.

Recientemente, Google ha lanzado una plataforma de servicios de cómputo en la nube  llamada Google Cloud, la cual ofrece  varios servicios de procesamiento de video y/o imágenes basados en herramientas de inteligencia artificial mencionadas anteriormente.

Dentro de los servicios de esta plataforma se encuentra Vision API, la cual ofrece a las industrias varias funciones para procesar video o imágenes, ver Figura 5.

Figura 5 Google Vision API (Google, Google Cloud, 2017)

Esta figura muestra diferentes tipos de características que se pueden identificar o extraer en una imagen mediante este servicio. Tales características pueden ser:

  • Label DetectionPermite detectar un objeto u cosa dentro de una imagen mostrando sus características en caso de detectarlo, por ejemplo en esta imagen: nombre del animal, clasificación,  dieta, hábitat, etc.
  • Face Detection.  Permite detectar rostros dentro de una imagen o video. También, muestra características de las caras (cabello, tipo de cabello, lentes, objetos en la cabeza como gorras o sombreros, etc) y en caso de ser posible su estado de ánimo.
  • OCR. Permite detectar texto y su significado como en el caso de anuncios públicos.
  • Explicit Content Detection. Clasifica imágenes o secciones de video como contenido ofensivo o censurado para el público en caso de existir.
  • Landmark Detection. Permite detectar una zona geográfica única o  con características únicas y devolviendo su ubicación en un mapa por latitud y longitud, que en este caso es la torre Eiffel.
  • Logo Detection. Finalmente, esta opción permite detectar un logotipo dentro de una imagen, devolviendo su significado y  propiedades, por ejemplo, en el caso de una empresa: nombre, a qué empresa pertenece, ubicación, giro, etc.

Por su parte, el servicio de Video Intelligence también puede ofrecer servicios interesantes a las empresas que usan videos como fuentes de datos, ver Figura 6.

Figura 6 Búsqueda en videos (Google, Google Cloud, 2017)

Esta figura muestra el resultado de buscar “Baseball” dentro de un conjunto de videos. Los resultados por video muestran por cada elemento buscado si se encontró algún elemento relacionado con la búsqueda, su tiempo de inicio y término. Esta función puede ser muy útil para los casos  donde las personas, empresas o instituciones tengan información valiosa en este formato, permitiendo una búsqueda ágil y eficiente, dado que es difícil documentar el contenido de un video en una base de datos, Google ofrece una herramienta poderosa para esta situación.

Por último, estos avances en tecnología permiten expandir el abanico de opciones para poder procesar información no estructurada para las empresas, permitiendo ofrecer nuevos productos o servicios, aumentar el nivel de calidad o tener algún diferenciador en el mercado, analizando este tipo de información.

Referencias

Cloud, G. (8 de Marzo de 2017). Infuse Your Business with Machine Learning. Obtenido de Google Cloud Next ´17: https://www.youtube.com/watch?v=OyOYNCy7Wwk

Google. (8 de Marzo de 2017). Google Cloud. Obtenido de TensorFlow and DeepLearning without a PhD, PArt 1: https://www.youtube.com/watch?v=u4alGiomYP4

Google. (10 de Marzo de 2017). Google Cloud. Obtenido de TensorFlow and Deep Learning without a PhD, Part 2: https://www.youtube.com/watch?v=fTUwdXUFfI8

Google. (9 de Marzo de 2017). Google Cloud. Obtenido de Machine Learning APIs by Example: https://www.youtube.com/watch?v=w1xNTLH1zlA

Solutions, N. D. (Noviembre de 2016). Inteligencia Artificial en nuestra vida cotidiana. Obtenido de CÓMPUTOCOGNITIVO.COM: http://computocognitivo.com/blog/inteligencia-artificial-en-nuestra-vida-cotidiana/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

CONTÁCTANOS