Perceptrón (I)
IA. Modelos y paradigmas. Machine Learning
Cuando hablamos de Machine Learning en la introducción a esta subsección lo consideramos como un paradigma radicalmente diferenciado de la IA basada en la heurística, en tanto que, mientras que para esta última lo nuclear es la expresión explícita de la regla (o reglas), en el ML el objetivo es lograr que el algoritmo «aprenda» a partir de los datos.
El perceptrón, propuesto por Frank Rosenblatt en 1957, constituye una de las propuestas ML más sencillas y, al mismo tiempo, más coherente con esa diferenciación. Aunque hoy existen modelos mucho más potentes, el perceptrón conserva un extraordinario valor didáctico y práctico. Su comportamiento resulta lo suficientemente transparente como para comprender cómo aprende un modelo de Machine Learning y, al mismo tiempo, convertir el propio proceso de construcción y entrenamiento en una oportunidad para revisar críticamente la forma en que hemos definido el problema que intentamos resolver.
El perceptrón es un modelo de clasificación binaria que se entrena utilizando ejemplos (registros de datos) previamente etiquetados, por lo que pertenece al ámbito del aprendizaje supervisado. Su objetivo es aprender, a partir de esos ejemplos, una forma de asignar cada nuevo caso a una de dos categorías en función de los datos que lo describen. En su forma clásica, esa clasificación es binaria: sí o no, verdadero o falso, clase A o clase B.
Esta clasificación binaria resulta fundamental para comprender el funcionamiento del perceptrón, ya que el modelo de Rosenblatt determina la clase de un ejemplo mediante una frontera de decisión lineal. Por ello, para que un perceptrón simple pueda aprender correctamente una clasificación, las dos categorías deben ser linealmente separables: debe existir una recta, en el caso de dos variables de entrada, o un hiperplano en dimensiones superiores, capaz de separar los ejemplos pertenecientes a ambas clases.
Para entender mejor qué significa esto, una representación gráfica de lo que estamos diciendo bien podría ser la siguiente. En ella se diferencian dos categorías, representadas mediante puntos azules y rojos, entre las que podría trazarse una recta capaz de separarlas. Aunque la frontera de decisión no aparece dibujada, su posible existencia resulta intuitivamente apreciable a partir de la distribución de los datos.
Existen algunos problemas que, por su sencillez y valor didáctico, resultan especialmente adecuados para comprender el funcionamiento del perceptrón. Uno de los más habituales es la función lógica AND. Su estructura permite utilizar un mismo problema para mostrar dos formas radicalmente diferentes de abordarlo: podemos expresar explícitamente la regla que determina su resultado, como haríamos desde una aproximación heurística, o proporcionar al perceptrón los ejemplos correspondientes para que aprenda a reproducir esa clasificación a partir de los datos.
Empecemos por el paradigma heurístico, que ya nos es conocido de tratamientos anteriores.
Como bien sabemos, la función lógica AND solo resulta V/1 cuando las dos condiciones se cumplen simultáneamente. Si ninguna de ellas se cumple o solo se cumple una, el resultado es invariablemente F/0. Esta sencilla regla puede trasladarse fácilmente a un procedimiento algorítmico y, desde un punto de vista práctico, implementarse también en una hoja de cálculo como LibreOffice Calc, incluso mediante el uso de sus funciones incorporadas (built-in).
Procedamos, pues, a implementar nuestra Puerta lógica AND en Calc, por aquello de demostrar la teoría en la práctica, como corresponde a una buena lógica didáctica. El rsultado es algo tan sencillo como lo que muestra esta imágen que explico a continuación
Podemos apreciar dos regiones diferenciadas dentro de la hoja de cálculo, aunque sólo una de ellas tiene interés desde el punto de vista de la implementación del algoritmo. La primera, correspondiente a las celdas de Entrada de datos, cumple únicamente una función de input: nuestro algoritmo se basa en solicitar al usuario los valores (V-1 o F-0) de cada una de las variables (X1 y X2).
La segunda región, identificada como Solución, es la que contiene la implementación de la regla. En ella, sobre Condición se evalúa ésta mediante la fórmula =Y(E5=1;F5=1), que determina si ambas variables tienen simultáneamente el valor 1. En realidad, la celda Solución se limita a facilitar la visualización del resultado mediante la fórmula =SI(G5=1;1;0), transformando el resultado lógico de la condición en el valor numérico 1 o 0.
Falta, no obstante, una tercera región en nuestra hoja de cálculo: aquella destinada a recoger los resultados obtenidos tras la ejecución sucesiva de nuestro algoritmo. Podemos imaginar, por ejemplo, que ejecutamos el algoritmo 24 veces, proporcionando en cada ejecución una combinación diferente de valores para X1 y X2. En este caso, el resultado podría organizarse en forma de una tabla de doble entrada como la que se muestra a continuación, de la que hemos capturado únicamente los seis primeros casos o registros.
Podemos concluir este sencillo experimento heurístico señalando que, mediante la aplicación de la fórmula o función =Y(E5=1;F5=1), hemos obtenido un conjunto de resultados que podemos almacenar como registros en una tabla. El funcionamiento seguido responde al esquema habitual de un programa informático: definimos previamente el procedimiento que debe aplicarse y obtenemos los resultados como consecuencia de su ejecución: Algoritmo → procedimiento heurístico → resultados
Es este orden el que nos interesa retener, porque el aprendizaje automático (ML) va a introducir un cambio procedimental sustancial: proporcionar al algoritmo ejemplos de entradas y resultados para que, a partir de ellos, determine los parámetros de un modelo capaz de relacionarlos. De este modo, el ML, que concretaremos ahora en el perceptrón, no necesita explicitar la regla que resuelve el problema. En reumen: Datos → aprendizaje → modelo → resultados.
Empezaremos retomando los datos de la tabla AND, que ahora tomaremos como punto de partida para explicar la arquitectura de nuestro perceptrón, sin detenernos en su procedencia ya que, para nuestro propósito actual, su origen carece de interés.
Lo que sí nos interesa es que cada registro contiene dos valores de entrada, X₁ y X₂, asociados a una etiqueta o resultado y. Esta última es fundamental, ya que constituye la salida esperada que el modelo deberá aprender a producir a partir de las entradas. Esto sitúa al perceptrón dentro del ML de aprendizaje supervisado, característica que determina un aspecto esencial de su arquitectura: durante el entrenamiento, el modelo podrá comparar la salida que produce con la etiqueta conocida y, utilizando esa diferencia para ajustar sus parámetros.
Podríamos expresar esta estructura (arquitectura) como sigue:
- X1 , X2 → z → comparación (z,y)
- Si z <> y → ajuste (mecanismo de aprendizaje)
Con este esquema podemos identificar ya los elementos fundamentales del funcionamiento de un perceptrón: recibe unos valores de entrada, obtiene a partir de ellos un resultado, lo compara con la etiqueta conocida y, cuando ambos no coinciden, modifica sus parámetros. Hemos descrito así la lógica básica de su arquitectura, sin entrar todavía en la forma concreta en que se realizan estas operaciones. Próximamente nos ocuparemos de explicar todo lo que esto implica.
No hay comentarios:
Publicar un comentario
Comenta esta entrada