Dissertação de Mestrado:
Implementação em Hardware de Redes Neurais Artificiais Com Topologia Configurável

Rodrigo Martins da Silva

PEL
Orientador
Profa. Nadia Nedjah , Ph.D., 1997, UMIST, Grã-Bretanha - Currículo Lattesk
Coorientador
Profa. Luiza De Macedo Mourelle , Ph.D., 1998, UMIST, Grã-Bretanha - Currículo Lattesk
Banca
* Profa. Nadia Nedjah , Ph.D., 1997, UMIST, Grã-Bretanha - Currículo Lattesk
* Profa. Luiza De Macedo Mourelle , Ph.D., 1998, UMIST, Grã-Bretanha - Currículo Lattesk
* Prof. Dr. Felipe Maia Galvão França - COPPE/UFRJ
* Prof. Dr. Adriano Joaquim de Oliveira Cruz - UFRJ
Data - hora da defesa
04/02/2010
Resumo
Nos ´ultimos anos, o tema de redes neurais artificiais (RNAs) ganhou um destaque especial na ´area de sistemas inteligentes. Trata-se de um recurso poderoso na solu¸c˜ao de problemas que envolvem previs˜ao, reconhecimento de padr˜oes, otimiza¸c˜ao e controle de servomecanismos, especialmente os n˜ao lineares. Em temos computacionais, uma rede neural pode ser implementada em software ou em hardware (ou ainda de maneira h´ıbrida). O presente trabalho prop˜oe uma arquitetura de hardware para a computa¸c˜ao de uma rede neural com m´ultiplas camadas de neurˆonios. Solu¸c˜oes em hardware tendem a ser mais velozes (eficientes) do que solu¸c˜oes em software. Uma rede neural permite uso massivo de paralelismo, onde v´arios neurˆonios artificiais podem ser computados simultaneamente. O projeto em quest˜ao, al´em de explorar fortemente o paralelismo, permite que a topologia da rede neural seja configur´avel, isto ´e, o hardware suporta altera¸c˜oes (on-line) do n´umero de entradas, n´umero de camadas e de neurˆonios por camada. Assim, diversas aplica¸c˜oes de RNAs podem ser executadas no hardware proposto. Visando a uma redu¸c˜ao de tempo do processamento aritm´etico, n˜ao foram utilizados n´umeros (e nem opera¸c˜oes) em ponto flutuante da nota¸c˜ao IEEE-754. Nesta disserta¸c˜ao, um n´umero real ´e representado sob a forma de fra¸c˜ao de inteiros. Dessa forma, as opera¸c˜oes aritm´eticas limitam-se a opera¸c˜oes inteiras, executadas por circuitos combinacionais. Uma simples m´aquina de estados ´e demandada para computar somas e produtos usando fra¸c˜oes. A fun¸c˜ao de ativa¸c˜ao do neurˆonio ´e a sigm´oide e esta n˜ao ´e computada atrav´es de uma Lookup Table, mas se utiliza aritm´etica, onde s˜ao propostos dois teoremas que fundamentam a estrat´egia de c´alculo da fun¸c˜ao de ativa¸c˜ao. Al´em disso, a fun¸c˜ao de ativa¸c˜ao sigmoidal ´e computada mediante o uso de polinˆomios, cujas opera¸c˜oes s˜ao regidas por somas e produtos. Dessa forma, reaproveita-se o circuito aritm´etico da soma ponderada para tamb´em computar a sigm´oide. Os resultados finais de simula¸c˜ao da arquitetura proposta validaram o hardware e o pr´oximo passo, portanto, ser´a a s´ıntese do sistema em FPGA. Palavras-chave: Redes neurais artificiais, hardware para redes neurais, aritm´etica computacional, fra¸c˜ao de n´umeros inteiros, fun¸c˜ao de ativa¸c˜ao, sigmoide, paralelismo.

Download do Trabalho