Disciplina Curricular
Aprendizagem Estruturada Profunda AEProf
Diploma de Estudos Avançados em Engenharia Informática e de Computadores - DEAEIC2006
Contextos
Grupo: DEAEIC2006 > 3º Ciclo
Período:
Peso
6.0 (para cálculo da média)
Objectivos
Classificação estruturada é uma área em aprendizagem estatística que lida com variáveis estruturadas e fortemente inter-dependentes, com aplicações em processamento de linguagem natural, vis~ao por computador, biologia computacional e processamento de sinais. Nos últimos 2{3 anos, varias aplicações nestas áreas atingiram novos patamares de qualidade substituindo os modelos lineares tradicionais, baseados em características dos dados manualmente especificadas, por modelos de aprendizagem profunda mais poderosos baseados em redes neuronais, capazes de aprender representações internas. Neste curso, irei descrever vários métodos, modelos e algoritmos para classificação estruturada, desde modelos lineares \superciais" (modelos de Markov escondidos, campos aleatorios condicionais, maquinas de vectores de suporte estruturadas) até modelos modernos de aprendizagem "profunda" (redes convolucionais, redes recurrentes, mecanismos de atenção, etc.), passando por métodos superciais e profundos para aprendizagem por reforço. O tópico de aprendizagem de representações também será discutido (PCA, auto-codificadores e vários modelos generativos profundos). Os conceitos teóricos abordados neste curso serão complementados com uma forte componente pratica, permitindo aos participantes do mesmo desenvolver projectos de grupo onde poderão resolver problemas práticos utilizando software adequado para aprendizagem profunda, tal como Theano ou Tensorflow
Programa
1. Introdução. 2. Aprendizagem supervisionada. Classificação binária e multi-classe. Classificadores lineares baseados em características. Perceptrão de Rosenblatt, naive Bayes, regressão logística, máquinas de vectores de suporte. 3. O problema XOR. Perceptrão multi-camada. Funções de activação. Optimização não convexa e mínimos locais. O algoritmo de retro-propagação. 4. Regularização e optimização. Regularização L1, L2, dropout. Gradiente estocástico, AdaGrad, Adam. Treino de redes neuronais em GPUs. 5. Aprendizagem de representações. Auto-codificadores. Representações distribuídas. Representações de palavras. Redes neuronais convolucionais. ``Max pooling''. 6. Modelos sequenciais generativos. Modelos de Markov. Programação dinâmica: os algoritmos de Viterbi e ``forward-backward''. Classificadores lineares estruturados discriminativos: campos aleatórios condicionais e máquinas de vectores de suporte estruturadas. 7. Árvores e grafos. Classificação estruturada. Modelos gráficos. Propagação de crença e decomposição dual. 8. Modelos de linguagem neuronais. Redes neuronais recorrentes. Retropropagação através do tempo. Unidades com portas: LSTMs e GRUs. Redes neuronais recursivas. 9. Arquitecturas codificador-descodificador para aprendizagem sequência-para-sequência. 10. Mecanismos de atenção e memórias neuronais. Estrutura interna em redes neuronais: LSTMs empilhados e outros modelos. Máquinas de Turing neuronais e computação diferenciável. 11. Classificação estruturada como aprendizagem de busca. Sistemas de transição e oráculos dinâmicos. Aprendizagem profunda por reforço. 12. Modelos generativos profundos: máquinas de Boltzmann, auto-codificadores variacionais, redes generativas adversariais. 13-14. Projectos finais / Sessão de posters
Metodologia de avaliação
50% Trabalho autónomo ( 5 trabalhos x 10% cada) 50% Projecto nas aulas