Informações administrativas
Titulo | Derivação e aplicação da retropropagação |
Duração | 60 |
Módulo | B |
Tipo de aula | Tutorial |
Foco | Técnico — Aprendizagem Aprofundada |
Tópico | Derivação e implementação da retropropagação |
Palavras-chave
Retropropagação, funções de ativação, desvio,
Objetivos de aprendizagem
- Desenvolver uma compreensão do gradiente e taxa de aprendizagem
- Derivar a retropropagação para camadas ocultas e exteriores
- Implimenting Backpropagation desligada e ligada utilizando diferentes funções de ativação
Preparação prevista
Eventos de aprendizagem a serem concluídos antes
Obrigatório para os Estudantes
- Revisão do cálculo (derivados, derivados parciais, a regra da cadeia)
Facultativo para Estudantes
Nenhuma.
Referências e antecedentes para estudantes
- John D. Kelleher e Cérebro McNamee. (2018), Fundamentals of Machine Learning for Predictive Data Analytics, MIT Press.
- Michael Nielsen. (2015), Redes Neurais e Aprendizagem Profunda, 1. Imprensa de determinação, São Francisco CA EUA.
- Charu C. Aggarwal. (2018), Redes Neurais e Aprendizagem Profunda, 1. Springer
- António Gulli, Sujit Pal. Aprendizagem profunda com Keras, Packt, [ISBN: 9781787128422].
Recomendado para professores
Nenhuma.
Materiais das aulas
Instruções para os professores
- Este tutorial irá apresentar aos alunos os fundamentos do algoritmo de aprendizagem de retropropagação para uma rede neural artificial. Este tutorial consistirá na derivação do algoritmo de retropropagação utilizando caneta e papel, depois na aplicação do algoritmo de retropropagação para três diferentes funções de ativação de camada oculta (Sigmoid, Tan H e ReLu), utilizando o Python com apenas a biblioteca Numpy (para manipulação de matrizes) e depois utilizando o KERAS. Isto irá basear-se na compreensão fundamental das diferentes funções de ativação quando uma rede neural aprende e como as funções de ativação diferem na complexidade computacional e na aplicação da caneta e do papel, para codificar a partir do zero usando Numpy e depois usando um módulo de alto nível -> Keras.
- Nota: A topologia é a mesma que a Lecture 1/Tutorial 1, mas os pesos e entradas são diferentes, é claro que pode usar os mesmos pesos.
- Os alunos serão apresentados com quatro problemas (o primeiro é opcional ou como material adicional):
- Problema 1: A derivação do algoritmo de retropropagação (utilizando a função Sigmoid para as funções de ativação interior e exterior e MSE como função de perda), os alunos serão convidados a derivar a fórmula de retropropagação (20 minutos para completar).
- Problema 2: Os alunos aplicarão três funções de ativação para uma única atualização de peso (SGD backpropagation), utilizando caneta e papel durante (20 minutos):
- Sigmoide (camada oculta), sigmoide (camada exterior) e MSE
- Tan H (camada oculta), sigmoide (camada exterior) e MSE
- ReLU (camada oculta), sigmoide (camada exterior) e MSE
- Problema 3: Os alunos serão convidados (com orientação dependendo da experiência de codificação anterior) a desenvolver uma rede neural a partir do zero usando apenas o módulo Numpy, e os pesos e funções de ativação onde a opção de selecionar a partir de qualquer uma função de ativação de camada oculta é fornecida para atualizar os pesos usando SGD (20 minutos para concluir).
- Problema 4: Os alunos serão convidados (com orientação de acordo com a experiência de codificação anterior) a desenvolver uma rede neural usando o módulo Tensorflow 2.X com o módulo Keras inbuild, e os pesos e funções de ativação, e depois usando pesos aleatórios para completar uma ou várias atualizações de peso. Por favor, não como Keras usa uma ligeira perda de MSE diferente, a perda reduz-se mais rapidamente no exemplo Keras.
- Keras MSE = perda = quadrado(y_true — y_pred)
- Tutorial MSE = perda = (quadrado(y_true — y_pred))*0,5
- Os subobjetivos para estes três Problemas, é fazer com que os alunos compreendam o algoritmo de retropropagação, aplique-o para que para a afinação do hipermetro, os alunos sejam capazes de compreender melhor os efeitos do hiperparâmetro.
Esboço
Duração (Min) | Descrição |
---|---|
20 (opcional) | Problema 1: derivação da fórmula de retropropagação utilizando a função Sigmoid para as funções de ativação interior e exterior e MSE como função de perda (opcional) |
20 | Problema 2: Os alunos aplicarão três funções de ativação para uma única atualização de peso (SGD backpropagation), utilizando caneta e papel durante (20 minutos): |
20 | Problema 3: Os alunos desenvolverão uma rede neural a partir do zero usando apenas o módulo Numpy, onde o utilizador pode selecionar a partir de qualquer uma das três funções de ativação de camada oculta onde o código pode pré-formar a retropropagação. |
10 | Problema 4: Os alunos usarão o módulo Tensorflow 2.X com o módulo Keras inbuild, pré-formar a retropropagação usando SGD. |
10 | Recapitular sobre o processo de passagem para a frente |
Agradecimentos
O programa de mestrado em IA centrado no ser humano foi cofinanciado pelo Mecanismo Interligar a Europa da União Europeia ao abrigo de subvenções CEF-TC-2020-1 Competências Digitais 2020-EU-IA-0068.