UNIBRATEC Ensino Superior e Tcnico em Informtica DSI
UNIBRATEC – Ensino Superior e Técnico em Informática DSI – Desenvolvimento de Sistemas Inteligentes 1 Capítulo 1– Conceitos. Aprendizado Básicos Redes Neurais Artificiais: Sunday, November 22, 2020
23 UNIBRATEC – Ensino Superior e Técnico em Informática DSI – Desenvolvimento de Sistemas Inteligentes RNA: Aprendizagem, Perceptron e Adaline Prof. Frederico Brito Fernandes unibratec@fredbf. com 2 Capítulo 1– Conceitos. Aprendizado Básicos Redes Neurais Artificiais: 1. Aprendizado 2. Aprendizado Supervisionado 3. Aprendizado não Supervisionado 4. Perceptron 5. Adaline 6. Diferença entre Perceptron e Adaline Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (1) Aprendizado • RNAs aprendem por exemplos – Determinação da intensidade de conexões entre neurônios • Algoritmo de aprendizado: – Conjunto de procedimentos bem definidos para adaptar os parâmetros de uma RNA, para que ela possa aprender. • Conjunto de ferramentas com diversos algoritmos, cada qual com suas vantagens e desvantagens. 3 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (1) Aprendizado • Inicialmente, a RNA passa pela fase de aprendizado – Extrai informações de exemplos apresentados a rede; – Cria-se uma representação própria para o problema. • Aprendizado: – Ajuste de parâmetros (pesos); – Guarda o conhecimento que a rede adquiriu do ambiente. 4 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (1) Aprendizado - Definição • “Aprendizagem é o processo pelo qual os parâmetros de uma rede neural são ajustados através de uma forma continuada de estímulo pelo ambiente no qual a rede está operando, sendo o tipo específico de aprendizagem realizada definido pela maneira particular como ocorrem os ajustes realizados nos parâmetros. ” 5 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (1) Aprendizado • Tipos de aprendizado: – Supervisionado; – Não-Supervisionado. • Outros tipos: – Por Reforço (supervisionado); – Por Competição (não-supervisionado). 6 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (2) Aprendizado Supervisionado • O método mais comum de treinamento de RNAs – A entrada e saída da rede são fornecidas por um supervisor (professor) externo; – Ajusta-se os parâmetros da rede, encontrando alguma ligação entre os pares de entrada e saída; – O professor indica um comportamento bom ou ruim da rede. 7 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (2) Aprendizado Supervisionado Professor Saída + Entrada RNA - ∑ A rede tem uma resposta (saída) que é comparada com a saída desejada, recebendo informações do supervisor sobre o erro da resposta atual. Erro 8 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (2) Aprendizado Supervisionado • Os pesos da rede, a cada iteração, são ajustados com o intuito de minimizar o erro. • A desvantagem: – Na ausência de professor, a rede não aprende novas estratégias; • Algoritmos conhecidos: – Regra Delta, Backpropagation 9 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (2) Aprendizado Supervisionado • Pode ser implementado de duas formas: off-line e online. – Off-line: Os dados do conjunto de treinamento não mudam, sendo a solução obtida, fixa. Se novos dados são adicionados, um novo treinamento deve ser realizado. – On-line: Os dados mudam continuamente e a rede está em contínuo processo de adaptação. 10 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (2) Aprendizado Supervisionado: Correção de Erros • Tenta minimizar a diferença entre a soma ponderada das entradas pelos pesos (saída calculada) e saída desejada. e(t) = d(t) – y(t) • A fórmula para alteração dos pesos por correção de erros é dado por: wi(t+1) = wi(t) + ηe(t)xi(t) • η é a taxa de aprendizado 11 Redes Neurais Artificiais: Aprendizado w Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (2. 1) Aprendizado por reforço • Caso particular de aprendizado supervisionado; • A diferença é a medida de desempenho adotada; – Aqui, qualquer medida que possa ser fornecida ao sistema; – Ao contrário da comparação entre as saídas gerando um erro. • Exemplo: – Aplicações em robótica autônoma • onde supondo uma situação hipotética, sabemos que seguir em frente não é possível pois existe um obstáculo, mas em compensação não temos uma medida numérica que indique para que lado seguir (previamente) e exatamente como devemos proceder para desviar deste obstáculo. • Medida de Desempenho: se o robô não caiu ou não esbarrou 12 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (2. 1) Aprendizado por reforço • A única informação de realimentação é se uma determinada saída está ou não correta; Crítico Reforço/Penalidade RNA Ação • Muitas vezes chamado de aprendizado por crítica. 13 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (2. 1) Aprendizado por reforço • É uma forma de aprendizado on-line; – Mapeamento entrada-saída; – Processo de triagem (escolha de alguns padrões) e erro, maximizando o índice de desempenho – sinal de reforço; – Verificando como a rede se comporta para determinadas entradas; 14 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (2. 1) Aprendizado por reforço • Aprendizado por reforço pode ser: – Aprendizado associativo: O meio fornece outras informações além do reforço (estímulos). Mapeamento estímulo-ação deve ser aprendido (fazendo x vai obter y); – Aprendizado não-associativo: O sinal de reforço é a única entrada. Seleciona uma única ação ótima; 15 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (3) Aprendizado não-supervisionado • Não há professor ou supervisor; – Estágios iniciais da visão e audição humana; • Temos apenas os padrões de entrada; • Codifica características da entrada; • Só é possível com redundância dos dados; Estado do meio externo Meio Externo Resposta RNA • Ex: separar laranjas de maçãs (tamanho, formato) 16 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (3) Aprendizado não-supervisionado • A estrutura da rede pode adquirir várias formas: – Camada de entrada, saída, conexões feedfoward (entrada e saída) e conexões laterais entre os neurônios da camada de saída; – Ligações feedfoward de múltiplas camadas; • Aprendizado: Modificar repetidamente os pesos de todas as conexões; 17 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (3. 1) Aprendizado por competição • Caso particular de aprendizado não-supervisionado; • Dado um padrão de entrada, fazer as unidades de saída disputarem entre si para serem ativadas; • Saída ativada terá os seus pesos atualizados no treinamento; • A saída com maior ativação inicial, terá maior chance de vencer a disputa. 18 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (3. 1) Aprendizado por competição • A unidade mais forte, fica cada vez mais forte; • Com o tempo, todas ficaram inibidas, exceto a vencedora; • Algoritmo simples: – – 19 Apresentar um vetor de entrada; Calcula a ativação inicial de cada saída; Deixá-las competir, até que apenas 1 fique ativa; Aumentar o peso entre a saída ativa e entrada ativa; Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (3. 1) Aprendizado por competição • Desvantagem: – Saída torna-se dominante, captando para si o espaço de entradas; – Solução: Racionar os pesos – Soma dos pesos não deve ser maior que 1; – Aumentar o peso de alguém é diminuir o peso de outro; • M – número de entradas ativas no vetor Δwj = ηxj/M - ηwj 20 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (3. 2) Aprendizado hebbiano • Resultados de Hebb motivaram os primeiros métodos de aprendizado em RNAs; • Peso deve ser ajustado se houver sincronismo entre os “níveis de atividade” das entradas e saídas; • Se 2 neurônios entre uma sinapse são ativados sincronamente, temos o fortalecimento da sinapse, caso contrário, o enfraquecimento; 21 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (3. 2) Aprendizado hebbiano • Resumo: Se o neurônio pré-sináptico tiver grande influência na ativação do pós-sináptico, a conexão deve ser reforçada; 22 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (3. 2) Aprendizado hebbiano • Modificação do peso sináptico: Δwij(t) = ηyi(t)xj(t) – Onde η é a taxa de aprendizagem • Vetores de entrada e saída são fornecidos; • O treinamento é feito independentemente da resposta da rede; – Sem professor ou supervisor 23 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (3. 3) Modelo de Linsker • Modelar os primeiros estágios do modelo visual dos mamíferos; • Baseado na abordagem de Hebb Entrada 24 Camada A Camada B Redes Neurais Artificiais: Aprendizado Camada C Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (3. 3) Modelo de Linsker • Função de Ativação: n yj(t) = a 1 + ∑ xi(t)wji(t) i=1 • O treinamento é feito camada a camada; • Entrada: Padrões gerados aleatoriamente; • As camadas atualizam os seus pesos utilizando uma regra hebbiana; 25 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (3. 3) Modelo de Linsker • Os novos pesos, para cada padrão de entrada, é definido de acordo com os valores das entradas e saídas produzidas; Δwji(t) = a 2 xi(t)yj(t) + a 3 xi(t) + a 4 yj(t) + a 5 • Para evitar que os pesos assumam um valor muito alto, é utilizado uma constante de saturação: Valor máximo (+w) e mínimo (-w). 26 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (3. 4) Regra de Oja • Solução inicial: – normalizar todo os pesos através de uma constante • Porém, não é necessário usar normalização – Basta usar a Regra de Oja: Δwi = ηy(xi - ywi) • Algoritmo que garante a convergência da rede; 27 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (4) Perceptron • Frank Rosenblatt introduz o conceito de aprendizado em 1958 e o modelo Perceptron. • Composto por nodos MCP e regra de aprendizado. • Sempre converge caso o problema seja linearmente separável. X 1 X 2 w 2 X 3 w 3 . . . w 4 Xn 28 w 1 (xiwi) Funçã o de a tivaçã o y Saída da Rede Nodo MCP Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (4) Perceptron • Não teve vida muito longa; • Muitas críticas em relação a sua capacidade computacional; • Grande desinteresse na área nos anos 70 e início dos anos 80; • Ganhou novo impulso com as descrições da rede de Hopfield em 1982 e do algoritmo Back-propagation em 1986. 29 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (4) Perceptron - Topologia • Unidades de Entrada (retina); • Unidades de Associação (pesos fixos); • Unidades de Resposta. • Somente o nível de saída possui propriedades adaptativas! Por isso chamado de 1 camada! 30 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (4) Perceptron - Topologia Retina Associação Resposta ∑Θ ∑Θ ∑Θ 31 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020 r
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (4) Perceptron - Aprendizado • O desejo é encontrar a variação Δw onde será utilizado na atualização do valor de w(t), chegando próximo ao desejado. w(t +1) = w(t ) + ηex(t ) Δw Regra Delta 32 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (4) Perceptron - Aprendizado • Ativação de um nodo é dado por: – w’. x’ ≥ θ, onde w’ é o vetor de pesos e x’ o vetor de entrada. – Caso crítico, quando w’. x’ = θ, ou w’. x’ – θ = 0 – Equivalente a adicionar um peso θ as entradas (como um peso) do nodo e conectar a um xi = -1. – Assim w={θ, w 1, w 2, . . . wn} e x={-1, x 2, . . . xn} tendo w. x = 0 X 0=-1 X 2 w 2 X 3 w 3 . . . Xn 33 θ w 1 (xiwi) Funçã o de a tivaçã o y Saída da Rede w 4 Olhar o site abaixo, para entender as explicações acima: http: //diwww. epfl. ch/mantra/tutorial/english/perceptron/html/ Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (4) Perceptron - Aprendizado • Considere o par de treinamento {x, d} – – – Saída da rede será y Erro: e = d – y y є {0, 1} e d є {0, 1} e ≠ 0: d =1 e y = 0 ou d = 0 e y =1 Conclui-se na equação de atualização dos pesos: w(t +1) = w(t ) + ηex(t ) 34 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (4) Perceptron - Treinamento • O algoritmo de treinamento sempre chega a uma solução para problemas linearmente separáveis. • Passos: Inicializar η e o vetor de pesos w; Repetir Para cada par do conjunto de treinamento (x, y): Atualizar os pesos por: w(t+1) = w(t)+ηex(t) Até e=0 para todos os elementos do conjunto de treinamento em todos os nodos. Voltar para o site do applet do perceptron, e executar passo-a-passo: http: //diwww. epfl. ch/mantra/tutorial/english/perceptron/html/ 35 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (4) Exercício • Dado os vetores de treinamento: – x 1 = [-1 -0. 1 0. 4 -0. 7 -1. 8] com y = 1 – x 2 = [-1 0. 2 -0. 3 -0. 9] com y = 0 • Vetor de pesos iniciais zerados: – w(0) = [0 0 0] //pode ser aleatório também • E a taxa de aprendizagem: OBS: Saiba que: x[0] = 1 w[0] = θ – η = 0. 1 • Fórmula do erro: – e(x) = d(x) - y(x) • Fórmula de correção dos pesos: – w(t+1) = w(t) + η * e(t) * x(t) • Encontre os pesos finais, para 5 interações Realize esse exercício no papel, passo-a-passo: (1) monte a topologia da RNA; depois (2) monte uma tabela contendo todas as variáveis da sua rede, para fazer o acompanhamento do treinamento 36 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (5) Adaline • Chamado de: – ADAptive LINear Element e depois de – ADAptive Linear NEuron – Surgiu quase que simultaneamente com o perceptron • Quase as mesmas características do perceptron, mas surgiu em área diferente. 37 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (5) Adaline • Frank Rosenblatt era psicólogo e o perceptron surgiu em uma revista de psicologia • Adaline surgiu dentro de um conceito de processamento de sinais. • Adaline possui saídas bipolares: y є [-1, +1] – Seus pesos são adaptados em função de uma saída linear: y = ∑wixi antes da aplicação da função de ativação. 38 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (5) Adaline x 1 w 1 x 2 w 2. . . xn 39 A correção dos pesos ocorre antes da função de ativação, ao contrário do Percetron Função de Ativação ∑ +1 -1 wn Correção dos pesos Redes Neurais Artificiais: Aprendizado ℮ ∑ + yd Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (5) Adaline • Trabalha semelhante ao perceptron: – Tenta minimizar o erro das saídas em relação aos valores desejados di do conjunto de treinamento • Prova-se que, dada a fórmula do erro quadrático, chegase a fórmula de ajuste dos pesos: w(t+1) = wk(t) + ηex(t) • Exatamente igual a do perceptron, só que os ajustes ocorrem de forma DIFERENTE! 40 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (6) Diferença entre Perceptron e Adaline • Adaline: – A equação de ajuste foi obtida para a saída linear • Logo, o ajuste dos pesos ocorre antes da função de ativação • Perceptron: – A equação foi obtida para a saída do nodo após a aplicação da função de ativação • Logo, o ajuste dos pesos ocorre depois da função de ativação 41 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (7) Reconhecendo um T e H com Perceptron • Uma representação simples Realize esse exercício no papel, passo-a-passo: (1) monte a topologia da RNA; depois (2) monte uma tabela contendo todas as variáveis da sua rede, para fazer o acompanhamento do treinamento (realize cinco interações) • Uma representação real 42 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
DSI – Desenvolvimento de Sistemas Inteligentes Prof. Frederico Brito Fernandes (8) Classificando Bons e Maus Pagadores • Use um Perceptron para reconhecer se um cliente é um bom ou um mau pagador Idade Renda Filhos Sexo CLASSE 25 R$ 1. 100, 00 1 M BOM (1) 42 R$ 3. 500, 00 0 F MAU (0) 32 R$ 4. 200, 00 5 M MAU (0) 18 R$ 500, 00 0 F BOM (0) • Por que um Perceptron pode não achar uma solução para o problema acima, apesar de termos apenas duas classes? 43 Redes Neurais Artificiais: Aprendizado Sunday, November 22, 2020
- Slides: 43