2 - QueGrande.org

Anuncio
2. APRENDIZAJE Y ENTRENAMIENTO
APRENDIZAJE AUTOMÁTICO (Neural Nets Capt. 8)
Construir un sistema que aprenda ha sido tradicionalmente uno de los objetivos
más escurridizos de la IA.
Diferentes Definiciones:
a)- Significa cambios adaptativos en el sistema: permite que el sistema ejecute la
misma tarea con mayor eficacia para la siguiente ocasión. (Herbert Simun)
b)- Construir o modificar representaciones de aquello con lo que se experimenta
(estímulos sensoriales, procesos cognoscitivos, etc.) (Ryszard Michalski)
Desde el punto de vista informático:
a)- El Aprendizaje como proceso de adaptación a un entorno, el cual no tiene
porque ser físico, sino que puede (y es lo normal) estar formado por estructuras
que se refieran a conocimiento.
b)- la creación y manipulación de representaciones que den sentido a lo
aprendido, y que sean capaces de explicarlo o de permitir su interpretación.
S. Adaptat ivo
Entrada
Salida
Comparador
EST RUCT URA GENERAL: SIST EMA DE APRENDIZAJE
Centrándonos en el caso de los Sistemas Conexionistas y en particular en las
Redes Neuronales diremos:
Hemos visto que una Red Neuronal consiste en un conjunto de PE
interconectados, cada PE tiene un conjunto de entradas (Xi), cada una de las cuales
mantiene una conexión (Peso: Wi). La salida de un PE es función de la suma ponderada
de las entradas. (en principio).
De todos los elementos que conforman una Red Neuronal y en concreto un PE,
los únicos que se pueden considerar como variables son los Pesos. Así, ellos, pueden ser
ajustados dinámicamente para producir una salida deseada (Yi). "Esta modificación
dinámica de los pesos (Wi) es la verdadera esencia del aprendizaje".
En el nivel, de un simple PE, este reajustamiento de pesos no significa nada,
pero cuando muchos PE lo realizan colectivamente, se dice que representa a la
Inteligencia.
Def: Aprendizaje es un proceso por el cual los parámetros libres de una red neuronal
son ajustados a través de un proceso continuo de estimulación por parte del entorno en
donde se sitúa el sistema. El tipo de aprendizaje es determinado por la forma o manera
que tienen lugar dichos cambios.
Esta definición implica la siguiente secuencia de hechos:
- La red neuronal se encuentra estimulada por el entorno.
- La red neuronal cambia como consecuencia de dicho estímulo.
- La red neuronal responde de manera diferente al entorno a causa de los
cambios que se han producido en su estructura interna.
La ecuación que especifica como cambian los pesos, recibe el nombre de Ley de
Aprendizaje.
Antes de estudiar diferentes leyes de aprendizaje y las estructuras a las que van
asociadas, nos centraremos en el estudio de otros conceptos, como por ejemplo:
- Modos de Aprendizaje.
- Velocidad de Aprendizaje.
MODOS DE APRENDIZAJE.
Existen Dos tipos de Aprendizaje: Supervisado y Sin Supervisar.
El aprendizaje Supervisado requiere un profesor. El profesor puede ser un
conjunto de datos de entrenamiento o un observador que mide el funcionamiento del
sistema (en cuanto a la salida producida por el mismo).
En el aprendizaje Sin Supervisar, no se utiliza profesor, el sistema debe
organizarse a si mismo y por si sólo, mediante algún criterio definido para el sistema.
En este caso el aprendizaje se dice que es por Hecho.
El aprendizaje mixto consiste en utilizar al mismo tiempo los otros dos tipos de
aprendizaje, pudiendo esto realizarse para diferentes capas o en diferentes procesos en
los que interviene la Red.
Aprendizaje Supervisado. Tipos:
Aprendizaje por Correción de Error.
Utilizando aprendizaje supervisado, es necesario entrenar a la red antes de que
ésta sea operacional. El entrenamiento consiste en presentar al sistema un conjunto de
pares de datos, representado la entrada y la salida deseada para dicha entrada. Este
conjunto recibe el nombre de conjunto de entrenamiento. Todo esto significa que, para
cada entrada que se le presenta a la Red se calcula la salida actual, comparándola
después con la deseada para dicha entrada. El resultado de esta comparación se suele
utilizar en el proceso de modificación de pesos.
Los pesos, son entonces modificados, repitiéndose estos pasos, hasta que se
cumpla una cierta condición. Normalmente, de lo que se trata es de minimizar el error
entre la salida deseada y la obtenida para cada patrón de entrenamiento, llamándose
normalmente Aprendizaje por Correción de Error.
(Resultado Comparación: Modificación de Pesos)
Entrada
Salida Deseada
RED
NEURONAL
Salida
Comparador
Método:
1- Inicializar aleatoriamente los pesos.
2- Presentación del conjunto de entrenamiento.(CE)
3- Obtención de las salidas para el CE.
4- Comparación de salidas deseadas con actuales.
5- Si se verifica el criterio de finalización ir al siguiente paso, sino ir al
paso 2.
6- Fin.
Conjunto de Entrenamiento: (X,T) X=(x1,......xn)
Salida Actual:
T=(t1,........tm)
U=(u1,.......um)
m
Minimizar el Error:
E   (t i ui )
2
i 1
Aprendizaje con Refuerzo.
Se trata de un aprendizaje supervisado, más lento que el anterior, que se basa en
la idea de no disponer de un ejemplo completo del comportamiento deseado; es decir,
de no indicar durante el entrenamiento exactamente la salida que se desea que
proporcione la red ante una determinada entrada.
El aprendizaje con refuerzo es un aprendizaje on-line, de un mapeado entradasalida, a través de un proceso de éxito o fracaso, designado a maximizar un índice que
mide el buen funcionamiento del sistema, llamado señal de refuerzo. En base a dicha
señal se ajustan los pesos basándose en un mecanismo de probabilidades.
"Si una acción tomada por el sistema de aprendizaje es seguida por un estado
satisfactorio, entonces la tendencia del sistema a producir esa particular acción es
reforzada. En otro caso, la tendencia del sistema a producir dicha acción es
disminuida".
______________________________
Ejemplo: Linear Reward-Penalty (Algoritmo lineal con recompensa y Penalización)
(Barto y Anandan, 1985).
w(t+1)=w(t)+(r)(d-<y>)(1-<y>2)x
donde r = y
si r = +1 (recompensa)
r = -y
si r = -1 (penalización)
(r) = (+)
(r) = (-)
si r = +1
si r = +1
con (+) >> (-) > 0
Se modifican los pesos para cada patrón de entrada.
Existen dos tipos de aprendizaje con refuerzo: el No-asociativo y el Asociativo:
No-Asociativo: en donde, el sistema de aprendizaje tiene la tarea de seleccionar un única
acción óptima, más que asociar diferentes acciónes a diferentes estímulos. En tales
casos, el refuerzo es sólo la entrada que el sistema recive de su entorno.
Asociativo: en donde el entorno provee adicionales formas de información más que
refuerzos, y en donde se debe de aprender un mapping entre estímulos y acciones.
Aprendizaje Estocástico.
Este tipo de aprendizaje consiste básicamente en realizar cambios aleatorios en
los valores de los pesos y evaluar su efecto a partir del objetivo deseado y de
distribuciones de probabilidad.
En el aprendizaje estocástico se suele hacer una analogía en términos
termodinámicos, asociando la red neuronal con un sólido físico que tiene cierto estado
energético. En el caso de la red, la energía de la misma representaría el grado de
estabilidad de la red, de tal forma que el estado de mínima energía correspondería a una
situación en la que los pesos de las conexiones consiguen que su funcionamiento sea el
que más se ajusta al objetivo deseado.
Según lo anterior, el aprendizaje consistiría en realizar un cambio aleatorio de
los valores de los pesos y determinar la energía de la red. Si la energía es menor después
del cambio; es decir, si el comportamiento se acerca al deseado, se acepta el cambio. Si,
por el contrario, la energía no es menor, se aceptaría el cambio en función de una
determinada y preestablecida distribución de probabilidades.
Una red que utiliza este tipo de aprendizaje es la conocida como Boltzmann
Machine, ideada por Hinton (1984), que lo combina con un tipo de aprendizaje llamado
Hebbiano. La red tiene diferentes topologías alternativas, pero siempre con unos PEs
ocultos que permiten, mediante un ajuste probabilístico, introducir un ruido que va
siendo decrecido durante el proceso de aprendizaje para escapar de los mínimos
relativos (locales) de la función de energía favoreciendo la búsqueda del mínimo global.
El procedimiento de utilizar ruido para escapar de mínimos locales suele
denominarse simulated annealing (temple simulado) y su combinación con la
asignación probabilística mediante la capa oculta es lo que se conoce como aprendizaje
estocástico.
Aprendizaje Sin Supervisar
Las redes con aprendizaje no supervisado, conocido también como
AutoSupervisado, no requieren influencia externa para ajustar los pesos de las
conexiones entre sus neuronas. La red no recibe ninguna información por parte del
entorno que le indique si la salida generada en respuesta a una determinada entrada es o
no correcta; por ello, suele decirse que estas redes son capaces de autoorganizarse.
Estas redes deben encontrar las características, regularidades, correlaciones o
categorías que se puedan establecer entre los datos que se presenten en su entrada.
Puesto que no hay un supervisor que indique a la red la respuesta que debe generar ante
una entrada concreta, cabría preguntarse precisamente por lo que la red genera en estos
casos. Existen varias posibilidades en cuanto a la interpretación de la salida de estas
redes, que dependen de su estructura y del algoritmo de aprendizaje empleado.
En algunos casos, la salida representa el grado de familiaridad o similitud entre
la información que se le está presentando en la entrada y las informaciones que se le han
mostrado hasta entonces (en el pasado). En otro caso, podría realizar una clusterización
(clustering) o establecimiento de categorías, indicando la red a la salida a que categoría
pertenece la información presentada a la entrada, siendo la propia red quien debe
encontrar las categorías apropiadas a partir de correlaciones entre las informaciones
presentadas. Una variación de esta categorización es el prototipado. En este caso, la red
obtiene ejemplares o prototipos representantes de las clases a las que pertenecen las
informaciones de entrada.
También el aprendizaje sin supervisar, permite una codificación de los datos de
entrada, generando a la salida una versión codificada de la entrada, con menos bits, pero
manteniendo la información relevante de los datos.
Finalmente, algunas redes con este tipo de aprendizaje, lo que realizan es un
mapeo de características (feature mapping), obteniéndose en las neuronas de salida una
disposición geométrica que representa un mapa topográfico de las características de los
datos de entrada, de tal forma que si se presentan a la red informaciones similares,
siempre serán afectadas neuronas de salida próximas entre sí, en la misma zona del
mapa.
Otro concepto asociado con este tipo de aprendiazaje es, el de Aprendizaje
Competitivo, en donde las neuronas compiten (y cooperan) unas con otras con el fin de
llevar a cabo una tarea dada. Con este tipo de aprendizaje, se pretende que cuando se
presente a la red cierta información de entrada, sólo una de las neuronas de salida de la
red, o una por cierto grupo de neuronas, se active (alcance su valor de respuesta
máximo). Por tanto, las neuronas compiten por activarse, quedando finalmente una, o
una por grupo, como neurona vencedora, quedando anuladas el resto, que son forzadas a
sus valores de respuesta mínimos.
El objetivo de este aprendizaje es categorizar (clusterizar) los datos de entrada.
De esta manera, las informaciones similares son clasificados formando parte de la
misma categoría, y por tanto deben activar la misma neurona de salida. Las clases deben
ser creadas por la propia red, puesto que se trata de un aprendizaje no supervisado.
VELOCIDAD DE APRENDIZAJE
¿A qué velocidad se debería producir el aprendizaje? Para contestar esta
pregunta tenemos que tener en cuenta varios factores.
Por un lado, una velocidad lenta, supondría dedicar mucho tiempo al
entrenamiento del sistema. Por otro lado, una velocidad rápida, supone un aprendizaje
rápido pero, podría tener como efecto colateral, que la Red no fuese capaz de realizar
discriminaciones finas (detectar sutiles cambios en varios patrones de entrada).
Factores que juegan un papel determinante en la velocidad de aprendizaje son:
Complejidad de la estructura de Red, tamaño, arquitectura, tipo de aprendizaje,
actuación deseada, etc.
La mayoría de las ecuaciones de aprendizaje, poseen algún parámetro que
permite controlar la velocidad de aprendizaje del sistema. Normalmente este término es
positivo y está comprendido entre los valores 0 y 1.
Si ese parámetro es más grande que 1, es fácil que la Red oscile mucho ya que,
se producían grandes variaciones en los pesos.
Def: La velocidad de aprendizaje es, entonces, una medida de la velocidad de
convergencia de la Red.
Documentos relacionados
Descargar