Informações administrativas
Titulo | Propagação para a frente |
Duração | 60 |
Módulo | B |
Tipo de aula | Palestra |
Foco | Técnico — Aprendizagem Aprofundada |
Tópico | Passe para a frente |
Palavras-chave
Passe para a frente, perda,
Objetivos de aprendizagem
- Compreender o processo de um passe para a frente
- Compreender como calcular uma previsão de passe para a frente, bem como perdas desligadas
- Desenvolver um passe avançado sem módulos em Python (exceto Numpy)
- Desenvolver um passe para a frente com Keras
Preparação prevista
Eventos de aprendizagem a serem concluídos antes
Nenhuma.
Obrigatório para os Estudantes
Nenhuma.
Facultativo para Estudantes
- Multiplicação das matrizes
- Começar a usar Numpy
- Conhecimento de regressão linear e logística (do Período A Machine Learning): Palestra: Regressão linear, GLRs, GADs)
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
Esta palestra irá apresentar aos alunos os fundamentos da propagação para a frente para uma rede neural artificial. Isto irá introduzir os alunos à topologia (pesos, sinapses, funções de ativação e funções de perda). Os alunos poderão então fazer um passe para a frente usando caneta e papel, usando Python apenas com a biblioteca Numpy (para manipulação de matrizes) e depois usando o KERAS como parte do tutorial associado a este LE. Isto irá construir uma compreensão fundamental do que as funções de ativação se aplicam a contextos de problemas específicos e como as funções de ativação diferem na complexidade computacional. Na palestra, a função de ativação da camada exterior e as funções de perda correspondentes serão examinadas para casos de uso como classificação binomial, regressão e classificação multiclasse.
- Visão geral de uma rede neural
- Definição de termos/componentes
- Pesos e funções de ativação
- Funções de perda, para as quais o contexto do problema
- Usar matrizes para conduzir um passe para a frente
Nota:
- Utilização de Sigmoid na camada exterior e MSE como função de perda.
- Com limitações tinas, optou-se por um contexto de abordagem/topologia/problema singular. Normalmente, começar-se-ia com regressão para uma passagem para a frente (com MSE como a função de perda), e para derivar a retropropagação (assim, ter uma função de ativação linear na camada de saída, onde isso reduz a complexidade da derivação da função de retropropagação), então, normalmente, mover-se-ia para uma função de classificação binária, com sigmoide na camada de saída, e uma função binária de perda de entropia cruzada. Com restrições de tempo, este conjunto de palestras usará três diferentes exemplos de funções de ativação oculta, mas usará um contexto de problema de regressão. Para adicionar a complexidade de uma função de ativação sigmoide na camada de saída, o problema de regressão usado nas duas primeiras palestras deste conjunto, o exemplo do problema é baseado em um valor-alvo normalizado (0-1 com base em um problema de grau percentual 0-100 %), assim sigmoide é usado como uma função de ativação na camada de saída. Esta abordagem permite aos alunos migrarem facilmente entre problemas de regressão e classificação binária, simplesmente alterando a função de perda se um problema de classificação binária, ou se um problema de regressão não-normalizado estiver a ser utilizado, o aluno simplesmente remove a função de ativação da camada externa.
- Os componentes principais são a aplicação de, utilizando uma biblioteca de alto nível, neste caso KERAS através da biblioteca TensorFlow 2.X.
- A caneta e o papel são opcionais e só são utilizados para mostrar a derivação e a aplicação do passe e da retropropagação (utilizando os exemplos dos diapositivos das palestras).
- Código Python sem o uso de bibliotecas de alto nível, é usado para mostrar o quão simples uma rede neural (usando os exemplos dos slides de palestra). Isto também permite discutir a multiplicação rápida numérica/matrizes e introduzir por que usamos GPUs/TPUs como um elemento opcional.
- Keras e TensorFlow 2.X são usados e serão usados para todos os exemplos futuros.
Esboço
Duração (Min) | Descrição |
---|---|
10 | Definição de Componentes da Rede Neural |
15 | Pesos e funções de ativação (Sigmoid, TanH e ReLu) |
15 | Funções de perda (regressão, classificação binomial e ativação multiclasse) |
15 | Utilizar matrizes para um passe para a frente |
5 | Recapitular sobre o passe 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.