Recorrer con una lupa una pequeña roca en la montaña permite descubrir paisajes mágicos, irreales. Pertenecenen a otros mundos ?









Recorrer con una lupa una pequeña roca en la montaña permite descubrir paisajes mágicos, irreales. Pertenecenen a otros mundos ?









Orlando Rodríguez
El presente Blog corresponde a la parte II del tema “Inteligencia Artificial y Matemáticas”, Para su comprensión recomiendo revisar previamente la primera parte.
En el blog anterior ilustré el modelo Neuronal, con una capa de entrada, una serie de capas ocultas (Hidden Layers), y una capa de salida, Output Layer.
Cómo alimentar el modelo con una entidad clasificable , y cómo interpretar la información de salida?
Asumamos que contamos con un modelo entrenado para reconocer imágenes de gatos y que deseamos utilizar dicho modelo para clasificar la imagen de la figura 1 , como gato o no gato.

Figura 1. Imagen “gato1.jpg”
La figura 1 tiene varias características:
De acuerdo a lo anterior, la información bit a bit de la imagen puede visualizarse así:

Figura 2. Información digital del archivo “gato1.jpg”. Para efectos ilustrativos, la imagen se ha reducido a 5X5 pixeles.
Como se puede apreciar, el primer pixel (superior a la izquierda) tiene tres capas (255, 238, 44), correspondiente a los valores de composición Rojo, Verde y Azul respectivamente.
Luego, si la imagen tiene 30X30 pixeles, el tamaño de archivo será de (30 X 30 X 3 = 2,700 bytes) un byte por pixel por capa.
Para utilizar esta imagen en el modelo, es necesario “Vectorizar” previamente la información, esto es, convertir el arreglo original (30X30X3) a un vector columna (2700X1). Ver Figura 3.

Figura 3. Información digital vectorizada del archivo “gato1.jpg”.
Los 2,700 bytes obtenidos corresponden a la capa de entrada del modelo (Input ayer), ver figura 4.

Figura 4. Información de la capa de entrada (Input Layer). Contrastar los valores indicados con la información contenida en las figuras 1 y 2.
El número de parámetros entre capas de nodos está definido como el producto de nodos de las dos capas a unir. Así, para unir todos los nodos de la capa de entrada con la primera capa oculta se requieren 6 X 2,700 = 16,200 parámetros, y así sucesivamente.
En virtud de ser estrictos, ni la figura 4 ni la teoría explicada incluyen algunos parámetros adicionales por capa, los cuales especifican los “bias” o umbrales del modelo. Se omiten solo con propósitos de explicación general del funcionamiento de clasificación.
Con la capa de entrada alimentada, y con los parámetros previamente definidos, es posible entonces calcular primero los valores de Hidden Layer 1, luego Hidden Layer 2 y finalmente Output Layer, una operación conocida como “Forward Propagation”.
Ahora bien, la capa de salida cuenta con un solo nodo (fig 4). Este nodo representa la salida general del modelo, un único valor que debe representar la clasificación obtenida.
Una vez calculado su valor es necesario transformar el mismo en un valor entre cero y uno, mediante un tratamiento matemático llamado “Función de activación”.
El convertir la salida a un valor entre cero y uno implica que dicho valor se transforme en una probabilidad, si mayor a 0,5 indicando que la imagen ha sido clasificada como “Gato”, si menor o igual a 0.5 como “No Gato”.
La frontera de clasificación es subjetiva, y en algunos casos puede correrse hacia valores superiores a 0.5, en otros a valores inferiores.
Imaginemos que los que se está clasificando no son imágenes de gatos sino imágenes de tumores de piel, en clasificaciones maligno-benigno.
En este caso, un falso positivo, clasificar una imagen como tumor maligno siendo en realidad tumor benigno tiene implicaciones demasiado fuertes para el paciente, de manera que se pueda decidir especificar la frontera hacia 0,6 o similar.
Cuántas capas ocultas debe tener el modelo? Cuántos nodos en cada capa? Esto es algo que debe definir el Data Scientist. En general, cuatro a seis capas ocultas, 200 a 300 nodos por capa es común para obtener resultados con probabilidad de error inferiores al 5% en la clasificación.
Varios conceptos deben estar claros en este momento de la lectura:
En qué consiste el entrenamiento ?
En general, el modelo se entrena con imágenes cuya clasificación se conoce, y se parte de un conjunto de parámetros seleccionados al azar. Basado en el resultado de clasificación del conjunto de “Imágenes de entrenamiento”, training Set, es posible calcular el error de clasificación. Con este error se alimenta un algoritmo que recalcula los parámetros a unos nuevos valores, Back Propagation, de manera que en una segunda corrida se obtenga una mejor aproximación (menor error) de clasificación.
Esta operación se repite 10,000 o mas veces hasta obtener un margen de error adecuado.
Una vez entrenado el modelo, se puede probar la calidad de su huella con imágenes de prueba, Test Set. de esta manera, su todo sale bien, se cuenta con un modelo convenientemente entrenado.
Y qué tiene que ver todo esto de aprendizaje de máquina con la naturaleza, objeto central de mis blogs?
Entender el funcionamiento de las redes neuronales nos permite abordar desde una nueva óptica temas inherentes a la vida misma:
Con el próximo blog, último del tema, espero dejar planteadas estas inquietudes, no las respuestas, en la red neuronal de sus cerebros.
Orlando Rodríguez
“Al afirmar verbalmente que las Matemáticas son difíciles, estamos diciéndolo con un lenguaje cuya sintaxis es tan compleja, no mas, no menos, que aquella que gobierna las matemáticas”
Las redes neuronales (DNN) son uno de los modelos de aprendizaje de máquina mas utilizados hoy en día. DNN se puede visualizar como un conjunto de nodos y líneas conformando una red, ver figura 1. Su similitud con la organización de las neuronas en el cerebro es evidente, pero este tema lo abordaré mas adelante.

Figura 1. Esquema simplificado de Red Neuronal Profunda (DNN)
En una red neuronal, dos nodos y una línea corresponden a una unidad básica del modelo, y son una representación gráfica de una función matemática del tipo:
f(x) = k.x
Para la figura 2, la variable de entrada (x) corresponde al nodo verde, la variable de salida f(x) al nodo azul, y la línea que las une corresponde a la constante k:
![]()
Figura 2. Unidad fundamental de una DNN
Toda función matemática puede visualizarse como una caja que recibe uno o varios elementos de entrada y entrega un único elemento de salida:

Figura 3. Representación gráfica de una función matemática
La función “f ” es una relación matemática entre una o mas variables de entrada y una variable de salida.
Así, la función
f(x) = 3.x
toma valores de entrada x, los multiplica por 3 , y entrega valores de salida f(x):

Figura 4. Elementos de entrada (x) y salida f(x) definidos por la función f
El valor “3” sobre cada flecha corresponde al valor de la constante (parámetro de la función) que caracteriza la misma en cada caso.
En la red neuronal de la figura 1, cada elemento de salida corresponde a la suma de varias funciones, cada una con su propio parámetro que la define:

Figura 5. Función con tres variables de entrada y una variable de salida
A modo ilustrativo, trabajemos sobre algunos nodos y líneas de la Red Neuronal mencionada arriba, ver Figura 6.

Figura 6. Detalle parcial de una red Neuronal
Para estos elementos de la red, podemos definir una función
f(Xi) = Sum(Ki.Xi)
Esto es, la salida f(Xi) (nodo naranja) corresponde a la sumatoria de las variables de entrada multiplicadas cada una por su constante correspondiente (parámetro de la función) .
Lo que el ejemplo anterior nos evidencia es que si pre-definimos valores para los 32 parámetros (valores del total de líneas de enlace de la Red Neuronal) y contamos con los valores de las tres variables de entrada (Input Layer) , podemos ir encadenando de izquierda a derecha los resultados de las funciones, convirtiéndose la salida de una función en la entrada de la siguiente, hasta obtener los valores de la última salida , o Output Layer.
Esta operación se conoce como “Forward Propagation” , que para modelos entrenados (parámetros con valores asignados), permite que se puedan evaluar o clasificar entidades de entrada, siendo esta evaluación la salida calculada del modelo.
El siguiente blog lo dedicaré a un ejemplo ilustrativo de la teoría expuesta.
Orlando Rodríguez
Soy Biólogo, y desde mi precaria esquina de conocimiento, pero gracias a la estrecha relación con profesionales de múltiples disciplinas, vinculados en su mayoría al Instituto de Neurociencias de La Universidad del Bosque, me he lanzado a la fascinante aventura de entender los fundamentos de la Inteligencia Artificial.
Que pretendo?
Responder, si no es soberbio de mi parte, la pregunta: Qué tan artificial es la Inteligencia Artificial ?

Imagen 1. Ilustración del cerebro humano, una gran red viva de procesamiento de información. (Imagen credit: ferguskane.com)
Poco a poco he venido intuyendo que los elementos que gobiernan el Aprendizaje de Máquina quizás no sean tan diferentes, al menos en sus conceptos fundamentales, a aquellos que gobiernan el aprendizaje humano.

Imagen 2. Ilustración de una “Red Neuronal Artificial Profunda”, pieza básica del aprendizaje de máquina.(Imagen credit: Datanami.com)
Dedicaré entonces algunos de mis futuros blogs para compartir lo poco que he venido descubriendo sobre Inteligencia Artificial. Espero no aburrir a mis lectores. Prometo intercalar esta serie de blogs con otros blogs menos abstractos. Espero seguir compartiendo mis fotografías, registros todos del maravilloso milagro del universo y de su más bella expresión: La vida.
Orlando
Orlando Rodríguez
En Blogs anteriores he presentado las dos formas características de lo que a la fecha se reconoce como Anthurium caramantae. Engl.
Una primera forma, de Espata marcadamente corrugada, ovoide o adiamantada, con longitud de Espata que en la Reserva Pass&Flora llega a superar los 30 centímetros, ver fotografía 1, y una forma lisa, con Espata de longitud nunca superando los 12 centímetros y forma homogéneamente lanceolada. (fotografías 2 a 4).

Fotografía 1. Forma corrugada de Anthurium caramantae. Engl. Observese el tamaño general de la inflorescencia.
Dada la marcada diferencia morfológica y la ausencia general de formas intermedias, , siempre he considerado que se hace necesario contrastar las dos formas de inflorescencia a nivel genético para definir si se trata de especies , subespecies o simplemente variedades de una única especie.
Ahora bien, a pesar que a nivel morfológico la forma lisa es bastante homogénea, el color de espata y espádice si presenta una enorme variabilidad entre individuos.
A continuación quisiera presentar algunas de las coloraciones características:

Fotografía 2. Variedad que he llamado “Königin der Nacht”, “Reina de la Noche”. Coloración negro absoluto

Fotografía 3: Variedad que he llamado “Cherry-Green”. Espata vino tinto, Espádice verde

Fotografía 4. Variedad que he llamado “Cherry” . Espata y Espádice homogéneamente de color cereza.
