420 likes | 580 Views
AULA02. Redes Neurais Artificiais. REDES NEURAIS ARTIFICIAIS (RNA). Uma RNA é composta de um número de unidades (neurônios artificiais) interconectadas , tendo cada unidade um comportamento específico (local). Neurônio básico: “Integrate-and-Fire”. u(t) é o potencial de membrana,
E N D
AULA02 Redes Neurais Artificiais
REDES NEURAIS ARTIFICIAIS (RNA) • Uma RNA é composta de um número de unidades (neurônios artificiais) interconectadas, tendo cada unidade um comportamento específico (local).
Neurônio básico: “Integrate-and-Fire” u(t) é o potencial de membrana, uresé o potencial de repouso, Rm é a resistência ao fluxo de corrente i(t) é a soma das correntes geradas pelos neuronios pré-sinápticos, é a constante de tempo da membrana
O neurônio de McCulloch e Pitts (1943) • Consiste basicamente de um neurônio que executa uma função lógica. • Os nós produzem somente resultados binários e as conexões transmitem exclusivamente zeros e uns. • As redes são compostas de conexões sem peso, de tipos excitatórios e inibitórios. • Cada unidade é caracterizada por um certo limiar (threshold) q.
A regra para avaliação de um neurônio McCulloch-Pitts • assume–se que a unidade recebe entradas excitatórias através de n conexões de entrada e entradas inibitórias através de m conexões de entrada. • Se e pelo menos um dos sinais y1, y2, ..., ym é 1, a unidade é inibida e a saída é 0. • Caso contrário, o total de entradas (x = x1 + x2 + ... xn) excitatórias é computado e comparado com o threshold q. Se a saída é 1 (a unidade dispara). Se x < q o resultado é 0.
Exemplos: neurônios AND e OR Duas entradas: Mais de 2 entradas:
Rede neural com 3 neurônios McCulloch-Pitts Função F = 1 para (0, 0, 1) e (0, 1, 0); F = 0 para outras entradas.
McCulloch-Pitts (cont.) • Como qualquer função lógica pode ser implementada com funções AND, OR e NOT, em duas camadas, • Qualquer função lógica pode ser computada por uma rede de McCulloch-Pitts de duas camadas. • Como as conexões não tem pesos, • Os neurônios de McCulloch-Pitts não são possíveis de serem treinados, por não terem parâmetros livres.
O neurônio genérico de Redes Neurais Artificiais (RNAs) • As principais partes de um neurônio genérico de RNAs são: • As sinapses (entradas), com seus pesos associados • A junção somadora e • A função de ativação. • O primeiro subscritok do peso sináptico wkj corresponde ao neurônio pós-sináptico, e o segundo subscrito à sinapse (ou neurônio pré-sináptico).
O neurônio genérico (cont.) • A junção somadora soma todos os sinais de entrada multiplicados pelos respectivos pesos, além do bias bk. • A função de ativação tem a função de limitar a saída e introduzir não-linearidade ao modelo. • O bias bk tem o papel de aumentar ou diminuir a influência do valor das entradas. • É possível considerar o bias como uma entrada de valor constante 1, multiplicado por um peso igual a bk.
O neurônio genérico (cont.) • Matematicamente a saída pode ser expressa por: ou considerando o bias como entrada de valor x0=1 e peso wk0=bk,
Função de ativação: semi-linear (a) (b) Função de ativação semi-linear (a) e sua derivada (b).
Função de ativação logística (sigmóide) (a) (b) Sigmóide (a) e sua derivada (b).
Função de ativação tangente hiperbólica (a) (b) Tangente hiperbólica (a) e sua derivada (b).
ARQUITETURAS DE REDES NEURAIS ARTIFICIAIS • Existem basicamente 3 tipos básicos de arquiteturas de RNAs: • Feedforward de uma única camada • Feedforward de múltiplas camadas e • Redes recorrentes.
Rede feedforward com uma única camada de processamento o • Os neurônios da camada de entrada correspondem aos neurônios sensoriais que possibilitam a entrada de sinais na rede (não fazem processamento). • Os neurônios da camada de saída fazem processamento.
Rede feedforward com uma única camada de processamento (cont.) Matriz de pesos 0 onde a primeira coluna de W é o vetor de bias. Matricialmente
Rede feedforward de Múltiplas Camadas • Essas redes tem uma ou mais camadas intermediárias ou escondidas.
Rede feedforward de Múltiplas Camadas (cont.) Seja Wk a matriz de pesos da camada k. corresponde ao peso da conexão do neurônio pós-sináptico i ao neurônio pré-sináptico j na camada k. Em notação matricial:
REDES RECORRENTES Essas redes possuem pelo menos uma interconexão realimentando a saída de neurônios para outros neurônios da rede (conexão cíclica). Exemplo: Rede de Hopfield
FASES DE UMA REDE NEURAL ARTIFICIAL • Uma rede neural artificial pode se encontrar em duas fases: • a primeira fase é a de aprendizagem, ou treinamento, em que a rede se encontra no processo de aprendizado, ajustando os parâmetros livres, para poder posteriormente desempenhar a função destinada; e • a segunda fase é a de aplicação propriamente dita, na função para a qual ela foi destinada, como de classificação de padrões de vozes, imagens, etc.
Aprendizagem O processo de aprendizagem implica na seguinte sequência de eventos: 1) a rede neural é estimulada por um ambiente 2) a rede neural sofre modificações nos seus parâmetros livres como resultado desta estimulação 3) a rede neural responde de uma maneira nova ao ambiente, devido as modificações ocorridas na sua estrutura interna
REGRA 1: APRENDIZAGEM POR CORREÇÃO DE ERRO Um neurônio k da camada de saída, acionado por um vetor de sinal x(n) produzido por uma ou mais camadas de neurônios ocultos, que são, por sua vez, acionadas por um vetor de entrada (estímulo) aplicado aos nós de fonte (camada de entrada). O argumento n representa o instante de tempo discreto, do processo iterativo envolvido no ajuste de pesos sinápticos. O sinal de saida do neurônio k é representado por yk(n). O sinal de saída é comparado com uma resposta desejada, dk(n) e produzido um sinal de erro, ek (n). Por definição tem-se: ek (n) = dk (n) – yk (n)
REGRA 1: APRENDIZAGEM POR CORREÇÃO DE ERRO (cont.) • O sinal de erro ek(n) aciona um mecanismo de controle, cujo proposito é aplicar uma sequência de ajustes corretivos aos pesos sinápticos do neurônio k. • Os ajustes corretivos são projetados para aproximar passo a passo o sinal de saída yk (n) da resposta desejada dk(n). • Este objetivo é alcançado minimizando-se uma função de custo ou índice de desempenho, E(n), definido em termos do sinal de erro como: E (n) = ½ ek2(n)
REGRA 1: APRENDIZAGEM POR CORREÇÃO DE ERRO (cont.) • Em particular, a minimização da função de custo E(n) resulta na regra de aprendizagem normalmente referida como regra delta ou regra de Widrow-Hoff. • Supondo-se que wkj(n) represente o valor do peso sináptico wkj do neurônio k excitado por um elemento xj (0) do vetor de sinal x(n) no passo de tempo n. De acordo com a regra delta, o ajuste Dwkj (n) aplicado ao peso sináptico é definido por • Dwkj (n) = h ek(n) xj(n) onde h é uma constante positiva que determina a taxa de aprendizado quando avança-se em um passo no processo de aprendizagem. • Em outras palavras, a regra delta pode ser formulada como: O ajuste feito em um peso sináptico de um neurônio, proporcional ao produto do sinal de erro pelo sinal de entrada da sinapse em questão.
REGRA 1: APRENDIZAGEM POR CORREÇÃO DE ERRO (cont.) • Nota-se que o sinal de erro deve ser diretamente mensurável, ou seja, a resposta desejada deve ser fornecida por alguma fonte externa, e o neurônio k deve ser visível ao mundo externo. • Tendo calculado o ajuste sináptico, o valor atualizado do peso sináptico é determinado por: wkj (n + 1) = wkj (n) + Dwkj (n).
REGRA 2: APRENDIZAGEM BASEADA EM MEMÓRIA • As experiências são armazenadas em uma grande memória de exemplos de entrada-saída classificados corretamente: {(xi,di)} i = 1...n, onde xi representa um vetor de entrada e di representa a resposta desejada correspondente. • Num problema de classificação de padrões binários, por exemplo, há duas classes a serem consideradas, C1 e C2, e a resposta desejada di assume valor 0 para a classe C1 e valor 1 para a classe C2. • Na classificação de um vetor de teste xteste, o algoritmo busca os dados de treinamento em uma vizinhança local de xteste. • Todos os algoritmos de aprendizagem baseada em memória envolvem dois aspectos essenciais: • o critério utilizado para definir a vizinhança local do vetor de teste, e • a regra de aprendizagem aplicada aos exemplos de treinamento na vizinhança local de xteste.
Classificador de vizinho mais próximo • Em um tipo simples mas efetivo de aprendizagem baseada em memória conhecido como a regra do vizinho mais próximo, a vizinhança local é igual ao exemplo de treinamento que se encontra mais próximo do vetor de teste. • Em particular, dizemos que o vetor xN’ pertencente a {x 1, x 2, ..., x N } é o vizinho mais próximo de x teste se mini d(xi, xteste) = d(xN’, xteste ) onde d(xi, xteste) é a distância euclidiana entre os vetores xi e xteste. • A classe associada com o vetor de distância mínima, vetor xN’, é apresentada como a classificação de xteste.
Classificador de k vizinhos mais próximos • A classificação Implica em: • identificar os k padrões classificados que se encontram mais próximos do vetor de teste, xteste, para um número inteiro k. • atribuir xteste à classe que está mais frequentemente representada nos k vizinhos mais próximos de xteste. • Assim, o classificador pelos k vizinhos mais próximos atua como um dispositivo que calcula a média. Em particular, ele discrimina um dado estranho, que é uma observação que tem um valor improvável em relação a um modelo de interesse.
Exemplo de classificador de k vizinhos mais próximos • Na Figura tem-se o ponto d correspondente ao vetor de teste. Com k = 3, o classificador atribui a classe de quadrado escuro ao ponto d, mesmo ele estando perto ao dado estranho (círculo).
REGRA 3: APRENDIZAGEM HEBBIANA • O postulado de aprendizado de Hebb é a mais antiga e mais famosa de todas as regras de aprendizagem, e é baseado no texto a seguir, contido no livro de Hebb (1949), The Organization of Behavior: • O peso de uma conexão sináptica deve ser ajustado se houver sincronismo entre as atividades: do neurônio pré-sináptico e do neurônio pós-sináptico. • Em termos matemáticos que significa que a mudança do peso sináptico Dwij(t) é proporcional ao valor do neurônio pós-sináptico yi(t) e ao valor do neurônio pré-sinático xj (t) multiplicado pelo fator de aprendizado h .
Rede Neural baseado na regra de Hebb(Hebb net) • Algoritmo: Passo 0. inicializar todos os pesos: wi = 0 ( i = 1, ..., n) Passo 1. para cada par de vetor de treinamento (s) e alvo (t): a) atribuir o vetor de treinamento às unidades de entrada: xi = si ( i = 1,..., n). b) atribuir o alvo à unidade de saída: y = t c) ajustar os pesos: wi (novo) = wi (velho) + xi y (i = 1,..., n) ajustar o bias: b(novo) = b(velho) + y.
Exemplo para AND, com entradas e saídas bipolares Entrada Alvo (x1 x2 1) (1 1 1) 1 (1 -1 1) -1 (-1 1 1) -1 (-1 -1 1) -1 PRIMEIRA ENTRADA: Entrada alvo mudança nos pesos pesos (x1 x2 1) (Dw1Dw2Db) (w1 w2 b) (0 0 0) (1 1 1) 1 (1 1 1) (1 1 1) Equação da reta: x2 + x1 +1 = 0
Exemplo AND (Hebb net) (cont.) Segunda entrada: Entrada alvo mudança nos pesos pesos (x1 x2 1) (Dw1Dw2Db) (w1 w2 b) (0 0 0) (1 -1 1) -1 (-1 1 -1) (0 2 0) Equação da reta: x2 = 0 Terceira entrada : Entrada alvo mudança nos pesos pesos (x1 x2 1) (Dw1 Dw2 Db) (w1 w2 b) (0 0 0) (-1 1 1) -1 (1 -1 -1) (1 1 -1) Equação da reta: x2 + x1 -1 = 0 Quarta entrada : Entrada alvo mudança nos pesos pesos (x1 x2 1) (Dw1 Dw2 Db) (w1 w2 b) (0 0 0) (-1 -1 1) -1 (1 1 -1) (2 2 -2) Equação da reta: x2 + x1 – 1 = 0
REGRA 4: APRENDIZAGEM COMPETITIVA • Na aprendizagem competitiva, os neurônios de saida de uma rede neural competem entre si para se tornarem ativos (disparar). • Somente um único neurônio de saída fica ativo num determinado instante. • Existem três elementos básicos em uma regra de aprendizagem competitiva: • um conjunto de neurônios que são todos iguais entre si, exceto pelos pesos sinápticos distribuídos aleatoriamente, e que por isso respondem diferentemente aos padrões de entrada; • um limite imposto sobre a força de cada neurônio; e • um mecanismo que permite que os neurônios compitam, de forma que somente um neurônio de saida, esteja ativo em um determinado instante. • O neurônio que vence a competição é denominado um neurônio vencedor (winner-take-all, em inglês).
Um exemplo de algoritmo para aprendizagem competitiva • Seja X = (x1, x2, ..., xl) um conjunto de vetores de entrada normalizados num espaço n-dimensional que pretende-se classificar em k diferentes clusters. A rede consiste de k unidades, cada uma com n entradas e threshold zero. Passo 0. Os vetores peso normalizados w1, ..., wk são gerados aleatoriamente. Passo 1. Selecionar um vetor aleatoriamente. Computar para i = 1,..., k Selecionar wm tal que para i = 1, ..., k Passo 2. Substituir wm por wm + xj e normalizar Voltar para o passo 1.
Ilustração de aprendizado competitivo para a separação de entradas em 3 classes (clusters) Cluster B Cluster A Cluster C
MODELOS DE APRENDIZAGEM Os principais modelos (paradigmas) de aprendizagem são: • supervisionado; 2) não-supervisionado; e 3) com reforço.
SUPERVISIONADO • Também conhecida com aprendizagem com professor, consiste em que o professor tenha o conhecimento do ambiente, e fornece o conjunto de exemplos de entrada-resposta desejada. • Com esse conjunto, o treinamento é feito usando a regra de aprendizagem por correção de erro.
NÃO-SUPERVISIONADO • Neste caso nao há um professor para supervisionar o processo de aprendizagem. Isso significa que não há exemplos rotulados da função a ser aprendida pela rede. • Nesse modelo, também conhecido como auto-organizado, são dadas condições para realizar uma medida da representação que a rede deve aprender, e os parâmetros livres da rede são otimizados em relação a essa medida. • Para a realização da aprendizagem não-supervisionada pode-se utilizar a regra de aprendizagem competitiva.
APRENDIZAGEM POR REFORÇO • Pode ser visto como caso particular de aprendizagem supervisionada. • A principal diferença entre o aprendizado supervisionado e o aprendizado por reforço é a medida de desempenho usada em cada um deles. • No aprendizado supervisionado, a medida de desempenho é baseada no conjunto de respostas desejadas usando um critério de erro conhecido, enquanto que no aprendizado por reforço a única informação fornecida à rede é se uma determinada saída está correta ou não. • A idéia básica tem origem em estudos experimentais sobre aprendizado dos animais. Quanto maior a satisfação obtida com uma certa experiência em um animal, maiores as chances dele aprender.