Inteligência Artificial
3.8 Treinamento não supervisionado
grandes (w pequeno). 0
3.8 Treinamento não supervisionado
3.8.1 Redes auto-organizadas
Os procedimentos de treinamento vistos até agora consistiram na apresentação de padrões de dados que continham os dados da entrada e os dados desejáveis na saída. A partir desses padrões, as redes calculam a diferença entre o que é desejável e o que realmente aparece na sua saída, e, a partir desta diferença ou erro, ajustam-se os pesos de forma a minimizar o erro. Esse tipo de treinamento é conhecido como supervisionado, na medida em que é necessário mostrar qual é a saída desejada. Ocorre que em muitas aplicações não é possível ter exemplos de treinamento nesse estilo (entradas e saídas), estando disponíveis somente dados de entrada. Por exemplo, em problemas de agrupamentos (ou “clusterização”), em que não se conhece as classes dos dados e deseja-se que a rede separe os dados de entrada em grupos (clusters) ou em outros problemas de extração de características, constituem contextos desta natureza. Para esses casos, não havendo um “tutor” que ensine à rede quais são as saídas esperadas para um determinado padrão de entrada de dados, ela deve ser capaz, geralmente através de um processo de competição entre os nós, de mapear as entradas disponíveis em uma saída que, em geral possui uma dimensionalidade menor. Esse processo é conhecido como aprendizado auto-organizado.
Há muitos tipos de redes com aprendizado auto-organizado aplicáveis a
uma vasta área de problemas. A rede de aprendizagem competitiva proposta
por Rumelhart e Zipser (1985), as redes ART, propostas por Carpenter e
Grossberg (1997), as redes cognitron, de Fukushima (1975, 1988) ou os Mapas Auto-organizáveis, de Kohonen, são exemplos de redes auto organizadas.
3.8.2 Aprendizado competitivo O aprendizado competitivo é um algoritmo que divide uma determinada série de dados de entradas em grupos (clusters) que são inerentes aos dados do problema. A informação é extraída sem que haja um par entrada/saída-alvo que sirva como um tutor. As redes relacionadas possuem uma camada de nós de saída que estão ligados a uma só camada (de entrada, portanto), de ta forma que existam tantos nós na entrada quantas sejam as características dos padrões de entrada do problema, e tantos nós de saída quantos sejam os clusters em que queiramos classificar as entradas. O procedimento de treinamento promove uma competição entre os nós da rede, de forma que somente um dos nós da saída seja ativado, para cada padrão de entrada apresentado. Este nó é justamente o nó representativo do cluster ao qua pertence aquele padrão de entrada. Por exemplo, podemos ter uma arquitetura
como a mostrada na Figura 3.21.
FIGURA 3.21 Exemplo de parte de uma rede competitiva.
Para cada padrão (vetor) de entrada apresentado à rede, somente um dos nós
da saída, chamado nó vencedor, será ativado. Em uma rede já treinada, todos os vetores de entrada que pertencerem a um mesmo cluster, ou seja, que tiverem determinadas características comuns que possam ser identificados como pertencentes a um mesmo cluster, acionarão o mesmo nó de saída (representativo do cluster, por conseguinte).
A ideia básica é que, durante o processo de treinamento, a cada padrão
apresentado, o algoritmo descubra qual dos nós da saída melhor representa aquele padrão de entrada (através de algum tipo de métrica de distância entre os vetores de entrada e os nós de saída), realizando os ajustes dos pesos que ligam a entrada a este nó de saída. Isto faz com que o nó escolhido fique ainda mais representativo desse padrão, ou seja, diminui a “distância” que separa esse padrão do nó de saída. Ao longo do treinamento, o nó de saída vai se tornando o representante típico dos padrões de entrada que o tornaram vencedor, ou seja, aquele nó passa a representar o cluster daquele grupo de padrões de entrada. Para determinar a distância que existe entre o vetor de entrada (padrão de entrada) e cada um dos nós de saída são usados basicamente dois métodos.
3.8.3 Produto escalar
Este método pressupõe que tanto o vetor de entrada (x) quanto o vetor de pesos (w ), que liga o nó i às entradas, estejam normalizados para o valor i
unitário (isto é, o comprimento desses vetores deve ser unitário). É calculado um valor de ativação a do nó i que corresponde ao produto escalar dos dois i
vetores. Uma vez que tenham sido calculados os valores de ativação de cada nó, é escolhido o nó k com o maior valor de ativação como o nó vencedor Assim, somente os pesos que ligam a entrada a este nó serão atualizados. A
Figura 3.22 ilustra o conceito em questão.
FIGURA 3.22 Ilustração gráfica de produto escalar.
A necessidade dos vetores estarem normalizados é demonstrada
graficamente na Figura 3.22a, notando que o produto escalar entre dois vetores é também um vetor (perpendicular ao plano dos dois vetores), cujo comprimento será tanto maior quanto mais próximos estiverem os vetores originais (desde que sejam do mesmo tamanho), já que o produto escalar é definido como |x||w|cosθ (onde θ é o ângulo entre os vetores). O produto escalar de x por w será maior do que o produto escalar de x por w , dados que 1 2 a norma (tamanho) dos vetores é unitária e que o cosseno aumenta quando o
ângulo se aproxima de zero. Já na Figura 3.22b, os vetores não estão normalizados e o produto escalar dos vetores não é proporcional somente ao cosseno, mas também à norma dos vetores. Assim, o produto escalar maio não corresponde necessariamente ao menor ângulo entre os vetores. Uma representação gráfica do que acontece durante a etapa treinamento está
ilustrada na Figura 3.23.
FIGURA 3.23 Os vetores pesos durante treinamento.
É útil lembrar que tanto o vetor de pesos w quanto o vetor de entrada x j
possuem a mesma dimensão (no caso, dimensão três) e estão normalizados (comprimento unitário). Assim, se os padrões de entrada possuem três características de agrupamento, a dimensão da entrada é três (três nós de entrada), o vetor de pesos também possui dimensão três e os vetores são representáveis no espaço tridimensional, dentro de uma esfera de raio unitário A figura mostra os vetores de pesos representados por esferas pretas, e os vetores de entrada (padrões) representados por quadrados. Ao longo do treinamento a atualização dos pesos vai rodando os vetores de pesos e fazendo com que cada vetor de pesos se aproxime do centro do grupo de vetores de entrada para os quais o respectivo nó i sai vencedor. Ou seja, o vetor de pesos é o típico representante daquele cluster relacionado com os vetores de entrada