INF 1771 Inteligência Artificial

Documentos relacionados
INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial

Redes Neurais (Inteligência Artificial)

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais

Aprendizado de Máquina (Machine Learning)

REDES NEURAIS ARTIFICIAIS

Inteligência Artificial Redes Neurais

Redes Neurais Artificial

Redes Neurais Artificiais - Introdução. Visão Computacional

Redes Neurais Artificiais

Redes Neurais: MLP. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Aprendizagem de Máquina

Redes Neurais Artificiais. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 9)

Aprendizado de Máquinas. Multi-Layer Perceptron (MLP)

Classificação Linear. André Tavares da Silva.

Redes Neurais. Prof. Aurora Pozo. Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco

Aprendizagem de Máquina. Redes Neurais Artificiais (RNAs)

Redes Neurais (Inteligência Artificial)

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina

Redes Neurais Artificiais

Reconhecimento de Padrões/Objetos

Aprendizagem de Máquina

Redes Neurais Artificiais

Algoritmos de Aprendizado. CONTEÚDO Introdução Motivação, Objetivo, Definição, Características Básicas e Histórico. Regra de HEBB.

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos

Redes Neurais Artificiais (RNA)

Primeiras Redes Neurais Artificiais: Perceptron e Adaline

Profa. Josiane M. Pinheiro outubro/2008

A evolução natural deu ao cérebro humano muitas características desejáveis que não estão presentes na máquina de von Neumann:

Multiple Layer Perceptron

2. Redes Neurais Artificiais

Fundamentos de Inteligência Artificial [5COP099]

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Tópicos Especiais: Inteligência Artificial REDES NEURAIS

Introdução à Redes Neurais. Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Introdução a Redes Neurais Artificiais com a biblioteca Encog em Java

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons

lnteligência Artificial Introdução a Redes Neurais Artificiais

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental

4 Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais

INTELIGÊNCIA ARTIFICIAL

3 INTELIGÊNCIA COMPUTACIONAL (IC)

JAI 6 - Deep Learning Teoria e Prática

Redes Neurais Artificiais

Mineração de Dados em Biologia Molecular

Redes Neurais Artificiais

Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Hopfield Competitive Learning Radial Basis Function

Mini-projeto: Reconhecimento de Digitos com MLPs. Germano C. Vasconcelos Centro de Informática - UFPE

REDES NEURAIS. Marley Maria B.R. Vellasco. ICA: Núcleo de Pesquisa em Inteligência Computacional Aplicada CONTEÚDO

PERCEPTRON. Características Básicas Modelo de Neurônio Estrutura da Rede Algoritmo de Aprendizado

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

3 Redes Neurais Artificiais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Redes Neurais Artificial. Prática. Inteligência Artificial

Redes Neurais Artificiais Sistemas Inteligentes Especialização em Automação Industrial SISTEMAS INTELIGENTES PROFESSOR FLÁVIO MURILO

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Inteligência Computacional

Redes Neurais Noções Gerais

Redes Neurais 1. Redes Neurais. cont.) Definição (cont( Definição. Histórico. Características básicas

Redes Neurais e Sistemas Fuzzy

INF 1771 Inteligência Artificial

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental

Inteligência Artificial

COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1

Redes Neurais INTELIGÊNCIA ARTIFICIAL

Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Hopfield Competitive Learning Radial Basis Function

Inteligência Artificial. IA Conexionista: Perceptron de Múltiplas Camadas Mapas Auto-Organizáveis. Renan Rosado de Almeida

2. Redes Neurais Artificiais

Redes Neurais Artificiais

Rede RBF (Radial Basis Function)

Resolução da Prova 1 SCC Redes Neurais 2o. Semestre de Prof. João Luís

Inteligência Artificial

Rede Perceptron. Capítulo 3

Autor: Edroaldo Lummertz da Rocha Home page: edroaldo.wordpress.com

Redes Neurais Artificiais

Redes Neurais e Sistemas Fuzzy

INF 1771 Inteligência Artificial

Redes Neurais MLP: Exemplos e Características

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial

Redes neurais artificiais

REDES NEURAIS. É um conjunto complexo de células que determina o funcionamento e comportamento dos seres vivos. Sua unidade fundamental é o neurônio

SUPPORT VECTOR MACHINE - SVM

Tópicos sobre Redes Neurais

3 REDES NEURAIS ARTIFICIAIS

Introdução às Redes Neurais Artificiais

2. Redes Neurais Artificiais

UNIVERSIDADE FEDERAL DE LAVRAS DEPARTAMENTO DE CIÊNCIAS EXATAS (DEX) Estudo de Algoritmos de Aprendizado em Redes Neurais Artificiais

Introdução à Mineração de Dados com Aplicações em Ciências Espaciais

Por que Redes Neurais?

Inteligência Artificial

Transcrição:

INF 1771 Inteligência Artificial Aula 22 Redes Neurais Edirlei Soares de Lima <elima@inf.puc-rio.br>

Formas de Aprendizado Aprendizado Supervisionado Árvores de decisão. K-Nearest Neighbor (KNN). Support Vector Machines (SVM). Redes Neurais Aprendizado Não Supervisionado Aprendizado Por Reforço

Introdução Redes Neurais podem ser consideradas um paradigma diferente de computação. Inspirado na arquitetura paralela do cérebro humano. Elementos de processamento simples. Grande grau de interconexões. Interação adaptativa entre os elementos.

Introdução Comportamento inteligente é uma propriedade emergente de um grande número de unidades simples ao contrário do que acontece com regras e algoritmos simbólicos. Neurônios ligam e desligam em alguns milissegundos, enquanto o hardware atual faz o mesmo em nano segundos. Entretanto, o cérebro realiza tarefas cognitivas complexas (visão, reconhecimento de voz) em décimos de segundo. O cérebro deve estar utilizando um paralelismo massivo.

Introdução Computadores Convencionais: Rápidos para cálculos aritméticos. Soluções algorítmicas precisas. Computadores Neurais: Tratam bem dados ruidosos. Paralelismo. Adaptação.

Introdução O cérebro humano tem sido extensamente estudado, mas ainda não somos capazes de entender completamente o seu funcionando. O cérebro é muito complexo, até mesmo o comportamento de um simples neurônio é extremamente complexo.

Neuronio Estrutura de um Neuronio: Corpo celular Dendritos Axônio Terminais sinápticos

Funcionamento de um Neurônio Através dos dentritos, o neurônio recebe sinais de outros neurônios a ele conectados por meio das sinapses. Os sinais são acumulados no corpo do neurônio. Quando a soma dos sinais passa de um certo limiar (~ 50mV) um sinal é propagado no axônio. As sinapses tem um peso que pode ser: excitatório: incrementam a soma dos sinais. inibidor: decrementam.

Introdução Características do Cérebro Humano: 10 11 neurônios. Cada neurônio tem em media 10 4 conexões. Milhares de operações por segundo. Neurônios morrem frequentemente e nunca são substituídos. Reconhecimento de faces em aproximadamente 0.1 segundos.

Introdução O cérebro humano é bom em: Reconhecer padrões, Associação, Tolerar ruídos... O computador é bom em: Cálculos, Precisão, Lógica.

Introdução Formas mais básicas de aprendizado em Redes Neurais: Perceptron: Algoritmo para aprendizagem de redes neurais simples (uma camada) desenvolvido nos anos 50. Backpropagation: Algoritmo mais complexo para aprendizagem de redes neurais de múltiplas camadas desenvolvido nos anos 80.

Aprendizagem de Perceptron Usa-se um conjunto de exemplos de treinamento que dão a saída desejada para uma unidade, dado um conjunto de entradas. O objetivo é aprender pesos sinápticos de tal forma que a unidade de saída produza a saída correta pra cada exemplo. O algoritmo faz atualizações iterativamente até chegar aos pesos corretos.

Perceptron Unidade de Threshold Linear X 1 W 1 X 2... W 2 W n n i= 0 w i x i 1 if n i= 0 w x i i > 0 X n 1 otherwise

Rede de Perceptrons Valores de Saída Camada de Saída Pesos Ajustaveis Camada de Entrada Sinais de entrada

Aprendizado de Perceptrons Para que um perceptron possa aprender uma função deve-se mudar o valor dos pesos ajustáveis por um quantidade proporcional a diferença entre a saída desejada e atual saída do sistema. w i w = i w i + w = η( t o) x i i Saída desejada: t x 1 x 2... x n o x 1 x 2... x n t t = saída desejada. o = atual saída do perceptron. η = Learning rate.

Aprendizado de Perceptrons Regra de aprendizado: w i w = i w i + w = η( t o) x i i Se a saída do perceptron não estiver correta (t!= o): Os pesos w i são alterados de forma que a saída do perceptron para os novos pesos seja próxima de t. O algoritmo vai convergir para a correta classificação se: O conjunto de treinamento é linearmente separável. η é suficientemente pequeno.

Treinando um Neuronio Operador And A B Saída 0 0 0 A 0.3 Threshold = 0.2 Learning Rate = 0.1 0 1 0 T=0.2 1 0 0 1 1 1 B -0.1 A B Somatório Saída Erro 0 0 (0*0.3)+(0*-0.1) = 0 0 0 0 1 (0*0.3)+(1*-0.1) = -0.1 0 0 1 0 (1*0.3)+(0*-0.1) = 0.3 1-1 1 1 (1*0.3)+(1*-0.1) = 0.2 1 0

Treinando um Neuronio Operador And A B Saída 0 0 0 A 0.2 Threshold = 0.2 Learning Rate = 0.1 0 1 0 T=0.2 1 0 0 1 1 1 B 0.0 A B Somatório Saída Erro 0 0 (0*0.2)+(0*0.0) = 0 0 0 0 1 (0*0.2)+(1*0.0) = 0 0 0 1 0 (1*0.2)+(0*0.0) = 0.2 1-1 1 1 (1*0.2)+(1*0.0) = 0.2 1 0

Treinando um Neuronio Operador And A B Saída 0 0 0 A 0.1 Threshold = 0.2 Learning Rate = 0.1 0 1 0 T=0.2 1 0 0 1 1 1 B 0.1 A B Somatório Saída Erro 0 0 (0*0.1)+(0*0.1) = 0 0 0 0 1 (0*0.1)+(1*0.1) = 0.1 0 0 1 0 (1*0.1)+(0*0.1) = 0.1 0 0 1 1 (1*0.1)+(1*0.1) = 0.2 1 0

Limitações Um único Perceptron consegue resolver somente funções linearmente separáveis. Em funções não linearmente separáveis o perceptron não consegue gerar um hiperplano para separar os dados.

Redes Multicamadas Perceptrons expressam somente superfícies de decisão linear. Entretanto, é possível combinar vários perceptrons lineares para gerar superfícies de decisão mais complexas. Dessa forma podemos, por exemplo, gerar uma superfícies de classificação para o operador XOR.

Operador XOR Operador XOR A B Saída 0 0 0 0 1 1 1 0 1 1 1 0 X 1 1 1-0.5 h 1 OR 1 1 o -1-0.5 X 2 1 h 2 AND -1.5

Redes Multicamadas Camada de Saída Camadas Ocultas Camada de Entrada

Redes Multicamadas Adicionar uma camada oculta a rede permite que a rede possa gerar uma função de convex hull. Duas camadas ocultas permite a rede gerar um função com diferentes convex hulls.

Redes Multicamadas Unidades lineares são capazes gerar funções lineares, dessa forma função de uma rede multicamada também será linear. Entretanto, existem muitas funções que não podem ser modeladas por funções lineares. Por esse motivo é necessário utilizar uma outra função de ativação.

Redes Multicamadas Funções de ativação mais comuns: Sigmoidal: y n = f h = w0 1+ w i 1 x ; p = i i = 1 1 + e h p Radial (Gausiana): y = f h = n h 2 1 2 2σ ( xi wi ) ; σ = w0 = e i= 1 2πσ 2

Redes Multicamadas Unidade Sigmoid X 1 W 1 X 2... W 2 W n net = n i= 0 w i x i 1 o = σ ( net) = 1+ e h p X n

Função Sigmoidal f i ( neti ( t)) = ( net ( t ) α ) /τ 1+ e 1 i 1 τ =1 0-1 1

Função Sigmoidal f i ( neti ( t)) = ( net ( t ) α ) /τ 1+ e 1 i 1 τ = 0.1 0-1 1

Backpropagation Aprende os pesos para uma rede multicamadas, dada uma rede com um número fixo de unidades e interconexões. O algoritmo backpropagation emprega a descida do gradiente para minimizar o erro quadrático entre a saída da rede e os valores alvos para estas saídas.

Descida do Gradiente A descida do gradiente busca determinar um vetor de pesos que minimiza o erro. Começando com um vetor inicial de pesos arbitrário e modificando o repetidamente em pequenos passos. A cada passo, o vetor de pesos é alterado na direção que produz a maior queda ao longo da superfície de erro.

Backpropagation Aprende os pesos para uma rede multicamadas, dada uma rede com um número fixo de unidades e interconexões. O algoritmo backpropagation emprega a descida do gradiente para minimizar o erro quadrático entre a saída da rede e os valores alvos para estas saídas. Valor de saida da rede 0.119 0.059 0.253 0.246 0 0 1 0 Valor da saida buscada Erro (E) = (Valor da saida buscada) (Valor de saida da rede)

Backpropagation

Backpropagation Inicializa cada peso w i com um pequeno valor randômico. Enquanto condição de parada não for atingida faça { Para cada exemplo de treinamento faça { Entre com os dados do exemplo na rede e calcule a saída da rede (o k ) Para cada unidade de saída k faça { δ k ok ( 1 ok )( tk ok ) } Para cada unidade oculta h faça { δ h oh (1 oh ) wh, kδ k k outputs } Para cada peso w j da rede faça { } } } w i, j where w i, j w + w i, j i, j =ηδ x j i, j

Backpropagation O backpropagation não é um algoritmo ótimo e não garante sempre a melhor resposta. O algoritmo de descida do gradiente pode ficar preso em um erro mínimo local. É possível refazer o treinamento variando os valores iniciais dos pesos. Backpropagation é o algoritmo de aprendizagem mais comum, porém existem muitos outros.