viernes, 1 de junio de 2018

La técnica de la vectorización para la captura de datos en Inteligencia Artificial



A diferencia de los humanos que capturamos los datos de la realidad a través de los sentidos, las computadoras capturan los datos a través de números y arreglos de números llamados vectores. Los vectores son una forma poderosa de representar datos de la realidad por su inherente mutidimensionalidad espacial que representa mejor para las máquinas cualquier aspecto de la realidad sea a nivel de olor, sonido, texto, imagen o video.

El proceso de abstracción de la realidad a números y arreglos números para aprendizaje de máquina se denomina vectorización computacional y consiste en la descomposición del sonido, texto, imagen o video en pequeños sectores trazados con uno o varios vectores de referencia en forma de vectores, matrices, cubos de matrices o hipercubos matriciales dependiendo de la complejidad del objeto, proceso o transacción que requiera ser interpretado.

En el caso del olor, se hace una descomposición de componentes (principalmente gases, vapores y polvo) a manera de la cromatografía tradicional para codificar y procesar la información química de sus componentes y vectorizarla según la asignación de códigos a sus propiedades con lo cual se puede reproducir la manera como actúa el olfato humano.
En el caso del sonido que es una percepción de la vibración mecánica expresada en términos de variación de la presión atmosférica en el aire con ocurrencias normalmente periódicas y no periódicas o en combinaciones de las mismas tiene siempre una cierta frecuencia y período determinado que se traduce en una señal analógica continua que requiere transformarse en señal digital discreta que puede expresarse matemáticamente por un vector o una matriz vectorial con esas especificaciones que el ordenador puede fácilmente entender y procesar.  


En el caso del texto redactado sea manuscrito, en procesador de textos o ya como texto digitalizado, se puede sectorizar palabra por palabra en un vector que tenga tantas dimensiones como palabras tenga el lenguaje madre que lo origina. Este proceso palabra por palabra es bastante lógico pero ineficiente en términos de extensión de data, más si consideramos que el idioma español tiene más de 88 mil palabras puras y más de 150 mil si se incluye americanismos (el idioma ingles supera las 350 mil palabras). Eso lo hace poco práctico, por lo que para estos casos se procede mejor con una estrategia de vectorización semántica con lo cual se reconoce patrones de palabras relacionadas o conectadas como si fueran cúmulos de palabras donde el vector puede trazar el cúmulo directamente y así lograr que la computadora entienda semánticamente para el procesamiento de máquina. En ese contexto el “keyword” sería espacialmente el centroide del cúmulo de palabras.

En el caso de las imágenes dibujadas o en fotografía, se ha recurrido a la representación por medio de unidades mínimas de imagen digital denominadas comúnmente “pixel” por medio de vectores tipo RGB o HSV. En el caso de los vectores RGB (Red-Green-Blue) cada imagen es referida a un conjunto de vectores por cada pixel con su respectiva combinación numérica de intensidades RGB según los colores que proyecta ya que con la combinación de estos tres colores (rojo, verde y azul) salen todos los colores posibles que conocemos. Con esto se conforma una matriz y su tridimensionalidad da un cubo que representa directa y en forma única el conjunto vectorial o matricial que corresponde específicamente a la imagen que quiere procesarse para el entendimiento computacional de una máquina. De igual forma sucede en el caso de vectores tipo HSV (Hue-Saturation-Value/brightness) donde cada vector identificado señala la saturación, matiz y brillo de cada pixel como característica centrales que permiten identificarlo en lenguaje de la máquina.

En el caso del vídeo el tratamiento es similar puesto que un vídeo es esencialmente una superposición de imágenes en una secuencia de tiempo que puede ser vectorizada imagen a imagen conformando un hipercubo de matrices único para cada vídeo que puede ser perfectamente leído y entendido por la máquina para efectos de análisis.
El propósito de la vectorización de datos para IA es la transformación de la realidad objetiva en conjuntos de arreglos numéricos que permitan la entrada lógica para el procesamiento de datos que puedan generar información relevante para la toma de decisiones por parte de la máquina.

Una vez completada la captación de datos de la realidad por medio de la vectorización de entradas, se inicia la configuración de un patrón para el proceso de reconocimiento diferenciado de los patrones obtenidos entre grandes volúmenes de datos (BigData) con lo que puede detectarse personas y objetos en determinados lugares y espacios temporales, reconocer preferencias, identificar tendencias comerciales y patrones de consumo, prospectar experiencias y hacer análisis predictivo puro o combinado sobre casi cualquier aspecto de la realidad. ¡Una poderosa herramienta al alcance de nuestras manos!!