Prof. Frederico Brito [email protected]
Redes Neurais Artificiais (RNA): Aprendizado
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
Disciplina: Inteligência Artificial
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 2/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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.
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 3/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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.
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 4/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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.”
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 5/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(1) Aprendizado
• Tipos de aprendizado:– Supervisionado;– Não-Supervisionado.
• Outros tipos:– Por Reforço (supervisionado);– Por Competição (não-supervisionado).
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 6/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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.
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 7/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(2) Aprendizado Supervisionado
Professor
RNA ∑
Erro
Saída
Entrada
+
-
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.
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 8/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 9/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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.
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 10/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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.
• A fórmula para alteração dos pesos por correção de erros é dado por:
• η é a taxa de aprendizado
e(t) = d(t) – y(t)
wi(t+1) = wi(t) + ηe(t)xi(t)w
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 11/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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.
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 12/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(2.1) Aprendizado por reforço
• A única informação de realimentação é se uma determinada saída está ou não correta;
• Muitas vezes chamado de aprendizado por crítica.
Crítico
RNA
Reforço/Penalidade
Ação
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 13/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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;
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 14/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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;
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 15/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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;
• Ex: separar laranjas de maças (tamanho, formato)
Meio Externo RNA
Estado do meio externo Resposta
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 16/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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;
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 17/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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.
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 18/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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;
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 19/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 20/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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;
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 21/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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;
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 22/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(3.2) Aprendizado hebbiano
• Modificação do peso sináptico:
– 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
Δwij(t) = ηyi(t)xj(t)
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 23/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(3.3) Modelo de Linsker
• Modelar os primeiros estágios do modelo visual dos mamíferos;
• Baseado na abordagem de Hebb
EntradaCamada A Camada B Camada C
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 24/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(3.3) Modelo de Linsker
• Função de Ativação:
• O treinamento é feito camada a camada;
• Entrada: Padrões gerados aleatoriamente;
• As camadas atualizam os seus pesos utilizando uma regra hebbiana;
yj(t) = a1 + ∑ xi(t)wji(t)i=1
n
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 25/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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;
• Para evitar que os pesos assumam um valor muito alto, é utilizado uma constante de saturação: Valor máximo (+w) e mínimo (-w).
Δwji(t) = a2xi(t)yj(t) + a3xi(t) + a4yj(t) + a5
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 26/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(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:
• Algoritmo que garante a convergência da rede;
Δwi = ηy(xi - ywi)
Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 27/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial
(4) Reconhecendo um T e H com Perceptron
• Uma representação simples
• Uma representação real