1 / 18

Generalización y Regularización en Redes Neuronales

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

brandon
Download Presentation

Generalización y Regularización en Redes Neuronales

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Generalización y Regularización en Redes Neuronales Enrique Ferreira Reconocimiento de Patrones Instituto de Ingeniería Eléctrica 10 de junio de 2014

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. - + 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

  12. 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

  13. 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

  14. 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

  15. 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) = maxxs(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

  16. 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

  17. 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

  18. 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

More Related