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
e
Células
bastonetes
bipolares
da retina
Células
ganglionares
Células
do
núcleo
geniculado
lateral
Células
simples
do cortex
visual
Células
complexas
do cortex
visual
Olho
esquerdo
Quiasma Núcleo
óptico geniculado
lateral
Olho
direito
Cortex visual
Sistema de Visão Biológico
O sistema de visão
por baixo do cérebro
Olho
esquerdo
Corpo
geniculado
lateral
Quiasma
óptico
Cortex
visual
Olho
direito
• 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
camadas
plano celular
saídas
Camada
de
entrada
Estágio 1
Estágio 2
Estágio 3
• 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.
Us1 Uc1
Us2 Uc2
Us3 Uc3
U0
Estágios e camadas
USi
UCI
• 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.
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.
célula
Plano celular
camada
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.
Célula-S
da camada US1
Célula-S
da camada US2
área de
conexão
entrada
US1
UC1
US2
Exemplo: duas células–S disparando durante o
reconhecimento de segmentos de linha vertical.
Cálculo da célula-S
1  e 
uS ~  
 1
1  h 
e
onde
K l 1
a k


k 1 iS
l
l 1
l 1
, i, k l   u Cl 1 k l 1 , n  i 
l
peso
valor da célula-C
(entrada)
( o valor de e varia proporcionalmente ao fator a ser extraído)
h    bl k l  vCl n
threshold
valor em (0,1)
peso
valor da célula-Vc
(entrada)
( o valor de h varia de acordo com a atividade das células da
camada anterior)
1  e 
uS ~  
 1
1  h 
Cálculo de e
e
K l 1
a k


k 1 iS
l
l 1
l 1
, i, k l   u Cl 1 k l 1 , n  i 
l
pesos al
peso
valor da
célula-C
(entrada)
células
uCl-1
Plano 1
Os pesos al são diretamente proporcionais
ao fator que a célula reconhece, e são
maiores ou iguais a zero.
Plano kl
Sl
e
Sl
Plano Kl-1
Estágio l-1
Estágio l
1  e 
uS ~  
 1
1  h 
Cálculo da célula-Vc
vCl n  
Kl 1
2


c
i

u
Cl 1 kl 1 , n  i 
l

k 1 iS
l 1
h    bl k l  vCl n
l
célula-C, quadrado
(entrada)
células
Os pesos cl são distribuídos de forma
uCl-1
gaussiana positiva (monotonicamente
decrescente) e o seu somatório é
igual a 1.
peso
Plano 1
Kl 1
Pesos
cl
Plano kl
Sl
  c (i)  1
kl 1 1 iSl
l
célula
vCl
Sl
O valor de vCl é proporcional ao
número de células ativas uCl-1.
O peso bl(k) é maior ou igual a zero.
Plano Kl-1
Estágio l-1
Estágio l
Exemplo de pesos cl de células vcl
para área de conexão 7x7
1.0/s
pesos cl
0.65/s 0.72/s 0.72/s 0.72/s 0.72/s 0.72/s 0.65/s
0.5/s
0.72/s 0.72/s 0.81/s 0.81/s 0.81/s 0.72/s 0.72/s
0.72/s 0.81/s 0.81/s
0.9/s
0.81/s 0.81/s 0.72/s
-3
0.72/s 0.81/s
0.9/s
0.72/s 0.81/s 0.81/s
1/s
0.9/s
0.9/s
-2
-1
1
2
0.81/s 0.72/s
0.81/s 0.81/s 0.72/s
Esses valores devem ser
normalizados (/s) para que a
soma dos pesos seja igual a 1.
0.72/s 0.72/s 0.81/s 0.81/s 0.81/s 0.72/s 0.72/s
Kl 1
0.65/s 0.72/s 0.72/s 0.72/s 0.72/s 0.72/s 0.65/s
  c (i)  1
kl 1 1 iSl
l
3
Diagrama completo de interconexão entre as
células S,C e Vc
uc
a
us
c
vc
Estágio l-1
b
Estágio l
Grafo ilustrativo para célula-S
Função de ativação
Equação completa para célula-S
Kl 1


1    al kl 1 , i, kl   uCl 1 kl 1 , n  i  

 kl11 iSl

uSl kl , n  
 
 1
1
1    bl kl   vCl n 






plano celular
da célula-S
posição
da célula-S
no plano
 x
 x  
 0
se
se
x0
x0
Threshold (limiar) 

1  e 
uS 
. 
 1
1   1  h 


8
7
6
h    bl k l  vCl n
5
4
3
0< <1
2

1
0
0.5
1.0 Quanto maior o limiar, maior é o fator de
inibição h (menos generalização, maior
seletividade à extração do fator) da célula us
Células-C
As células-C tem o efeito de
generalização (borramento).
Pesos
dl
Recebem entradas de apenas um
plano-S
Os pesos das entradas são fixos,
portanto não precisam
de treinamento
Plano 1
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
Plano Kl
US
UC
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:


uCl k l , n      d l i   u Sl k l , n  i 
iSl

peso
célula-S
(entrada)
• 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:
 x
1  x
 x  
 0

se
x0
se
x0
Exemplo de pesos de interconexões das
células-C com área de conexão 5x5
pesos d
+2
+1
j
0.60
0.69
0.72
0.69
0.60
0.69
0.81
0.9
0.81
0.69
0
0.72
0.9
1
0.9
0.72
-1
0.69
0.81
0.9
0.81
0.69
-2
0.60
0.69
0.72
0.69
0.60
-2
-1
0
+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 vizinhas
tem valores próximos(generalização).
Função de ativação
Os valores das células C são normalizados,
ficando no intervalo [0, 1).
x
1+x
1.0
 x
1  x
 x  
 0

0.5
x
0
1
2
3
4
se
x0
se
x0
• 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 camadasS 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.
Vetor de estado
do ambiente
ambiente
Sistema de
aprendizagem
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
Plano 1
Planos 1
Planos
já treinados
Planos
já treinados
Plano Kl
Seed selection
plane (SSP)
Planos Kl
Novo SSP
US
US
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:


al kl 1, i, kˆl  ql  cl i  uCl 1 kl 1, nˆ  i 

b kˆl  ql  vCl nˆ 
ql é a taxa de aprendizado,

nˆ e k l
indicam a posição e o plano celular do neurônio vencedor.
Exemplo de pesos iniciais al e b e fator de
aprendizado, usados pelo Seed-Selection-Plane
pesos al
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.1
0.1
Peso b = 2.0
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.2
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.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
Fator de aprendizado
ql = 20000
Algoritmo de treinamento de um estágio
procedure 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
pesos d
0.60
0.69
0.72
0.69
0.60
+1
0.69
0.81
0.9
0.81
0.69
0
0.72
0.9
1
0.9
0.72
-1
0.69
0.81
0.9
0.81
0.69
-2
0.60
0.69
0.72
0.69
0.60
-2
-1
0
+1
+2
+2
j
i
Usa-se os mesmos
pesos dl das células-C
Exemplo de implementação
US1
US1’
UC1
US2
US3
US2' UC2
US3’ UC3
Output
Input Contrasted
pattern (on-center)
UG
U0
Class1
Class k
Reduced
57x57
20x20
57x57
Class n
13x13
20x20
1x1
13x13 7x7 7x7
13x13
7x7
3x3
3x3
Matriz de pesos para cálculo do
contraste (on-center)
0
0
-0.0625 -0.0625 -0.0625
0
0
0
-0.0625
-0.15
-0.15
-0.15 -0.0625
-0.0625
-0.15
0.125
0.125
0.125
-0.15 -0.0625
-0.0625
-0.15
0.125
1.8
0.125
-0.15 -0.0625
2.0
0
1.0
-3
-0.0625
-0.15
0.125
0.125
0.125
0
-0.0625
-0.15
-0.15
-0.15 -0.0625
0
0
-0.0625 -0.0625 -0.0625
-0.15 -0.0625
0
0
0
-2
-1
1
2
3
Exercício 1
Dado 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)   0.6
Padrão de entrada 7x7
b)   0.7
B) calcular os novos pesos de al e b
0
0
0
1
0
0
usando q = 10000 para a criação de um
0
0
0
1
0
0
plano celular correspondente, usando o
resultado (a).
pesos al
iniciais
0.1
0.1
0.1
0.1
0.2
0.1
0.1
0.1
0.1
peso b = 1.0
pesos cl
normalizados
0.10
0.11
0.10
0.11
0.13
0.11
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.10
0.11
0.10
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
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
C) Aplicar o plano celular C para o
resultado anterior, usando
uma area de conexão 3x3 com
pesos dl ao lado.
Pesos dl
0.81
0.9
0.81
0.9
1
0.9
0.81
0.9
0.81
Download

NEOCOGNITRON