Post on 17-Apr-2015
NEOCOGNITRON
Introdução
Arquiteturas como perceptron multicamadas tendem a ser de aplicação genérica.
Em contraste, o neocognitron é uma rede proposta originalmente para a aplicação de reconhecimento de caracteres manuscritos.
Apesar disso essa rede tem uma grande quantidade de aplicações práticas.
Fukushima propôs a rede baseada no modelo biológico da visão, cujos estudos foram feitos por Hubel e Wiesel.
Sistema de Visão Biológico Cones
ebastonetesda retina
Olhoesquerdo
Olhodireito
Célulasbipolares
Célulasganglionares
Quiasmaóptico
Célulasdo
núcleogeniculado
lateral
Célulassimples
do cortexvisual
Célulascomplexasdo cortex
visual
Cortex visual
Núcleogeniculado
lateral
Sistema de Visão Biológico
Olhoesquerdo
Olhodireito
Quiasmaóptico
Corpogeniculado
lateral
Cortexvisual
O sistema de visãopor baixo do cérebro
• Hubel e Wiesel fizeram estudos das células nervosas do sistema visual usando microeletrodos para registrar a resposta dos neurônios individuais do córtex enquanto estimulava a retina com luzes.
• Aplicando uma variedade de padrões e formas, eles determinaram o estímulo particular que cada neurônio era mais sensitivo.
• Alguns desses campos receptivos geram uma resposta excitatória para um feixe de luz centralizado, e uma resposta inibitória para um feixe de luz mais largo em difuso.
Córtex Visual (área 17)• O córtex visual é composto de seis camadas de neurônios. • A maioria dos neurônios do LGN terminam nas células da camada IV.• Células da camada IV projetam a um grupo de células diretamente acima
chamadas de células simples. Células simples respondem a linhas de segmentos com uma orientação particular.
• As células simples projetam a células chamadas células complexas. As células complexas respondem a linhas tendo a mesma orientação, correspondentes às células simples, embora integrem as respostas para um campo receptivo maior. Em outras palavras, as células complexas são menos sensitivas à posição da linha na retina que as células simples.
• Células em diferentes camadas da área 17 projetam-se a diferentes localizações do cérebro. Por exemplo, as células da camada II e III projetam a células das áreas 18 e 19. Essas áreas contem células chamadas hipercomplexas, que respondem a linhas que formam ângulos ou cantos e que movem em várias direções ao longo do campo receptivo.
NEOCOGNITRON
• É o modelo que emerge dessa hierarquia de células com respostas crescentes em complexidade.
• Os neurônios propagam os sinais da esquerda para a direita começando da camada U0, que corresponde à camada de entrada, cujos sinais correspondem aos sinais captados pelas células fotoreceptivas da retina.
• Esses sinais são enviados para a camada US1 de células simples, que por sua vez enviam sinais para a camada UC1 de células complexas.
• Os sinais da camada UC1 são enviados para a camada US2, e assim, por diante, até a última camada.
• Cada conjunto de camadas USi e UCi denomina-se estágio hierárquico i da rede.
• Em princípio o número de estágios é ilimitado.
Em cada camada nota-se os planos celulares, compostos de um conjunto
de células dispostas em forma matricial
Estágio 1 Estágio 2 Estágio 3
saídas
Camadade
entrada
camadas
plano celular
• A hierarquia é representada por estágios, cada qual com a função de reconhecer fatores em níveis de complexidade diferentes.
• Quanto mais complexo o fator, maior será a hierarquia, finalizando com o último estágio, que reconhece o padrão de entrada como um todo.
• Os fatores mais simples são reconhecidos pelo primeiro estágio (normalmente linhas retas em várias direções) e em cada um dos próximos estágios, fatores mais complexos são reconhecidos (ângulos, extremidades, polígonos, etc.).
• Somente informações obtidas no estágio anterior são utilizadas pelo estágio posterior (feedforward).
• Exemplo de fatores reconhecidos pelos neurônios nos 3 estágios de uma implementação do neocognitron.
Us3 Uc3
Us1 Uc1Us2 Uc2
U0
Estágios e camadas
• Numa implementação do neocognitron pode ter quantos estágios forem necessários.
• No estágio 0 tem uma única camada, a camada de entrada.
• Todos os demais estágios contêm uma camada-S e uma camada-C.
• Após a camada-C do último estágio, vem a camada de saída.
USiUCI
Camada S Camada C
Planos celulares• Cada camada do neocognitron consiste de um certo número de planos celulares
bidimensionais.• O número de planos celulares de cada camada-S e camada-C depende do número
de fatores reconhecidos pelo estágio correspondente da rede. • Um plano celular é um grupo de células justapostas em forma de matriz 2D.
camada
Plano celular
célula
Células
• Os planos celulares são compostos por elementos básicos de processamento, chamados células (neurônios).
• O número de células é o mesmo para todos os planos em uma camada, e diminui com o avanço do estágio da rede.
• Existem os seguintes tipos de células no neocognitron:
- células-S, num plano-S, serve para extrair fatores
- células-C, num plano-C, serve para generalização dos fatores.
- células-Vc, para calcular a atividade das células
Células-S• Serve para extrair fatores
• Cada célula-S conecta-se a uma pequena área (região) de conexão, com os planos celulares da camada anterior.
• O tamanho da área de conexão é o mesmo para todas as células-S de uma camada.
• As células da camada US1 tem uma área de conexão de um único plano celular, camada de entrada.
• As demais camadas-S tem uma área de conexão, com cada plano celular-C do estágio anterior.
.US1
US2UC1
entrada
área de conexão
Célula-S da camada US1
Célula-S da camada US2
Exemplo: duas células–S disparando durante o reconhecimento de segmentos de linha vertical.
1
11
,,, 111
lK
lk lSi
ikukikae lCllll n
11
1~
h
euS
onde
nClll vkbh
( o valor de e varia proporcionalmente ao fator a ser extraído)
( o valor de h varia de acordo com a atividade das células da camada anterior)
Cálculo da célula-S
valor da célula-Vc (entrada)
peso
valor da célula-C (entrada)
peso
threshold valor em (0,1)
Plano 1
Plano Kl-1
Estágio l-1 Estágio l
Sl
Sl
Plano kl
pesos al
célulasuCl-1
e
Os pesos al são diretamente proporcionais ao fator que a célula reconhece, e são maiores ou iguais a zero.
1
11
,,, 111
lK
lk lSi
ikukikae lCllll n
11
1~
h
euS Cálculo de e
valor da célula-C(entrada)peso
1
11
,112
lK
lk lSi
ikuicv lCllCl nn
Plano 1
Plano Kl-1
Estágio l-1 Estágio l
Sl
Sl
Plano kl
Pesos cluCl-1
células
célula vCl
Os pesos cl são distribuídos de forma gaussiana positiva (monotonicamente decrescente) e o seu somatório é igual a 1.
O valor de vCl é proporcional ao número de células ativas uCl-1. O peso bl(k) é maior ou igual a zero.
nClll vkbh
11
1~
h
euS Cálculo da célula-Vc
1
1 1
1)(l
l l
K
k Sil ic
peso célula-C, quadrado (entrada)
Exemplo de pesos cl de células vcl
para área de conexão 7x7
0.5/s
1.0/s
1 2 3-1-2-3
1
1 1
1)(l
l l
K
k Sil ic
Esses valores devem ser normalizados (/s) para que a soma dos pesos seja igual a 1.
1/s
0.9/s
0.9/s0.9/s
0.9/s
0.81/s0.81/s
0.81/s 0.81/s
0.81/s
0.81/s
0.81/s
0.72/s0.81/s0.81/s0.81/s
0.81/s
0.81/s
0.81/s
0.72/s
0.72/s0.81/s0.81/s0.81/s0.72/s 0.72/s
0.72/s
0.72/s
0.72/s
0.72/s
0.65/s
0.72/s
0.72/s
0.72/s
0.72/s
0.72/s
0.65/s 0.72/s0.72/s0.72/s0.72/s0.72/s
0.65/s0.65/s 0.72/s0.72/s0.72/s0.72/s0.72/s
pesos cl
Diagrama completo de interconexão entre as células S,C e Vc
bvc
a
c
Estágio l-1 Estágio l
us
uc
Grafo ilustrativo para célula-S
Função de ativação
Equação completa para célula-S
11
,,,1
1,
1
11
111
n
n
nClll
lCllll
lSl vkb
ikukika
ku
lK
lk lSi
00
0
xse
xsexx
plano celular da célula-S posição
da célula-Sno plano
Threshold (limiar)
0 0.5 1.0
1
2
6
3
4
5
7
8
1
1
1.
1 h
euS
0 < < 1
nClll vkbh
Quanto maior o limiar, maior é o fator de inibição h (menos generalização, maior seletividade à extração do fator) da célula us
US UC
Pesos dl
As células-C tem o efeito de generalização (borramento).
Recebem entradas de apenas um plano-S
Os pesos das entradas são fixos, portanto não precisamde treinamento
Uma célula-C conecta-se a uma pequena região do plano-S
Todas as células de uma determinada camada C tem pesos iguais
Células-C
Plano 1
Plano Kl
Diagrama ilustrativo das conexões das Células-C
Cálculo de uma célula-C
• A saída da célula C é definida como:
• onde dl(i) representa o peso da conexão, e Sl representa a área de conexão da célula. A função de ativação é definida como:
ikuidku lSlllCl
lSi
nn ,,
00
01
xse
xsex
x
x
célula-S(entrada)
peso
Exemplo de pesos de interconexões das células-C com área de conexão 5x5
0.60 0.69 0.72 0.69 0.60
0.69
0.72
0.69
0.60 0.69 0.72 0.69 0.60
0.81
0.9
0.81
0.9 0.81
0.9
1 0.9
0.81
0.69
0.72
0.69
pesos d
j
+2
+1
0
-1
-2
+2+10-1-2
i
Os pesos dl são também funções monotonicamente decrescentes, porém o seu somatório não é normalizado para 1 como os pesos cl.
Uma célula C representa um conjunto de células-S tendo as células-S centrais maiores pesos.
Resulta que as células C vizinhastem valores próximos(generalização).
Função de ativação
0
0.5
1.0
1 2 3 4
x
x1+x
00
01
xse
xsex
x
x
Os valores das células C são normalizados,ficando no intervalo [0, 1).
• Para a célula-C disparar, é suficiente no mínimo uma célula-S ativa na respectiva área de conexão. Em conseqüência disso, uma célula-S afeta o disparo de um grande número de células-C.
• A célula-C assegura à rede a tolerância a deformações e deslocamentos dos fatores.
– Uma célula-C dispara se existir uma célula-S ativa na área de conexão.
– Quando um fator é deslocado na camada de entrada, a célula-S ativa é deslocada.
– Se essa célula-S ativa pertencer ainda à área de conexão da célula-C, essa célula-C continua disparando, garantindo a tolerância a deslocamentos dos fatores.
• A tolerância será tanto maior quanto for a área de conexão das células-C, porém menor será a especificidade.
Treinamento
• Das várias camadas existentes na rede, os neurônios das camadas-S são os que recebem o treinamento, usando o paradigma de treinamento supervisionado ou não-supervisionado.
os pesos pesos a e b são treinados os pesos c são fixos
• Os neurônios da camada de entrada, obviamente não necessitam de treinamento. Já, os neurônios das camadas-C, tem seus pesos de conexões pré-fixados, e não precisam de treinamento.
os pesos d são fixos
• O treinamento da rede é realizado de forma hierárquica, da esquerda para a direita, de estágios de níveis mais baixos para os estágios de níveis mais altos.
TREINAMENTO NÃO-SUPERVISIONADO
• Lembramos que, na aprendizagem não-supervisionada, também conhecida como auto-organizada, nao há um professor externo para supervisionar o processo de aprendizado.
• Para a realização da aprendizagem não-supervisionada pode-se
utilizar a regra de aprendizagem competitiva.
ambienteSistema de
aprendizagem
Vetor de estadodo ambiente
Sequência de treinamento do neocognitron
• Inicialmente, nenhuma camada-S ainda recebeu treinamento. Isso significa que a primeira camada a ser treinada é a camada US1.
• Durante o procedimento de treinamento não-supervisionado, o sistema de aprendizagem deve competitivamente aprender a reconhecer novos fatores da camada de entrada.
• Como cada plano celular é responsável pelo reconhecimento de um único fator, a medida que a rede aprende a reconhecer um novo fator, a camada deve ir aumentando o número de planos celulares.
• Após todos os fatores correspondentes àquela camada-S tenham sido treinados, usando um conjunto de treinamento, passa-se para o treinamento da camada-S do estágio seguinte, uma vez que a camada-C não necessita de treinamento.
• Esse procedimento prossegue até a última camada-S. Apenas a última camada-C recebe um treinamento supervisionado, para o estabelecimento das classes de reconhecimento.
TREINAMENTO DE UM PLANO CELULAR
• Para o treinamento de um plano celular é usado um plano celular especial com pequenos pesos, compartilhados entre todos as células, denominado de seed-selection-plane (SSP).
• Ao apresentar um padrão de entrada, os neurônios do plano SSP são capazes de dispararem para todos os fatores presentes naquele padrão, porém, com intensidades diferentes.
• Usando a regra de aprendizagem competitiva, é escolhido o neurônio de maior intensidade, chamado de neurônio vencedor. Se o fator correspondente a esse neurônio não tiver sido treinado até aquele momento, então é acrescentado um novo plano celular para o reconhecimento daquele fator. Caso esse fator já tiver sido treinado então existe um plano celular já treinado ativo naquela posição. Nesse caso escolhe-se um próximo neurônio vencedor.
• Reforça-se os pesos a e b do neurônio vencedor, e faz-se com que todos os neurônios do novo plano celular compartilhem os mesmos pesos do neurônio vencedor.
• Como existe apenas um único neurônio vencedor, esse tipo de treinamento é também conhecido como vencedor-leva-tudo (em inglês, winner-take-all).
Sequência de treinamento
US
Plano 1
Plano Kl
Seed selection plane (SSP)
Planos já treinados
US
Novo SSP
Planos já treinados
Planos 1
Planos Kl
REFORÇO DAS CONEXÕES
• Somente os pesos das conexões de entrada que apresentam sinais diferentes de zero serão reforçadas (aprendizado de Hebb).
• Os pesos a e b são reforçados de acordo com as equações:
n̂ˆClll vqkb
ikuicqkika lCllllll n̂,ˆ,, 111
n̂
ql é a taxa de aprendizado,
indicam a posição e o plano celular do neurônio vencedor.lk
e
Exemplo de pesos iniciais al e b e fator de
aprendizado, usados pelo Seed-Selection-Plane
0.2
0.1
0.10.1
0.1
0.10.1
0.1 0.1
0.1
0.1
0.1
0.10.10.10.1
0.1
0.1
0.1
0.1
0.10.10.10.10.1 0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1 0.10.10.10.10.1
0.10.1 0.10.10.10.10.1
pesos al
Peso b = 2.0
Fator de aprendizado ql = 20000
Algoritmo de treinamento de um estágioprocedure treinar_estagio (l); begin repeat for k = 1 to Kl do computar as células-S ; for SSP computar as células-S; repeat encontrar o vencedor no SSP; for k = 1 to Kl do if vencedor contido em planos já treinados then procura próximo vencedor no SSP until (vencedor encontrado ou não haver mais células ativas); if vencedor encontrado then begin ajustar pesos; acrescentar um novo plano entre os treinados (Kl := Kl +1)
end until (não ter outras células ativas para o conjunto de treinamento);
end
Redução do tamanho dos planos celulares
• Durante a implementação da rede neocognitron é feita uma redução do tamanho dos planos celulares para que o último estágio termine com apenas um neurônio por plano celular.
• Assim após o processamento de cada camada-S, para cada área do plano celular é escolhido um neurônio representante daquela área, para se obter uma nova camada S’ reduzida.
Exemplo de matriz de pesos para a redução dos planos celulares
0.60 0.69 0.72 0.69 0.60
0.69
0.72
0.69
0.60 0.69 0.72 0.69 0.60
0.81
0.9
0.81
0.9 0.81
0.9
1 0.9
0.81
0.69
0.72
0.69
pesos d
j
+2
+1
0
-1
-2
+2+10-1-2
i
Usa-se os mesmospesos dl das células-C
Exemplo de implementação
Inputpattern
U0
Contrasted(on-center)
UG
Reduced
US1
US1’ UC1 US2US2' UC2
US3US3’ UC3
Output
Class1
Class k
Class n
57x57
57x5720x20
20x20
13x1313x13
13x13 7x7 7x7
7x73x3
3x31x1
Matriz de pesos para cálculo do contraste (on-center)
1.8
0.125
0.1250.125
0.125
0.1250.125
0.125 0.125
-0.15
-0.15
-0.15
-0.0625-0.15-0.15-0.15
-0.15
-0.15
-0.15
-0.0625
-0.0625-0.15-0.15-0.15-0.0625 0
-0.0625
-0.0625
-0.0625
0
0
0
-0.0625
-0.0625
-0.0625
0
0 0-0.0625-0.0625-0.06250
00 0-0.0625-0.0625-0.06250
1.0
2.0
1 2 3-1-2-3
Exercício 1Dado um padrão de entrada com valores 0 e 1:A) calcular o valor de us para o plano SSP, para a área de conexão 3x3
assinalada. a) b)
B) calcular os novos pesos de al e busando q = 10000 para a criação de umplano celular correspondente, usando o resultado (a).
0.10.1
0.10.20.1
0.1
0.1 0.10.1
0.100.11
0.110.130.11
0.10
0.10 0.100.11
Padrão de entrada 7x7
pesos al
iniciais
pesos cl
normalizados1
1
00
0
00
0 0
0
0
0
0000
0
0
0
0
00100 0
0
0
0
0
0
0
0
0
0
0
0 00000
00 00100
peso b = 1.0
Exercício 2
A) Dado o plano celular obtido no exercício 1, aplicar o padrão de entrada (ao lado) e verificar o resultado para a área assinalada, usando o limiar 0.9.
B) Obter os valores para as demais células usando o limiar 0.9
C) Aplicar o plano celular C para o resultado anterior, usando
uma area de conexão 3x3 com pesos dl ao lado.
1
1
11
0
00
0 0
0
0
0
0000
0
0
0
0
00100 0
0
0
0
0
0
0
0
0
0
0
0 00000
00 00100
0.9
1
0.810.81
0.90.9
0.810.90.81
Pesos dl