180 likes | 389 Views
Generalización y Regularización en Redes Neuronales. Enrique Ferreira Reconocimiento de Patrones Instituto de Ingeniería Eléctrica 10 de junio de 2014. Organización. Generalización Marco probabilista Efectos Variantes de aprendizaje Growing vs Pruning Otras arquitecturas
E N D
Generalización y Regularización en Redes Neuronales Enrique Ferreira Reconocimiento de Patrones Instituto de Ingeniería Eléctrica 10 de junio de 2014
Organización • Generalización • Marco probabilista • Efectos • Variantes de aprendizaje • Growing vs Pruning • Otras arquitecturas • Dimension VC (Vapnik-Chervonenkis) • Conceptos • Consecuencias • Ejemplos Reconocimiento de Patrones
v v|y modelo: v=h(u) ajustes y=f(u) datos: v+ u u Motivación • Buena aproximación VS sobre-ajuste (overfitting) • ajustar modelo de datos VS ajustar ruido Reconocimiento de Patrones
Buena aproximación? • well-posed vs ill-posed • Tikhonov (1977): • Mirado desde el punto de vista de aproximación funcional un problema well-posed debe verificar: • existencia • unicidad • continuidad • en gral, la reconstrucción de una función a partir de un conjunto finito de datos es un problema ill-posed • cantidad de datos • nivel de ruido Reconocimiento de Patrones
Generalización y Regularización • Aprendizaje • Mapear patrones VS Modelar origen de patrones • Generalización • Generar “buenas” predicciones para entradas “nuevas” • e.g. ajuste polinomial • complejidad vs generalización • marco probabilista: bias-variance trade-off • Como? • Estructural • variando estructura y tamaño de red/es, complejidad • Regularización • modificar el objetivo del aprendizaje (error) • cross-validation Reconocimiento de Patrones
Generalización y Regularización • Usando el marco probabilista • mapear v=h(u) • patrones provenientes de distribución • p(u,v) = p(v|u) p(u) • nos interesa la probabilidad condicional p(v|u) • con error: vp = h(up) + p. • Error a optimizar dado por MSE • E = ½ p { y(up,w) – vp }2 • Además, en el limite #P , E se puede escribir como: • E = ½ {y(u,w) – [v|u]}2 p(u)du + ½ {[v2|u] – [v|u]2} p(u)du • y(u,w) [v|u] = v p(v|u) dv • [v2|u] = v2 p(v|u) dv • mínimo E y(u,w) = [v|u] • Se puede mostrar que solución es idéntica a ML para el caso de error Gaussiano • vp = h(up) + N(0,) Reconocimiento de Patrones
Modelar probabilidad a-posteriori • Problema: Discriminar C clases • 1 salida yk por clase • yk(u) = 1 si u esta en clase k, de lo contrario 0. • Optimizando error dado por MSE • En el limite #P , E se puede escribir como: Reconocimiento de Patrones
Compromiso Bias-Variance • Hipótesis • #P • #W suficiente para poder aproximar [v|u] • En la práctica • D: conjunto de entrenamiento • #D = P, número de patrones finito • tengo otros conjuntos para testear (ensamble) • error específico depende de con que conjunto evalúo • Usando media en ensamble: • D[{y(u)-[v|u]}2] = {D[y(u)] - [v|u]}2 + D[{y(u) - D[y(u)]}2] • error = (bias)2 + (variance)2 • Se deben balancear ambos errores para tener buena generalización Reconocimiento de Patrones
Regularización • Modifica error a optimizar • E’ = E + • Programación multi-paramétrica E() • muchas formas para segun objetivos • weight decay • = ½ || W ||2 • error cuadrático w’i = wi i / (i + ) • no se comporta bien con escalado de patrones • usando derivadas de salida (smoothing) • = ½ r hr(u) y(r)(u)2 du (Tikhonov ‘77) • disminuir curvatura de mapeo: • caso particular de eq Tikhonov • usando derivadas de E • double backprop (Drucker y LeCun ’92) Reconocimiento de Patrones
Aprendizaje de la arquitectura • Arquitectura adaptiva • Encontrar cuantos nodos es mejor de una forma constructiva • aumentando o decreciendo iterativamente • Búsqueda en familia de redes usando regularización como criterio de selección • Estructuras crecientes • Aumentan numero de nodos • Ejemplos: • Clasificación de patrones • Upstart (Frean ‘90) • Tiling algorithm (Mezard & Nadal ‘89) • Aproximación funcional • Cascade correlation (Fahlman ‘90) • Estructuras decrecientes • Pruning Reconocimiento de Patrones
- + 1 Upstart 2 2 - - + + 3 3 3 3 u Arquitectura Upstart 1 • Clasificación de patrones • 2 clases (generalizable) • nodos con salida binaria • Va agregando nodos para corregir patrones mal clasificados • congelan pesos de “padre” • cada hijo al menos corrige 1 patron • termina en numero finito de pasos • Se puede reorganizar en red de 2 capas w u - + 1 2 2 u Reconocimiento de Patrones
Estructura Creciente: Cascade Correlation y • Arquitectura creciente • Desarrollada por Fahlman (1990) • Aprendizaje supervisado • Aproximación LSE primero • Agrega de a un nodo por vez • conectado a: • entradas u • salidas de nodos anteriores • seleccionado tal que su activación presenta la mejor correlación con error en y • se re-entrenan solamente pesos de ultima capa • Cada agregado disminuye error • umbral de terminación • validación n2 n1 u LSE Reconocimiento de Patrones
Pruning: Eliminación de pesos • Estructuras decrecientes • Genero red con demasiados pesos y voy eliminando sobrantes • Importancia de pesos: Saliency • Weight decay/elimination • umbral de eliminación • trata pesos de distintas capas igualmente • Optimal Brain Damage (Le Cun ’90) • Aproximación cuadrática de E en mínimo • solo términos diagonales de Hessiano • calculo de Hessiano inverso recursivo • Optimal Brain Surgeon (Hessian) (Hassibi ‘93) • uso todo el Hessiano • método recursivo para Hessiano inverso • Proceso similar para neuronas (Mozer ‘89) • xik = g(i Wik-1 xk-1) • Experimentación • minimización de riesgo, uso de validación Reconocimiento de Patrones
Error conjunto validación conjunto entrenamiento k Alternativas a Regularización • Early-Stopping • limita ajuste para conjunto de entrenamiento basado en conjunto de validación • entrenamiento, validación, test • similar a weight decay Reconocimiento de Patrones
Dimensión Vapnik-Chervonenkis (VC) • Resultados generales: (1971) • S: colección de eventos A • serie de medidas x:{xii=1,..,l} • va = na/l : frecuencia relativa de A en x • (l) = supS |va – Pa| • s(x(r)) = num. de sub-series diferentes de x definidas por A’s en S • growth function: ms(r) = maxxs(x(r)) <= 2r. • Ejs: separabilidad lineal en Rn. • Lema 0: • sea: (n,r) = (n,r-1) + (n-1,r-1), (0,r)=1, (n,0)=1 • (n,r) <= rn+1, n>0, r>=0 • si s(x(i)) >= (n,i), 1<= n <= i, sub-serie x(n) | s(x(n)) = 2n. • Lema 1: • ms(r) < rn + 1, n = r0 tq ms(r) = 2r r<r0. • dem: ms(r) < (n,r) < rn + 1 • Lema 2: • X2l = {x1,...,x2l}, (l)A= | v’A – v”A|, (l) = supA (l)A • Q = {(l) > }, C = { (l) >= ½ } • P{C} >= ½ P{Q} Reconocimiento de Patrones
Dimensión Vapnik-Chervonenkis (VC) • Resultados generales: • Teorema: Cota de probabilidad de error • P((l) > ) <= 4 ms(2l) exp(-2l/8), l>=2/2. • Dem: • P(Q)<=2 P(C) <= <= 2 exp(-2l/8) • Corolario: • CS Convergencia uniforme: • existe n finito (dim VC) tq ms(r) < rn + 1 • P( (l) 0 ) = 1 • Teorema: • Entropia: HS(l) = E[ log2 S(x(l)) ] • CNS de convergencia uniforme: • liml HS(l)/l = 0 Reconocimiento de Patrones
Dimensión Vapnik-Chervonenkis (VC) • Aplicando resultados anteriores a ANN • evento A: realización de red • serie de medidas: patrones • Probabilidad de buena predicción • dada p(u), v=h(u) • g(y) = Prob( y(u,w)=h(u) ) • gp(y) = frec relativa de aciertos para red entrenada con p patrones • gp(y) > g(y): para patrones de entrenamiento • estudiar peor caso: max{y} |gp(y) – g(y)| • P( max{y} |gp(y) – g(y)| > ) <= 4 ms(2P) exp(-2P/8), P>=2/2. • dim VC = capacidad de ANN • MLP (Baum & Haussler ’89): • dim VC < 2W log2 eM, W=#pesos, M=#neuronas • P > W/ log2(M/), 0<<1/8 • observaciones: • estudio al peor caso • no toma en cuenta correcciones (regularización) Reconocimiento de Patrones
Referencias • C. Bishop, “Neural Networks for pattern recognition”, Oxford Press, 1995. • Simon Haykin, “Neural Networks”, 2nd edition, Prentice Hall, 1999. • Hertz, Krogh and Palmer, “Introduction to the theory of Neural Computation”, Addison-Wesley, 1991. • Jang et al. “Neuro-fuzy and Soft Computing”, Cap. 8-11, Prentice Hall, 1997. • C-T Lin y G. Lee, “Neural Fuzzy Systems”, Prentice Hall, 1995. • V.N. Vapnik and A. Y. Chervonenkis, “On the uniform convergence of relative frequencies of events to their probabilities”, Theory of Probability and Its Applications, vol.16, no.2, 1971 Reconocimiento de Patrones