240 likes | 594 Views
Deep Learning Feature Learning Representation Learning Generative Learning. Angel Navia Vázquez MLG/18-02-2013. Contenido. Sobre las características Sobre las arquitecturas Cronología Deep Learning Casos de éxito Deep Belief Nets ( Restricted ) Boltzman Machines Autoencoders
E N D
DeepLearningFeatureLearningRepresentationLearningGenerativeLearningDeepLearningFeatureLearningRepresentationLearningGenerativeLearning Angel Navia Vázquez MLG/18-02-2013
Contenido • Sobre las características • Sobre las arquitecturas • Cronología DeepLearning • Casos de éxito • DeepBeliefNets • (Restricted) Boltzman Machines • Autoencoders • Ejemplos y aplicaciones
Sobre las características • Esquema habitual: extracción manual de características (featureengineering) + ML (clasificación, agrupamiento, estimación, …) • La calidad de las características es clave en las prestaciones • Muchos métodos ML fracasan en la extracción automática de buenas características • Métodos ML vs. características. Ej Caltech-256 ObjectCategoryDataset • MultiKernelLearning sólo mejora levemente al promediado de características • Son las características las que hacen la mayor aportación
Sobre las arquitecturas • Profundidad 2 (SVMs, RBF, MLP(2)) es suficiente en muchos casos, pero puede ser necesario un número excesivo de nodos (crecimiento exponencial para algunas familias) • La existencia de una representación profunda y compacta indica existencia de una estructura interna que permitirá una muy buena generalización • Cerebro (cortex visual) tiene esta estructura: jerárquico con diferentes niveles de abstracción, pasando de características más simples a más complejas • Antes de 2006 no funcionaba el entrenamiento con capas profundas, hasta el desarrollo de las DeepBelief Networks (DBN), Hinton.
Sobre las arquitecturas (II) • En general: • Se usa aprendizaje no supervisado de representaciones para un pre-entrenamiento de cada capa, y acumulación de capas • Aprendizaje supervisado para ajuste fino de todas las capas (ocultas y de salida para predicciones) • Se puededemostrarquecadavezque se añadeunacapa de características se mejoraunacota inferior variacionalsobre la log probabilidad de los datos de entrenamiento.
Cronología • Hinton, G. E., Osindero, S. and Teh, Y., A fastlearningalgorithmfordeepbeliefnets Neural Computation 18:1527-1554, 2006 • Uso de RBMs para el entrenamiento de capas internas • YoshuaBengio, Pascal Lamblin, Dan Popovici and Hugo Larochelle, GreedyLayer-Wise Training of Deep Networks, in J. Platt et al. (Eds), Advances in Neural InformationProcessingSystems 19 (NIPS 2006), pp. 153-160, MIT Press, 2007 • Comparación de RBMs y autoencoders. • Marc’AurelioRanzato, Christopher Poultney, SumitChopra and YannLeCunEfficientLearning of SparseRepresentationswithanEnergy-BasedModel, in J. Platt et al. (Eds), Advances in Neural InformationProcessingSystems (NIPS 2006), MIT Press, 2007 • Uso de sparseautoencoder en una estructura convolucional • Bengio, Y. Learning deep architectures for {AI}. Foundations and Trends in Machine Learning, vol 2, no 1 , 2009. • YoshuaBengio, Aaron Courville, Pascal Vincent. Representation Learning: A Review and New Perspectives. (draft?)
Ejemplos de éxito DL • Reconocimiento de voz. Microsoft usa DL en su MAVIS (Microsoft Audio Video IndexingService), reducción de un 30% el error. • Procesamiento musical (transcripción polifónica): mejora entre 5% y 30% • Dígitos manuscritos (MNIST): 0.27% vs SVM 1.4% • Reconocimiento de objetos en imágenes naturales: 26.1% -> 15.3% • Procesamiento Lenguaje Natural: SENNA system (NEC labs) comparte tareas como POS tagging, chunking, NER, semantic role labeling y syntacticparsing, mejorando estado del arte con coste computacional menor. También en wordsensedisambiguation (acierto de 67.8% -> 70.2%) y mejora estado del arte en sentimentanalysis.
DeepBeliefNets (DBN) • Hinton, Osindero, Teh 2006 • Algoritmo rápido, “greedy” y escalable que usa priors complementarios para entrenar una a una las capas ocultas de una red profunda. Es no supervisado, pero puede aprender un modelo {datos, etiquetas}. • Uso para inicializar la red y luego hacer un ajuste más fino de los pesos • Aplicación: una red de 3 capas produce un modelo generativo de la distribución conjunta de dígitos manuscritos y sus etiquetas que es más preciso que el mejor modelo discriminativo disponible (SVMs). 2000 top-level neurons 10 label neurons 500 neurons 500 neurons • Las dos últimas capas forman una memoria asociativa (RestrictedBoltzman Machine, RBM). • Las demás capas forman un DAG (Beliefnetwork ) • DEMO: • http://www.cs.toronto.edu/~hinton/adi/index.htm 28 x 28 pixel image
Boltzman Machine • Un tipo de red neuronal recurrente (Hinton, Sejnowski, 1986) • Las unidades son de dos tipos: visibles y ocultas • Análogas a lasredes de Hopfield, perolasunidades son estocásticas • Cuando no tienenrestricciones en la conectividad son difíciles de manejar y de utilidadlimitada • El entrenamientoesmedianteascenso de gradiente en log-verosimilitud de los datosobservados • Problema: dichoentrenamientodeja de funcionarpararedesmayoresqueejemplostriviales • Solución: RBM (restricted Boltzman Machine) 1 0 0
RestrictedBoltzmann machine • Red neuronal generativa estocástica que puede aprender una distribución de probabilidad asociada a sus entradas • No permite conexiones intracapa (tanto en las visibles como en las ocultas): son un grafo bipartito • Permiten acumular múltiples capas, usando los nodos ocultos como entrada para la siguiente capa • Hay extensiones para valores reales en vez de binarios • El algoritmo de entrenamiento es la divergencia de contraste (ContrastiveDivergence, CD), una forma de Gibbssampling dentro de un procedimiento de descenso según gradiente • Pesos -> Energía -> Probabilidad (log Prob es una función lineal de los pesos). El mapa de energía tiene valles, y si se usan etiquetas, cada clase tendrá su valle. • Función de energía: ocultas j i visibles
AprendizajeMáximaVerosimilitud en RBM j j j j i i i i t = 0 t = 1 t = 2 t = infinity (100) Comenzar con un vector de entrenamiento en lasunidadesvisibles Alternar entre actualizartodaslasunidadesocultas en paralelo y actualizartodaslasunidadesvisibles en paralelo
Versiónrápida Comenzar con un vector de entrenamiento en lasunidadesvisibles. Actualizartodaslasunidadesocultas en paralelo Actualizartodaslasunidadesvisiblesparaobteneruna “reconstrucción”. Actualizarlasocultas de nuevo. j j i i t = 0 t = 1 reconstrucción data No sigue el gradiente de la log verosimilitudperofuncionabien. Sigue de forma aproximada el gradiente de otrafunciónobjetivo (Contrastive Divergence) (Carreira-Perpinan & Hinton, 2005).
Entrenandouna red profunda • En primer lugar, entrenarunacapa de característicasquerecibenentradasdirectamente de los píxeles • Luegotomaractivaciones de lascaracterísticasentrenadascomosifueranpíxeles y aprenderunasegundacapa de características. • Finalmente, usarbackpropagationpara un ajustefino de los pesos: • Tienesentidocuandolascapasintermediasestánpreentrenadas, de otromodo no produce resultados • La información de lasetiquetas de clase se usaparaesteajustefino, no necesitaredescubrircaracterísticas, sólolasrefina. • Este esquemafuncionabienaúncuandobuena parte de los datos son no etiquetados • También se puedeusar “contrastive wake-sleep” para el ajustefino.
Variantes • DeepBelief Network (Hinton et al., 2006): la capa superior es un RBM y las inferiores son “Beliefnetworks” dirigidas y sigmoidales. • DeepAutoencoder(Salakhutdinov, Hinton 2006): apilar RBMs o autoencoders. • DeepBoltzman Machine (Salakhutdinov, Hinton 2009): se combinan RBM en una DBM desdoblando pesos y luego se ajusta por ML aproximada. • Free energyfunction (Ngiam et al. 2011): construcción iterativa sin variables latentes explícitas.
Ejemplos • Deepautoencoders • Visualización documentos • Hash documentos • Recuperación información • RBM para filtrado colaborativo (Netflix) • Generación musical con RBM • Modelado de estilos de movimiento • Transfer Learning
Deepautoencoders • Arquitectura interesante para reducción de dimensionalidad • Imposible optimizar usando backprop: • Si iniciamos con pesos pequeños, los gradientes se diluyen • Con pesos grandes, fijamos un mínimo local del que es muy difícil salr • Factible si • entrenamos 4 pilas de RBMs • Las “desenrollamos” • Ajustamos fino con backprop
Documentretrieval • El ruido inyectado fuerza representaciones binarias • Se obtiene una función hash aprendida de los datos • Se puede usar para encontrar documentos similares (“bit-flip”) • Mejores curvas P-R que TF-IDF y es mejor y 50 veces más rápido que “localitysensitivehashing”
RBM para filtrado colaborativo (Netflix) • Cada usuario es un caso de entrenamiento, definido por el vector de ratings. • Hay una unidad visible por película y 100 ocultas binarias (5-way softmax) • Una RBM para cada usuario, sólo tiene unidades visibles de las películas que ese usuario ha puntuado • Todas las RBM comparten pesos. • El grupo ganador ha usado el promedio de 100 modelos RBM y de factorización de matrices.
Generación musical • Partimos de un fichero MIDI y se discretiza el tiempo en fracciones 1/32 • Se fragmenta en trozos de 64 notas • Se alimenta un RBM de tamaño N-800-400-2 • Las dos unidades finales se sincronizan con las coordenadas (x,y) del ratón. • http://www.youtube.com/watch?v=_Gpk64QC22E (Generation min. 1:38)
Modelado de estilos de movimiento • RBM factorizada y condicionada • Se entrena con el sujeto 137 de CMU Motion Capture Database: 10 estilos: cat, chicken, dinosaur, drunk, gangly, graceful, normal, old-man, sexy and strong. • Las variables de estilo permiten controlar el resultado del modelo • DEMO: • http://www.uoguelph.ca/~gwtaylor/publications/icml2009/
Transfer learning • Explota información común entre diferentes tareas sobre los mismos datos • Transfer LearningChallenges 2011: ambos los ganaron algoritmos de DL
Conclusiones • DL parece funcionar muy bien en determinados problemas (manifold) • La clave es la extracción no supervisada de características (multicapa) y el uso de etiquetas para un ajuste fino • La compartición de pesos y el promediado de modelos es beneficioso (boosting)