- Perceptrón multicapa
-
Perceptrón multicapa
El perceptrón multicapa es una red neuronal artificial (RNA) formada por múltiples capas, esto le permite resolver problemas que no son linealmente separables, lo cual es la principal limitación del perceptrón (también llamado perceptrón simple). El perceptrón multicapa puede ser totalmente o localmente conectado. En el primer caso cada salida de una neurona de la capa "i" es entrada de todas las neuronas de la capa "i+1", mientras que el segundo, cada neurona de la capa "i" es entrada de una serie de neuronas (región) de la capa "i+1".
Las capas pueden clasificarse en tres tipos:
- Capa de entrada: Constituida por aquellas neuronas que introducen los patrones de entrada en la red. En estas neuronas no se produce procesamiento.
- Capas ocultas: Formada por aquellas neuronas cuyas entradas provienen de capas anteriores y las salidas pasan a neuronas de capas posteriores.
- Capa de salida: Neuronas cuyos valores de salida se corresponden con las salidas de toda la red.
La propagación hacia atrás (también conocido como retropropagación del error o regla delta generalizada), es un algoritmo utilizado en el entrenamiento de estas redes, por ello, el perceptrón multicapa también es conocido como red de retropropagación (no confundir con la red de contrapropagación).
Contenido
Características
- Las funciones de transferencia de los elementos de procesado (neuronas) han de ser derivables.
Limitaciones
- El Perceptrón Multicapa no extrapola bien, es decir, si la red se entrena mal o de manera insuficiente, las salidas pueden ser imprecisas.
- La existencia de mínimos locales en la función de error dificulta considerablemente el entrenamiento, pues una vez alcanzado un mínimo el entrenamiento se detiene aunque no se haya alcanzado la tasa de convergencia fijada.
Cuando caemos en un mínimo local sin satisfacer el porcentaje de error permitido se puede considerar: cambiar la topología de la red (número de capas y número de neuronas), comenzar el entrenamiento con unos pesos iniciales diferentes, modificar los parámetros de aprendizaje, modificar el conjunto de entrenamiento o presentar los patrones en otro orden.
Aplicaciones
El perceptrón multicapa (de aquí en adelante MLP, MultiLayer Perceptron) se utiliza para resolver problemas de asociación de patrones, segmentación de imágenes, compresión de datos, etc.
Compresión de datos
Considerese un MLP de 3 capas, una de entrada, una oculta y la de salida. La capa de entrada está formada por N neuronas, la capa oculta por M (M < N) neuronas y la capa de salida posee N neuronas al igual que la capa de entrada. Se entrena dicho MLP para que cuando se le de como entrada un vector de datos (x1, x2,..., xN) devuelva ese mismo vector de datos como salida, con ello estamos aprendiendo al MLP a transformar un vector de N componentes en uno de M componentes (recordemos que M < N) y a recuperar el vector original a partir del vector "comprimido".
Una vez que el MLP esté entrenado se procede de la siguiente forma:
- Compresión: Para comprimir los datos utilizamos un MLP de dos capas, la de entrada con N neuronas y la de salida con M, los pesos de estas dos capas son los de la capa de entrada y oculta respectivamente, del MLP que entrenamos anteriormente.
- Descompresión: Para descomprimir los datos utilizamos un MLP de dos capas, la de entrada con M neuronas y la de salida con N, los pesos de estas dos capas son los de la capa oculta y la de salida respectivamente, del MLP que entrenamos anteriormente.
El MLP no conseguirá (al menos normalmente) un error nulo durante el entrenamiento, por lo que se trata de un sistema de compresión con pérdidas. Obviamente cuanto mayor queramos que sea el factor de compresión, más error se cometerá.
Categorías: Sistemas Conexionistas | Redes neuronales artificiales
Wikimedia foundation. 2010.