140 likes | 306 Views
Algoritmos Construtivos. Introdução. Motivação: transformar o treinamento em um problema simples de aprendizagem de uma célula: Algoritmo da torre Algoritmo da pirâmide Algoritmo de correlação em cascata Algoritmo do telhado Algoritmo grandioso Problemas de aprendizagem fácil.
E N D
Algoritmos Construtivos Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Introdução • Motivação: transformar o treinamento em um problema simples de aprendizagem de uma célula: • Algoritmo da torre • Algoritmo da pirâmide • Algoritmo de correlação em cascata • Algoritmo do telhado • Algoritmo grandioso • Problemas de aprendizagem fácil Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Todas as células intermediárias e de saída vêem as de entrada e a imediatamente anterior Usa-se o algoritmo do bolso com catraca para treinar cada célula intermediária e de saída Quando uma célula está treinada seus pesos são “congelados” e treina-se a próxima célula no caminho para a saída Algoritmo da Torre Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Algoritmo da Torre • Usar o algoritmo do bolso para gerar um modelo de célula única e congelar seus pesos após o treinamento • Criar uma nova célula que vê as p entradas mais a ativação da célula mais recentemente treinada. Executar o algoritmo do bolso com catraca para treinar os p+2 pesos (incluindo bias) para esta célula • Se a rede com a nova célula tem desempenho melhorado, congelar seus pesos e retornar ao passo 2; caso contrário remover a última célula e terminar Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Idêntico ao algoritmo da torre, exceto que cada nova célula recebe conexões de todas as outras células Embora as conexões e pesos adicionais pareçam melhorar a sua aprendizagem, as simulações foram inconclusivas Algoritmo da Pirâmide Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Algoritmo de Correlação em Cascata • Topologia similar à pirâmide • Usa ativação contínua (sigmóide) • Em cada estágio, adiciona-se e treina-se uma nova célula intermediária e retreina-se a célula de saída (que tem mais uma entrada) Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Algoritmo de Correlação em Cascata • Treina-se a nova célula para a correlação com o erro residual da célula de saída. Usando uik para indicar o valor de ui para o exemplo de treinamento k e indicar a média da variável x sobre todos os N exemplos de treinamento, busca-se maximizar • Usa-se a descida do gradiente para encontrar pesos {wi,j} que maximizem . A seguir congelam-se os pesos para a nova célula e retreina-se a saída usando backpropagation para encontrar wn,i Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Algoritmo do Telhado • Construção em camadas onde células da camada L recebem ativações somente da camada L-1 • A célula mestre da camada L classifica corretamente mais exemplos que aquela da camada L-1 • As células subordinadas garantem que não hajam dois exemplos de treinamento com classificações diferentes que tenham o mesmo conjunto de ativações na camada L Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Algoritmo do Telhado As células mestre estão em azul Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Algoritmo do Telhado • Fazer camada L=2 (camada 1 é a camada de entrada) • Usar o algoritmo do bolso com catraca para criar a célula mestre para a camada L usando todas as ativações da camada L-1 • Se a célula mestre da camada L classifica corretamente todos os exemplos de treinamento, então terminar • Caso contrário, continuar a adicionar células subordinadas até que a camada L se torne fiel: • Encontrar um subconjunto de exemplos de treinamento de tamanho máximo com mais de uma classificação, que produz as mesmas ativações para todas as células na camada L • Usar o algoritmo do bolso com catraca para treinar uma nova célula subordinada para a camada L usando somente o subconjunto de exemplos de treinamento do passo anterior • A camada L tornou-se fiel. Fazer L=L+1 e retornar ao segundo passo Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Algoritmo Grandioso • Entradas e saídas são discretas em {+1,-1} • Treina-se uma única célula un usando o algoritmo do bolso com catraca • No caso de não-separabilidade treinam-se unidades un+ e un- para corrigir os erros de un • A unidade un+ fornece reforço positivo quando un classifica incorretamente uma saída –1. Idem para un- com saída +1 • Após treinar un+ e un- as mesmas são unidas a un por grandes pesos positivos e negativos respectivamente • Se un+ e un- não classificam seus respectivos conjuntos de treinamento repete-se a construção recursivamente Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Algoritmo Grandioso un +l -l un+ un- u1 u2 u3 Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Algoritmo Grandioso • Construir uma rede inicial com uma única célula com célula de saída u. Colocar u e todos os exemplos de treinamento em LISTA-A-TRABALHAR • Enquanto LISTA-A-TRABALHAR não estiver vazia: • Remover um nó ui e exemplos de treinamento associados, E={Ek} de LISTA-A-TRABALHAR • Executar o algoritmo do bolso com catraca para gerar pesos para ui • Se ui classifica incorretamente um ou mais exemplos de treinamento com saída correta de +1: • Criar um novo nó ui+ ligado a ui por um grande peso positivo. ui+ vê todas as células de entrada • Colocar ui+ na LISTA-A-TRABALHAR juntamente com o seguinte subconjunto de exemplos de E: exemplos positivos: {Ek|uik=-1, Ck=1}, exemplos negativos: {Ek|Ck=-1} • Se ui classifica incorretamente um ou mais exemplos de treinamento com saída correta de -1: • Criar um novo nó ui- ligado a ui por um grande peso negativo. ui- vê todas as células de entrada • Colocar ui- na LISTA-A-TRABALHAR juntamente com o seguinte subconjunto de exemplos de E: exemplos positivos: {Ek|uik=1, Ck=-1}, exemplos negativos: {Ek|Ck=1} Prof. Júlio Cesar Nievola - PPGIA - PUCPR
Problemas de Aprendizagem Fácil • São problemas nos quais tem-se uma rede e onde os exemplos de treinamento especificam os valores de entrada e as ativações corretas para todas as células de entrada e intermediárias • Eles são “fáceis” pois podem ser decompostos em problemas de uma única célula Prof. Júlio Cesar Nievola - PPGIA - PUCPR