Você está na página 1de 43

NEOCOGNITRON

Introduo
Arquiteturas como perceptron multicamadas tendem a ser de
aplicao genrica.

Em contraste, o neocognitron uma rede proposta
originalmente para a aplicao de reconhecimento de
caracteres manuscritos.

Apesar disso essa rede tem uma grande quantidade de
aplicaes prticas.

Fukushima props a rede baseada no modelo biolgico da
viso, cujos estudos foram feitos por Hubel e Wiesel.
Sistema de Viso Biolgico
Cones
e
bastonetes
da retina
Olho
esquerdo
Olho
direito
Clulas
bipolares
Clulas
ganglionares
Quiasma
ptico
Clulas
do
ncleo
geniculado
lateral
Clulas
simples
do cortex
visual
Clulas
complexas
do cortex
visual
Cortex visual
Ncleo
geniculado
lateral
Sistema de Viso Biolgico
Olho
esquerdo
Olho
direito
Quiasma
ptico
Corpo
geniculado
lateral
Cortex
visual
O sistema de viso
por baixo do crebro
Hubel e Wiesel fizeram estudos das clulas
nervosas do sistema visual usando
microeletrodos para registrar a resposta dos
neurnios individuais do crtex enquanto
estimulava a retina com luzes.

Aplicando uma variedade de padres e formas,
eles determinaram o estmulo particular que
cada neurnio era mais sensitivo.

Alguns desses campos receptivos geram uma
resposta excitatria para um feixe de luz
centralizado, e uma resposta inibitria para um
feixe de luz mais largo em difuso.
Crtex Visual (rea 17)
O crtex visual composto de seis camadas de neurnios.
A maioria dos neurnios do LGN terminam nas clulas da camada IV.
Clulas da camada IV projetam a um grupo de clulas diretamente acima
chamadas de clulas simples. Clulas simples respondem a linhas de
segmentos com uma orientao particular.

As clulas simples projetam a clulas chamadas clulas complexas. As
clulas complexas respondem a linhas tendo a mesma orientao,
correspondentes s clulas simples, embora integrem as respostas para um
campo receptivo maior. Em outras palavras, as clulas complexas so
menos sensitivas posio da linha na retina que as clulas simples.

Clulas em diferentes camadas da rea 17 projetam-se a diferentes
localizaes do crebro. Por exemplo, as clulas da camada II e III projetam
a clulas das reas 18 e 19. Essas reas contem clulas chamadas
hipercomplexas, que respondem a linhas que formam ngulos ou cantos e
que movem em vrias direes ao longo do campo receptivo.
NEOCOGNITRON

o modelo que emerge dessa hierarquia de clulas com respostas
crescentes em complexidade.

Os neurnios propagam os sinais da esquerda para a direita comeando
da camada U
0
, que corresponde camada de entrada, cujos sinais
correspondem aos sinais captados pelas clulas fotoreceptivas da retina.

Esses sinais so enviados para a camada U
S1
de clulas simples, que
por sua vez enviam sinais para a camada U
C1
de clulas complexas.

Os sinais da camada U
C1
so enviados para a camada U
S2
, e assim, por
diante, at a ltima camada.

Cada conjunto de camadas U
Si
e U
Ci
denomina-se estgio hierrquico i
da rede.

Em princpio o nmero de estgios ilimitado.
Em cada camada nota-se os planos celulares, compostos de um conjunto
de clulas dispostas em forma matricial
Estgio 1 Estgio 2 Estgio 3
sadas
Camada
de
entrada
camadas
plano celular

A hierarquia representada por estgios, cada qual com a funo
de reconhecer fatores em nveis de complexidade diferentes.

Quanto mais complexo o fator, maior ser a hierarquia, finalizando
com o ltimo estgio, que reconhece o padro de entrada como um
todo.

Os fatores mais simples so reconhecidos pelo primeiro estgio
(normalmente linhas retas em vrias direes) e em cada um dos
prximos estgios, fatores mais complexos so reconhecidos
(ngulos, extremidades, polgonos, etc.).

Somente informaes obtidas no estgio anterior so utilizadas pelo
estgio posterior (feedforward).
Exemplo de fatores reconhecidos pelos neurnios nos 3 estgios de uma
implementao do neocognitron.
Us3 Uc3
Us1 Uc1
Us2 Uc2
U0
Estgios e camadas

Numa implementao do
neocognitron pode ter quantos
estgios forem necessrios.

No estgio 0 tem uma nica
camada, a camada de entrada.

Todos os demais estgios contm
uma camada-S e uma camada-C.

Aps a camada-C do ltimo estgio,
vem a camada de sada.


USi
UCI
Camada S Camada C
Planos celulares
Cada camada do neocognitron consiste de um certo nmero de planos celulares
bidimensionais.
O nmero de planos celulares de cada camada-S e camada-C depende do nmero
de fatores reconhecidos pelo estgio correspondente da rede.
Um plano celular um grupo de clulas justapostas em forma de matriz 2D.

camada
Plano celular
clula
Clulas

Os planos celulares so compostos por elementos bsicos de
processamento, chamados clulas (neurnios).

O nmero de clulas o mesmo para todos os planos em uma camada, e
diminui com o avano do estgio da rede.

Existem os seguintes tipos de clulas no neocognitron:

- clulas-S, num plano-S, serve para extrair fatores

- clulas-C, num plano-C, serve para generalizao dos fatores.

- clulas-Vc, para calcular a atividade das clulas




Clulas-S

Serve para extrair fatores

Cada clula-S conecta-se a uma
pequena rea (regio) de
conexo, com os planos celulares
da camada anterior.

O tamanho da rea de conexo
o mesmo para todas as clulas-S
de uma camada.

As clulas da camada U
S1
tem
uma rea de conexo de um
nico plano celular, camada de
entrada.

As demais camadas-S tem uma
rea de conexo, com cada plano
celular-C do estgio anterior.
.

U
S1
U
S2
U
C1
entrada
rea de
conexo
Clula-S
da camada U
S1
Clula-S
da camada U
S2
Exemplo: duas clulasS disparando durante o
reconhecimento de segmentos de linha vertical.
( ) ( )

e
+ =

1
1
1
, , ,
1 1 1
l
K
l
k
l
S i
i k u k i k a e
l Cl l l l
n
(


+
+
1
1
1
~
h
e
u
S

onde
( ) ( ) n
Cl l l
v k b h =u
( o valor de e varia proporcionalmente ao fator a ser extrado)
( o valor de h varia de acordo com a atividade das clulas da
camada anterior)
Clculo da clula-S
valor da clula-Vc
(entrada)
peso
valor da clula-C
(entrada)
peso
threshold
valor em (0,1)

Plano 1
Plano K
l-1
Estgio l-1
Estgio l
S
l
S
l
Plano k
l
pesos a
l
clulas
u
Cl-1
e


Os pesos a
l
so diretamente proporcionais
ao fator que a clula reconhece, e so
maiores ou iguais a zero.
( ) ( )

e
+ =

1
1
1
, , ,
1 1 1
l
K
l
k
l
S i
i k u k i k a e
l Cl l l l
n
(


+
+
1
1
1
~
h
e
u
S

Clculo de e
valor da
clula-C
(entrada)
peso

( ) ( ) ( )

e
+ =

1
1
1
,
1
1
2
l
K
l
k
l
S i
i k u i c v
l
Cl
l Cl
n n
Plano 1
Plano K
l-1
Estgio l-1
Estgio l
S
l
S
l
Plano k
l
Pesos
c
l
u
Cl-1
clulas
clula
v
Cl
Os pesos c
l
so distribudos de forma
gaussiana positiva (monotonicamente
decrescente) e o seu somatrio
igual a 1.





O valor de v
Cl
proporcional ao
nmero de clulas ativas u
Cl-1
.
O peso b
l
(k) maior ou igual a zero.
( ) ( ) n
Cl l l
v k b h =u
(


+
+
1
1
1
~
h
e
u
S

Clculo da clula-Vc

= e
=
1
1
1
1 ) (
l
l l
K
k S i
l
i c
peso
clula-C, quadrado
(entrada)
Exemplo de pesos c
l
de clulas v
cl
para rea de conexo 7x7


0.5/s
1.0/s
1 2 3 -1 -2 -3

= e
=
1
1
1
1 ) (
l
l l
K
k S i
l
i c
Esses valores devem ser
normalizados (/s) para que a
soma dos pesos seja igual a 1.
1/s
0.9/s
0.9/s 0.9/s
0.9/s
0.81/s 0.81/s
0.81/s 0.81/s
0.81/s
0.81/s
0.81/s
0.72/s 0.81/s 0.81/s 0.81/s
0.81/s
0.81/s
0.81/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.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/s 0.72/s 0.72/s 0.72/s 0.72/s
0.65/s 0.65/s 0.72/s 0.72/s 0.72/s 0.72/s 0.72/s
pesos c
l
Diagrama completo de interconexo entre as
clulas S,C e Vc
b
v
c
a
c
Estgio l-1
Estgio l
us
uc
Grafo ilustrativo para clula-S
Funo de ativao
Equao completa para clula-S

( )
( ) ( )
( ) ( )
(
(
(
(
(

+
+ +

e

1
1
, , , 1
1
,
1
1
1
1 1 1
n
n
n
Cl l l
l Cl l l l
l Sl
v k b
i k u k i k a
k u
l
K
l
k
l
S i
u

u
u
| |

<
>
=
0 0
0
x se
x se x
x
plano celular
da clula-S
posio
da clula-S
no plano
Threshold (limiar) u
0
0.5
1.0
1
2
6
3
4
5
7
8
u
1u
u
(


+
+

= 1
1
1
.
1 h
e
u
S

u
u
0 < u < 1
( ) ( ) n
Cl l l
v k b h =u
Quanto maior o limiar, maior o fator de
inibio h (menos generalizao, maior
seletividade extrao do fator) da clula u
s
US UC
Pesos
d
l
As clulas-C tem o efeito de
generalizao (borramento).

Recebem entradas de apenas um
plano-S

Os pesos das entradas so fixos,
portanto no precisam
de treinamento

Uma clula-C conecta-se a uma
pequena regio do plano-S

Todas as clulas de uma
determinada camada C tem
pesos iguais
Clulas-C
Plano 1
Plano K
l
Diagrama ilustrativo das conexes
das Clulas-C
Clculo de uma clula-C
A sada da clula C definida como:






onde d
l
(i) representa o peso da conexo, e S
l
representa a rea de
conexo da clula. A funo de ativao definida como:

( ) ( ) ( )
(
(

+ =

e
i k u i d k u
l Sl l l Cl
l
S i
n n , ,
| |

<
>
+
=
0 0
0
1
x se
x se
x
x
x
clula-S
(entrada)
peso
Exemplo de pesos de interconexes das
clulas-C com rea de conexo 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
+1 0 -1 -2
i
Os pesos d
l
so tambm funes
monotonicamente decrescentes,
porm o seu somatrio no
normalizado para 1 como os pesos c
l
.

Uma clula C representa um conjunto
de clulas-S tendo as clulas-S
centrais maiores pesos.

Resulta que as clulas C vizinhas
tem valores prximos(generalizao).
Funo de ativao
0
0.5
1.0
1
2 3 4
x
x
1+x
| |

<
>
+
=
0 0
0
1
x se
x se
x
x
x
Os valores das clulas C so normalizados,
ficando no intervalo [0, 1).
Para a clula-C disparar, suficiente no mnimo uma clula-S ativa na
respectiva rea de conexo. Em conseqncia disso, uma clula-S afeta o
disparo de um grande nmero de clulas-C.

A clula-C assegura rede a tolerncia a deformaes e deslocamentos
dos fatores.

Uma clula-C dispara se existir uma clula-S ativa na rea de conexo.

Quando um fator deslocado na camada de entrada, a clula-S ativa
deslocada.

Se essa clula-S ativa pertencer ainda rea de conexo da clula-C, essa
clula-C continua disparando, garantindo a tolerncia a deslocamentos dos
fatores.

A tolerncia ser tanto maior quanto for a rea de conexo das clulas-C,
porm menor ser a especificidade.
Treinamento

Das vrias camadas existentes na rede, os neurnios das camadas-
S so os que recebem o treinamento, usando o paradigma de
treinamento supervisionado ou no-supervisionado.

os pesos pesos a e b so treinados
os pesos c so fixos

Os neurnios da camada de entrada, obviamente no necessitam
de treinamento. J, os neurnios das camadas-C, tem seus pesos
de conexes pr-fixados, e no precisam de treinamento.

os pesos d so fixos

O treinamento da rede realizado de forma hierrquica, da
esquerda para a direita, de estgios de nveis mais baixos para os
estgios de nveis mais altos.

TREINAMENTO NO-SUPERVISIONADO

Lembramos que, na aprendizagem no-supervisionada, tambm
conhecida como auto-organizada, nao h um professor externo
para supervisionar o processo de aprendizado.

Para a realizao da aprendizagem no-supervisionada pode-se
utilizar a regra de aprendizagem competitiva.
ambiente
Sistema de
aprendizagem
Vetor de estado
do ambiente
Sequncia de treinamento do
neocognitron
Inicialmente, nenhuma camada-S ainda recebeu treinamento. Isso significa que a
primeira camada a ser treinada a camada U
S1
.

Durante o procedimento de treinamento no-supervisionado, o sistema de
aprendizagem deve competitivamente aprender a reconhecer novos fatores da
camada de entrada.

Como cada plano celular responsvel pelo reconhecimento de um nico fator, a
medida que a rede aprende a reconhecer um novo fator, a camada deve ir
aumentando o nmero de planos celulares.

Aps todos os fatores correspondentes quela camada-S tenham sido treinados,
usando um conjunto de treinamento, passa-se para o treinamento da camada-S do
estgio seguinte, uma vez que a camada-C no 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 clulas, denominado
de seed-selection-plane (SSP).

Ao apresentar um padro de entrada, os neurnios do plano SSP so
capazes de dispararem para todos os fatores presentes naquele padro,
porm, com intensidades diferentes.

Usando a regra de aprendizagem competitiva, escolhido o neurnio de
maior intensidade, chamado de neurnio vencedor. Se o fator
correspondente a esse neurnio no tiver sido treinado at aquele
momento, ento acrescentado um novo plano celular para o
reconhecimento daquele fator. Caso esse fator j tiver sido treinado ento
existe um plano celular j treinado ativo naquela posio. Nesse caso
escolhe-se um prximo neurnio vencedor.

Refora-se os pesos a e b do neurnio vencedor, e faz-se com que todos
os neurnios do novo plano celular compartilhem os mesmos pesos do
neurnio vencedor.

Como existe apenas um nico neurnio vencedor, esse tipo de treinamento
tambm conhecido como vencedor-leva-tudo (em ingls, winner-take-all).
Sequncia de treinamento
US
Plano 1
Plano K
l
Seed selection
plane (SSP)
Planos
j treinados
US
Novo SSP
Planos
j treinados
Planos 1
Planos K
l
REFORO DAS CONEXES

Somente os pesos das conexes de entrada que apresentam sinais
diferentes de zero sero reforadas (aprendizado de Hebb).

Os pesos a e b so reforados de acordo com as equaes:

( ) ( ) n

Cl l l
v q k b = A
( ) ( ) ( ) i k u i c q k i k a
l Cl l l l l l
+ = A

n

, ,
1 1 1
n

q
l
a taxa de aprendizado,
indicam a posio e o plano celular do neurnio vencedor.
l
k
.
e
Exemplo de pesos iniciais a
l
e b e fator de
aprendizado, usados pelo Seed-Selection-Plane
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 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
pesos a
l
Peso b = 2.0

Fator de aprendizado
q
l
= 20000
Algoritmo de treinamento de um estgio
procedure treinar_estagio (l);
begin
repeat
for k = 1 to K
l
do computar as clulas-S ;
for SSP computar as clulas-S;
repeat
encontrar o vencedor no SSP;
for k = 1 to K
l
do
if vencedor contido em planos j treinados then
procura prximo vencedor no SSP
until (vencedor encontrado ou no haver mais clulas ativas);
if vencedor encontrado then begin
ajustar pesos;
acrescentar um novo plano entre os treinados (K
l
:= K
l
+1)
end
until (no ter outras clulas ativas para o conjunto de treinamento);
end
Reduo do tamanho dos planos celulares
Durante a implementao da rede neocognitron feita uma reduo
do tamanho dos planos celulares para que o ltimo estgio termine
com apenas um neurnio por plano celular.

Assim aps o processamento de cada camada-S, para cada rea
do plano celular escolhido um neurnio representante daquela
rea, para se obter uma nova camada S reduzida.

Exemplo de matriz de pesos para a
reduo 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
+1 0 -1 -2
i
Usa-se os mesmos
pesos d
l
das clulas-C
Exemplo de implementao
Input
pattern
U0
Contrasted
(on-center)
UG
Reduced
US1
US1
UC1
US2
US2'
UC2
US3
US3
UC3
Output
Class1
Class k
Class n
57x57
57x57
20x20
20x20
13x13
13x13
13x13 7x7 7x7
7x7
3x3
3x3
1x1
Matriz de pesos para clculo do
contraste (on-center)
1.8
0.125
0.125 0.125
0.125
0.125 0.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.0625 0
0 0 0 -0.0625 -0.0625 -0.0625 0
1.0
2.0
1 2 3 -1 -2 -3
Exerccio 1
Dado um padro de entrada com valores 0 e 1:
A) calcular o valor de u
s
para o plano SSP, para a
rea de conexo 3x3 assinalada.
a) u = 0.6
b) u = 0.7
B) calcular os novos pesos de a
l
e b
usando q = 10000 para a criao de um
plano celular correspondente, usando o
resultado (a).


0.1 0.1
0.1 0.2 0.1
0.1
0.1 0.1 0.1
0.10 0.11
0.11 0.13 0.11
0.10
0.10 0.10 0.11
Padro de entrada 7x7
pesos a
l
iniciais
pesos c
l
normalizados

1
1
0 0
0
0 0
0 0
0
0
0
0 0 0 0
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 1 0 0
peso b = 1.0
Exerccio 2
A) Dado o plano celular obtido no
exerccio 1, aplicar o padro de
entrada (ao lado) e verificar o
resultado para a rea assinalada,
usando o limiar 0.9.

B) Obter os valores para as demais
clulas usando o limiar 0.9

C) Aplicar o plano celular C para o
resultado anterior, usando
uma area de conexo 3x3 com
pesos d
l
ao lado.

1
1
1 1
0
0 0
0 0
0
0
0
0 0 0 0
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 1 0 0
0.9
1
0.81 0.81
0.9 0.9
0.81 0.9 0.81
Pesos d
l

Você também pode gostar