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 - k- Coorientador
Profa. Luiza De Macedo Mourelle , Ph.D., 1998, UMIST, Grã-Bretanha - k- Banca
* Profa. Nadia Nedjah , Ph.D., 1997, UMIST, Grã-Bretanha - k
* Profa. Luiza De Macedo Mourelle , Ph.D., 1998, UMIST, Grã-Bretanha - k
* 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.