Redes Neurais Artificiais (RNA): Aprendizado Disciplina: Sistemas Inteligentes II Prof. Frederico Brito Fernandes [email protected] CONTEÚDO (1) Aprendizado (2) Aprendizado Supervisionado (2.1) Aprendizado por Reforço (3) Aprendizado Não-Supervisionado (3.1) Aprendizado Competitivo (3.2) Aprendizado Hebbiano (3.3) Modelo de Linsker (3.4) Regra de Oja (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. Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 2/27 (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. Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 3/27 (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.” Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 4/27 (1) Aprendizado • Tipos de aprendizado: – Supervisionado; – Não-Supervisionado. • Outros tipos: – Por Reforço (supervisionado); – Por Competição (não-supervisionado). Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 5/27 (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. Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 6/27 (2) Aprendizado Supervisionado Saída Professor + 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 Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 7/27 (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 Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 8/27 (2) Aprendizado Supervisionado • Pode ser implementado de duas formas: off-line e on-line. – 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. Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 9/27 (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) w • η é a taxa de aprendizado Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 10/27 (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 Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 11/27 (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. Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 12/27 (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; Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 13/27 (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). – Aprendizado não-associativo: O sinal de reforço é a única entrada. Seleciona uma única ação ótima; Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 14/27 (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; Meio Externo Estado do meio externo Resposta RNA • Ex: separar laranjas de maçãs (tamanho, formato) Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 15/27 (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; Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 16/27 (3.1) Aprendizado por competição • Caso particular de aprendizado nãosupervisionado; • 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. Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 17/27 (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: – – – – 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; Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 18/27 (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; Δwj = ηxj/M - ηwj • M – número de entradas ativas no vetor Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 19/27 (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; Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 20/27 (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; Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 21/27 (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 Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 22/27 (3.3) Modelo de Linsker • Modelar os primeiros estágios do modelo visual dos mamíferos; • Baseado na abordagem de Hebb Entrada Disciplina: Inteligência Artificial Camada A Camada B Professor: Frederico Brito Fernandes Camada C 23/27 (3.3) Modelo de Linsker • Função de Ativação: n yj(t) = a1 + ∑ 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; Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 24/27 (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) = a2xi(t)yj(t) + a3xi(t) + a4yj(t) + a5 • Para evitar que os pesos assumam um valor muito alto, é utilizado uma constante de saturação: Valor máximo (+w) e mínimo (-w). Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 25/27 (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; Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 26/27 (4) Reconhecendo um T e H com Perceptron • Uma representação simples • Uma representação real Disciplina: Inteligência Artificial Professor: Frederico Brito Fernandes 27/27