Download Redes Neuronales

Document related concepts

Máquinas de vectores de soporte wikipedia , lookup

Red neuronal artificial wikipedia , lookup

Propagación hacia atrás wikipedia , lookup

Aprendizaje supervisado wikipedia , lookup

Perceptrón wikipedia , lookup

Transcript
Detección Multiusuario para DS-CDMA basado en SVM
Redes Neuronales
9 Redes Neuronales
Otra técnica basada en el aprendizaje y más conocida que la anterior es la basada
en Redes Neuronales. Vamos a realizar una pequeña comparativa teórica de sobre
ambas técnicas de clasificación. Estudiaremos los conceptos básicos de las Redes
Neuronales para poder comprender mejor sus diferencias.
Una red neuronal [17] puede verse como una máquina designada para modelar la
forma en que el cerebro humano realiza una determinada tarea. Para lograr este
objetivo, una red neuronal está formada por un conjunto de unidades de procesamiento
interconectadas llamadas neuronas.
Cada neurona recibe como entrada un conjunto de señales discretas o continuas,
las pondera e integra, y transmite el resultado a las neuronas conectadas a ella. Cada
conexión entre dos neuronas tiene una determinada importancia asociada denominada
peso sináptico o, simplemente, peso. En los pesos se guarda la mayor parte del
conocimiento que la red neuronal tiene sobre el problema en cuestión. El proceso
mediante el cual se ajustan estos pesos para lograr un determinado objetivo se denomina
aprendizaje o entrenamiento y el procedimiento concreto utilizado para ello se conoce
como algoritmo de aprendizaje o algoritmo de entrenamiento. El ajuste de pesos es la
principal forma de aprendizaje de las redes neuronales, aunque hay otras formas
posibles como la modificación de la topología de la propia red neuronal.
El aprendizaje de una Red Neuronal consiste en la auto-reorganización de los
pesos de las conexiones que la forman, es decir, una red ha aprendido ha resolver un
problema cuando encuentra una combinación de pesos que convierte los datos de
entrada en los datos de salida deseados Este aprendizaje puede llevarse a cabo de dos
maneras, por lo que existen dos tipos básicos de aprendizaje:
•
Supervisado. El aprendizaje supervisado se caracteriza por el hecho de
que enseña a la red a obtener una salida predeterminada, es decir, se da una
entrada y una salida objetivo (salida deseada) y se intenta que la salida de
la red se parezca a la salida objetivo.
•
No supervisado. El aprendizaje no supervisado se basa en la propia
organización de la red para organizar datos, es decir, se introducen datos
de entrada, pero no una salida objetivo, por lo que la red organiza los datos
atendiendo a sus características comunes(agrupa los datos en conjuntos,
esto se conoce también como "clustering").
Página 105 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Redes Neuronales
Muchas redes neuronales se diseñan para encontrar un hiperplano que separe las
muestras de las distintas clases. Normalmente se comienza con un hiperplano aleatorio
que se va desplazando hasta que todos los datos del entrenamiento quedan en la parte
correcta. Esto deja, inevitablemente, algunos puntos del entrenamiento muy cerca del
hiperplano lo cual no es un resultado óptimo a la hora de generalizar.
9.1 Conceptos básicos.
Inicialmente se aplica un sistema de clasificación basado en Redes Neuronales.
Una red neuronal que se entrenará y validará con dichos datos de una forma automática.
Una red neuronal [14] es un procesamiento distribuido masivamente paralelo que
tiene una tendencia natural para almacenar conocimiento empírico y hacerlo disponible
para el uso. Recuerda al cerebro en dos aspectos:
1. El conocimiento se adquiere por la red a través de un proceso de aprendizaje.
2. Las conexiones interneurónicas se conocen como pesos sinápticos y se usan para
almacenar el conocimiento.
A continuación se define una serie de conceptos que facilitarán la comprensión de
este análisis automatizado de la imagen.
•
•
•
Patrón: Descripción estructural o cuantitativa del objeto o región bajo estudio.
El patrón está formado por uno o más descriptores.
Representación del patrón: Vector de medidas.
xi es el i-ésimo descriptor
 x1 
x 
 2
· 
N es el número de descriptores
x= 
· 
· 
 
 x N 
Clases de patrones: 2 patrones pertenecen a una misma clase si comparten
ciertas propiedades comunes. En nuestro caso particular existen 3 clases o
grados de quemadura.
Página 106 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Redes Neuronales
Figura 9.1: Arquitectura básica de una Red Neuronal (a) y una Neurona (b).
Las redes neuronales artificiales están compuestas de gran cantidad de
procesadores conectados entre sí y actuando en paralelo. Estos procesadores se les
denomina neuronas. Tratan de simulan el comportamiento neuronal humano, sin
embargo, los modelos neuronales biológicos son mucho más complejos que los modelos
computacionales actuales.
•
Neurona. La operación de una neurona es sumar los productos entre las
componentes del vector de entrada x y un vector de pesos w; y la transforma
según una función de activación f dando un escalar.
N
Salida = f( wT x) = f ( ∑ wi xi )
(9.1)
i =1
A este sumatorio se le suele añadir un valor de desplazamiento debido al peso de
bias. f() es la función de activación. Función no lineal, creciente, diferencial y acotada
asintóticamente.
El número de neuronas en la capa de entrada coincide con el número de
descriptores que se va a utilizar. El número de neuronas de la capa de salida coincide
con el número de clases en las que se va a diferenciar las muestras (3). A las capas
intermedias se les denomina Capas Ocultas. El número de capas ocultas y neuronas en
cada capa es un parámetro de diseño que se deberá resolver por prueba y error.. En la
mayoría de las aplicaciones sólo se utiliza una capa oculta.
Página 107 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Redes Neuronales
9.2 Técnicas de optimización
Consideremos una función de error ε (w) (también llamada función de coste),
continuamente diferenciable, donde w es un vector con los pesos (parámetros) de una
determinada red neuronal. La función ε (w) proporciona un número real que es una
medida de la corrección de los pesos w para resolver un determinado problema de forma
óptima. Nos interesa encontrar una solución óptima w* que satisfaga la condición
ε ( w* ) ≤ ε ( w)
(9.2)
Es decir, queremos minimizar la función de coste ε (w) con respecto a w. Se trata
en definitiva de un problema de optimización sin restricciones. La condición necesaria
para el óptimo es
∇ ε ( w* ) = 0
donde ∇
∇=(
(9.3)
es el operador de gradiente
∂
∂
∂
,
,................,
)
∂w1 ∂w2
∂wn
(9.4)
1
Una clase de algoritmos de optimización que suelen adaptarse bien a las redes
neuronales son los basados en la idea de descenso iterativo: Comenzar con un valor
inicial w(0) (aleatorio, si no se tiene más información) y generar una secuencia de
vectores de pesos w(1); w(2); : : :, tal que la función de error ε (w) se reduzca en cada
iteración del algoritmo, esto es,
ε (w(n + 1) ) < ε ( w(n))
(9.5)
9.2.1 Descenso por gradiente
En esta forma de descenso iterativo, los sucesivos ajustes realizados al vector de
pesos w se hacen en dirección opuesta al vector de gradiente ∇ε (w) :
(9.6)
w(n + 1) = w(n) − η∇ε ( w(n))
donde es la tasa de aprendizaje. Al pasar de la iteración n a la n + 1, el algoritmo aplica
la corrección
Página 108 de 162
Detección Multiusuario para DS-CDMA basado en SVM
∇w(n) = w(n + 1) − w(n) = −η∇ε ( w(n))
Redes Neuronales
(9.7)
En la formulación anterior se asume que el umbral b se trata como un peso más
del vector w. Demostraremos ahora que la formulación del algoritmo de descenso por
gradiente satisface la condición (9.5) del descenso iterativo. Por conveniencia en la
notación, consideremos
(9.8)
g = ∇ε (w)
Mediante una expansión en series de Taylor de primer orden alrededor de w(n),
podemos aproximar ε (w(n + 1)) como
ε ( w(n + 1)) ≈ ε ( w(n)) + g T (n)∆w(n)
(9.9)
expresión justificada para valores pequeños de η . Sustituyendo la ecuación en esta
aproximación, obtenemos
ε ( w(n + 1)) ≈ ε ( w(n)) − ηg T (n).g (n)
= ε ( w(n)) − η g (n)
(9.10)
2
(9.11)
que demuestra que para valores positivos de la función de error se decrementen cada
iteración. El razonamiento presentado aquí es aproximado, ya que el resultado final es
solo cierto para valores lo suficientemente pequeños de la tasa de aprendizaje.
La tasa de aprendizaje tiene una enorme influencia en la convergencia del
método de descenso por gradiente. Si es pequeño, el proceso de aprendizaje se
desarrolla suavemente, pero la convergencia del sistema a una solución estable puede
llevar un tiempo excesivo. Si es grande, la velocidad de aprendizaje aumenta, pero
existe el riesgo de que el proceso de aprendizaje diverja y el sistema se vuelva
inestable.
El método de descenso por gradiente tiene en su sencillez uno de sus mayores
enemigos: cuando la superficie de error tiene “máximos locales”, existe el riesgo de que
el algoritmo quede atrapado en uno de ellos. Existen otros métodos de optimización más
sofisticados (por ejemplo, métodos que consideran la información suministrada por las
derivadas de segundo orden), que, en general, proporcionan mejores resultados que el
descenso por gradiente. Algunos de ellos son el método de “Gauss-Newton”, el
algoritmo de “Levenberg-Marquardt” o el método de los “gradientes conjugados”.
Página 109 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Redes Neuronales
9.3 Comparativa de Redes Neuronales y SVM
Una de las principales características del detector SVM es que para encontrar la
solución en la resolución de la ecuación cuadrática del problema convexo, no existen
mínimos locales, tenemos un mínimo global, lo que implica que la solución es única, y
se trata de la solución óptima que maximiza el margen, además de poder predecir el
tiempo de ejecución de la resolución de la ecuación, pues es resoluble en tiempo
polinomial.
La Redes Neuronales se basan en la minimización del error cuadrático medio. El
aprendizaje se puede terminar por dos motivos, porque se encuentra la cota de error
buscado, o bien se han realizado el número máximo de iteraciones. En el caso de que no
se haya cumplido la cota de error se debe modificar los datos de entrenamiento o
cambiar el modelo. Con lo cual la velocidad de resolución depende del modelo elegido
y de la cota de error a la que queramos llegar. Y con este tipo de resolución tenemos
múltiples mínimos locales y también múltiples mínimos locales. Ésto hace no ya sólo
que la solución sea múltiple, también que no sea una solución óptima.
Figura 9.2:Representación del margen óptimo en SVM y varias fronteras obtenidas por
Redes Neuronales
Otra diferencia la podemos encontrar en el sobreentrenamiento [18] que se
produce en las Redes Neuronales, pues si los datos tiene ruido, entrenar demasiado a la
máquina puede perjudicar la capacidad de generalización.
Página 110 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Redes Neuronales
Figura 9.3: problema del sobreentrenamiento
Si los datos son generados por un modelo cuadrático:
• El modelo lineal corresponde a una situación de bajo-aprendizaje.
• El modelo de alto grado corresponde a una situación de sobre-aprendizaje.
Necesidad de encontrar un compromiso entre la adecuación de los datos y la
complejidad que sea capaz de generalizar.
SVM depende de la obtención del parámetro C, así como de utilizar un Kernel
adecuado en el caso de tratarse de sistemas no lineales, estos parámetros se tienen que
encontrar de manera empírica y controla el compromiso entre la complejidad del
sistema y el número de datos no separables. En las Redes Neuronales no existen estos
parámetros, pero como contrapartida tenemos que dimensionar el sistema en cuanto al
número de capas ocultas y nodos.
Como se ha mencionado en el párrafo anterior, una de las características de SVM
es encontrar el Kernel óptimo, cuando se utiliza un Kernel pasamos a espacios de
dimensión muy superior, pero sólo aquellos puntos necesarios. En las Redes
Neuronales, las capas ocultas pueden llegar a realizar transformaciones a cualquier
dimensión.
La metodología de entrenamiento para el detector basado en SVM es más
eficiente, debido a que requiere de un número mucho menor de ejemplos de
entrenamiento, pues sólo utiliza aquellos que se encuentran más cercanos a la frontera
de decisión. Mientras que el banco de datos de ejemplos de entrenamiento para poder
llegar a una solución óptima en la Redes Neuronales es mucho mayor.
En el apartado 6 hablamos de la minimización del riesgo empírico el riesgo real y
de la minimización del riesgo estructural. SVM se basa en la minimización del riesgo
estructural (SRM) el cual no se limita a una única función, consiste en encontrar el
subconjunto de funciones que minimiza la cota del error actual. Mientras que las redes
Página 111 de 162
Detección Multiusuario para DS-CDMA basado en SVM
Redes Neuronales
neuronales basan su funcionamiento en la minimización de una función error
(minimización del riesgo empírico). Los resultados mediante SRM son mucho mejores.
Figura 9.4: Minimización del riesgo empírico y el intervalo de confianza al mismo tiempo
Principio inductivo de Minimización Estructural del Riesgo (SRM). Su objetivo es
el de minimizar el riesgo empírico y el intervalo de confianza al mismo tiempo,
eligiendo el elemento Sk más apropiado y que minimiza el borne:
R(ζ ) ≤ Remp (ζ ) +
h(log(2 N / h) + 1) − log( ρ / 4)
N
Debido a todo lo mencionado en párrafos anteriores, con la técnica de SVM
podemos tener una mayor generalización, no obstante tendríamos las limitaciones
mencionadas en el apartado 7.6.2
Página 112 de 162