terça-feira, 6 de maio de 2008

Mapas Auto-Organizados

Desde que começei este blog que venho, aqui e ali, falando que tenho uma tese de mestrado para fazer. Neste momento tenho sensivelmente pouco menos de um mês para a finalizar. Está mais ou menos orientada, mas já podia perfeitamente estar descansado por esta altura, não fosse eu do género de pessoa de "deixar para amanhã o que não me apetece fazer hoje".

Vou tentar ser breve e tocar nos pontos essenciais. Inserido no ramo da Inteligência Artificial, estão as redes neuronais. Estas, como o nome indica, constituem modelos simplificados de alguns processos que se julgam acontecer no cérebro humano. Estas redes têm inúmeras aplicações desde classificação, previsão, extracção, organização e compressão de informação até controlo autónomo de carros e aviões. Existem alguns tipos de redes neuronais diferentes e os Mapas Auto-Organizados são um desses tipos. O princípio base deste tipo de redes, assenta na auto-organização, ou seja, a rede é capaz de se adaptar ao conjunto de estímulos que recebe assentando numa topologia que preveligia determinadas áreas da rede para estímulos de natureza diferente. Isto é exactamente o que acontece no cerebro humano, onde temos diferentes aŕeas que processam estímulos diferentes. Esta auto-organização é obtida através de um algoritmo bastante simples. Quando a rede recebe um estímulo existe um neurónio que tem mais afinidade com esse mesmo estímulo. Logo esse neurónio fica activo e essa afinidade é reforçada, assim como os neurónios à sua volta - reforço esse que diminui com a distância ao neurónio activo. O mesmo processo é repetido para todos os restantes estímulos. A rede assim, a partir de um estado completamente desorganizado é capaz de se auto-adaptar ao "meio envolvente". Este efeito pode ser observado neste clip.



(Isto é bem mais giro que bolinhas e setinhas)

Utilizei o termo "estímulo" para fazer um paralelismo com os conceitos biológicos. Na verdade, com os mapas auto-organizados um estímulo não é mais que um pedaço de informação que tem de ser processado pela rede. Estes pedaços de informação vêm de bases de dados que contêm um volume enorme de informação a processar. Existem limites para a quantidade de informação que conseguimos analisar e correlacionar.

Imaginemos os dados dos census que são feitos de alguns em alguns anos. Pensam que é facil estar a correlacionar a informação de todas as pessoas interrogadas e tirar conclusões? Não, é demasiada informação e essa mesma informação pode ter "correlações escondidas" (não facilmente detectavéis a "olho nú"). Este é apenas um dos casos em que os mapas auto-organizados podem ser utilizados. Tendo como suporte este conjunto de "estímulos" dos census, esta rede neuronal é capaz de, após o seu treino (ser bombardeada com estímulos), fornecer informação facilmente interpretada por nós humanos sobre o "estado da nação".

Na minha tese tenho um exemplo prático com dados dos census dos EUA de há alguns anos atrás. Através de técnicas especiais de visualização é possível identificar "grupos" de indivíduos com características semelhantes e tirar ilações através da análise visual dos resultados.


Neste exemplo (e peço desculpa por estar a preto e branco, mas foi retirado de um artigo científico que publiquei) podem ser comparadas diferentes características da população. São apenas algumas a título exemplificativo. As cores escuras denotam uma predominância dessa característica nessa zona do mapa, enquanto cores claras denotam fraca afinidade. O objectivo aqui era analizar que características tinham a população que auferia mais de $50.000 por ano (>50K). Comparando as zonas escuras e sobrepondo mentalmente as diferentes características, pode-se por exemplo detectar que esses indivíduos são maioritariamente homens casados. Também é possível detectar um grupo de mulheres que também auferem mais do que essa quantia por ano e que nunca foram casadas. Neste exemplo mais de 100 características podiam ser analisadas e comparadas à procura de informação interessante.

Apesar do algoritmo ser relativamente simples, o treino da rede pode demorar vários dias, dependendo do tamanho do mapa e da quantidade de informação a analisar. Aqui entra o objectivo principal da minha tese que é a paralelização do algoritmo, de modo a tornar o treino mais rápido (i.e. de vários dias para algumas horas). Esta paralelização consiste na utilização de vários computadores em simultâneo. Proponho um novo método de paralelização que torna o treino ainda mais rápido, comparado a métodos convencionais.

E pronto, é isto! Espero que tenha conseguido transmitir a mensagem :)

Sem comentários:

...

Related Posts with Thumbnails