Prévia do material em texto
FUNDAMENTOS DE IA,EVOLUÇÃO TECNOLÓGICA E O FUTURO DA TECNOLOGIA WEB 4 PROF. ANDRE TIBA Objetivos da unidade: 1º: Algoritmo Genético 2º: Aprendizagem de Máquina 3º: Perceptron 4º: Multilayer Perceptron 2 Objetivos da unidade: 1º: Algoritmo Genético 2º: Aprendizagem de Máquina 3º: Perceptron 4º: Multilayer Perceptron 3 Algoritmo Genético • O algoritmo genético é um algoritmo computacional criado para trabalhar em problemas de otimização e tem seu funcionamento inspirado na seleção natural. • Seleção natural: • Apenas os indivíduos mais fortes sobrevivem. • Problema de otimização: • Encontrar a solução com menos custo para o problema. • Ex: Percorrer 10 cidades usando o caminho mais rápido. 4 Problema com Algoritmo Genético • Objetivo: • Um programador está desenvolvendo um jogo que simula a seleção natural. • Ambiente: • Nesse jogo, diversos besouros são criados para interagirem com uma floresta negra. • Desafio: • Ele gostaria de avaliar como esses besouros sobrevivem ao longo do tempo de acordo com as suas cores. • Regras: • Besouros mais escuros se adaptam melhor, besouros mais claros ficam expostos e morrem mais rápido. 5 Iniciando Indivíduos • Indivíduo: • Representa uma solução distinta para o problema. • Cada solução é representada por um vetor de três posições, que representam as cores do besouro. 6 • Genoma: • O vetor de cores é chamado de genoma. • Cada elemento do genoma é chamado de gene ou cromossomo. • O valor atribuído a cada gene é chamado de alelo. Avaliando um Indivíduo • Função de aptidão (fitness): • Calcula o nível de adaptação de cada individuo para a floresta negra. • Essa função recebe como parâmetro o vetor RGB do individuo. • A função retorna valores próximos a 1 para vetores com RGB mais próximos da cor preta. • A função retorna valores próximos a 0 para vetores com RGB mais próximos da cor branca. 7 Criando Vários Indivíduos • População: • Conjunto de indivíduos com diferentes níveis de adaptação (soluções) para o problema (floresta negra). • Os indivíduos são criados de forma aleatória. • Avaliação dos indivíduos: • Todos os indivíduos são avaliados para o problema, ou seja, calcula-se para cada um sua função de fitness. 8 Seleção dos Indivíduos Mais Fortes • Cross-over: • Pares de indivíduos são selecionados aleatoriamente e seus genomas são combinados. • A combinação dos indivíduos gera novos indivíduos. • Mutação: • Indivíduos são escolhidos aleatoriamente e alguns dos seus genes são modificados. 9 Procedimento Geral do Algoritmo Genético 10 Seleção de alguns indivíduos Cross-over e mutação Substituição dos antigos indivíduos Avaliação de cada indivíduo Inicialização da população Termina o algoritmo Resultado do Algoritmo Genético • Ao final da execução, o algoritmo apresenta para o usuário diversas soluções para o problema. • Geralmente a solução ótima (melhor de todas) é utilizada para o problema. • O algoritmo genético pode ser aplicado a problemas discretos e contínuos. 11 Algoritmo Genético em Python 12 • https://drive.google.com/drive/folders/1WHXMqIENwizVa38kQ3u-4-dMvZ5znqhd?usp=sharing Algoritmo Genético em Python 13 Algoritmo Genético em Python 14 Algoritmo Genético em Python 15 Objetivos da unidade: 1º: Algoritmo Genético 2º: Aprendizagem de Máquina 3º: Perceptron 4º: Multilayer Perceptron 16 Aprendizado em Machine Learning 17 Tipos de Aprendizado Aprendizado Supervisionado Aprendizado Não- supervisionado Aprendizado por Reforço Aprendizado Supervisionado 18 • São apresentados ao computador exemplos de entradas e saídas desejadas, fornecidas por um “professor”. • O objetivo é aprender uma regra geral que mapeia as entradas e saídas. • Exemplos de entrada e saída: • Entrada: foto; Saída: nome da pessoa. Algoritmo Aprendizado Não-supervisionado 19 • Nenhum tipo de saída é dada ao algoritmo de aprendizado. O algoritmo por conta própria forma grupos com os dados mais semelhantes. • Descobrir padrões nos dados: • Identificar grupos: • Exemplos de entradas: • Entrada: várias fotos de três pessoas diferentes. Aprendizado Por Reforço • O programa desempenha uma atividade em um ambiente dinâmico. • O ambiente dinâmico fornece ao programa premiações e punições, na medida que ele explora as opções. • Exemplo: • Melhorar a estratégia de jogo apenas jogando contra um oponente. 20 Aplicações do Aprendizado Supervisionado 21 • Classificação: • Classificar novos exemplos em grupos existentes. • Ex: reconhecimento facial. • Regressão: • Estimar um valor flutuante baseando em informações passadas. • Ex: previsão do mercado de ações. Aplicações do Aprendizado Não-Supervisionado 22 • Agrupamento de dados: • Verifica os dados mais semelhantes e os agrupa. • Ex: agrupar fotos da mesma pessoa. • Sistemas de Recomendação: • Baseado nas características do usuário, recomenda opções semelhantes. • Ex: recomendação de produtos ou filmes. Aplicações do Aprendizado Por Reforço • IA em Games: • Verifica quais golpes geram mais efeitos e quais são mais punidos. • Ex: níveis de dificuldade em jogos de luta. • Navegação de Robôs: • Aprende a navegar pelo terreno a partir da experiência. • Ex: robôs enviados para navegar em marte. 23 Objetivos da unidade: 1º: Algoritmo Genético 2º: Aprendizagem de Máquina 3º: Perceptron 4º: Multilayer Perceptron 24 Motivação para o Perceptron • Perceptron foi o primeiro modelo de rede neural artificial, proposto por Frank Rosenblatt em 1957. • Foi implementado em hardware para resolver problemas linearmente separáveis. • Classificador linear: capacidade de separar duas classes com uma reta. 25 Arquitetura do Perceptron 26 Perceptron Arquitetura 27 • As entradas são binárias: • Os pesos podem ser negativos ou positivos: • Regra de propagação: • A saída binária é determinada pela regra de ativação Perceptron Treinamento 28 Recebe os dados das duas classes (1 e 0) Inicia os pesos da rede aleatoriamente Pega uma entrada aleatória do conjunto de dados Verifica a classe da observação e movimenta a reta em direção da sua classe Perceptron Treinamento 29 • Obs: A reta é ajustada na medida que novos dados são recebidos. Perceptron em Python 30 • https://drive.google.com/drive/folders/1WHXMqIENwizVa38kQ3u-4-dMvZ5znqhd?usp=sharing Objetivos da unidade: 1º: Algoritmo Genético 2º: Aprendizagem de Máquina 3º: Perceptron 4º: Multilayer Perceptron 31 Motivação para Multilayer Perceptron (MLP) • O perceptron era um modelo extremamente limitado. Possuía bom desempenho apenas para problemas linearmente separáveis. • Problemas mais complexos, como por exemplo a porta XOR, eram impossíveis de serem resolvidos com o perceptron. 32 Problema da porta XOR Motivação para Multilayer Perceptron (MLP) • Devido a limitação do perceptron, diversas pesquisas foram realizadas com a finalidade de solucionar o problema da porta XOR. • Nesse sentido surgiu a rede neural Multilayer Perceptron (MLP). • O MLP é uma rede neural semelhante ao perceptron, mas com mais de uma camada de neurônios em alimentação direta. Além disso possui ativações não-lineares. 33 MLP Arquitetura 34 MLP Arquitetura • Computação da camada de entrada: • Ativação da camada escondida: • Computação da camada de saída: 35 MLP Treinamento – Algoritmo Backpropagation 36 • O algoritmo backpropagation consiste em duas fases: 1. O passo para frente: as entradas são passadas através da rede e as previsões de saída obtidas. 2. O passo para trás: calcula-se o gradiente da função de perda na camada de saída. O Gradiente é utilizado para atualizar os pesos da rede. MLP Fronteiras de Decisão 37 Capacidade de Generalização das Redes Neurais 38 • Treinamento: utiliza-se os dados para ensinar a rede os padrões existentes. • Validação: utilizado APENAS para avaliar o desempenho da rede DURANTE o treinamento em dados não treinados (Generalização).• Teste: simula uma situação real, em que a rede seria utilizada como uma ferramenta de tomada de decisão. • Critério de parada: aumento do erro no conjunto de validação. MLP em Python 39 • https://drive.google.com/drive/folders/1WHXMqIENwizVa38kQ3u-4-dMvZ5znqhd?usp=sharing Síntese: • Algoritmo genético: • População, cross-over e mutação. • Tipos de Aprendizagem: • Aprendizado supervisionado. • Aprendizado não-supervisionado. • Aprendizado por reforço. • Redes neurais supervisionadas: • Perceptron. • Multilayer perceptron. 40 Próxima Aula 41 •Algoritmo ID3 Árvores de Decisão •Teoria dos Conjuntos Lógica Nebulosa FUNDAMENTOS EM INTELIGÊNCIA ARTIFICIAL Webconferência III – Aprendizagem, Redes Neurais e Algoritmo Genético Professor: André Tiba