O documento descreve as redes neurais e o perceptron. Ele explica que as redes neurais se inspiram nos neurônios biológicos e como o perceptron funciona como a unidade básica de uma rede neural, recebendo sinais de entrada e aplicando uma função de ativação. Também discute possíveis funções de ativação como a função degrau e sigmóide e como os pesos das conexões, incluindo o viés, determinam se um perceptron é ativado ou não.
O documento discute redes neurais artificiais, incluindo sua história, princípios, aplicações e modelos. Aborda conceitos como perceptrons, mapas de Kohonen, backpropagation e redes neurais recorrentes, além de aplicações como reconhecimento de padrões, imagens, voz e simulação/controle de sistemas dinâmicos.
O documento discute redes neurais artificiais, incluindo sua história, princípios de neurocomputação, projeto de redes neurais, e algoritmos de aprendizado. É apresentada a estrutura básica de neurônios e como eles são combinados em redes neurais para resolver problemas.
O documento discute estimativas de erro em modelos de aprendizagem de máquina. Explica que o erro esperado no conjunto de teste tende a ser maior que no conjunto de treino, devido ao ajuste do modelo aos dados de treino. Também aborda medidas como viés e variância para avaliar estimadores, e como o erro quadrático médio equilibra ambos para medir o desvio total esperado entre a estimativa e o valor real.
O documento discute a avaliação de desempenho de classificadores treinados. Explica que é necessário testar o modelo em um conjunto de dados independente para medir seu desempenho em dados novos. Também apresenta métricas como taxa de erro e curva de aprendizagem para avaliar quantitativamente o modelo.
O documento descreve o algoritmo de máquina de vetor de suporte (SVM), explicando como ele busca encontrar o hiperplano separador de margem máxima entre os dados de treinamento de duas classes. O SVM define fronteiras lineares ótimas para dados linearmente separáveis, maximizando a distância entre o hiperplano separador e os exemplos de treinamento mais próximos, chamados de vetores de suporte. O problema é formulado como um problema de otimização para encontrar os parâmetros ω e b que maximizam essa distância de separação.
O documento discute redes neurais artificiais, incluindo sua história, princípios, aplicações e modelos. Aborda conceitos como perceptrons, mapas de Kohonen, backpropagation e redes neurais recorrentes, além de aplicações como reconhecimento de padrões, imagens, voz e simulação/controle de sistemas dinâmicos.
O documento discute redes neurais artificiais, incluindo sua história, princípios de neurocomputação, projeto de redes neurais, e algoritmos de aprendizado. É apresentada a estrutura básica de neurônios e como eles são combinados em redes neurais para resolver problemas.
O documento discute estimativas de erro em modelos de aprendizagem de máquina. Explica que o erro esperado no conjunto de teste tende a ser maior que no conjunto de treino, devido ao ajuste do modelo aos dados de treino. Também aborda medidas como viés e variância para avaliar estimadores, e como o erro quadrático médio equilibra ambos para medir o desvio total esperado entre a estimativa e o valor real.
O documento discute a avaliação de desempenho de classificadores treinados. Explica que é necessário testar o modelo em um conjunto de dados independente para medir seu desempenho em dados novos. Também apresenta métricas como taxa de erro e curva de aprendizagem para avaliar quantitativamente o modelo.
O documento descreve o algoritmo de máquina de vetor de suporte (SVM), explicando como ele busca encontrar o hiperplano separador de margem máxima entre os dados de treinamento de duas classes. O SVM define fronteiras lineares ótimas para dados linearmente separáveis, maximizando a distância entre o hiperplano separador e os exemplos de treinamento mais próximos, chamados de vetores de suporte. O problema é formulado como um problema de otimização para encontrar os parâmetros ω e b que maximizam essa distância de separação.
O documento discute árvores de decisão e florestas aleatórias. Ele explica que árvores de decisão são uma das formas mais simples de aprendizado de máquina, representando uma sequência de regras "se...então" para classificar ou prever saídas com base em atributos de entrada. O documento também descreve características como nós internos representando testes de atributos e folhas especificando saídas, e discute expressividade e variações de árvores de decisão.
O documento discute aprendizado supervisionado bayesiano. Ele introduz o aprendizado bayesiano como um método probabilístico e descreve que o aprendizado supervisionado tem como objetivo classificação ou regressão para mapear entradas em saídas com base em exemplos.
O documento descreve a regra de Bayes e redes Bayesianas. Ele fornece um exemplo detalhado sobre como calcular a probabilidade de uma mulher ter câncer de mama dado um resultado positivo em um mamograma usando a regra de Bayes. Ele também define brevemente o que são redes Bayesianas, que representam dependências probabilísticas entre variáveis aleatórias através de um grafo direcionado acíclico.
O documento discute o tratamento de incerteza em inteligência artificial. Aborda como a probabilidade e a teoria da decisão podem ser usadas para tomar decisões racionais quando os resultados são incertos, levando em conta a probabilidade de cada resultado e sua utilidade segundo as preferências de quem decide.
O documento discute representação do conhecimento através de ontologias, incluindo taxonomias e herança. Ontologias organizam o conhecimento em categorias hierárquicas e permitem raciocinar sobre objetos classificados. Categorias podem ser representadas como predicados ou objetos. A herança permite que propriedades sejam herdadas por subcategorias.
O documento descreve o funcionamento do algoritmo de backward chaining em programação lógica, começando com uma explicação geral do processo de raciocínio de trás para frente a partir de um objetivo. Em seguida, apresenta formalmente o algoritmo de backward chaining, explicando cada parte do processo de forma recursiva para encontrar substituições que satisfaçam a query dada uma base de conhecimento. Por fim, exemplifica o algoritmo em uma base de conhecimento sobre venda de armas.
O documento descreve os passos para executar resolução e encadeamento para frente em lógica de primeira ordem. Primeiro, as expressões lógicas devem ser convertidas para forma clausal sem quantificadores. Em seguida, as variáveis devem ser substituídas durante a resolução usando o processo de unificação. Por fim, a resolução é executada para derivar novas conclusões.
O documento descreve as bases de dados em lógica de primeira ordem, como interagir com elas fazendo buscas (queries) por meio de sentenças lógicas em LPO, e como qualquer query que possa ser inferida logicamente pela base de dados será respondida afirmativamente. As bases de dados contêm axiomas com informações básicas e teoremas derivados dos axiomas, e o documento discute técnicas como forward chaining, backward chaining e resolução para realizar inferência nas bases de dados.
O documento descreve uma aula sobre lógica de primeira ordem. Apresenta os elementos básicos da lógica de primeira ordem, incluindo termos, predicados e a gramática formal para construir sentenças. Também explica como modelos e interpretações funcionam na lógica de primeira ordem, diferentemente da lógica proposicional.
O documento discute inferência em lógica proposicional, incluindo tipos de provas como verificação de modelos e aplicação de regras de inferência. Ele explica como aplicar regras de inferência como modus ponens e modus tollens para derivar novas sentenças a partir de premissas, formando uma prova.
O documento descreve um algoritmo de busca retroativa para resolver problemas de satisfação de restrições, utilizando forward checking e heurísticas como valores restantes mínimos, grau e valor menos restritivo. O algoritmo é demonstrado passo a passo em um exemplo de coloração de grafos, definindo variáveis, valores e propagando escolhas.
O documento descreve problemas de satisfação de restrições (CSPs), definidos por um conjunto de variáveis, domínios de valores para cada variável, e restrições sobre combinações de valores de variáveis. Apresenta exemplos de agendamento de aulas e coloração de mapas como CSPs, definindo suas variáveis, domínios e restrições.
O documento discute algoritmos genéticos e representação de cromossomos. Ele explica que os cromossomos podem ser representados de várias formas, incluindo binária, valores inteiros e reais. A representação binária é a mais simples, onde o cromossomo consiste de uma sequência de bits. A mutação e o cruzamento ocorrem durante o algoritmo genético para gerar novas soluções.
O documento descreve os princípios da computação evolutiva e algoritmos genéticos. Ele define computação evolutiva como técnicas que simulam a evolução natural, usando seleção, mutação e reprodução. O documento então explica o processo de seleção, mutação e reprodução em algoritmos genéticos e fornece detalhes sobre sua terminologia e funcionamento.
O documento descreve buscas informadas e heurísticas de busca. Ele discute estratégias como melhor primeiro, gulosa e A*, que usam heurísticas para guiar a busca em direção a soluções mais promissoras. O documento também discute problemas que podem ocorrer dependendo da heurística escolhida.
O documento discute busca como uma abordagem para solução de problemas em inteligência artificial. Explica que os problemas podem ser reduzidos a uma busca em um grafo, onde cada nó representa um estado do mundo e as arestas representam ações que levam de um estado a outro. A solução é um caminho no grafo que leva de um estado inicial a um estado final desejado. Exemplos de tipos de problemas incluem determinísticos e não determinísticos.
O documento discute arquivos e exceções em Java. Primeiramente, explica que dados de configuração precisam ser salvos em arquivos para serem preservados entre execuções do programa. Em seguida, descreve como objetos da classe File representam caminhos para arquivos e diretórios, e que escrever dados em arquivos requer objetos FileWriter. Por fim, discute que métodos que manipulam arquivos podem lançar exceções IOException, as quais precisam ser capturadas ou declaradas no método.
Este documento discute métodos abstratos e classes abstratas em Java. Explica que métodos abstratos não têm implementação definida na classe abstrata, mas sim nas subclasses, que são obrigadas a implementá-los. Também explica que a existência de pelo menos um método abstrato torna a classe abstrata, impedindo sua instanciação direta. A classe Casa é usada como exemplo de classe abstrata, já que no sistema modelo existem apenas casas quadradas e retangulares.
As três frases são:
1) O documento discute listas ligadas como uma alternativa a arranjos para alocar dinamicamente espaço na memória para novos itens.
2) Listas ligadas permitem adicionar itens de forma simples, sem necessidade de alocar um novo arranjo maior e copiar o conteúdo do anterior.
3) Cada nó de uma lista ligada contém um valor e um ponteiro para o próximo nó, permitindo navegar pela lista de forma flexível.
O documento discute árvores de decisão e florestas aleatórias. Ele explica que árvores de decisão são uma das formas mais simples de aprendizado de máquina, representando uma sequência de regras "se...então" para classificar ou prever saídas com base em atributos de entrada. O documento também descreve características como nós internos representando testes de atributos e folhas especificando saídas, e discute expressividade e variações de árvores de decisão.
O documento discute aprendizado supervisionado bayesiano. Ele introduz o aprendizado bayesiano como um método probabilístico e descreve que o aprendizado supervisionado tem como objetivo classificação ou regressão para mapear entradas em saídas com base em exemplos.
O documento descreve a regra de Bayes e redes Bayesianas. Ele fornece um exemplo detalhado sobre como calcular a probabilidade de uma mulher ter câncer de mama dado um resultado positivo em um mamograma usando a regra de Bayes. Ele também define brevemente o que são redes Bayesianas, que representam dependências probabilísticas entre variáveis aleatórias através de um grafo direcionado acíclico.
O documento discute o tratamento de incerteza em inteligência artificial. Aborda como a probabilidade e a teoria da decisão podem ser usadas para tomar decisões racionais quando os resultados são incertos, levando em conta a probabilidade de cada resultado e sua utilidade segundo as preferências de quem decide.
O documento discute representação do conhecimento através de ontologias, incluindo taxonomias e herança. Ontologias organizam o conhecimento em categorias hierárquicas e permitem raciocinar sobre objetos classificados. Categorias podem ser representadas como predicados ou objetos. A herança permite que propriedades sejam herdadas por subcategorias.
O documento descreve o funcionamento do algoritmo de backward chaining em programação lógica, começando com uma explicação geral do processo de raciocínio de trás para frente a partir de um objetivo. Em seguida, apresenta formalmente o algoritmo de backward chaining, explicando cada parte do processo de forma recursiva para encontrar substituições que satisfaçam a query dada uma base de conhecimento. Por fim, exemplifica o algoritmo em uma base de conhecimento sobre venda de armas.
O documento descreve os passos para executar resolução e encadeamento para frente em lógica de primeira ordem. Primeiro, as expressões lógicas devem ser convertidas para forma clausal sem quantificadores. Em seguida, as variáveis devem ser substituídas durante a resolução usando o processo de unificação. Por fim, a resolução é executada para derivar novas conclusões.
O documento descreve as bases de dados em lógica de primeira ordem, como interagir com elas fazendo buscas (queries) por meio de sentenças lógicas em LPO, e como qualquer query que possa ser inferida logicamente pela base de dados será respondida afirmativamente. As bases de dados contêm axiomas com informações básicas e teoremas derivados dos axiomas, e o documento discute técnicas como forward chaining, backward chaining e resolução para realizar inferência nas bases de dados.
O documento descreve uma aula sobre lógica de primeira ordem. Apresenta os elementos básicos da lógica de primeira ordem, incluindo termos, predicados e a gramática formal para construir sentenças. Também explica como modelos e interpretações funcionam na lógica de primeira ordem, diferentemente da lógica proposicional.
O documento discute inferência em lógica proposicional, incluindo tipos de provas como verificação de modelos e aplicação de regras de inferência. Ele explica como aplicar regras de inferência como modus ponens e modus tollens para derivar novas sentenças a partir de premissas, formando uma prova.
O documento descreve um algoritmo de busca retroativa para resolver problemas de satisfação de restrições, utilizando forward checking e heurísticas como valores restantes mínimos, grau e valor menos restritivo. O algoritmo é demonstrado passo a passo em um exemplo de coloração de grafos, definindo variáveis, valores e propagando escolhas.
O documento descreve problemas de satisfação de restrições (CSPs), definidos por um conjunto de variáveis, domínios de valores para cada variável, e restrições sobre combinações de valores de variáveis. Apresenta exemplos de agendamento de aulas e coloração de mapas como CSPs, definindo suas variáveis, domínios e restrições.
O documento discute algoritmos genéticos e representação de cromossomos. Ele explica que os cromossomos podem ser representados de várias formas, incluindo binária, valores inteiros e reais. A representação binária é a mais simples, onde o cromossomo consiste de uma sequência de bits. A mutação e o cruzamento ocorrem durante o algoritmo genético para gerar novas soluções.
O documento descreve os princípios da computação evolutiva e algoritmos genéticos. Ele define computação evolutiva como técnicas que simulam a evolução natural, usando seleção, mutação e reprodução. O documento então explica o processo de seleção, mutação e reprodução em algoritmos genéticos e fornece detalhes sobre sua terminologia e funcionamento.
O documento descreve buscas informadas e heurísticas de busca. Ele discute estratégias como melhor primeiro, gulosa e A*, que usam heurísticas para guiar a busca em direção a soluções mais promissoras. O documento também discute problemas que podem ocorrer dependendo da heurística escolhida.
O documento discute busca como uma abordagem para solução de problemas em inteligência artificial. Explica que os problemas podem ser reduzidos a uma busca em um grafo, onde cada nó representa um estado do mundo e as arestas representam ações que levam de um estado a outro. A solução é um caminho no grafo que leva de um estado inicial a um estado final desejado. Exemplos de tipos de problemas incluem determinísticos e não determinísticos.
O documento discute arquivos e exceções em Java. Primeiramente, explica que dados de configuração precisam ser salvos em arquivos para serem preservados entre execuções do programa. Em seguida, descreve como objetos da classe File representam caminhos para arquivos e diretórios, e que escrever dados em arquivos requer objetos FileWriter. Por fim, discute que métodos que manipulam arquivos podem lançar exceções IOException, as quais precisam ser capturadas ou declaradas no método.
Este documento discute métodos abstratos e classes abstratas em Java. Explica que métodos abstratos não têm implementação definida na classe abstrata, mas sim nas subclasses, que são obrigadas a implementá-los. Também explica que a existência de pelo menos um método abstrato torna a classe abstrata, impedindo sua instanciação direta. A classe Casa é usada como exemplo de classe abstrata, já que no sistema modelo existem apenas casas quadradas e retangulares.
As três frases são:
1) O documento discute listas ligadas como uma alternativa a arranjos para alocar dinamicamente espaço na memória para novos itens.
2) Listas ligadas permitem adicionar itens de forma simples, sem necessidade de alocar um novo arranjo maior e copiar o conteúdo do anterior.
3) Cada nó de uma lista ligada contém um valor e um ponteiro para o próximo nó, permitindo navegar pela lista de forma flexível.
Atividade letra da música - Espalhe Amor, Anavitória.Mary Alvarenga
A música 'Espalhe Amor', interpretada pela cantora Anavitória é uma celebração do amor e de sua capacidade de transformar e conectar as pessoas. A letra sugere uma reflexão sobre como o amor, quando verdadeiramente compartilhado, pode ultrapassar barreiras alcançando outros corações e provocando mudanças positivas.
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoMateusTavares54
Quer aprender inglês e espanhol de um jeito divertido? Aqui você encontra atividades legais para imprimir e usar. É só imprimir e começar a brincar enquanto aprende!
1. Inteligência Artificial – ACH2016
Aula 19 – Redes Neurais
Norton Trevisan Roman
(norton@usp.br)
23 de maio de 2019
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 1 / 41
3. Redes Neurais
Inspiração
O neurônio biológico
Um neurônio recebe sinais
através de inúmeros
dendritos, podendo ou
não seguir adiante
Fonte: AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 2 / 41
4. Redes Neurais
Inspiração
O neurônio biológico
Um neurônio recebe sinais
através de inúmeros
dendritos, podendo ou
não seguir adiante
Se o sinal for superior a
um certo limite
(threshold), segue em
Fonte: AIMA. Russell & Norvig.
frente; caso contrário, é bloqueado
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 2 / 41
5. Redes Neurais
Inspiração
O neurônio biológico
Um neurônio recebe sinais
através de inúmeros
dendritos, podendo ou
não seguir adiante
Se o sinal for superior a
um certo limite
(threshold), segue em
Fonte: AIMA. Russell & Norvig.
frente; caso contrário, é bloqueado
Na passagem por um neurônio, um sinal pode ser
amplificado ou atenuado, dependendo do dendrito de origem
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 2 / 41
7. Redes Neurais
Perceptron
É a unidade básica
da rede neural
Fonte: Adaptado de de ML. Mitchell.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 3 / 41
8. Redes Neurais
Perceptron
É a unidade básica
da rede neural
A mais simples
Fonte: Adaptado de de ML. Mitchell.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 3 / 41
9. Redes Neurais
Perceptron
É a unidade básica
da rede neural
A mais simples
Um nó em um grafo
dirigido (a rede neural)
Fonte: Adaptado de de ML. Mitchell.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 3 / 41
10. Redes Neurais
Perceptron
É a unidade básica
da rede neural
A mais simples
Um nó em um grafo
dirigido (a rede neural)
Fonte: Adaptado de de ML. Mitchell.
Cada aresta serve para propagar a ativação de um nó a
outro na rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 3 / 41
11. Redes Neurais
Perceptron
É a unidade básica
da rede neural
A mais simples
Um nó em um grafo
dirigido (a rede neural)
Fonte: Adaptado de de ML. Mitchell.
Cada aresta serve para propagar a ativação de um nó a
outro na rede
Possui um peso associado, determinado a força e polaridade da
conexão
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 3 / 41
12. Redes Neurais
Perceptron
Cada unidade calcula a soma ponderada de suas
entradas
y =
g(y) =
Fonte: Adaptado de ML. Mitchell.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 4 / 41
13. Redes Neurais
Perceptron
Cada unidade calcula a soma ponderada de suas
entradas
E aplica então uma função de ativação para obter a saı́da
y =
g(y) =
Fonte: Adaptado de ML. Mitchell.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 4 / 41
14. Redes Neurais
Perceptron
Cada unidade calcula a soma ponderada de suas
entradas
E aplica então uma função de ativação para obter a saı́da
Função de ativação
y =
g(y) =
Fonte: Adaptado de ML. Mitchell.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 4 / 41
15. Redes Neurais
Perceptron
Cada unidade calcula a soma ponderada de suas
entradas
E aplica então uma função de ativação para obter a saı́da
Note que já definimos uma
entrada x0 e um peso ω0 (viés)
y =
g(y) =
Fonte: Adaptado de ML. Mitchell.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 4 / 41
16. Redes Neurais
Perceptron
Cada unidade calcula a soma ponderada de suas
entradas
E aplica então uma função de ativação para obter a saı́da
Note que já definimos uma
entrada x0 e um peso ω0 (viés)
y =
g(y) =
Fonte: Adaptado de ML. Mitchell.
O aprendizado em um perceptron envolve escolher valores para os pesos
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 4 / 41
17. Redes Neurais
Perceptron – Função de Ativação
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 5 / 41
18. Redes Neurais
Perceptron – Função de Ativação
Deve “ativar” o neurônio (valor perto de 1) quando
as entradas corretas forem dadas
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 5 / 41
19. Redes Neurais
Perceptron – Função de Ativação
Deve “ativar” o neurônio (valor perto de 1) quando
as entradas corretas forem dadas
Deve “desativar” o neurônio (próximo de 0) quando as
entradas “erradas” forem dadas
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 5 / 41
20. Redes Neurais
Perceptron – Função de Ativação
Deve “ativar” o neurônio (valor perto de 1) quando
as entradas corretas forem dadas
Deve “desativar” o neurônio (próximo de 0) quando as
entradas “erradas” forem dadas
Ou seja, o perceptron devolve 1 se o resultado é
maior que algum limiar e 0 (ou -1) se não
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 5 / 41
21. Redes Neurais
Perceptron – Função de Ativação
Deve “ativar” o neurônio (valor perto de 1) quando
as entradas corretas forem dadas
Deve “desativar” o neurônio (próximo de 0) quando as
entradas “erradas” forem dadas
Ou seja, o perceptron devolve 1 se o resultado é
maior que algum limiar e 0 (ou -1) se não
No exemplo anterior, o limiar é zero
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 5 / 41
22. Redes Neurais
Perceptron – Função de Ativação
Deve “ativar” o neurônio (valor perto de 1) quando
as entradas corretas forem dadas
Deve “desativar” o neurônio (próximo de 0) quando as
entradas “erradas” forem dadas
Ou seja, o perceptron devolve 1 se o resultado é
maior que algum limiar e 0 (ou -1) se não
No exemplo anterior, o limiar é zero
Deve ser não-linear
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 5 / 41
23. Redes Neurais
Perceptron – Função de Ativação
Deve “ativar” o neurônio (valor perto de 1) quando
as entradas corretas forem dadas
Deve “desativar” o neurônio (próximo de 0) quando as
entradas “erradas” forem dadas
Ou seja, o perceptron devolve 1 se o resultado é
maior que algum limiar e 0 (ou -1) se não
No exemplo anterior, o limiar é zero
Deve ser não-linear
Evitando que uma rede de neurônios resulte em uma única
função linear
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 5 / 41
24. Redes Neurais
Perceptron – Função de Ativação
Possı́veis escolhas:
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 6 / 41
25. Redes Neurais
Perceptron – Função de Ativação
Possı́veis escolhas:
Função degrau (ou threshold)
Fonte: Adaptado de Slides de AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 6 / 41
26. Redes Neurais
Perceptron – Função de Ativação
Possı́veis escolhas:
Função degrau (ou threshold)
Fonte: Adaptado de Slides de AIMA. Russell & Norvig
Função sigmóide (ou logı́stica)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 6 / 41
27. Redes Neurais
Perceptron – Função de Ativação
Possı́veis escolhas:
Função degrau (ou threshold)
Fonte: Adaptado de Slides de AIMA. Russell & Norvig
Função sigmóide (ou logı́stica)
A sigmóide tem a vantagem de ser diferenciável
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 6 / 41
28. Redes Neurais
Perceptron – Função de Ativação
Possı́veis escolhas:
Função degrau (ou threshold)
Fonte: Adaptado de Slides de AIMA. Russell & Norvig
Função sigmóide (ou logı́stica)
A sigmóide tem a vantagem de ser diferenciável
Importante para o algoritmo de aprendizado dos pesos
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 6 / 41
29. Redes Neurais
Perceptron – Função de Ativação
Em ambas funções há
um limiar em zero
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 7 / 41
30. Redes Neurais
Perceptron – Função de Ativação
Em ambas funções há
um limiar em zero
O valor real desse
limiar é determinado pelo peso de viés ω0 dado ao
neurônio
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 7 / 41
31. Redes Neurais
Perceptron – Função de Ativação
Em ambas funções há
um limiar em zero
O valor real desse
limiar é determinado pelo peso de viés ω0 dado ao
neurônio
A unidade é ativada caso a soma das entradas
“reais” (ou seja, sem x0) exceder ω0:
y =
n
X
j=1
ωj xj
≥ ω0
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 7 / 41
32. Redes Neurais
Perceptron – Função de Ativação
Em ambas funções há
um limiar em zero
O valor real desse
limiar é determinado pelo peso de viés ω0 dado ao
neurônio
A unidade é ativada caso a soma das entradas
“reais” (ou seja, sem x0) exceder ω0:
y =
n
X
j=1
ωj xj
≥ ω0
Mudar o peso de viés muda a localização do limiar
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 7 / 41
34. Redes Neurais
Perceptron
Toda função booleana pode ser representada:
E
g(y) =
1,
y =
n
X
j=1
ωj xj
≥ ω0
0,
y =
n
X
j=1
ωj xj
< ω0
x1 x2 y saı́da
1 1 2 1
1 0 1 0
0 1 1 0
0 0 0 0
Fonte: Adaptado de AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 8 / 41
35. Redes Neurais
Perceptron
Toda função booleana pode ser representada:
E OU
g(y) =
1,
y =
n
X
j=1
ωj xj
≥ ω0
0,
y =
n
X
j=1
ωj xj
< ω0
x1 x2 y saı́da
1 1 2 1
1 0 1 0
0 1 1 0
0 0 0 0
x1 x2 y saı́da
1 1 2 1
1 0 1 1
0 1 1 1
0 0 0 0
Fonte: Adaptado de AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 8 / 41
36. Redes Neurais
Perceptron
Toda função booleana pode ser representada:
E OU NÃO
g(y) =
1,
y =
n
X
j=1
ωj xj
≥ ω0
0,
y =
n
X
j=1
ωj xj
< ω0
x1 x2 y saı́da
1 1 2 1
1 0 1 0
0 1 1 0
0 0 0 0
x1 x2 y saı́da
1 1 2 1
1 0 1 1
0 1 1 1
0 0 0 0
x1 y saı́da
1 -1 0
0 0 1
Fonte: Adaptado de AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 8 / 41
37. Redes Neurais
Perceptrons em rede
Uma rede neural é uma
rede de perceptrons
conectados
Fonte: [6]
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 9 / 41
38. Redes Neurais
Perceptrons em rede
Uma rede neural é uma
rede de perceptrons
conectados
As unidades de saı́da dão
a saı́da do programa
Fonte: [6]
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 9 / 41
39. Redes Neurais
Perceptrons em rede
Uma rede neural é uma
rede de perceptrons
conectados
As unidades de saı́da dão
a saı́da do programa
Geralmente organizadas
em camadas
Fonte: [6]
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 9 / 41
40. Redes Neurais
Perceptrons em rede
Uma rede neural é uma
rede de perceptrons
conectados
As unidades de saı́da dão
a saı́da do programa
Geralmente organizadas
em camadas
Fonte: [6]
Cada unidade recebe entrada somente de unidades da
camada imediatamente anterior
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 9 / 41
41. Redes Neurais
Perceptrons em rede
Possuem uma ou mais
camadas de unidades
escondidas:
Fonte: [6]
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 10 / 41
42. Redes Neurais
Perceptrons em rede
Possuem uma ou mais
camadas de unidades
escondidas:
Unidades que não estão
conectadas à saı́da da rede
Fonte: [6]
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 10 / 41
43. Redes Neurais
Perceptrons em rede
Possuem uma ou mais
camadas de unidades
escondidas:
Unidades que não estão
conectadas à saı́da da rede
As camadas escondidas
recebem sinal da Fonte: [6]
entrada (ou de outra camada)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 10 / 41
44. Redes Neurais
Perceptrons em rede
Possuem uma ou mais
camadas de unidades
escondidas:
Unidades que não estão
conectadas à saı́da da rede
As camadas escondidas
recebem sinal da Fonte: [6]
entrada (ou de outra camada)
Sua saı́da, contudo, não é observada (por isso escondida)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 10 / 41
45. Redes Neurais
Tipos de redes
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 11 / 41
46. Redes Neurais
Tipos de redes
Feed-forward networks
Fonte: Slides de AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 11 / 41
47. Redes Neurais
Tipos de redes
Feed-forward networks
Possuem conexões em uma
única direção
Fonte: Slides de AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 11 / 41
48. Redes Neurais
Tipos de redes
Feed-forward networks
Possuem conexões em uma
única direção
Formam um grafo dirigido
acı́clico
Fonte: Slides de AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 11 / 41
49. Redes Neurais
Tipos de redes
Feed-forward networks
Possuem conexões em uma
única direção
Formam um grafo dirigido
acı́clico
Sua saı́da é uma função direta
de sua entrada
s5 = g(ω3,5s3 + ω4,5s4)
= g(ω3,5 g(ω1,3x1 + ω2,3x2)+
ω4,5 g(ω1,4x1 + ω2,4x2))
Fonte: Slides de AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 11 / 41
50. Redes Neurais
Tipos de redes
Feed-forward networks
Possuem conexões em uma
única direção
Formam um grafo dirigido
acı́clico
Sua saı́da é uma função direta
de sua entrada
Não há outro estado interno que
não os próprios pesos da rede
s5 = g(ω3,5s3 + ω4,5s4)
= g(ω3,5 g(ω1,3x1 + ω2,3x2)+
ω4,5 g(ω1,4x1 + ω2,4x2))
Fonte: Slides de AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 11 / 41
51. Redes Neurais
Tipos de redes
Feed-forward networks
Possuem conexões em uma
única direção
Formam um grafo dirigido
acı́clico
Sua saı́da é uma função direta
de sua entrada
Não há outro estado interno que
não os próprios pesos da rede
Mudando os pesos, muda a função
→ aprende
s5 = g(ω3,5s3 + ω4,5s4)
= g(ω3,5 g(ω1,3x1 + ω2,3x2)+
ω4,5 g(ω1,4x1 + ω2,4x2))
Fonte: Slides de AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 11 / 41
52. Redes Neurais
Tipos de redes
Redes recorrentes
Fonte: ML. Mitchell
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 12 / 41
53. Redes Neurais
Tipos de redes
Redes recorrentes
Redirecionam as saı́das de algumas
unidades à entrada de outras, formando
um ciclo
Fonte: ML. Mitchell
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 12 / 41
54. Redes Neurais
Tipos de redes
Redes recorrentes
Redirecionam as saı́das de algumas
unidades à entrada de outras, formando
um ciclo
Pode estabilizar, oscilar, ou apresentar
comportamento caótico
Fonte: ML. Mitchell
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 12 / 41
55. Redes Neurais
Tipos de redes
Redes recorrentes
Redirecionam as saı́das de algumas
unidades à entrada de outras, formando
um ciclo
Pode estabilizar, oscilar, ou apresentar
comportamento caótico
Sua saı́da leva em consideração a
Fonte: ML. Mitchell
entrada atual e o que aprendeu das entradas anteriores
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 12 / 41
56. Redes Neurais
Tipos de redes
Redes recorrentes
Redirecionam as saı́das de algumas
unidades à entrada de outras, formando
um ciclo
Pode estabilizar, oscilar, ou apresentar
comportamento caótico
Sua saı́da leva em consideração a
Fonte: ML. Mitchell
entrada atual e o que aprendeu das entradas anteriores
A saı́da é copiada e realimentada na rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 12 / 41
57. Redes Neurais
Tipos de redes
Redes recorrentes
Redirecionam as saı́das de algumas
unidades à entrada de outras, formando
um ciclo
Pode estabilizar, oscilar, ou apresentar
comportamento caótico
Sua saı́da leva em consideração a
Fonte: ML. Mitchell
entrada atual e o que aprendeu das entradas anteriores
A saı́da é copiada e realimentada na rede
Aqui, c(t) é o valor de b no passo t − 1
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 12 / 41
58. Redes Neurais
Tipos de redes
Redes recorrentes
Redirecionam as saı́das de algumas
unidades à entrada de outras, formando
um ciclo
Pode estabilizar, oscilar, ou apresentar
comportamento caótico
Sua saı́da leva em consideração a
Fonte: ML. Mitchell
entrada atual e o que aprendeu das entradas anteriores
A saı́da é copiada e realimentada na rede
Aqui, c(t) é o valor de b no passo t − 1
Podem simular memória de curto prazo (como um flip-flop)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 12 / 41
59. Redes Neurais
Tipos de redes
Redes recorrentes (cont.)
Podem ser vistas como se
desdobrando no tempo
Fonte: ML. Mitchell
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 13 / 41
60. Redes Neurais
Tipos de redes
Redes recorrentes (cont.)
Podem ser vistas como se
desdobrando no tempo
Em que cada instante t dá o momento
em que um exemplo de treino foi
apresentado
Fonte: ML. Mitchell
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 13 / 41
61. Redes Neurais
Tipos de redes
Redes recorrentes (cont.)
Podem ser vistas como se
desdobrando no tempo
Em que cada instante t dá o momento
em que um exemplo de treino foi
apresentado
Implementam uma relação de
recorrência, na qual b representa o
histórico das entradas
Fonte: ML. Mitchell
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 13 / 41
62. Redes Neurais
Tipos de redes
Redes recorrentes (cont.)
Podem ser vistas como se
desdobrando no tempo
Em que cada instante t dá o momento
em que um exemplo de treino foi
apresentado
Implementam uma relação de
recorrência, na qual b representa o
histórico das entradas
Várias topologias podem ser usadas.
Essa é só um exemplo Fonte: ML. Mitchell
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 13 / 41
63. Redes Neurais
Redes de Camada Única
Cada entrada se conecta diretamente à saı́da
Unidades
de entrada
Unidades
de saı́da
ωi,j
x1
x2
Fonte: Slides de AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 14 / 41
64. Redes Neurais
Redes de Camada Única
Cada entrada se conecta diretamente à saı́da
Unidades
de entrada
Unidades
de saı́da
ωi,j
x1
x2
Saı́da do perceptron
Fonte: Slides de AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 14 / 41
65. Redes Neurais
Redes de Camada Única
Não representam todas as funções
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 15 / 41
66. Redes Neurais
Redes de Camada Única
Não representam todas as funções
Apenas as linearmente separáveis (pontos em que g(y) = 0
estão separados daqueles em que g(y) = 1 por uma reta)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 15 / 41
67. Redes Neurais
Redes de Camada Única
Não representam todas as funções
Apenas as linearmente separáveis (pontos em que g(y) = 0
estão separados daqueles em que g(y) = 1 por uma reta)
Fonte: AIMA. Russell & Norvig
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 15 / 41
69. Redes Neurais
Perceptron Learning Rule
Regra para atualização dos pesos na rede, que
garantidamente converge para uma solução
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 16 / 41
70. Redes Neurais
Perceptron Learning Rule
Regra para atualização dos pesos na rede, que
garantidamente converge para uma solução
Um separador linear que classifica os dados perfeitamente, se
eles forem linearmente separáveis e η pequeno
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 16 / 41
71. Redes Neurais
Perceptron Learning Rule
Regra para atualização dos pesos na rede, que
garantidamente converge para uma solução
Um separador linear que classifica os dados perfeitamente, se
eles forem linearmente separáveis e η pequeno
ωi ← ωi + ∆ωi, com ∆ωi = η(t − s)xi, onde:
η – taxa de aprendizagem (learning rate)
t – saı́da desejada da rede para o exemplo corrente
s – saı́da do perceptron (g(y)) para o exemplo corrente
(t − s) – Erro
xi – cada atributo no exemplo corrente
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 16 / 41
72. Redes Neurais
Redes de Camada Única: Treinamento
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 17 / 41
73. Redes Neurais
Redes de Camada Única: Treinamento
Iniciamos com pesos aleatórios
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 17 / 41
74. Redes Neurais
Redes de Camada Única: Treinamento
Iniciamos com pesos aleatórios
Aplicamos o perceptron iterativamente a
cada exemplo de entrada
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 17 / 41
75. Redes Neurais
Redes de Camada Única: Treinamento
Iniciamos com pesos aleatórios
Aplicamos o perceptron iterativamente a
cada exemplo de entrada
Mudando os pesos toda vez que ele errar
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 17 / 41
76. Redes Neurais
Redes de Camada Única: Treinamento
Iniciamos com pesos aleatórios
Aplicamos o perceptron iterativamente a
cada exemplo de entrada
Mudando os pesos toda vez que ele errar
Os pesos são modificados de acordo com a regra de
treinamento do perceptron, que revisa os pesos ωi:
ωi ← ωi + ∆ωi , com ∆ωi = η(t − s)xi
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 17 / 41
77. Redes Neurais
Redes de Camada Única: Treinamento
Iniciamos com pesos aleatórios
Aplicamos o perceptron iterativamente a
cada exemplo de entrada
Mudando os pesos toda vez que ele errar
Os pesos são modificados de acordo com a regra de
treinamento do perceptron, que revisa os pesos ωi:
ωi ← ωi + ∆ωi , com ∆ωi = η(t − s)xi
(aprende pelo ajuste dos pesos de modo a reduzir o erro no
conjunto de treino)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 17 / 41
79. Redes Neurais
Perceptron Rule: Taxa de Aprendizagem
Modera o grau com que os pesos são mudados em
cada passo
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 18 / 41
80. Redes Neurais
Perceptron Rule: Taxa de Aprendizagem
Modera o grau com que os pesos são mudados em
cada passo
Geralmente baixa (0,1 por exemplo) e algumas vezes decai à
medida que o número de iterações aumenta
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 18 / 41
81. Redes Neurais
Perceptron Rule: Taxa de Aprendizagem
Modera o grau com que os pesos são mudados em
cada passo
Geralmente baixa (0,1 por exemplo) e algumas vezes decai à
medida que o número de iterações aumenta
Ideia básica:
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 18 / 41
82. Redes Neurais
Perceptron Rule: Taxa de Aprendizagem
Modera o grau com que os pesos são mudados em
cada passo
Geralmente baixa (0,1 por exemplo) e algumas vezes decai à
medida que o número de iterações aumenta
Ideia básica:
Se o resultado (s) foi abaixo do desejado (t), temos que
aumentar os pesos, pois a saı́da é proporcional à sua soma
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 18 / 41
83. Redes Neurais
Perceptron Rule: Taxa de Aprendizagem
Modera o grau com que os pesos são mudados em
cada passo
Geralmente baixa (0,1 por exemplo) e algumas vezes decai à
medida que o número de iterações aumenta
Ideia básica:
Se o resultado (s) foi abaixo do desejado (t), temos que
aumentar os pesos, pois a saı́da é proporcional à sua soma
Fazemos ∆ωi > 0, numa tentativa que o resultado da somatória dê
maior que o threshold, gerando um 1
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 18 / 41
84. Redes Neurais
Perceptron Rule: Taxa de Aprendizagem
Modera o grau com que os pesos são mudados em
cada passo
Geralmente baixa (0,1 por exemplo) e algumas vezes decai à
medida que o número de iterações aumenta
Ideia básica:
Se o resultado (s) foi abaixo do desejado (t), temos que
aumentar os pesos, pois a saı́da é proporcional à sua soma
Fazemos ∆ωi > 0, numa tentativa que o resultado da somatória dê
maior que o threshold, gerando um 1
η irá regular o tamanho desse aumento
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 18 / 41
85. Redes Neurais
Delta Rule
A Perceptron rule é válida apenas para a função
degrau
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 19 / 41
86. Redes Neurais
Delta Rule
A Perceptron rule é válida apenas para a função
degrau
Para a sigmóide, a saı́da g(y) é linear, e não binária
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 19 / 41
87. Redes Neurais
Delta Rule
A Perceptron rule é válida apenas para a função
degrau
Para a sigmóide, a saı́da g(y) é linear, e não binária
g(y) = σ(y) =
1
1 + e−y
, com y =
n
X
i=0
ωi xi
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 19 / 41
88. Redes Neurais
Delta Rule
A Perceptron rule é válida apenas para a função
degrau
Para a sigmóide, a saı́da g(y) é linear, e não binária
g(y) = σ(y) =
1
1 + e−y
, com y =
n
X
i=0
ωi xi
Aplicamos então a Delta Rule:
ωi ← ωi + ∆ωi , com ∆ωi = η(t − g(y))g0
(y)xi
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 19 / 41
89. Redes Neurais
Delta Rule
A Perceptron rule é válida apenas para a função
degrau
Para a sigmóide, a saı́da g(y) é linear, e não binária
g(y) = σ(y) =
1
1 + e−y
, com y =
n
X
i=0
ωi xi
Aplicamos então a Delta Rule:
ωi ← ωi + ∆ωi , com ∆ωi = η(t − g(y))g0
(y)xi
Onde g0
(y) é a derivada da função de ativação:
g(y) =
1
1 + e−y
⇒ g0
(y) =
d
dy
g(y) = g(y)(1 − g(y))
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 19 / 41
90. Redes Neurais
Redes de Camada Única: Algoritmo
Função PERCEPTRON(Exemplos, Rede): rede neural
repita
para cada e ∈ Exemplos faça
y ←
n
X
j=0
ωj xj [e]
Erro ← t[e] − g(y)
ωj ← ωj + η × Erro × g0
(y) × xj [e]
até Até que algum critério de parada seja satisfeito
retorna A nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 20 / 41
91. Redes Neurais
Redes de Camada Única: Algoritmo
Conjunto de exemplos,
cada um com entrada
~
x = {x1, . . . , xn} e saı́da ~
t
Função PERCEPTRON(Exemplos, Rede): rede neural
repita
para cada e ∈ Exemplos faça
y ←
n
X
j=0
ωj xj [e]
Erro ← t[e] − g(y)
ωj ← ωj + η × Erro × g0
(y) × xj [e]
até Até que algum critério de parada seja satisfeito
retorna A nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 20 / 41
92. Redes Neurais
Redes de Camada Única: Algoritmo
rede = {ω1, ω2, . . . , ωk , g(y)},
inicialmente com ωi aleatórios
Função PERCEPTRON(Exemplos, Rede): rede neural
repita
para cada e ∈ Exemplos faça
y ←
n
X
j=0
ωj xj [e]
Erro ← t[e] − g(y)
ωj ← ωj + η × Erro × g0
(y) × xj [e]
até Até que algum critério de parada seja satisfeito
retorna A nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 20 / 41
93. Redes Neurais
Redes de Camada Única: Algoritmo
xj [e] → j-ésimo atri-
buto do exemplo e
Função PERCEPTRON(Exemplos, Rede): rede neural
repita
para cada e ∈ Exemplos faça
y ←
n
X
j=0
ωj xj [e]
Erro ← t[e] − g(y)
ωj ← ωj + η × Erro × g0
(y) × xj [e]
até Até que algum critério de parada seja satisfeito
retorna A nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 20 / 41
94. Redes Neurais
Redes de Camada Única: Algoritmo
Note que podemos passar várias
vezes pelo conjunto de treino
Função PERCEPTRON(Exemplos, Rede): rede neural
repita
para cada e ∈ Exemplos faça
y ←
n
X
j=0
ωj xj [e]
Erro ← t[e] − g(y)
ωj ← ωj + η × Erro × g0
(y) × xj [e]
até Até que algum critério de parada seja satisfeito
retorna A nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 20 / 41
95. Redes Neurais
Redes de Camada Única: Algoritmo
A cada passada pelo con-
junto de treino damos o
nome de época (epoch)
Função PERCEPTRON(Exemplos, Rede): rede neural
repita
para cada e ∈ Exemplos faça
y ←
n
X
j=0
ωj xj [e]
Erro ← t[e] − g(y)
ωj ← ωj + η × Erro × g0
(y) × xj [e]
até Até que algum critério de parada seja satisfeito
retorna A nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 20 / 41
96. Redes de Camada Única
Derivação da Delta Rule
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 21 / 41
97. Redes de Camada Única
Derivação da Delta Rule
Partimos do gradiente
negativo do erro →
Gradient Descent
Fonte: ML. Mitchell.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 21 / 41
98. Redes de Camada Única
Derivação da Delta Rule
Partimos do gradiente
negativo do erro →
Gradient Descent
O gradiente do erro dará
um vetor que aponta para
o sentido de maior
crescimento dessa função
no espaço Fonte: ML. Mitchell.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 21 / 41
99. Redes de Camada Única
Derivação da Delta Rule
Partimos do gradiente
negativo do erro →
Gradient Descent
O gradiente do erro dará
um vetor que aponta para
o sentido de maior
crescimento dessa função
no espaço Fonte: ML. Mitchell.
Ou seja, o negativo do gradiente do erro dará o
sentido da sua maior redução
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 21 / 41
100. Redes de Camada Única
Derivação da Delta Rule
Usamos então o negativo do
gradiente do erro E(~
ω) para
atualizar os pesos, de modo a
minimizar esse erro
Fonte: ML. Mitchell.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 22 / 41
101. Redes de Camada Única
Derivação da Delta Rule
Usamos então o negativo do
gradiente do erro E(~
ω) para
atualizar os pesos, de modo a
minimizar esse erro
(
~
ω ← ~
ω + ∆~
ω
∆~
ω = −η∇E(~
ω) Fonte: ML. Mitchell.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 22 / 41
102. Redes de Camada Única
Derivação da Delta Rule
Usamos então o negativo do
gradiente do erro E(~
ω) para
atualizar os pesos, de modo a
minimizar esse erro
(
~
ω ← ~
ω + ∆~
ω
∆~
ω = −η∇E(~
ω) Fonte: ML. Mitchell.
Onde ∇E(~
ω) =
∂E
∂ω0
,
∂E
∂ω1
, . . . ,
∂E
∂ωn
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 22 / 41
103. Redes de Camada Única
Derivação da Delta Rule
Considere uma unidade linear com saı́da s = g(y)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 23 / 41
104. Redes de Camada Única
Derivação da Delta Rule
Considere uma unidade linear com saı́da s = g(y)
Onde y =
n
X
i=0
ωi xi
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 23 / 41
105. Redes de Camada Única
Derivação da Delta Rule
Considere uma unidade linear com saı́da s = g(y)
Onde y =
n
X
i=0
ωi xi
Vamos aprender os ωi que minimizam o erro
quadrático:
E(~
ω) =
1
2
X
d∈D
(td − sd )2
onde sd = g(yd ) e D é o conjunto de exemplos de treino
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 23 / 41
106. Redes de Camada Única
Derivação da Delta Rule
Fator de
escala do erro
Considere uma unidade linear com saı́da s = g(y)
Onde y =
n
X
i=0
ωi xi
Vamos aprender os ωi que minimizam o erro
quadrático:
E(~
ω) =
1
2
X
d∈D
(td − sd )2
onde sd = g(yd ) e D é o conjunto de exemplos de treino
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 23 / 41
107. Redes de Camada Única
Derivação da Delta Rule
O gradiente do erro será
∇E(~
ω) =
∂E
∂ω0
,
∂E
∂ω1
, . . . ,
∂E
∂ωn
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 24 / 41
108. Redes de Camada Única
Derivação da Delta Rule
O gradiente do erro será
∇E(~
ω) =
∂E
∂ω0
,
∂E
∂ω1
, . . . ,
∂E
∂ωn
∂E
∂ωi
=
∂
∂ωi
1
2
X
d∈D
(td − sd )2
!
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 24 / 41
109. Redes de Camada Única
Derivação da Delta Rule
O gradiente do erro será
∇E(~
ω) =
∂E
∂ω0
,
∂E
∂ω1
, . . . ,
∂E
∂ωn
∂E
∂ωi
=
∂
∂ωi
1
2
X
d∈D
(td − sd )2
!
=
1
2
X
d∈D
∂
∂ωi
(td − sd )2
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 24 / 41
110. Redes de Camada Única
Derivação da Delta Rule
O gradiente do erro será
∇E(~
ω) =
∂E
∂ω0
,
∂E
∂ω1
, . . . ,
∂E
∂ωn
∂E
∂ωi
=
∂
∂ωi
1
2
X
d∈D
(td − sd )2
!
=
1
2
X
d∈D
∂
∂ωi
(td − sd )2
∂E
∂ωi
=
X
d∈D
(td − sd )
∂
∂ωi
(td − sd )
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 24 / 41
111. Redes de Camada Única
Derivação da Delta Rule
Como o valor esperado td independe de ωi, então
∂E
∂ωi
= −
X
d∈D
(td − sd )
∂
∂ωi
sd
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 25 / 41
112. Redes de Camada Única
Derivação da Delta Rule
Como o valor esperado td independe de ωi, então
∂E
∂ωi
= −
X
d∈D
(td − sd )
∂
∂ωi
sd
Se sd =
X
i
ωixi, então
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 25 / 41
113. Redes de Camada Única
Derivação da Delta Rule
Como o valor esperado td independe de ωi, então
∂E
∂ωi
= −
X
d∈D
(td − sd )
∂
∂ωi
sd
Se sd =
X
i
ωixi, então
∂
∂ωi
E = −
X
d∈D
(td − sd )xi,d
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 25 / 41
114. Redes de Camada Única
Derivação da Delta Rule
Como o valor esperado td independe de ωi, então
∂E
∂ωi
= −
X
d∈D
(td − sd )
∂
∂ωi
sd
Se sd =
X
i
ωixi, então
∂
∂ωi
E = −
X
d∈D
(td − sd )xi,d
e ∆ωi = η
X
d∈D
(td − sd )xi,d (perceptron rule)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 25 / 41
115. Redes de Camada Única
Derivação da Delta Rule
Já se sd = σ(yd), então
∂sd
∂ωi
=
d sd
dy
∂y
∂ωi
= sd (1 − sd )xi
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 26 / 41
116. Redes de Camada Única
Derivação da Delta Rule
Já se sd = σ(yd), então
∂sd
∂ωi
=
d sd
dy
∂y
∂ωi
= sd (1 − sd )xi
∂
∂ωi
E = −
X
d∈D
(td − sd )sd (1 − sd )xi,d
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 26 / 41
117. Redes de Camada Única
Derivação da Delta Rule
Já se sd = σ(yd), então
∂sd
∂ωi
=
d sd
dy
∂y
∂ωi
= sd (1 − sd )xi
∂
∂ωi
E = −
X
d∈D
(td − sd )sd (1 − sd )xi,d
e ∆ωi = η
X
d∈D
(td − sd )sd (1 − sd )xi,d (delta rule)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 26 / 41
118. Redes de Camada Única
Derivação da Delta Rule
Já se sd = σ(yd), então
∂sd
∂ωi
=
d sd
dy
∂y
∂ωi
= sd (1 − sd )xi
∂
∂ωi
E = −
X
d∈D
(td − sd )sd (1 − sd )xi,d
e ∆ωi = η
X
d∈D
(td − sd )sd (1 − sd )xi,d (delta rule)
Lembre que a cada iteração atualizamos os pesos:
(
~
ω ← ~
ω + ∆~
ω
∆~
ω = −η∇E(~
ω)
ou
ωi ← ωi + ∆ωi
∆ωi = −η
∂E
∂ωi
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 26 / 41
121. Redes Neurais
Redes Multicamadas
Possuem camadas em geral totalmente conectadas
O número de unidades escondidas é tipicamente escolhido à
mão
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 27 / 41
122. Redes Neurais
Redes Multicamadas
Possuem camadas em geral totalmente conectadas
O número de unidades escondidas é tipicamente escolhido à
mão
xi
xj
xk
ωj,i
ωk,j
Unidades de saı́da
Unidades escondidas
Unidades de entrada
Fonte: Slides de AIMA. Russell Norvig.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 27 / 41
123. Redes Neurais
Redes Multicamadas – E o viés?
2 possibilidades:
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 28 / 41
124. Redes Neurais
Redes Multicamadas – E o viés?
2 possibilidades:
Introduzido em cada célula
Fonte: Adaptado de [7]
Compartilhado na camada
Fonte: https://www.forexmt4indicators.com/
wp-content/uploads/2014/10/NN1__1.gif
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 28 / 41
125. Redes Multicamadas
Medindo o erro
A adição de camadas escondidas traz um problema:
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 29 / 41
126. Redes Multicamadas
Medindo o erro
A adição de camadas escondidas traz um problema:
Não sabemos qual a saı́da esperada de cada uma delas, pois
os dados de treino não nos dizem isso
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 29 / 41
127. Redes Multicamadas
Medindo o erro
A adição de camadas escondidas traz um problema:
Não sabemos qual a saı́da esperada de cada uma delas, pois
os dados de treino não nos dizem isso
Por conseguinte, não conseguimos medir o erro
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 29 / 41
128. Redes Multicamadas
Medindo o erro
A adição de camadas escondidas traz um problema:
Não sabemos qual a saı́da esperada de cada uma delas, pois
os dados de treino não nos dizem isso
Por conseguinte, não conseguimos medir o erro
Contudo, podemos retro-propagar o erro da camada
de saı́da para as escondidas
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 29 / 41
129. Redes Multicamadas
Medindo o erro
A adição de camadas escondidas traz um problema:
Não sabemos qual a saı́da esperada de cada uma delas, pois
os dados de treino não nos dizem isso
Por conseguinte, não conseguimos medir o erro
Contudo, podemos retro-propagar o erro da camada
de saı́da para as escondidas
Calculamos a partir do gradiente de erro geral
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 29 / 41
130. Redes Multicamadas
Medindo o erro
A adição de camadas escondidas traz um problema:
Não sabemos qual a saı́da esperada de cada uma delas, pois
os dados de treino não nos dizem isso
Por conseguinte, não conseguimos medir o erro
Contudo, podemos retro-propagar o erro da camada
de saı́da para as escondidas
Calculamos a partir do gradiente de erro geral
Processo de back-propagation
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 29 / 41
132. Redes Multicamadas
Back-Propagation
Calcule os valores de δi = g0
(yi) × (ti − g(yi)) para
as unidades de saı́da, usando o erro observado
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 30 / 41
133. Redes Multicamadas
Back-Propagation
Calcule os valores de δi = g0
(yi) × (ti − g(yi)) para
as unidades de saı́da, usando o erro observado
Começando da camada de saı́da, repita o seguinte
processo para cada camada na rede, até que a
primeira camada escondida seja atingida
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 30 / 41
134. Redes Multicamadas
Back-Propagation
Calcule os valores de δi = g0
(yi) × (ti − g(yi)) para
as unidades de saı́da, usando o erro observado
Começando da camada de saı́da, repita o seguinte
processo para cada camada na rede, até que a
primeira camada escondida seja atingida
Propague os valores de δ para a camada anterior
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 30 / 41
135. Redes Multicamadas
Back-Propagation
Calcule os valores de δi = g0
(yi) × (ti − g(yi)) para
as unidades de saı́da, usando o erro observado
Começando da camada de saı́da, repita o seguinte
processo para cada camada na rede, até que a
primeira camada escondida seja atingida
Propague os valores de δ para a camada anterior
Atualize os pesos entre as duas camadas
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 30 / 41
136. Redes Multicamadas
Back-Propagation
Calcule os valores de δi = g0
(yi) × (ti − g(yi)) para
as unidades de saı́da, usando o erro observado
Começando da camada de saı́da, repita o seguinte
processo para cada camada na rede, até que a
primeira camada escondida seja atingida
Propague os valores de δ para a camada anterior
Atualize os pesos entre as duas camadas
(A maioria dos neurocientistas nega que essa propagação
ocorra no cérebro)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 30 / 41
137. Redes Multicamadas
Back-Propagation: Algoritmo
Função BACKPROP(Exemplos, Rede): rede neural
repita
para cada peso ωi,j ∈ Rede faça ωi,j ← pequeno número aleatório
para cada e = (~
x,~
t) ∈ Exemplos faça
para cada nó i na camada de entrada faça ai ← xi
para c = 2 até C faça
para cada nó j na camada c faça
yj ←
X
i
ωi,j ai aj ← g(yj )
para cada nó j na camada de saı́da faça δj ← g0(yj ) × (tj − aj )
para c = C − 1 até 1 faça
para cada nó i na camada c faça
δi ← g0
(yi )
X
j
ωi,j δj
para cada peso ωi,j ∈ Rede faça ωi,j ← ωi,j + η × δj × ai
até Até que algum critério de parada seja satisfeito
retorna a nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 31 / 41
138. Redes Multicamadas
Back-Propagation: Algoritmo
Conjunto de exemplos,
cada um com entrada
~
x = {x1, . . . , xn} e saı́da ~
t
Função BACKPROP(Exemplos, Rede): rede neural
repita
para cada peso ωi,j ∈ Rede faça ωi,j ← pequeno número aleatório
para cada e = (~
x,~
t) ∈ Exemplos faça
para cada nó i na camada de entrada faça ai ← xi
para c = 2 até C faça
para cada nó j na camada c faça
yj ←
X
i
ωi,j ai aj ← g(yj )
para cada nó j na camada de saı́da faça δj ← g0(yj ) × (tj − aj )
para c = C − 1 até 1 faça
para cada nó i na camada c faça
δi ← g0
(yi )
X
j
ωi,j δj
para cada peso ωi,j ∈ Rede faça ωi,j ← ωi,j + η × δj × ai
até Até que algum critério de parada seja satisfeito
retorna a nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 31 / 41
139. Redes Multicamadas
Back-Propagation: Algoritmo
rede = {ωi,j , g(y)}
com C camadas
Função BACKPROP(Exemplos, Rede): rede neural
repita
para cada peso ωi,j ∈ Rede faça ωi,j ← pequeno número aleatório
para cada e = (~
x,~
t) ∈ Exemplos faça
para cada nó i na camada de entrada faça ai ← xi
para c = 2 até C faça
para cada nó j na camada c faça
yj ←
X
i
ωi,j ai aj ← g(yj )
para cada nó j na camada de saı́da faça δj ← g0(yj ) × (tj − aj )
para c = C − 1 até 1 faça
para cada nó i na camada c faça
δi ← g0
(yi )
X
j
ωi,j δj
para cada peso ωi,j ∈ Rede faça ωi,j ← ωi,j + η × δj × ai
até Até que algum critério de parada seja satisfeito
retorna a nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 31 / 41
140. Redes Multicamadas
Back-Propagation: Algoritmo
Propaga adiante as entradas
na rede para calcular as saı́das
Função BACKPROP(Exemplos, Rede): rede neural
repita
para cada peso ωi,j ∈ Rede faça ωi,j ← pequeno número aleatório
para cada e = (~
x,~
t) ∈ Exemplos faça
para cada nó i na camada de entrada faça ai ← xi
para c = 2 até C faça
para cada nó j na camada c faça
yj ←
X
i
ωi,j ai aj ← g(yj )
para cada nó j na camada de saı́da faça δj ← g0(yj ) × (tj − aj )
para c = C − 1 até 1 faça
para cada nó i na camada c faça
δi ← g0
(yi )
X
j
ωi,j δj
para cada peso ωi,j ∈ Rede faça ωi,j ← ωi,j + η × δj × ai
até Até que algum critério de parada seja satisfeito
retorna a nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 31 / 41
141. Redes Multicamadas
Back-Propagation: Algoritmo
aj é a saı́da do perceptron j
Função BACKPROP(Exemplos, Rede): rede neural
repita
para cada peso ωi,j ∈ Rede faça ωi,j ← pequeno número aleatório
para cada e = (~
x,~
t) ∈ Exemplos faça
para cada nó i na camada de entrada faça ai ← xi
para c = 2 até C faça
para cada nó j na camada c faça
yj ←
X
i
ωi,j ai aj ← g(yj )
para cada nó j na camada de saı́da faça δj ← g0(yj ) × (tj − aj )
para c = C − 1 até 1 faça
para cada nó i na camada c faça
δi ← g0
(yi )
X
j
ωi,j δj
para cada peso ωi,j ∈ Rede faça ωi,j ← ωi,j + η × δj × ai
até Até que algum critério de parada seja satisfeito
retorna a nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 31 / 41
142. Redes Multicamadas
Back-Propagation: Algoritmo
Propaga os deltas da camada
de saı́da para a de entrada
Função BACKPROP(Exemplos, Rede): rede neural
repita
para cada peso ωi,j ∈ Rede faça ωi,j ← pequeno número aleatório
para cada e = (~
x,~
t) ∈ Exemplos faça
para cada nó i na camada de entrada faça ai ← xi
para c = 2 até C faça
para cada nó j na camada c faça
yj ←
X
i
ωi,j ai aj ← g(yj )
para cada nó j na camada de saı́da faça δj ← g0(yj ) × (tj − aj )
para c = C − 1 até 1 faça
para cada nó i na camada c faça
δi ← g0
(yi )
X
j
ωi,j δj
para cada peso ωi,j ∈ Rede faça ωi,j ← ωi,j + η × δj × ai
até Até que algum critério de parada seja satisfeito
retorna a nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 31 / 41
143. Redes Multicamadas
Back-Propagation: Algoritmo
Regra de propagação do erro
Função BACKPROP(Exemplos, Rede): rede neural
repita
para cada peso ωi,j ∈ Rede faça ωi,j ← pequeno número aleatório
para cada e = (~
x,~
t) ∈ Exemplos faça
para cada nó i na camada de entrada faça ai ← xi
para c = 2 até C faça
para cada nó j na camada c faça
yj ←
X
i
ωi,j ai aj ← g(yj )
para cada nó j na camada de saı́da faça δj ← g0(yj ) × (tj − aj )
para c = C − 1 até 1 faça
para cada nó i na camada c faça
δi ← g0
(yi )
X
j
ωi,j δj
para cada peso ωi,j ∈ Rede faça ωi,j ← ωi,j + η × δj × ai
até Até que algum critério de parada seja satisfeito
retorna a nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 31 / 41
144. Redes Multicamadas
Back-Propagation: Algoritmo
Atualiza todos os pesos
da rede usando os deltas
Função BACKPROP(Exemplos, Rede): rede neural
repita
para cada peso ωi,j ∈ Rede faça ωi,j ← pequeno número aleatório
para cada e = (~
x,~
t) ∈ Exemplos faça
para cada nó i na camada de entrada faça ai ← xi
para c = 2 até C faça
para cada nó j na camada c faça
yj ←
X
i
ωi,j ai aj ← g(yj )
para cada nó j na camada de saı́da faça δj ← g0(yj ) × (tj − aj )
para c = C − 1 até 1 faça
para cada nó i na camada c faça
δi ← g0
(yi )
X
j
ωi,j δj
para cada peso ωi,j ∈ Rede faça ωi,j ← ωi,j + η × δj × ai
até Até que algum critério de parada seja satisfeito
retorna a nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 31 / 41
145. Redes Multicamadas
Back-Propagation: Algoritmo
Note que ∆ωi,j = ηδj ai
Função BACKPROP(Exemplos, Rede): rede neural
repita
para cada peso ωi,j ∈ Rede faça ωi,j ← pequeno número aleatório
para cada e = (~
x,~
t) ∈ Exemplos faça
para cada nó i na camada de entrada faça ai ← xi
para c = 2 até C faça
para cada nó j na camada c faça
yj ←
X
i
ωi,j ai aj ← g(yj )
para cada nó j na camada de saı́da faça δj ← g0(yj ) × (tj − aj )
para c = C − 1 até 1 faça
para cada nó i na camada c faça
δi ← g0
(yi )
X
j
ωi,j δj
para cada peso ωi,j ∈ Rede faça ωi,j ← ωi,j + η × δj × ai
até Até que algum critério de parada seja satisfeito
retorna a nova rede
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 31 / 41
147. Redes Multicamadas
Back-Propagation: Visualização
Para cada exemplo de treino, entra-
mos seus atributos nos nós de entrada,
calculando a saı́da de cada unidade
nas camadas escondida e de saı́da
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 32 / 41
148. Redes Multicamadas
Back-Propagation: Visualização
Para cada exemplo de treino, entra-
mos seus atributos nos nós de entrada,
calculando a saı́da de cada unidade
nas camadas escondida e de saı́da
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 32 / 41
149. Redes Multicamadas
Back-Propagation: Visualização
Para cada exemplo de treino, entra-
mos seus atributos nos nós de entrada,
calculando a saı́da de cada unidade
nas camadas escondida e de saı́da
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 32 / 41
153. Redes Multicamadas
Back-Propagation: Visualização
Ajustamos os pesos de todas as ligações
ωj,i ← ωj,i + ηδi xj , onde xj é a
ativação e η a taxa de aprendizagem
Quando parar?
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 32 / 41
154. Redes Multicamadas
Back-Propagation: Visualização
Ajustamos os pesos de todas as ligações
ωj,i ← ωj,i + ηδi xj , onde xj é a
ativação e η a taxa de aprendizagem
Quando parar?
Parar em um certo número de iterações?
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 32 / 41
155. Redes Multicamadas
Back-Propagation: Visualização
Ajustamos os pesos de todas as ligações
ωj,i ← ωj,i + ηδi xj , onde xj é a
ativação e η a taxa de aprendizagem
Quando parar?
Parar em um certo número de iterações?
Parar quando o erro for menor que um determinado
valor? (Curva de treinamento)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 32 / 41
156. Redes Multicamadas
Curva de Treinamento
Mede o desempenho de
um classificador em um
conjunto de treinamento
fixo enquanto o processo
de aprendizado continua
nesse mesmo conjunto
Número de épocas
Erro
total
no
conjunto
de
treino
Fonte: AIMA. Russell Norvig.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 33 / 41
157. Redes Multicamadas
Curva de Treinamento
Mede o desempenho de
um classificador em um
conjunto de treinamento
fixo enquanto o processo
de aprendizado continua
nesse mesmo conjunto
Número de épocas
Erro
total
no
conjunto
de
treino
Soma dos er-
ros quadráticos
Fonte: AIMA. Russell Norvig.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 33 / 41
158. Redes Multicamadas
Curva de Treinamento
Mede o desempenho de
um classificador em um
conjunto de treinamento
fixo enquanto o processo
de aprendizado continua
nesse mesmo conjunto
Número de épocas
Erro
total
no
conjunto
de
treino
Critério que o
back-propagation
tenta minimizar
Fonte: AIMA. Russell Norvig.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 33 / 41
159. Redes Multicamadas
Curva de Treinamento
Mede o desempenho de
um classificador em um
conjunto de treinamento
fixo enquanto o processo
de aprendizado continua
nesse mesmo conjunto
Quando a soma dos erros
quadráticos em uma passada
inteira no conjunto de treino
Número de épocas
Erro
total
no
conjunto
de
treino
Critério que o
back-propagation
tenta minimizar
Fonte: AIMA. Russell Norvig.
(uma época) é suficientemente pequeno, podemos dizer que
a rede convergiu (para esses exemplos)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 33 / 41
160. Redes Multicamadas
Curva de Treinamento: Overfitting
O back-propagation pode,
se o treinamento for
longo, se aproximar não
da função desejada, mas
sim dos exemplos
Número de épocas
Erro
total
no
conjunto
de
treino
Fonte: AIMA. Russell Norvig.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 34 / 41
161. Redes Multicamadas
Curva de Treinamento: Overfitting
O back-propagation pode,
se o treinamento for
longo, se aproximar não
da função desejada, mas
sim dos exemplos
Os pesos acabam sendo
ajustados para representar
idiossincrasias dos exemplos
de treino que não são
representativos da
distribuição geral
Número de épocas
Erro
total
no
conjunto
de
treino
Fonte: AIMA. Russell Norvig.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 34 / 41
162. Redes Multicamadas
Overfitting: Como contornar
Decrescer cada peso por um fator pequeno em cada
iteração, mantendo o valor dos pesos pequeno
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 35 / 41
163. Redes Multicamadas
Overfitting: Como contornar
Decrescer cada peso por um fator pequeno em cada
iteração, mantendo o valor dos pesos pequeno
Criar um conjunto de validação (melhor alternativa)
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 35 / 41
164. Redes Multicamadas
Overfitting: Como contornar
Decrescer cada peso por um fator pequeno em cada
iteração, mantendo o valor dos pesos pequeno
Criar um conjunto de validação (melhor alternativa)
O algoritmo retorna a rede resultante do número de épocas
que produzisse o menor erro no conjunto de validação
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 35 / 41
165. Redes Multicamadas
Overfitting: Como contornar
Decrescer cada peso por um fator pequeno em cada
iteração, mantendo o valor dos pesos pequeno
Criar um conjunto de validação (melhor alternativa)
O algoritmo retorna a rede resultante do número de épocas
que produzisse o menor erro no conjunto de validação
Resolve?
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 35 / 41
166. Redes Multicamadas
Overfitting: Como contornar
Decrescer cada peso por um fator pequeno em cada
iteração, mantendo o valor dos pesos pequeno
Criar um conjunto de validação (melhor alternativa)
O algoritmo retorna a rede resultante do número de épocas
que produzisse o menor erro no conjunto de validação
Resolve? Às vezes... nem sempre
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 35 / 41
167. Redes Multicamadas
Overfitting: Como contornar
Decrescer cada peso por um fator pequeno em cada
iteração, mantendo o valor dos pesos pequeno
Criar um conjunto de validação (melhor alternativa)
O algoritmo retorna a rede resultante do número de épocas
que produzisse o menor erro no conjunto de validação
Resolve? Às vezes... nem sempre
Há o perigo dos mı́nimos locais...
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 35 / 41
169. Redes Multicamadas
Variação
Podemos incluir momento:
A atualização dos pesos na n-ésima iteração depende
parcialmente da atualização que ocorreu na (n-1)-ésima
iteração
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 36 / 41
170. Redes Multicamadas
Variação
Podemos incluir momento:
A atualização dos pesos na n-ésima iteração depende
parcialmente da atualização que ocorreu na (n-1)-ésima
iteração
Uma iteração corresponde a uma época → uma passada completa
pelo conjunto de treino
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 36 / 41
171. Redes Multicamadas
Variação
Podemos incluir momento:
A atualização dos pesos na n-ésima iteração depende
parcialmente da atualização que ocorreu na (n-1)-ésima
iteração
Uma iteração corresponde a uma época → uma passada completa
pelo conjunto de treino
Usamos então uma constante 0 ≤ α ≤ 1, chamada
momento, e
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 36 / 41
172. Redes Multicamadas
Variação
Podemos incluir momento:
A atualização dos pesos na n-ésima iteração depende
parcialmente da atualização que ocorreu na (n-1)-ésima
iteração
Uma iteração corresponde a uma época → uma passada completa
pelo conjunto de treino
Usamos então uma constante 0 ≤ α ≤ 1, chamada
momento, e
∆ωi,j (n) = ηδj xi + α∆ωi,j (n − 1)
δj = g0
(yj )(tj − g(yj ))
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 36 / 41
174. Redes Multicamadas
Exemplo (Mitchell)
Tarefa: dado o rosto de uma pessoa, dizer para que
direção olha
Usou a variação com momento
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 37 / 41
175. Redes Multicamadas
Exemplo (Mitchell)
Tarefa: dado o rosto de uma pessoa, dizer para que
direção olha
Usou a variação com momento
Treinou em 260 imagens com 90% de precisão
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 37 / 41
176. Redes Multicamadas
Exemplo (Mitchell)
Tarefa: dado o rosto de uma pessoa, dizer para que
direção olha
Usou a variação com momento
Treinou em 260 imagens com 90% de precisão
Código e detalhes em
www.cs.cmu.edu/~tom/mlbook.html
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 37 / 41
177. Redes Multicamadas
Exemplo (Mitchell)
Tarefa: dado o rosto de uma pessoa, dizer para que
direção olha
Usou a variação com momento
Treinou em 260 imagens com 90% de precisão
Código e detalhes em
www.cs.cmu.edu/~tom/mlbook.html
Entrada:
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 37 / 41
180. Redes Multicamadas
Exemplo (Mitchell)
Codificação da entrada:
30 × 32 entradas (pixels)
Cada pixel representado pela sua
intensidade, entre [0,1]
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 38 / 41
181. Redes Multicamadas
Exemplo (Mitchell)
Codificação da entrada:
30 × 32 entradas (pixels)
Cada pixel representado pela sua
intensidade, entre [0,1]
Rede:
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 38 / 41
182. Redes Multicamadas
Exemplo (Mitchell)
Codificação da entrada:
30 × 32 entradas (pixels)
Cada pixel representado pela sua
intensidade, entre [0,1]
Rede:
2 camadas: 3 unidades
escondidas e 4 de saı́da
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 38 / 41
183. Redes Multicamadas
Exemplo (Mitchell)
Codificação da entrada:
30 × 32 entradas (pixels)
Cada pixel representado pela sua
intensidade, entre [0,1]
Rede:
2 camadas: 3 unidades
escondidas e 4 de saı́da
Taxa de aprendizagem η = 0, 3
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 38 / 41
184. Redes Multicamadas
Exemplo (Mitchell)
Codificação da entrada:
30 × 32 entradas (pixels)
Cada pixel representado pela sua
intensidade, entre [0,1]
Rede:
2 camadas: 3 unidades
escondidas e 4 de saı́da
Taxa de aprendizagem η = 0, 3
Momento α = 0, 3
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 38 / 41
186. Redes Multicamadas
Exemplo (Mitchell)
Pesos iniciais (inclusive o
viés):
Pequenos e aleatórios nas
unidades de saı́da
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 39 / 41
187. Redes Multicamadas
Exemplo (Mitchell)
Pesos iniciais (inclusive o
viés):
Pequenos e aleatórios nas
unidades de saı́da
Zero nas unidades de entrada
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 39 / 41
188. Redes Multicamadas
Exemplo (Mitchell)
Pesos iniciais (inclusive o
viés):
Pequenos e aleatórios nas
unidades de saı́da
Zero nas unidades de entrada
Parada:
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 39 / 41
189. Redes Multicamadas
Exemplo (Mitchell)
Pesos iniciais (inclusive o
viés):
Pequenos e aleatórios nas
unidades de saı́da
Zero nas unidades de entrada
Parada:
A cada 50 passos no gradient
descent compara com
desempenho no conjunto de
validação. Guarda os pesos do
menor erro
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 39 / 41
191. Redes Neurais
Representatividade
Que funções podemos representar com essas redes?
Booleanas: representadas exatamente com redes de 2
camadas
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 40 / 41
192. Redes Neurais
Representatividade
Que funções podemos representar com essas redes?
Booleanas: representadas exatamente com redes de 2
camadas
Contı́nuas: aproximadas com pequeno erro por rede com 2
camadas
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 40 / 41
193. Redes Neurais
Representatividade
Que funções podemos representar com essas redes?
Booleanas: representadas exatamente com redes de 2
camadas
Contı́nuas: aproximadas com pequeno erro por rede com 2
camadas
Arbitrárias: aproximadas com precisão arbitrária por rede
com 3 camadas
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 40 / 41
194. Referências
1 Russell, S.; Norvig P. (2010): Artificial Intelligence: A Modern Approach. Prentice
Hall. 3a ed.
1 Slides do livro: aima.eecs.berkeley.edu/slides-pdf/
2 http://ocw.mit.edu/OcwWeb/Electrical-Engineering-
and-Computer-Science/6-034Spring-2005/LectureNotes/index.htm
3 http://www.andreykurenkov.com/writing/ai/
a-brief-history-of-neural-nets-and-deep-learning/
4 https://towardsdatascience.com/
recurrent-neural-networks-and-lstm-4b601dd822a5
5 Mitchell, T.M.: Machine Learning. McGraw-Hill. 1997.
6 https://www.researchgate.net/publication/273450589_COMBINACAO_LINEAR_DE_
REDES_NEURAIS_ARTIFICIAIS_E_MAQUINAS_DE_VETORES_DE_SUPORTE_PARA_
REGRESSAO_NAS_PREVISOES_DE_VAZOES_MENSAIS_NO_POSTO_266-ITAIPU
7 Kemp, R.; Macaulay, C.; Palcic, B.(1997): Opening the Black Box: the Relationship
between Neural Networks and Linear Discriminant Functions. Analytical Cellular
Pathology, 14(1):19-30.
Norton Trevisan Roman(norton@usp.br) 23 de maio de 2019 41 / 41