modelo comportamental do capacitor ferroelétrico como … · initially the proposal has been...

87
UNIVERSIDADE DO RIO GRANDE DO NORTE FEDERAL UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA Modelo Comportamental do Capacitor Ferroelétrico como Unidade Básica de Neurônios Artificiais e sua Implementação em FPGA Alan Paulo Oliveira da Silva Orientador: Prof a Dr a Ana Maria Guimarães Guerreiro Tese de Doutorado apresentada ao Pro- grama de Pós-Graduação em Engenharia Elétrica da UFRN (área de concentração: Engenharia de Computação) como parte dos requisitos para obtenção do título de Doutor em Ciências. Natal, RN, janeiro de 2015 Número de Ordem PPgEEC: D135

Upload: phungdien

Post on 14-Jul-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

UNIVERSIDADE DO RIO GRANDE DO NORTEFEDERAL

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

CENTRO DE TECNOLOGIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Modelo Comportamental do CapacitorFerroelétrico como Unidade Básica de

Neurônios Artificiais e sua Implementação emFPGA

Alan Paulo Oliveira da Silva

Orientador: Profa Dra Ana Maria Guimarães Guerreiro

Tese de Doutorado apresentada ao Pro-grama de Pós-Graduação em EngenhariaElétrica da UFRN (área de concentração:Engenharia de Computação) como parte dosrequisitos para obtenção do título de Doutorem Ciências.

Natal, RN, janeiro de 2015Número de Ordem PPgEEC: D135

Page 2: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

UFRN / Biblioteca Central Zila Mamede

Catalogação da Publicação na Fonte

Silva, Alan Paulo OliveiraModelo comportamental do capacitor ferroelétrico como unidade básica

de neurônios artificiais e sua implementação em FPGA / Alan Paulo Oliveirada Silva - Natal, RN, 2015.

87 f. : il.

Orientadora: Profa. Dra. Ana Maria Guimarães Guerreiro.

Tese (doutorado) - Universidade Federal do Rio Grande do Norte. Centrode Tecnologia. Programa de Pós-Graduação em Engenharia Elétrica e daComputação.

1. Capacitor ferroelétrico - Tese. 2. Neurônio artificial - Tese. 3. FPGA- Tese. I. Guerreiro, Ana Maria Guimarães. II. Universidade Federal do RioGrande do Norte. III. Título.

RN/UF/BCZM CDU 621.319.4

Page 3: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Modelo Comportamental do CapacitorFerroelétrico como Unidade Básica de

Neurônios Artificiais e sua Implementação emFPGA

Alan Paulo Oliveira da Silva

Tese de Doutorado aprovada em 30 de janeiro de 2015 pela banca examinadora compostapelos seguintes membros:

Profa Dra Ana Maria Guimarães Guerreiro (orientador) . . . . . . . . . DCA/UFRN

Prof. Dr. Marcelo Augusto Costa Fernandes . . . . . . . . . . . . . . . . . . . DCA/UFRN

Profa Dra Heliana Bezerra Soares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEB/UFRN

Prof. Dr. Danniel Cavalcante Lopes . . . . . . . . . . . . . . . . . . . . . . . DCEN/UFERSA

Prof. Dr. Vicente Idalberto Becerra Sablon . . . . . . . . . . . . . . . . . . . . . . . . . . . . USF

Page 4: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two
Page 5: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Agradecimentos

Esse trabalho é fruto do apoio, encorajamento e orientação de muitas pessoas especiaisem minha vida.

Primeiramente, eu gostaria de agradecer profundamente aos professores, Dra. Ana MariaGuimarães Guerreiro e Dr. Marcelo Augusto Costa Fernandes, por todos os ensinamen-tos, críticas, aconselhamentos e acompanhamento durante toda a trajetória de elaboraçãodesse trabalho.

À professora Dra. Ana Maria Guerreiro, agradeço especialmente pela enorme contri-buição na minha formação profissional e pessoal ao longo dos anos da minha formaçãoacadêmica. O seu apoio foi fundamental para que eu pudesse alcançar meus objetivosacadêmicos na graduação e pós-graduação. À você, professora Ana, meu muitíssimoobrigado.

Ao professor Dr. Marcelo Fernandes, agradeço especialmente pela enorme contribuiçãonas etapas finais desse trabalho. Sua orientação foi fundamental na adequação e fecha-mento das ideias, contribuindo para meu esclarecimento e para a construção de uma visãomais crítica e científicamente fundamentada.

Paralalemante, eu gostaria de agradecer a todos os professores que contribuíram para aminha formação, especialmente os professores do Departamento de Computação e Auto-mação da Universidade Federal do Rio Grande do Norte pelos ensinamentos e orientaçõessignificativoas para meu enriquecimento pessoal e profissional.

Um agradecimento especial a todos os colegas com quem tive o prazer de conviver etrabalhar no Laboratório de Sistemas Inteligentes do Departamento de Computação e Au-tomação da Universidade Federal do Rio Grande do Norte. Vocês também foram muitoimportantes para que eu pudesse enfrentar muitos momentos difíceis durante toda essacaminhada.

Agradeço também a Deus pelo dom da vida e pela força para seguir em frente e encararos obstáculos no caminho.

Um agradecimento muito especial à minha família. À minha esposa, Bárbara Hanna,muito obrigado por toda a paciência e apoio incondicional. À minha mãe, FranciscaCosmo, um muitíssimo obrigado por todo o apoio e amor ao longo dos anos.

Page 6: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two
Page 7: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Resumo

Este trabalho propõe a utilização do modelo comportamental do ciclo de histerese docapacitor ferroelétrico como uma nova alternativa às técnicas normalmente custosas nocálculo de funções não-lineares em neurônios artificiais implementados em plataforma dehardware reconfigurável, no caso, um dispositivo FPGA. Inicialmente a proposta foi vali-dada por meio da implementação da lógica booleana através dos modelos digitais de doisneurônios artificiais: o Perceptron e uma variação do modelo Spiking Neuron Integrateand Fire, ambos utilizando o modelo também digital do ciclo de histerese do capacitorferroelétrico como unidade básica não-linear no cálculo das saídas dos neurônios. Final-mente, foi utilizado um modelo analógico do capacitor ferroelétrico com o objetivo deverificar a sua eficácia e uma possível redução no número de elementos lógicos necessá-rios no caso da implementação dos neurônios em circuito integrado. As implementaçõesforam realizadas por meio de modelos em Simulink e a sintetização dos mesmos foi feitacom o auxílio do software DSP Builder, da Altera Corporation.

Palavras-chave: Neurônio artificial, Capacitor ferroelétrico, FPGA.

Page 8: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two
Page 9: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Abstract

This work proposes the use of the behavioral model of the hysteresis loop of the fer-roelectrics capacitor as a new alternative to the usually costly techniques in the computa-tion of nonlinear functions in artificial neurons implemented on reconfigurable hardwareplatform, in this case, a FPGA device. Initially the proposal has been validated by theimplementation of the boolean logic through the digital models of two artificial neurons:the Perceptron and a variation of the model Integrate and Fire Spiking Neuron, both usingthe model also digital of the hysteresis loop of the ferroelectric capacitor as it’s basic non-linear unit for the calculations of the neurons outputs. Finally, it has been used the analogmodel of the ferroelectric capacitor with the goal of verifying it’s effectiveness and possi-bly the reduction of the number of necessary logic elements in the case of implementingthe artificial neurons on integrated circuit. The implementations has been carried out bySimulink models and the synthesizing has been done through the DSP Builder softwarefrom Altera Corporation.

Keywords: Artificial neuron, Ferroelectric capacitor, FPGA.

Page 10: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two
Page 11: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Sumário

Sumário i

Lista de Figuras iii

Lista de Tabelas vii

1 Introdução 11.1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.4 Publicações Aceitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.5 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Estado da Arte 92.1 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Redes Neurais Artificiais 133.1 Principais Características . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2 Neurônio Biológico e Neurônio Artificial . . . . . . . . . . . . . . . . . 143.3 Processo de Treinamento . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.3.1 Paradigmas de Treinamento . . . . . . . . . . . . . . . . . . . . 213.4 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4 Neurônios Ferroelétricos 234.1 Modelo Matemático do Capacitor Ferroelétrico . . . . . . . . . . . . . . 234.2 Capacitor Ferroelétrico como Função de Ativação . . . . . . . . . . . . . 24

4.2.1 Modelo FePerceptron . . . . . . . . . . . . . . . . . . . . . . . . 244.2.2 Simulação do Modelo FePerceptron . . . . . . . . . . . . . . . . 274.2.3 Modelo Spiking FeNeuron . . . . . . . . . . . . . . . . . . . . . 284.2.4 Simulação do Modelo Spiking FeNeuron . . . . . . . . . . . . . 31

4.3 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5 Neurônios Fe em FPGA e Resultados Obtidos 375.1 Neurônios Fe com pesos pré-definidos . . . . . . . . . . . . . . . . . . . 385.2 FePerceptron e seu Ciclo de Aprendizagem . . . . . . . . . . . . . . . . 445.3 Spiking FeNeuron e seu Ciclo de Aprendizagem . . . . . . . . . . . . . . 505.4 Modelo do Capacitor Ferroelétrico Contínuo . . . . . . . . . . . . . . . . 57

i

Page 12: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.5 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6 Conclusões e Trabalhos Futuros 63

Referências bibliográficas 64

Page 13: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Lista de Figuras

1.1 Blocos sintetizáveis disponíveis no software DSP Builder utilizados nodesenvolvimento dos modelos de hardware. . . . . . . . . . . . . . . . . 4

1.2 Estrutura básica de um FPGA. Composta por blocos lógicos programá-veis (CLBs) e interconexões reprogramáveis controlados por elementoschamados de Matrizes de Interconexão, ou Switch Matrix [Pedroni, 2004]. 6

3.1 Estrutura básica de um neurônio biológico. As celulas contêm elemen-tos como corpo celular (Soma), núcleo, axiônios, dentritos e terminaçõessinápticas [Silva, Spatti e Flauzino, 2010]. . . . . . . . . . . . . . . . . . 14

3.2 Primeiro modelo computacional de um neurônio biológico proposto porMcCulloch e Pitts [McCulloch e Pitts, 1943]. . . . . . . . . . . . . . . . 15

3.3 Função de ativação degrau. . . . . . . . . . . . . . . . . . . . . . . . . . 163.4 Função de ativação degrau bipolar. . . . . . . . . . . . . . . . . . . . . . 173.5 Função de ativação rampa simétrica. . . . . . . . . . . . . . . . . . . . . 183.6 Função de ativação logística para β = 0.5. . . . . . . . . . . . . . . . . . 183.7 Função de ativação tangente hiperbólica para β = 2. . . . . . . . . . . . . 193.8 Função de ativação gaussiana para com centro em zero e desvio padrão

σ = 0.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.9 Função de ativação linear. . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.1 A aproximação do ciclo de polarização saturada com base no compor-tamento do capacitor ferroelétrico em um circuito elétrico utilizando asfunções tangente hiperbólicas. Os valores utilizados foram retirados deum ciclo de histerese real: Ps = 23µC/cm2, Pr = 15µC/cm2, e Ec =40kV/cm2 [Guerreiro, 2004]. . . . . . . . . . . . . . . . . . . . . . . . . 24

4.2 O modelo do neurônio Perceptron de Rosemblatt com duas entradas. . . . 254.3 O modelo do neurônio FePerceptron. . . . . . . . . . . . . . . . . . . . . 264.4 As curvas de aprendizado das portas lógicas AND e NAND. . . . . . . . 294.5 As curvas de aprendizado das portas lógicas OR e NOR. . . . . . . . . . 294.6 O modelo discreto Spiking FeNeuron [Guerreiro, 2004]. . . . . . . . . . . 324.7 As curvas de aprendizado para as portas lógicas AND e NAND, utilizando

o modelo Spiking FeNeuron. . . . . . . . . . . . . . . . . . . . . . . . . 334.8 As curvas de aprendizado para as portas lógicas OR e NOR utilizando o

modelo Spiking FeNeuron. . . . . . . . . . . . . . . . . . . . . . . . . . 334.9 A curva de aprendizado para a porta lógica XOR utilizando o modelo

Spiking FeNeuron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

iii

Page 14: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.1 Modelo sintetizável referente ao hardware do FePerceptron com pesossinápticos previamente calculados para a implementação da porta lógicaAND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.2 Curva da aproximação da tangente hiperbólica em Look-up Table em re-lação a curva da função original. . . . . . . . . . . . . . . . . . . . . . . 40

5.3 Modelo sintetizável referente ao hardware do Spiking FeNeuron com pe-sos sinápticos previamente calculados para a implementação da porta ló-gica XOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.4 Cáculo do limite de ativação dinâmico Θ(n) no modelo Spiking FeNeuron. 445.5 Diagrama de blocos sintetizáveis referente ao modelo do FePerceptron

juntamente com seu ciclo de aprendizagem. . . . . . . . . . . . . . . . . 455.6 Diagrama de blocos sintetizáveis referente ao cálculo da saída do neurô-

nio FePerceptron com a adição do erro e(n) e da taxa de aprendizado η. . 465.7 Diagrama de blocos sintetizáveis referente ao cálculo da regra de ajuste

dos pesos sinápticos do FePerceptron. . . . . . . . . . . . . . . . . . . . 475.8 Curvas de aprendizado das portas lógicas AND e NAND obtidas por meio

do modelo sintetizável do FePerceptron (curvas em preto) em relação ascurvas de aprendizado obtidas nas respectivas simulações em software(curva em azul). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.9 Curvas de aprendizado das portas lógicas OR e NOR obtidas por meiodo modelo sintetizável do FePerceptron (curvas em preto) em relação ascurvas de aprendizado obtidas nas respectivas simulações em software(curva em azul). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.10 Diagrama de blocos sintetizáveis referente ao modelo Spiking FeNeuronjuntamente com seu ciclo de aprendizagem. . . . . . . . . . . . . . . . . 51

5.11 Diagrama de blocos sintetizáveis referente ao cálculo da saída do neurô-nio Spiking FeNeuron com a adição do erro e(n) e da taxa de aprendizadoγ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.12 Diagrama de blocos sintetizáveis referente ao cálculo da regra de ajustedos pesos sinápticos do Spiking FeNeuron. . . . . . . . . . . . . . . . . . 53

5.13 Curvas de aprendizado das portas lógicas AND e NAND obtidas por meiodo modelo sintetizável do Spiking FeNeuron (curvas em preto) em relaçãoas curvas de aprendizado obtidas nas respectivas simulações em software(curva em azul). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.14 Curvas de aprendizado das portas lógicas OR e NOR obtidas por meio domodelo sintetizável do Spiking FeNeuron (curvas em preto) em relaçãoas curvas de aprendizado obtidas nas respectivas simulações em software(curva em azul). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.15 Curva de aprendizado da porta lógica XOR obtida por meio do modelosintetizável do Spiking FeNeuron (curvas em preto) em relação as curvasde aprendizado obtidas nas respectivas simulações em software (curva emazul). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.16 Modelo contínuo do capacitor ferroelétrico. . . . . . . . . . . . . . . . . 575.17 Saída do modelo contínuo do capacitor ferroelétrico. . . . . . . . . . . . 58

Page 15: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.18 Modelo digital do capacitor ferroelétrico. . . . . . . . . . . . . . . . . . 585.19 Modelo contínuo do capacitor ferroelétrico substituindo o modelo digital

do mesmo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Page 16: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two
Page 17: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Lista de Tabelas

4.1 Parâmetros de treinamento calculados na simulação do neurônio FePer-ceptron para cada porta lógica. . . . . . . . . . . . . . . . . . . . . . . . 28

4.2 Saídas calculadas na simulação do neurônio FePerceptron em relação assaídas desejadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.3 Parâmetros obtidos e utilizados para cada porta lógica no modelo SpikingFeNeuron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.4 Saídas calculadas na simulação do neurônio Spiking FeNeuron. . . . . . . 34

5.1 Tabela verdade obtida nas implementações de 4 portas lógicas utilizandoo FePerceptron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.2 Tabela verdade obtida nas implementações das portas lógicas AND, NAND,OR, NOR e XOR utilizando o Spiking FeNeuron. . . . . . . . . . . . . . 44

5.3 Pesos sinápticos ótimos calculados por meio do diagrama de blocos sinte-tizáveis referente ao modelo do ciclo de treinamento do neurônio FePer-ceptron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.4 Erro referente aos valores dos pesos calculados pelo modelo de hardwareem relação aos pesos calculados na simulação em software do FePerceptron. 49

5.5 Recursos de hardware utilizados na síntese do FePerceptron com o mo-delo digital do ciclo de histerese do capacitor ferroelétrico. . . . . . . . . 50

5.6 Pesos sinápticos ótimos calculados por meio do diagrama de blocos sinte-tizáveis referente ao modelo do ciclo de treinamento do neurônio SpikingFeNeuron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.7 Erro referente aos valores dos pesos calculados pelo modelo de hardwareem relação aos pesos calculados na simulação em software do SpikingFeNeuron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.8 Recursos de hardware utilizados na síntese do Spiking FeNeuron com omodelo digital do ciclo de histerese do capacitor ferroelétrico. . . . . . . 55

5.9 Resultado do treinamento do neurônio FePerceptron completo utilizandoo modelo contínuo do capacitor ferroelétrico. . . . . . . . . . . . . . . . 59

5.10 Resultado do treinamento do neurônio Spiking FeNeuron completo utili-zando o modelo contínuo do capacitor ferroelétrico. . . . . . . . . . . . . 59

5.11 Recursos de hardware utilizados na síntese do FePerceptron com o mo-delo contínuo do ciclo de histerese do capacitor ferroelétrico. . . . . . . . 59

5.12 Recursos de hardware utilizados na síntese do Spiking FeNeuron com omodelo contínuo do ciclo de histerese do capacitor ferroelétrico. . . . . . 60

vii

Page 18: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.13 Recursos de hardware utilizados pelos neurônios ferroelétricos utilizandoo modelo digital do capacitor ferroelétrico em comparação com os recur-sos utilizados pelos neurônios ferrolétricos utilizando o modelo contínuodo capacitor ferroelétrico. . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Page 19: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Capítulo 1

Introdução

As redes neurais artificiais (RNAs) são modelos computacionais inspirados no sis-tema nervoso de seres vivos [Silva, Spatti e Flauzino, 2010]. As RNAs fazem parte daárea do conhecimento conhecida como sistemas inteligentes e podem ser definidas comomáquinas computacionais com um alto grau de paralelismo constituídas por um conjuntode unidades de processamento, chamadas de neurônios artificiais, que são interligadosatravés de interconexões chamadas de sinapses artificiais. As sinapses artificiais são nor-malmente representadas através de um conjunto de pesos sinápticos [Haykin, 2001]. AsRNAs possuem funções limitadoras que definem o conjunto de valores que podem sercalculados nas saídas de cada camada de neurônios artificiais, que pode ser constiuída porum ou mais neurônios. Essas funções são chamadas de funções de ativação.

Os primeiros trabalhos em redes neurais artificiais foram publicados na década de40 porém, as RNAs foram fortemente investigadas somente a partir do final da décadade 80. Contudo, nesse intevarlo de tempo foram publicados trabalhos importantes naárea como a derivação de algoritmos de predição utilizando gradiente reverso por Werbos(1974), Grossberg (1980) e sua implementação da rede ART (adaptive resonance theory),Kohonen e seus mapas auto-organizáveis (1982), Hopfield e suas redes recorrentes (1982)e, a proposição do algoritmo backpropagation por Rumelhart, Hinton e Williams (1986).Este último motivou novamente o interesse dos pesquisadores nas redes neurais artificiais.

Abaixo seguem algumas das potenciais áreas de aplicação das RNAs:

Aproximador universal de funções Consiste no mapeamento das relações funcionaisentre as variáveis de um sistema a partir de um conjunto pré-determinado de va-lores. Essa será a principal aplicação abordada nesse trabalho, já que a ideia básicado mesmo consiste no mapeamento de funções lógicas booleanas através de umneurônio artificial.

Reconhecimento e classificação de padrões Consiste na associação de um padrão deentrada para uma das classes de padrões previamente definidas. Essas classes po-dem envolver diferentes padrões de imagens, voz, escrita, etc.

Agrupamento de dados Consiste em agrupar os diversos padrões de entrada através dadetecção e identificação de similaridades e particularidades. A saída desse tipo deaplicação consiste no devido agrupamento dos padrões de entrada nas suas respec-tivas classes.

Predição da informação Nesse tipo de aplicação valores futuros de um processo são

Page 20: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

2 CAPÍTULO 1. INTRODUÇÃO

estimados através de diversos valores observados previamente.Otimização de sistemas Nesse caso as redes neurais artificiais são utilizadas em proble-

mas de otimização combinatorial, programação dinâmica, otimização restrita, entreoutros, com o objetivo de minimizar ou maximizar uma função objetivo, de acordocom as características do problema.

Reconstrução da informação Essa aplicação consiste na recuperação de padrões cujoselementos são fornecidos de forma incorreta ou imprecisa para suas formas corretas.

Muitas pesquisas vem sendo desenvolvidas na área de implementação de RNAs emhardware. Nessas implementações é comum a utilização de funções não-lineares no cál-culo das saídas das estruturas neurais ou neurônios artificiais. A realização dessas funçõesde ativação não-lineares em hardware é uma preocupação constante nos muitos trabalhosdesenvolvidas nessa área de pesquisa. Alguns exemplos de trabalhos nos quais podemosperceber esse fato são: [Yang, Wu e Li, 2012], [Al-Kazzaz e Khalil, 2008], [Goser, 1996],[Savich, Moussa e Areibi, 2007], [Hariprasath e Prabakar, 2012], além de [Soleimani,Ahmadi e Bavandpour, 2012], dentre muitos outros. Independente da técnica utilizada naimplementação das funções de ativação (sejam aproximações das não-linearidades parafunções com características lineares, registro dos pontos das curvas características emmemórias de leitura), essa é uma preocupação recorrente em grande parte dos trabalhosna área.

Nesse trabalho é proposta a implementação da lógica booleana em plataforma de hard-ware reconfigurável como forma de validação da utilização do modelo comportamentaldo ciclo de histerese de um capacitor ferroelétrico como unidade básica não-linear deneurônios artificiais. O ciclo de histerese do capacitor possui uma curva característicaequivalente a uma função tangente sigmoide especificamente ponderada de forma que, aprincípio, a utilização do mesmo na implementação de neurônios artificiais sintetizadosem circuitos integrados em substituição a técnicas comuns no cálculo das funções não-lineares normalmente mais custosas pode resultar em ganhos reais de uso de recursos dehardware.

1.1 MetodologiaEsse trabalho seguirá a seguinte metodologia: serão implementados dois modelos

de neurônios artificiais em plataforma de hardware digital (neurônios Fe), o Perceptronde Rosemblatt [Rosemblatt, 1958] e um modelo modificado do neurônio Spiking Neu-ron Integrate and Fire, chamado de Boolean Complete Neuron (BCN) [Guerreiro, 2004],ambos utilizando um modelo comportamental do ciclo de histerese do capacitor ferroelé-trico como sua unidade básica não-linear, ou seja, sua função de ativação não-linear, parao cálculo das saídas dos neurônios.

Serão desenvolvidos modelos digitais dos neurônios artificiais por meio da ferramentade desenvolvimento em nível de sistema DSP (Digital Signal Processing) Builder [Altera,2005] da Altera Corporation com o objetivo de sintetizar os modelos de hardware dosneurônios em plataforma de hardware reconfigurável FPGA (Field Programmable GateArray, [Pedroni, 2004] e [Maxfield, 2004].

Page 21: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

1.1. METODOLOGIA 3

O DSP Builder é um software que integra blocos sintetizáveis em hardware para oprojeto de sistemas de simulação em Simulink (Ambiente de simulação de sistemas daMathWorks - [MathWorks Simulink, 2009]). A ferramenta permite o projeto de hardwaredigital em nível de sistema, sua simulação e síntese em uma plataforma de hardware re-configurável e consiste em um conjunto de blocos específicos que podem ser utilizadosem modelos gerados na ferramenta MathWorks/Simulink. Esses blocos específicos reali-zam várias funções no processamento dos dados digitais, desde funções aritméticas, dearmazenamento, conversão, entre outras, além do bloco Signal Compiler realiza a leiturade arquivos contendo modelos Simulink que utilizam blocos do DSP Builder e gera arqui-vos de código em linguagem de descrição de hardware VHDL (Very high speed integratecircuits Hardware Description Language, [Pedroni, 2004] e [Maxfield, 2004]) referentesao modelo e scripts para a síntese, implementação do hardware e sua simulação. O DSPBuilder gera automaticamente código RTL (Register Transfer Level) baseado nas descri-ções de um projeto em alto-nível do Simulink. Os blocos sintetizáveis disponíveis no DSPBuilder utilizados nesse trabalho podem ser visualizados na figura 1.1.

Cada bloco disponibilizado pelo DSP Builder possui um código VHDL associadoa ele. Dessa forma, é possível sintetizar um modelo de hardware desenvolvido atravésdessa ferramenta de desenvolvimento em nível de sistema. Os blocos são organizados emcategorias e descritos a seguir:

Entrada/Saída: São blocos que realizam a interface entre sinais de ambiente Simulinke suas representações digitais na placa FPGA. O bloco Input realiza a conversãodas amostras para suas representações digitais de acordo com o número de bits (nonosso caso, 16 bits) especificado em cada bloco. Cada Input também é consideradoum canal de entrada para a placa FPGA, de forma que cada sinal conectado a estebloco poderá ser visualizado e manipulado de acordo com as configurações nas si-mulações do hardware e na sintetização para a placa. O bloco Output funciona deforma semelhante ao bloco Input, porém ele faz o papel de interface de saída, deforma que cada amostra conectada a este bloco poderá ser visualizada como umcanal de saída na placa FPGA. Os blocos Constant representam valores constantesfixos. Esses blocos são sintetizáveis, portanto não é preciso realizar conversões pré-vias nas representações de seus valores. As conversões necessárias são realizadasposteriormente nas operações efetuadas com esses blocos.

Aritmética: São os blocos sintetizáveis responsáveis pelas operações aritméticas reali-zadas nos neurônios Fe. Essas operações incluem blocos multiplicadores, soma-dores/subtratores, cálculo do módulo e divisores. As operações aritméticas sãonecessárias nos neurônios Fe em ambos os cenários abordados, ou seja, quando sãoutilizados os pesos previamente calculados e também quando os pesos são calcula-dos nas etapas de treinamento e aprendizado.

Barramento: São blocos de grande importância no desenvolvimento do hardware. Osblocos AltBus são responsáveis por alterar a representação de uma palavra binária.Eles são utilizados após uma operação de multiplicação para reduzir a palavra re-sultante (32 bits) para uma representação de 16 bits, caso contrário a capacidadeda placa FPGA será excedida, o que impossibilitaria a sintetização do hardware naplaca. Os blocos BusBuild são utilizados após uma operação lógica condicional

Page 22: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

4 CAPÍTULO 1. INTRODUÇÃO

Figura 1.1: Blocos sintetizáveis disponíveis no software DSP Builder utilizados no de-senvolvimento dos modelos de hardware.

para que seja gerada uma sequência binária de acordo com o resultado da operaçãológica, permitindo assim um controle eficiente das operações lógicas condicionaisnecessárias no processo.

Lógico condicional: Implementa uma operação lógica condicional de SE, SENÃO SE,SENÃO.

Multiplexador: Implementa o elemento clássico da lógica digital Multiplexador, queseleciona uma de suas entradas como saída de acordo com uma entrada especial deseleção.

Look-up Table: Esse blocos sintetizáveis implementam uma Look-up Table, de formaque seu valor de entrada representa o índice da tabela onde será buscado o seu valorde saída. Nesse trabalho esses blocos foram utilizados para simular valores referen-tes à função tangente, porém, para simular a função tangente completamente seria

Page 23: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

1.2. MOTIVAÇÃO 5

necessária uma tabela muito grande, de forma que em cada caso foram realizadostestes preliminares para que a tabela pudesse ser reduzida. Além disso, nos neurô-nios implementados com suas etapas de treinamento e aprendizado os pesos iniciaisforam controlados para que o tamanho da tabela também pudesse ser controlado ereduzido.

Primeiramente os neurônios artificiais Fe foram implementados para simular as portaslógicas booleanas utilizando pesos sinápticos previamente calculados por meio de simu-lações em MATLAB (ambiente de linguagem de computação técnica de alto nível paradesenvolvimento de algoritmos, visualização e análise de dados e computação numérica- [MathWorks Matlab, 2009]) com o objetivo de validar a utilização do modelo compor-tamental do ciclo de histerese do capacitor ferroelétrico como sua função de ativação. Ociclo de histerese do capacitor ferroelétrico também será implementado nessa etapa pormeio de um modelo digital no software DSP Builder.

Posteriormente, os pesos sinápticos foram calculados em hardware por meio da inte-gração do algoritmo de aprendizagem LMS (Least Mean Square) aos neurônios, de formaa validar a utilização do ciclo de histerese do capacitor ferroelétrico em um sistema deaprendizado neural em plataforma de hardware.

Finalmente, o modelo comportamental do ciclo de histerese do capacitor ferroelétricofoi implementado por meio de um modelo analógico utilizando os recursos do ambienteSimulink, com os objetivos de simular e validar a implementação dos neurônios artificiaisFe em circuito integrado, no qual o elemento eletrônico físico do capacitor ferroelétricoserá utilizado para a realização da função de ativação dos neurônios em chip, além deverificar o ganho em uso de recursos de hardware, comparando a quantidade de elemen-tos lógicos digitais necessários na implementação dos neurônios Fe utilizando o modeloanalógico do capacitor ferroelétrico e a implementação utilizando o modelo digital do ca-pacitor, o qual faz uso de técnicas convencionais para o cálculo de funções não-lineares,como o registro dos pontos das funções em memória.

1.2 Motivação

As redes neurais artificiais têm sido profundamente investigadas desde o fim dadécada de 80 e ainda hoje possuem um grande potencial de pesquisa. Devido às caracte-rísticas inerentes as RNAs como capacidade de generalização, armazenamento de infor-mações, tolerância a falhas, capacidade de aprendizado, alto grau de paralelismo, entreoutras, o aprofundamento em pesquisas relacionadas a esse tema tem sido constante.

Muitos trabalhos têm sido publicados na áera das implementações das redes neuraisartificiais em plataformas de hardware analógico e digital. As implementações em hard-ware trazem consigo efeitos colaterais como perda da precisão dos dados, menor taxa deaprendizado e erros computacionais mas mesmo com todas as dificuldades, existe umagrande necessidade no mundo real de tais implementações. A combinação das redesneurais artificias com elementos de hardware pode trazer avanços nas áreas de reconhe-cimento óptico, robótica, reconhecimento de voz, filtros adaptativos, processamento de

Page 24: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

6 CAPÍTULO 1. INTRODUÇÃO

imagens, reconhecimento acústico, extraçao de características em impressões digitais,monitoramento de tráfego, controle adaptativo, entre outras.

Porém, projetar hardware para fins genéricos é uma tarefa difícil, de tal forma queas tecnicas implementados nessas plataformas são voltadas para aplicações específicas.Nesse contexto surge a plataforma reprogramável de hardware digital FPGA, que possuiuma alta capacidade e facilidade de reconfiguração. A plataforma FPGA possui um pa-ralelismo inerente a sua arquitetura e é composta por blocos lógicos chamados de CLBs(Configurable Logica Blocks) e interconexões, ambos reconfiguráveis. Os blocos lógicospodem ser reprogramados para se comportarem como um hardware diferente a cada re-programação, enquanto que as interconexões programáveis podem ser reconfiguradas deacordo com elementos que estabelecem as conexões entre os blocos lógicos, as chamdasSwitch Matrix. A estrutura básica de uma plataforma FPGA pode ser vista na figura 1.2

Figura 1.2: Estrutura básica de um FPGA. Composta por blocos lógicos programáveis(CLBs) e interconexões reprogramáveis controlados por elementos chamados de Matrizesde Interconexão, ou Switch Matrix [Pedroni, 2004].

Além disso, a utilização do capacitor ferroelétrico como unidade básica não-linearde neurônios artificiais pode ser uma alternativa às técnicas comumente utilizadas nocálculo de funções não-lineares em redes neurais artificiais em hardware. Essas técnicaspodem se mostrar custosas, de forma que a realização dessas funções em hardware é umapreocupação recorrente em trabalhos nessa área.

A utilização do modelo comportamental do ciclo de histerese do capacitor ferroelé-trico, além de apresentar resultados satisfatórios na aproximação de funções por meio deneurônios artificiais, poderá resultar em um ganho significativo no uso dos recursos daplataforma de hardware necessários nas implementações de soluções neurais artificiais,de forma que essas soluções possam apresentar contribuições ainda mais significativasem áreas como as de aprendizagem de máquina e inteligência artificial. Além disso, po-

Page 25: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

1.3. OBJETIVOS 7

demos imaginar contribuições na utilização de redes neurais artificiais em hardware naimplementação de funções mais complexas.

1.3 ObjetivosA seguir são descritos os objetivos específicos propostos nesse trabalho:

1. Implementação do modelo comportamental do ciclo de histerese de um capacitor fer-roelétrico em ambiente de software Matlab, de forma a compreender seu funciona-mento.

2. Utilização do modelo do capacitor ferroelétrico implementado como a função de ati-vação de um neurônio perceptron (FePerceptron) e de um neurônio Spiking Neuron(Spiking FeNeuron).

3. Realização do treinamento dos neurônios artificiais FePerceptron e Spiking FeNeuronem ambiente Matlab para obter o conjunto de pesos sinápticos referentes as imple-mentações da lógica booleana.

4. Implementação dos Neurônios Fe através de modelos digitais em Simulink em con-junto com o software DSP Builder, disponível no DSP Development Kit da AlteraCorporation, primeiro, utilizando pesos sinápticos previamente calculados em si-mulações em Matlab, e posteriormente calculando os pesos sinpáticos por meio dospróprios modelos digitais através da implementação do algoritmo de aprendizagemLMS em modelo de hardware digital.

5. Validação dos Neurônios Fe por meio da implementação da lógica booleana.6. Implementação do modelo analógico do ciclo de histerese do capacitor ferroelétrico

para simular e validar a sua utilização em uma implementação dos neurônios Fe emcircuito integrado.

7. Síntese em hardware dos modelos implementados e comparação da utilização de re-cursos de hardware entre as abordagens utilizadas na implementação dos neurôniosFe para verificar o ganho proposto no uso do capacitor ferroelétrico em substituiçãode técnicas comuns no cálculo de funções não-lineares em neurônios artificiais.

1.4 Publicações AceitasNesta seção serão discutidos alguns aspectos das publicações geradas por esse tra-

balho. A primeira publicação aceita gerada por esse trabalho é referente ao capítulo delivro [Silva, Leite, Guerreiro, Araújo e McMillan, 2011]. Nessa publicação são discutidosdiversos aspectos da utilização do modelo comportamental do ciclo de histerese de um ca-pacitor ferroelétrico como função de ativação na implementação de neurônios artificiais,além das simulações dos neurônios FePerceptron e Spiking FeNeuron na implementa-ção de funções lógicas booleanas. Além disso são discutidos aspectos da utilização dosneurônios Fe no projeto de circuitos digitais mais complexos como registradores e mul-tiplexadores e é apresentado o projeto da arquitetura forward do neurônio FePercetronutilizando a ferramenta DSP Builder em conjunto com o software Simulink.

Page 26: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

8 CAPÍTULO 1. INTRODUÇÃO

A segunda publicação aceita é referente a um artigo no periódico Integrated Ferroe-lectrics, no qual foram realizadas as implementações dos neurônios FePerceptron e Spi-king FeNeuron utilizando a ferramenta DSP Builder. Os neurônios foram implementadosjuntamente com os seus ciclos de aprendizagem e foram treinados para realizarem a apro-ximação das funções lógicas booleanas.

1.5 Organização do TrabalhoEste trabalho está organizado da seguinte forma: no capítulo 2 é apresentado um

breve estado da arte relacionado as implementações das redes neurais artificiais e neurô-nios artificiais em hardware. No capítulo 3 será discutido um breve resumo acerca dasredes neurais artificiais e alguns de seus aspectos relevantes a esse trabalho. No capítulo4 será discutida a proposta do trabalho que consiste na implementação, sintetização e va-lidação de Neurônios artificiais com função de ativação com base no ciclo de histerese deum capacitor ferroelétrico em plataforma de hardware digital reprogramável. No capítulo5 serão apresentados os detalhes acerca das implementações realizadas e resultados obti-dos nesse trabalho. Finalmente, no capítulo 6 serão discutidas as conclusões e trabalhosfuturos.

Page 27: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Capítulo 2

Estado da Arte

Apesar das dificuldades encontradas nas implementações em hardware das redes neu-rais artificiais muitos trabalhos têm sido publicados. Como dito anteriormente, as imple-mentações em hardware das RNAs podem acarretar em erros de cálculo computacional,degradação do aprendizado e perda da precisão dos resultados. Muitos desses aspec-tos têm sido estudados e investigados em diversas pesquisas. Dos trabalhos realizados épossível citar [Bermak e Martinez, 2003], [Kung, 1992] e [Lenne, 1995] em hardwaredigital, [Brown, Yu e Garverick, 2004] e [Mead, 1989] em hardware analógico, [Leh-man, Bruun e Dietrich, 1996] e [Schimid, Leblebici e Mlynek, 2004] em plataforma dehardware híbrido, implementações em plataforma FPGA destacam-se os trabalhos [Ned-jah e Mourelle, 2007], [Rak, Soss e Cserey, 2009] e [Schrauwen e D’Haene, 2005]. Ostrabalhos [Moerland, Fiesler e Saxena, 2007] e [Tokes, Orz, Vr e Roska, 2000] realizamimplementações ópticas não eletrônicas.

No trabalho [Hariprasath e Prabakar, 2012], foi implementada uma rede neural artifi-cial de múltiplas camadas em plataforma FPGA visando a redução dos recursos de hard-ware necessários sem o comprometimento do sistema e das limitações temporais comoum todo, de forma que redes neurais maiores possam ser implemetadas em hardware. Afunção de ativação dessa rede neural (que possui dois neurônios na camada de entrada,uma camada oculta e um neurônio na camada de saída) foi implementada por meio deuma aproximação linear da função tangente sigmoide, de forma que as não-linearidadesda função possam ser aproximadas em hardware por meio da implementação de umafunção linear, reduzindo assim a utilização dos recursos de hardware necessários.

Pode-se citar o trabalho [Al-Kazzaz e Khalil, 2008], no qual são propostas três arqui-teturas para a implementação de um modelos de neurônio artificial em plataforma FPGA:serial, parcialmente paralela e totalmente paralela, todas utilizando formato de ponto fixode 16 bits. Nesse trabalho, a função de ativação escolhida também foi uma tangente sig-moide. A sua implementação em hardware foi realizada por meio de três métodos: apro-ximação direta, aproximação por Lookup Table (registro dos pontos da curva da função)e aproximação linear.

Na aproximação direta a função tangente sigmoide é aproximada por uma funçãonão-linear mais simples do que a exponencial infinita que representa a função sigmoide,normalmente uma função não-linear de segundo grau. Dessa forma, a função tangentepode ser aproximada em implementações em hardware digital por meio de técnicas deprojeto normalmente utilizadas nessas implementações.

Page 28: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

10 CAPÍTULO 2. ESTADO DA ARTE

A aproximação por Lookup Table (LUT) é o armazenamento prévio de pontos da curvada função não-linear original (no caso, a tangente sigmoide) em uma estrutura de memó-ria LUT. Normalmente essa solução apresenta um menor erro, porém é mais custosa emrelação aos recursos de hardware necessários na implementação de redes neurais artifici-ais em hardware, já que utiliza muitos desses recursos no armazenamento dos pontos dafunção em memória ROM.

Finalmente, a aproximação linear consiste na implementação da função não-linear pormeio de aproximações lineares a cada etapa predefinida da sua curva característica.

Também é possível citar alguns trabalhos relativos à implementação em plataformaFPGA de neurônios de disparo (Spiking Neurons). Dentre eles, podemos citar o trabalho[Soleimani, Ahmadi e Bavandpour, 2012] e [Yang, Wu e Li, 2012]. O primeiro realizaa implementação do modelo Izhikevich ([Izhikevich, 2003]) e o segundo um modelo In-tegrate and Fire. Em ambos os trabalhos, as não-linearidades dos modelos e de suasfunções de ativação são implementadas em hardware por meio de aproximações: no pri-meiro aproximações lineares e no segundo a aproximação de funções gaussianas por meiode filtros FIR consecutivos.

No trabalho [Savich, Moussa e Areibi, 2007] foi implementado em FPGA uma estru-tura de rede neural artificial de múltiplas camadas e seu treinamento por meio do algo-ritmo backpropagation. A função de ativação da rede foi uma tangente sigmoide e suaimplementação em hardware também foi realizada por meio de aproximações lineares emcada etapa da função tangente.

Também é possível destacar o trabalho [Janardan e Indranil, 2010] que realiza umaanálise que envolve breves resumos de várias abordagens no que se refere a implementa-ções das redes neurais artificiais em hardware. O trabalho propõe uma discussão direci-onada às implementações digitais, analógicas, híbridas e em FPGA, buscando definir osprincipais avanços na área e tecer as tendências para trabalhos futuros.

No que se refere à implementações VLSI é possível encontrar referências nos traba-lhos [Glesner e Poechmueller, 1994] e [Mead, 1989]. Uma análise a respeito dos neu-rocomputadores até os anos 90, construídos através de placas aceleradoras, hardware depropósito geral e neurochips pode ser encontrada em [Heemskerk, 1995]. Também é pos-sível destacar trabalhos em implementações digitais com processadores customizados,como por exemplo o trabalho [Ienne, Cornu e Kuhn, 1996].

Em [Sundararajan e Saratchandran, 1998] são discutidos em detalhes vários aspectosde implementações em paralelo de modelos de redes neurais artificiais utilizando diversasarquiteturas de hardware.

Em [Zhu e Sutton, 2005] é possível encontrar uma análise de implementações de redesneurais artificiais em FPGA discutindo diferentes técnicas e aspectos das implementações.

No trabalho [Dias, Antunes, e Manuel, 2004] os autores apresentam um foco especí-fico para plataformas de hardware disponíveis para o mercado. São discutidos sistemasneurofuzzy abordando aspectos de várias tecnologias de implementação em hardware etécnicas de projeto em software.

Em [Schrauwen e D’Haene, 2005] encontra-se implementações de redes neurais arti-ficiais Spiking.

O trabalho [Valle, 2005] apresenta várias abordagens para se construir dispositivos

Page 29: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

2.1. CONCLUSÃO 11

adaptativos inteligentes.Também é possível citar alguns trabalhos no campo de algorítmos de aprendizagem

em hardware como [Jabri e Flower, 1991], [Duong, 1995], [Smieja, 1993], e também[Duong e Stubberud, 1995], e [Chen, Haykin e Becker, 2000].

Alguns trabalhos podem ser destacados em implementação em hardware de redesneurais artificiais baseadas no modelo Perceptron de Múltiplas Camadas (MLP) como[D’Acieno, 2000] e [Kumar, Shekhar e Amin, 1994], trabalhos utilizando redes neuraisartificiais de funções de base radial como [Fakhraie, Farshbaf e Smith, 1994] e [Yange Paindavoine, 2005] e também é possível citar trabalhos em neurocomputadores como[Glesner e Poechmueller, 1994] e [Strey e Avellana, 1996].

No trabalho [Souza e Fernandes, 2014] é proposta a implementação de uma rede neu-ral do tipo RBF (Radial Basis Function) em FPGA utilizando a ferramenta de desenvol-vimento em nível de sistema System Generator. Os autores realizam diversas análises dedesempenho e utilização de recursos de hardware para dois cenários: a implementaçãoda função lógica booleana XOR e a interpolação da função seno. São utilizadas diversasrepresentações numéricas em ponto fixo nos dois casos e as funções de base radial nosneurônios artificiais são aproximadas por meio do registro dos pontos das funções emtabelas LUT.

2.1 ConclusãoMuitos trabalhos vem sendo desenvolvidos na área de implementação de RNAs

em hardware. Independente da arquitetura da rede utilizada ou da plataforma de desen-volvimento, a implementação das funções de ativação não-lineares é uma preocupaçãorecorrente, de forma que algumas técnicas são utilizadas com o objetivo de reduzir ocusto de recursos de hardware necessário nessas implementações, cada uma com suascaracterísticas, vantagens e desvantagens. Esse trabalho propõe uma técnica alternativanas implementações das funções de ativação em hardware digital, visando permitir que osrecursos de hardware nas plataformas sejam utilizados para a expansão das arquiteturasdos sistemas neurais.

Page 30: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

12 CAPÍTULO 2. ESTADO DA ARTE

Page 31: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Capítulo 3

Redes Neurais Artificiais

Os primeiros trabalhos sobre redes neurais artificiais foram publicados há mais de 50anos, porém, a pesquisa em relação ao tema iniciou um forte avanço somente na décadade 1990 com a publicação de trabalhos em diversas áreas e a proposição de métodos queincrementaram a eficiência no treinamento das redes. Neste capítulo serão abordadosaspectos das redes neurais artificiais que fazem parte da base que estrutura as implemen-tações propostas nesse trabalho.

3.1 Principais CaracterísticasAs redes neurais artificiais constituem modelos computacionais inspirados no sistema

nervoso biológico, de forma que podem representar mecanismos autônomos dotados deinteligência. São constituídas de unidades de processamento chamadas de neurônios arti-ficiais, interconectados por meio de sinapses neurais artificiais (pesos sinápticos), repre-sentadas através de vetores que interligam cada unidade de neurônio artificial. Algumasdas principais características das redes neurais artificiais são descritas a seguir:

1. Mecanismos adaptativos: A adaptação dos pesos sinápticos de uma rede neural ar-tificial é realizada por meio de conjuntos de amostras que representem o funcio-namento adequado da rede aplicada a um determinado problema, de forma que arede possui a capacidade de adaptar-se por meio do conhecimento adquirido pelaexperimentação.

2. Capacidade de aprendizagem: As redes neurais artificiais possuem a capacidade deaprendizagem de acordo com algoritmos de treinamento aplicados que ajustam assinapses artificiais por meio da observação do estado atual da rede e do estadodesejado.

3. Capacidade de generalização: As redes neurais artificiais treinadas são capazes deestimar soluções para entradas que não faziam parte do conjunto inicial de amostrasde treinamento, ou seja, são capazes de generalizar seu aprendizado.

4. Classificador natural: Uma rede neural artificial é capaz de classificar padrões deforma que, baseada em características inerentes a um conjunto de dados referentesa um determinado problema, as amostras que apresentem características em comumserão classificadas e agrupadas, possibilitanto a visualização dos padrões identifi-cados em um conjunto de dados.

Page 32: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

14 CAPÍTULO 3. REDES NEURAIS ARTIFICIAIS

5. Paralelismo inerente: As redes neurais artificiais são sistemas paralelos e distribuídospor natureza, de forma que o processo de aprendizagem não seja comprometido pelafalha de um ou mais neurônios artificiais.

3.2 Neurônio Biológico e Neurônio ArtificialComo dito anteriormente, as redes neurais artificias são compostas por conjuntos de

unidades de processamento, chamadas de neurônios artificias, que por sua vez são inspi-radas nos neurônios biológicos presentes no nosso sistema nervoso.

Os neurônios são as células elementares do sistema nervoso cerebral e são processa-dores biológicos operando em paralelo. Juntos eles compõem uma grande rede neuralbiológica. Assim como outras células biológicas os neurônios são dotados de núcleo eoutros elementos celulares. Cada um (ou conjunto) desses neurônios é responsável pelaprodução e controle de ações de acordo com as suas funcionalidades, tais como a memo-rização de informações no nosso cérebro.

Figura 3.1: Estrutura básica de um neurônio biológico. As celulas contêm elementoscomo corpo celular (Soma), núcleo, axiônios, dentritos e terminações sinápticas [Silva,Spatti e Flauzino, 2010].

O funcionamento básico de um neurônio biológico se resume no seguinte: o corpocelular (também chamado de soma) de um neurônio é responsável pelo processamento detodas as informações oriundas de seus dentritos (vários prolongamentos finos que captamos estímulos vindos de outros neurônios). É então gerado um determinado potencial deativação de acordo com o processamento das informações vindas dos dentritos pelo corpocelular do neurônio. Esse potencial de ativação indica se o neurônio poderá ou não dispa-rar um estímulo para outro neurônio através de seu axônio (prolongamento único capazde propagar os estímulos do neurônio biológico). As terminações do axônio também sãoconstituidas de finos prolongamentos chamados de terminações sinápticas. A estruturabásica de um neurônio biológico pode ser vista na figura 3.1.

Os estímulos transmitidos e recebidos pelos neurônios biológicos são impulsos elétri-cos. Como dito anteriormente, esses impulsos são transmitidos de um neurônio pelo seuaxiônio até suas terminações sinápticas (sinapses). As sinapses por sua vez estabelecem

Page 33: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

3.2. NEURÔNIO BIOLÓGICO E NEURÔNIO ARTIFICIAL 15

as conexões que permitem a transferência dos impulsos elétricos vindos do axiônio deum neurônio para os dentritos de outros neurônios. A transmissão dos impulsos é reali-zada sem a existência de contato físico entre os elementos neuronais mas sim através desubstâncias neurotransmissoras entre as sinapses e os dentritos responsáveis também porponderar os estímulos.

As redes neurais biológicas inspiraram as redes neurais artificiais. As unidades deprocessamento que compõem as RNAs são modelos simplificados dos neurônios biológi-cos. Os neurônios artificiais são elementos não-lineares que possuem uma simples fun-ção: coletar os sinais em seu conjunto de entrada, agregá-los de acordo com sua funçãooperacional e produzir uma saída levando em consideração a sua função de ativação.

O modelo de neurônio mais simples e que engloba as principais características deuma rede neural biológica (alto grau de paralelismo e conectividade) foi proposto por[McCulloch e Pitts, 1943] na década de 40.

Nesse modelo, cada neurônio da rede pode ser implementado conforme mostra a fi-gura 3.2.

Figura 3.2: Primeiro modelo computacional de um neurônio biológico proposto por Mc-Culloch e Pitts [McCulloch e Pitts, 1943].

O conjunto {x1,x2, ...,xn} é análogo aos impulsos elétricos vindos das sinapses de umneurônio biológico até os dentritos de outro neurônio. Em uma rede neural artificial esseconjunto representa os diversos sinais de entrada (meio externo).

As substâncias neurotransmissoras realizam as ponderações dos estímulos que che-gam nos dentritos de um neurônio biológico. Essas ponderações são representadas peloconjunto {w1,w2, ...,wn}. De forma análoga ao processo biológico, cada entrada xi é pon-derada pelo seu respectivo peso sináptico wi. Além disso, existe o limite de ativação Θ,que especifica o limiar que deve ser atingido para que seja gerado um valor de disparoem direção à saída do neurônio. Esse limite é ponderado por w0. Dessa forma, podemosver que a saída y é função de uma combinação linear das entradas ponderadas por seusrespectivos pesos sinápticos e do limite de ativação Θ ponderado por w0, como pode ser

Page 34: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

16 CAPÍTULO 3. REDES NEURAIS ARTIFICIAIS

observado na expressão

y = f (n

∑i=1

wixi +Θw0). (3.1)

A função f é chamada de função de ativação e seu objetivo é limitar o valor de saídaproduzido pelo neurônio dentro de um intervalo de valores razoáveis de acordo com anatureza da função.

As funções de ativação podem ser de dois grupos principais: funções parcialmentediferenciáveis e funções totalmente diferenciáveis. As funções de ativação parcialmentediferenciáveis são aquelas que possuem pontos onde as suas derivadas de primeira ordemsão inexistentes. Alguns exemplos dessas funções são detalhadas a seguir:

Função degrau (heavyside hard limiter): Nessa função, a saída do neurônio artificialserá 1 sempre que o seu potencial de ativação for superior a zero. Caso contrá-rio, a saída do neurônio assumirá valores nulos [Silva, Spatti e Flauzino, 2010]. Arepresentação matemática da função degrau pode ser vista na equação

f (u) ={

1, u≥ 00, u < 0.

(3.2)

A representação gráfica da função pode ser vista na figura 3.3.

Figura 3.3: Função de ativação degrau.

Função degrau bipolar (symmetric hard limiter): Nesse caso, a saída do neurônio ar-tificial poderá assumir três valores: 1 sempre que o seu ponencial de ativação formaior que zero, zero sempre o seu potencial de ativação for nulo e −1 quando seupontecial de ativação for menor que zero [Silva, Spatti e Flauzino, 2010]. A função

Page 35: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

3.2. NEURÔNIO BIOLÓGICO E NEURÔNIO ARTIFICIAL 17

é representada matematicamente pela expressão

f (u) =

1, u > 00, u = 0−1, u < 0.

(3.3)

Na figura 3.4 é possível visualizar a representação gráfica da função degrau bipolar.

Figura 3.4: Função de ativação degrau bipolar.

Função rampa simétrica: A saída do neurônio artificial será o próprio potencial de ati-vação do neurônio se este estiver definido no intervalo dos limites da rampa [-a, a].Caso contrário, a saída do neurônio será o limite superior a quando o pontencial deativação for maior que a e −a quando o potencial de ativação for menor que −a[Silva, Spatti e Flauzino, 2010], como pode ser visto na expressão

f (u) =

a, u > au, −a≤ u≤ a−a, u < a.

(3.4)

A representação gráfica da função pode ser vista na figura 3.5.

As funções de ativação totalmente diferenciáveis são aquelas onde as derivadas deprimeira de todos os seus pontos são conhecidas. As principais funções desse grupo sãodescritas a seguir:

Função logística: A saída do neurônio será o resultado da equação matemática

f (u) =1

1+ e−βu. (3.5)

O resultado da equação sempre será um valor real entre zero e um e β é uma cons-tante real associada ao nível de inclinação da função logística. A representaçãográfica da função pode ser vista na figura 3.6 [Silva, Spatti e Flauzino, 2010].

Page 36: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

18 CAPÍTULO 3. REDES NEURAIS ARTIFICIAIS

Figura 3.5: Função de ativação rampa simétrica.

Figura 3.6: Função de ativação logística para β = 0.5.

Page 37: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

3.3. PROCESSO DE TREINAMENTO 19

Função tangente hiperbólica: O resultado da saída do neurônio artificial será calculadode acordo com a expressão matemática

f (u) =1− e−βu

1+ e−βu. (3.6)

A saída do neurônio sempre asumirá valores reais entre −1 e 1. A constante β

também está associada ao nível de inclinação da curva tangente hiperbólica [Silva,Spatti e Flauzino, 2010]. A representação gráfica da função pode ser vista na figura3.7.

Figura 3.7: Função de ativação tangente hiperbólica para β = 2.

Função gaussiana: Nessa função, a saída do neurônio artificial será calculada de acordocom a equação matemática

f (u) = e−(u−c)2

2σ2 . (3.7)

Nesse caso, a saída do neurônio será igual para aqueles valores de u que estejamlocalizados a uma mesma distância do centro da função [Silva, Spatti e Flauzino,2010]. A representação gráfica da função pode ser vista na figura 3.8.

Função linear: A saída do neurônio artificial será o seu potencial de ativação, como podeser visto na expressão [Silva, Spatti e Flauzino, 2010]

f (u) = u. (3.8)

A representação gráfica da função pode ser vista na figura 3.9.

3.3 Processo de TreinamentoAs redes neurais artificiais possuem a capacidade de generalização a partir da apresen-

tação de um conjunto de amostras contendo entradas e suas respectivas saídas desejadas

Page 38: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

20 CAPÍTULO 3. REDES NEURAIS ARTIFICIAIS

Figura 3.8: Função de ativação gaussiana para com centro em zero e desvio padrão σ =0.5.

Figura 3.9: Função de ativação linear.

Page 39: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

3.4. CONCLUSÃO 21

[Silva, Spatti e Flauzino, 2010]. Dessa forma, por meio de um processo de treinamentoas redes neurais artificiais podem aprender o comportamento do sistema como um todo efornecer saídas muito próximas das saídas desejadas para qualquer entrada.

O processo de treinamento de uma rede neural é a aplicação de um algoritmo deaprendizagem que irá iterativamente ajustar os pesos sinápticos da rede neural até queestejam em sintonia com a função que desejamos aproximar.

3.3.1 Paradigmas de TreinamentoExistem dois principais paradigmas de treinamento: supervisionado e não-supervisionado.

1. Supervisionado: No treinamento supervisionado existe a presença do professor, quefornece as entradas de treinamento para a rede neural artificial e suas respectivassaídas desejadas, caracterizando assim as amostras do conjunto de treinamento.Dessa forma, por meio de uma regra de ajuste, os pesos sinápticos são atualizadosde acordo com a distância das saídas apresentadas pela rede e das saídas desejadas.Uma das principais regras de ajuste dos pesos sináptios é a regra de aprendizado deHebb, vista na equação

w(n+1) = w(n)+η(d(n)− y(n))x(n), (3.9)

onde w(n) são os pesos sinápticos atuais, η é a taxa de aprendizado da rede, d é asaída deseja, y(n) é a saída da rede e x é a entrada da rede.

2. Não-supervisionado: No treinamento não-supervisionado as amostras de treinamentonão possuem as saídas desejadas de cada entrada da rede neural artificial, dessaforma, não há a figura do professor. Nos algoritmos de treinamento não-supervisionadosnormalmente a rede neural artificial deverá ajustar os pesos sinápticos de forma arefletir as similaridades correlacionárias do conjunto de amostras indetificadas noprocesso de auto-organização em clusters da rede neural. Normalmente o treina-mento competitivo é utilizado no paradigma não-supervisionado, de forma que osneurônios competem entre si em uma abordagem o vencedor leva tudo.

3.4 ConclusãoNesse capítulo foram discutidos aspectos das RNAs como a arquitetura básica de um

neurônio artificial, tipos de função de ativação e processo de treinamento. Algumas fun-ções de ativação comuns nas implementações de RNAs apresentam características não-lineares, de forma que, nas implementações das RNAs em hardware, as funções de ativa-ção são realizadas por meio de técnicas de projeto visando reduzir o custo de implementa-ção dessas funções. O capacitor ferroelétrico possui um ciclo de histerese que pode ter seucomportamento modelado por uma função tangente sigmoide, de forma que esse compo-nente eletrônico pode ser utilizado na implementação de RNAs em hardware substituindoas técnicas comuns de realização das funções de ativação.

Page 40: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

22 CAPÍTULO 3. REDES NEURAIS ARTIFICIAIS

Page 41: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Capítulo 4

Neurônios Ferroelétricos

Nesse trabalho é proposta a implementação, sintetização e validação em plataformade hardware digital reconfigurável dos modelos de neurônios artificiais Perceptron e Spi-king Neuron utilizando um modelo comportamental do ciclo de histerese de um capacitorferroelétrico. Existem dois grupos de modelos do ciclo de histerese de um capacitorferroelétrico: os modelos baseados em aspectos físicos e os modelos baseados nos as-pectos comportamentais. Nesse trabalho será utiizado o modelo comportamental, já queo mesmo não requer um conhecimento aprofundado da teoria do capacitor ferroelétricomas sim uma observação cuidadosa acerca do comportamento do capacitor ferroelétricodo ponto de vista de um circuito elétrico. Além disso, o modelo comportamental utili-zado consiste em uma aproximação matemática que utiliza a função tangente hiperbólicano mapeamento do ciclo de histerese do capacitor, possibilitando o estudo do mesmocomo função de ativação de neurônios artificiais.

4.1 Modelo Matemático do Capacitor Ferroelétrico

Muitas pesquisas têm sido realizadas com o obejetivo de modelar os aspectos compor-tamentais de um capacitor ferroelétrico desde que eles foram introduzidos como elemen-tos de armazenamento em aplicações de memórias não-voláteis integradas ([Sheikholes-lami e Gulak, 1997]).

Nesse trabalho será utilizado o modelo matemático baseado na simetria do ciclo dehisterese proposto em [Miller, Schwank, Nasby e Rodgers, 1991]. Nesse modelo o ciclode polarização saturada do capacitor é aproximado utilizando duas funções hiperbólicas,vistas nas equações

P+sat(E) = Pstanh[

E−Ec

2δ] (4.1)

e

P−sat(E) =−P+sat(−E) (4.2)

onde P+sat(E) e P−sat(E) representam as curvas positiva e negativa respectivamente do ciclo

de histerese. Ps e Ec são a polarização de saturação e o campo coercivo extraido de umcicleo de histerese real e são ambos conhecidos. Com Ps e Ec fixos, δ é especificado

Page 42: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

24 CAPÍTULO 4. NEURÔNIOS FERROELÉTRICOS

somente pelo termo Pr, a polarização remanescente, por meio da equação

δ = Ec[ln(1+Pr/Ps

1−Pr/Ps)]−1. (4.3)

Na figura 4.1 podemos observar o ciclo de histerese do capacitor. A simetria emrelação à origem é garantida pela equação 4.2.

Figura 4.1: A aproximação do ciclo de polarização saturada com base no comportamentodo capacitor ferroelétrico em um circuito elétrico utilizando as funções tangente hiperbó-licas. Os valores utilizados foram retirados de um ciclo de histerese real: Ps = 23µC/cm2,Pr = 15µC/cm2, e Ec = 40kV/cm2 [Guerreiro, 2004].

O modelo matemático nos proporciona uma boa aproximação do comportamento deum capacitor ferroelétrico em estado estacionário, de forma que para esse trabalho essemodelo é suficiente.

4.2 Capacitor Ferroelétrico como Função de AtivaçãoNesse trabalho o ciclo de histerese de um capacitor ferroelétrico será utilizado como

função de ativação de dois modelos de neurônios artificiais: o Perceptron e o SpikingNeuron. Os neurônios artificiais resultantes são chamados de FePerceptron e SpikingFeNeuron.

4.2.1 Modelo FePerceptronEm 1958, o psicólogo americano Rosemblatt propôs um modelo computacional de

um neurônio que ele chamou de Perceptron ([Rosemblatt, 1958]). Um neurônio é uma

Page 43: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

4.2. CAPACITOR FERROELÉTRICO COMO FUNÇÃO DE ATIVAÇÃO 25

unidade de processamento de informação que é fundamental para a operação de uma redeneural ([Haykin, 2001]).

O modelo do neurônio perceptron possui três elementos básicos, como pode ser ob-servado na figura 4.2:

Figura 4.2: O modelo do neurônio Perceptron de Rosemblatt com duas entradas.

1. Sinapses que são caracterizadas pelos pesos sinápticos (Synaptic Weights).2. Um combinador linear Σ que realiza a soma dos sinais de entrada (Input) ponderados

pelos seus respectivos pesos sinápticos e o limite de ativação Θ, ou Bias, tambémponderado por seu respectivo peso.

3. Uma função de ativação não-linear (Φ(v)) que limita a amplitude da saída para umconjunto de valores específicos.

O limite de ativação externo Θ tem o efeito de aumentar ou diminuir a entrada dafunção de ativação, dependendo se ele é positivo ou negativo. O perceptron consisteem um combinador linear seguido de uma função não-linear. As entradas xi ponderadaspelas conexões sinápticas wi são somadas juntamente com o limite de ativação tambémponderado por w0. A soma resultante é o potencial de ativação do neurônio e é aplicada àfunção de ativação não-linear denotada por Φ(v). Essa função define a saída do neurônioem relação ao potencial de ativação v e é geralmente uma função sigmoid. Os pesossinápticos modelam as terminações sinápticas enquanto que a saída do neurônio modelaa taxa de disparo dos neurônios biológicos. O limite de ativação Θ é normalmente fixadono valor +1.

O modelo do neurônio Perceptron pode ser descrito matematicamente de acordo comas equações:

v =p

∑j=1

w jx j (4.4)

Page 44: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

26 CAPÍTULO 4. NEURÔNIOS FERROELÉTRICOS

e

y = Φ(v+w0Θ). (4.5)

A capacidade de aprendizado de uma rede neural artificial é uma de suas caracterís-ticas mais importantes. O aprendizado pode ser relacionado a uma melhoria no desem-penho do sistema. Isso é alcançado através da minimização do erro, auto-organizaçãoda informação em classes através de suas correlações e a maximização de recompensasem um sistema baseado no paradigma tentativa-e-erro. Na prática, o aprendizado de umarede neural artificial é alcançado através do ajuste de seus parâmetros livres.

O modelo FePerceptron (visto na figura 4.3) utiliza o capacitor ferroelétrico como suaunidade básica e é composto por um conjunto de sinais de entrada xi, um conjunto depesos sinápticos wi funcionando como resistores, combinando linearmente os sinais deentrada. O resultado da combinação linear é aplicado ao ciclo de histerese do capacitorferroelétrico que opera como a função de ativação do neurônio artificial perceptron, resul-tando na saída do modelo. Devido a simetria do ciclo de histerese só é necessário utilizarum lado da sua curva característica, de acordo com o modelo matemático comportamentalutilizado.

Figura 4.3: O modelo do neurônio FePerceptron.

Dessa forma, a saída y (Output) do neurônio FePerceptron é descrita matematicamente

Page 45: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

4.2. CAPACITOR FERROELÉTRICO COMO FUNÇÃO DE ATIVAÇÃO 27

de acordo com a equação

y = P+sat(

p

∑j=1

w jx j +w0Θ). (4.6)

O objetivo do modelo, nesse caso, é classificar corretamente o conjunto de estímulosexternos {x1,x2, ...,xp} em duas classes. Nesse trabalho nós utilizamos o FePerceptronpara implementar funções lógicas booleanas de duas entradas, portanto nossa rede neuralartificial é composta por uma única camada com um nerônio de duas entradas, o limite deativação e uma saída.

4.2.2 Simulação do Modelo FePerceptron

O modelo FePerceptron foi simulado com o objetivo de verificar a sua capacidade derealizar as operações lógicas booleanas referentes as portas lógicas AND, OR, NAND eNOR. Foi desenvolvido um código em ambiente Matlab onde as portas lógicas simuladaspossuem uma arquitetura de um único neurônio.

No código gerado os pesos sinápticos são calculados de forma iterativa com basena minimização de uma função erro. O algoritmo utiliza um paradigma supervisionadode treinamento, ou seja, a saída desejada é conhecida no processo de treinamento doneurônio artificial. As saídas desejadas são obtidas de acordo com as tabelas da verdadedas respectivas portas lógicas simuladas pelo FePerceptron.

O algoritmo de treinamento é descrito a seguir:Variáveis e parâmetros:Entradas: x(n) = [Θ x1 x2]T

Pesos sinápticos: wn = [w0 w1 w2]T

Saída do neurônio: ynSaída desejada: dnTaxa de aprendizado, ou uma constante positiva menor que 1: η

MSE (Erro quadrático médio): error(n)

1. Inicialização: wn obtido aleatoriamente.2. Calcular a saída do neurônio até que o erro seja mínimo, por meio da equação 4.6.3. Ajuste dos pesos sinápticos e cálculo do erro, de acordo com a equação:

e(n) = d(n)− y(n), (4.7)

onde

w(n+1) = w(n)+η[e(n)]x(n), (4.8)

e o cálculo do MSE por meio da equação

error(n) =12 ∑

j∈Γ

e2(n), (4.9)

Page 46: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

28 CAPÍTULO 4. NEURÔNIOS FERROELÉTRICOS

onde Γ inclui todos os neurônios na camada de saída da rede FePerceptron. Nocaso, é utilizado somente um neurônio.

4. Incremento n = n+1. Retornar ao passo 2.

Após o processo de treinamento os pesos sinápticos são calculados e podem ser utili-zados para simular as respectivas portas lógicas. Os resultados do treinamento podem serobservados nas tabelas 4.1 e 4.2. Nas figuras 4.4 e 4.5 é possível visualizar as curvas deaprendizado para cada porta lógica simulada. Essas curvas mostram a evolução do erroquadrático médio a medida que o treinamento avança, ou seja, número de iterações au-menta. É possível observar também que para todas as portas lógicas simuladas o MSE seaproximou de zero, o que representa que as saídas do neurônio se aproximam das saídasdesejadas satisfatoriamente.

Porta lógica booleana w1 w2 w3 Erro mínimo IteraçõesAND 0.6389 0.6389 -0.3759 0.0000059874 8

NAND -0.6503 -0.6503 1.5709 0.0000059874 11OR 0.7089 0.7089 0.2528 0.0000020539 9

NOR -0.6688 -0.6688 0.9145 0.0000052702 8

Tabela 4.1: Parâmetros de treinamento calculados na simulação do neurônio FePerceptronpara cada porta lógica.

Porta lógica Saídas calculadas Saídas desejadasAND -0.0006 0.0015 0.0015 0.9981 0 0 0 1

NAND 1 0.9988 0.9988 0.0017 1 1 1 0OR 0.0013 1 1 1 0 1 1 1

NOR 0.9985 0.0011 0.0011 -0.0009 1 0 0 0

Tabela 4.2: Saídas calculadas na simulação do neurônio FePerceptron em relação as saí-das desejadas.

Analisando os resultados das tabelas 4.1 e 4.2, é possível observar que o FePerceptronfoi capaz de simular as portas lógicas booleanas AND, NAND, OR e NOR, validando aproposta do neurônio ferroelétrico.

A simplicidade do modelo pode ser extendida para implementações em hardware,onde para alterar o tipo de porta lógica utilizada basta somente alterarmos parâmetrosnuméricos do projeto.

4.2.3 Modelo Spiking FeNeuronOs neurônios artificiais de disparo (Spiking Neurons) são modelos biofísicos que ten-

tam descrever as propriedades de neurônios biológicos através da modelagem do fluxo in-tegrado dos sinais através das regiões do neurônio. Os sinais de disparo (spikes), oriúndosde neurônios biológicos pré-sinápticos, são ponderados, somados e então são submetidos

Page 47: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

4.2. CAPACITOR FERROELÉTRICO COMO FUNÇÃO DE ATIVAÇÃO 29

Figura 4.4: As curvas de aprendizado das portas lógicas AND e NAND.

Figura 4.5: As curvas de aprendizado das portas lógicas OR e NOR.

Page 48: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

30 CAPÍTULO 4. NEURÔNIOS FERROELÉTRICOS

a uma função limitadora. O modelo Spiking FeNeuron é um modelo discreto, baseado noneurônio BCN ([Guerreiro, 2004]). O neurônio é composto por uma camada de entrada,pesos sinápticos, filtros recursivos de primeira ordem (First Order IIR τi j), um soma, umafunção limitadora ξ() e um potencial da membrana Membrane Potencial. Os spikes deentrada são ponderados por seus respectivos pesos sinápticos e passam através dos fil-tros recursivos de primeira ordem. O soma é responsável por realizar uma combinaçãolinear entre as saídas dos filtros e o limite de ativação dinâmico (resultado da soma dolimite de ativação estático e o potencial da membrana) do ciclo de realimentação gerandoum potencial de ativação. A função limitadora por sua vez compara o potencial geradopelo soma e o limite de ativação dinâmico e caso o potencial exceda o limite de ativaçãodinâmico um spike é gerado.

Um neurônio i que recebe entradas de neurônios pré-sinápticos j ∈ Γ j pode ser defi-nido de acordo com a equação

Γ j = { j/ j pré-sináptico para i}. (4.10)

O modelo Spiking FeNeuron discreto considera o valor “1"para um spike gerado eo valor “0"para a ausência de um spike. As entradas ponderadas pelos seus respectivospesos sinápticos passam através dos filtros recursivos de primeira ordem e as saídas dosfiltros são somadas. A saída dos filtros recursivos pode ser observada na equação

u f i j(n) = e−( T

τi j)u f i j(n−1)+wi j(n)xi j, (4.11)

onde xi j são os spikes de entradas, wi j são os pesos sinápticos, τi j é a constante de atrasodo filtro recursivo e u f i j(n) é a saída do filtro recursivo em um instante de tempo n.

O limite de ativação dinâmico é descrito pela equação

Θ(n) = Θ0 +Θ1(n), (4.12)

onde Θ0 é uma constante que representa o limite de ativação estático.O limite de ativação Θ1(n) é gerado pelo potencial da membrana e pode ser descrito

na equação

Θ1(n) = pi(n)ri(n), (4.13)

onde pi(n) é a saída do filtro recursivo de primeira ordem do ciclo de realimentação.O termo ri(n) é descrito de acordo com a equação

ri(n) = ξ(| pi(n) | −p

∑j=1

xi j(n)), (4.14)

onde p é o tamanho do vetor de entrada.No modelo Spiking FeNeuron a função ξ() é implementada pelo ciclo de histerese

do capacitor ferroelétrico. Como visto anteriormente, o ciclo de histerese do capacitorferroelétrico pode ser aproximado matematicamente utilizando uma função tangente hi-perbólica (equação 4.1) de acordo com observações comportamento do capacitor em umcircuito elétrico. No neurônio BCN a função ξ() é representada por meio da função er f ,

Page 49: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

4.2. CAPACITOR FERROELÉTRICO COMO FUNÇÃO DE ATIVAÇÃO 31

de acordo com a equação

ξ(v) =12

+12(er f (

v2k

)). (4.15)

A equação do filtro recursivo de primeira ordem do ciclo de realimentação do neurônioé descrito na equação

pi(n) = api(n−1)+gi(n), (4.16)

onde gi(n) depende da saída atual do neurônio yi(n) e do termo ri(n) (equação 4.17), ouseja,

gi(n) = ξ(ri(n)− yi(n)). (4.17)

Portanto, o estado atual do neurônio mpi pode ser escrito de acordo com a equação

mpi(n) =−{Θ0 + pi(n)ri(n)}+ ∑j∈τ

u f i j(n). (4.18)

A saída do neurônio yi(n) pode ser descrita como visto na equação

yi = ξ(mpi(n)). (4.19)

Todo o processo pode ser visto na figura 4.6. Na figura podemos observar também queΘ1(n) depende da realimentaçao das entradas e do saída do neurônio. O filtro recursivo deprimeira ordem do ciclo de realimentação possui coeficiente de atraso igual a a. O valorabsoluto da saída do filtro pi(n) é subtraída da soma das entradas. O resultado é submetidoà função ξ(), resultando em ri(n). Como dito anteriormente, a função ξ() é implementadapela aproximação matemática do ciclo de histerese do capacitor ferroelétrico. O resultadori(n) é igual a 1 quando a saída do filtro for igual ou maior do que a soma dos sinaisde entrada, e 0 caso contrário. O termo ri(n) é multiplicado por pi(n), gerando Θ1(n),que por sua vez é somado com o limite de ativação estático Θ0, resultando no limitede ativação dinâmico Θ, que é a saída do bloco do potencial da membrana. O limite deativação dinâmico acumula carga até que um spike seja gerado e os filtros sejam resetados.Dessa forma, problemas não-lineares como a porta lógica XOR podem ser resolvidos comum único neurônio utilizando a função limitadora ξ() como função de ativação.

4.2.4 Simulação do Modelo Spiking FeNeuron

A simulação do modelo Spiking FeNeuron, assim como no caso do FePerceptron,consiste basicamente em 4 etapas. São elas:

1. Entrada: As entradas/estímulos pré-sinápticas independentes multiplicadas por seusrespectivos pesos sinápticos:

αi j(n) = wi j(n)xi j(n). (4.20)

Page 50: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

32 CAPÍTULO 4. NEURÔNIOS FERROELÉTRICOS

Figura 4.6: O modelo discreto Spiking FeNeuron [Guerreiro, 2004].

2. Filtros recursivos: Os sinais de entrada ponderados por seus respectivos passam atravésdos filtros recursivos de primeira ordem:

u f i j(n) = αi j(n)+ e− T

τi j u f i j(n−1). (4.21)

3. Cálculo da saída: Os sinais dos filtros recursivos são somados (potencial gerado pelosoma) e posteriormente subtraídos do limite de ativação dinâmico produzido pelopotencial da membrana. Se o potencial exceder o limite de ativação dinâmico, umspike de saída será gerado, de acordo com as equações 4.19, 4.18, 4.17 e 4.14. NoSpiking FeNeuron a função ξ representa o ciclo de histerese do capacitor ferroelé-trico, de acordo com a equação:

ξ(v) = P+sat(v). (4.22)

Se for gerado um spike de saída os filtros são resetados. Caso contrário os filtrosacumulam potencial.

4. Aprendizado: Ajuste dos pesos sinápticos de acordo com a equação

wi j(n+1) = wi j(n)+ γ(di(n)− yi(n))xi j(n), (4.23)

onde si(n) é a saída desejada, yi(n) é a saída do neurônio, xi j(n) são as entradas e γ

é a taxa de aprendizado.

O modelo Spiking FeNeuron foi utilizado para implementar as funções lógicas boole-anas referentes às portas lógicas de duas entradas AND, NAND, OR, e XOR. O problema

Page 51: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

4.2. CAPACITOR FERROELÉTRICO COMO FUNÇÃO DE ATIVAÇÃO 33

se resume na separação dos dados em duas classes, 0 ou 1 e o conjunto de entradas é com-posto de 4 possibilidades: (0,0), (0,1), (1,0) e (1,1). Para obtermos os pesos sinápticos dasrespectivas portas lógicas basta alterarmos os valores das saídas desejadas no algoritmode treinamento.

Nas figuras 4.7 e 4.8 nós podemos observar as curvas de aprendizado do modelo Spi-king FeNeuron para as portas lógicas AND, NAND, OR e NOR. Na figura 4.9 podemosobservar a curva de aprendizado do modelo Spiking FeNeuron para a porta lógica XOR.

Figura 4.7: As curvas de aprendizado para as portas lógicas AND e NAND, utilizando omodelo Spiking FeNeuron.

Figura 4.8: As curvas de aprendizado para as portas lógicas OR e NOR utilizando omodelo Spiking FeNeuron.

Na tabela 4.3 é possível observar os pesos sinápticos calculados para cada porta ló-gica implementada, os coeficientes dos filtros recursivos de primeira ordem utilizados nas

Page 52: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

34 CAPÍTULO 4. NEURÔNIOS FERROELÉTRICOS

Figura 4.9: A curva de aprendizado para a porta lógica XOR utilizando o modelo SpikingFeNeuron.

simulações em software, as taxas de aprendizado utilizadas no processo de treinamento,além do erro mínimo calculado.

Parâmetros AND NAND OR NOR XORwi j 0.48/0.48 -0.39/0.69 0.98/0.98 0.33/-0.79 0.568/-0.255τi j 0.01/0.01 0.01/0.01 0.01/0.01 0.01/0.01 0.01/0.01γ 0.01 0.01 0.01 0.01 0.01

Erro mínimo 0 0 0 0 0Iterações 5 6 11 12 8

Tabela 4.3: Parâmetros obtidos e utilizados para cada porta lógica no modelo SpikingFeNeuron.

A tabela 4.4 contém as saídas calculadas do neurônio para cada porta lógica imple-mentada nas simulações em software, levando em consideração os vetores de entradaEntrada1 e Entrada2.

Entrada1 Entrada2 AND NAND OR NOR XOR0 0 0 1 0 1 00 1 0 1 1 0 11 0 0 1 1 0 11 1 1 0 1 0 0

Tabela 4.4: Saídas calculadas na simulação do neurônio Spiking FeNeuron.

De forma semelhante ao FePerceptron, é possível observar nas tabelas 4.3 e 4.4 que oSpiking FeNeuron também foi capaz de simular as portas lógicas booleanas, incluindo a

Page 53: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

4.3. CONCLUSÃO 35

XOR, validando a proposta do neurônio ferroelétrico.

4.3 ConclusãoNesse capítulo foram discutidos aspectos da utilização do capacitor ferroelétrico

como função de ativãção de neurônios artificiais implementados em hardware. Foi pos-sível realizar a validação dos modelos do FePerceptron e do Spiking FeNeuron, ambosimplementando a lógica booleana, possibilitando o estudo das duas arquiteturas em pla-taforma de hardware digital.

Page 54: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

36 CAPÍTULO 4. NEURÔNIOS FERROELÉTRICOS

Page 55: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Capítulo 5

Neurônios Fe em FPGA e ResultadosObtidos

O objetivo principal desse trabalho é a implementação da lógica booleana através demodelos sintetizáveis em plataforma de hardware reconfigurável de dois neurônios arti-ficiais, denominados de FePerceptron e Spiking FeNeuron. Ambos utilizando o modelomatemático do comportamento do ciclo de histerese do capacitor ferroelétrico como fun-ção de ativação. Esses neurônios foram implementados e testados em ambiente Matlab.Em hardware, a implementação de ambos os neurônios foi abordada de duas formas:inicialmente os neurônios foram implementados utilizandos os pesos sinápticos calcula-dos por meio dos resultados obtidos nas suas simulações em ambiente Matlab, de formaque não houvesse a retroalimentação da etapa de aprendizado. A segunda abordagem foiimplementar também as etapas de aprendizagem para cada neurônio e verificar a efici-ência do ciclo de aprendizagem assistida dos neurônios Fe em hardware reconfigurável.Nesse capítulo ambas as implementações e os seus resultados obtidos serão abordados emdetalhes.

A implementação dos modelos sintetizáveis em hardware foi realizada através dosoftware DSP Builder da Altera Corporation em conjunto com o Mathworks Simulink. Aversão utilizada do software DSP Builder foi a 5.0.

Os modelos em Simulink utilizam os blocos sintetizáveis disponíveis no software DSPBuilder, que possibilitam o desenvolvimento de modelos de hardwares digitais, a sinteti-zação dos mesmos em uma placa de hardware reconfigurável e a visualização das amos-tras e resultados obtidos gerados pela placa de hardware. Em relação à representaçãodigital das amostras foi utilizada uma representação de ponto-fixo, sendo 8 bits para aspartes inteira e fracionária, totalizando 16 bits de representação binária para cada amostrade sinal. A representação de 8 bits na parte inteira oferece uma precisão além do neces-sário nas aplicações desse trabalho, porém, o número de bits foi determinado com basena suposição da aplicação dos neurônios ferroelétricos em casos onde funções mais com-plexas que necessitem de uma alta resolução numérica na parte inteira possam tambémser aproximadas e simuladas por meio dos neurônios Fe, de forma que essa representaçãonumérica abrange uma gama maior de aplicações.

Page 56: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

38 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

5.1 Neurônios Fe com pesos pré-definidosO primeiro cenário abordado nesse trabalho é a implementação em placa de hardware

reconfigurável dos neurônios Fe com pesos sinápticos pré-definidos, calculados por meiode simulações em ambiente MATLAB. Essas implementações serão realizadas com oobjetivo de validar a arquitetura dos neurônios em hardware utilizando o ciclo de histeresedo capacitor ferroelétrico como função de ativação.

Dessa forma foram desenvolvidos os diagramas de blocos por meio de modelos Si-mulink referente aos hardwares do FePerceptron e do Spiking FeNeuron utilizando blocosespecíficos da ferramenta DSP Builder. O modelo do neurônio FePerceptron que imple-menta a porta lógica AND pode ser visto na figura 5.1. Para obter os modelos das outrasportas lógicas só é preciso alterar os valores dos pesos sinápticos para os valores respec-tivos de cada porta lógica previamente obtidos no treinamento do FePerceptron.

Figura 5.1: Modelo sintetizável referente ao hardware do FePerceptron com pesos sináp-ticos previamente calculados para a implementação da porta lógica AND.

A primeira parte do modelo (Entrada) consiste na multiplicação das entradas por seusrespectivos pesos sinápticos. No caso do neurônio FePerceptron, temos duas entradas(Constant4 e Constant5), que são necessárias para a simulação de uma porta lógica boo-leana e um limiar (com o valor padrão de 1). As duas entradas são modeladas na formade constantes do Simulink e então convertidas para sua representação digital pelos blo-cos Input do DSP Builder. Dessa forma será possível visualizar quem são os sinais das

Page 57: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.1. NEURÔNIOS FE COM PESOS PRÉ-DEFINIDOS 39

entradas nos arquivos VHDL gerados, na simulação e síntese do hardware. O limiar nãoconstitui necessariamente uma entrada de uma porta lógica booleana, mas sim um ele-mento do modelo Perceptron, por isso pode ser modelado através de uma constante doDSP Builder, que não precisa ser convertida para sua representação digital através dobloco Input, porém, as conversões para a sua representação binária é feita nas operaçõesaritméticas posteriores. Os pesos sinápticos foram calculados no treinamento e simula-ções realizdas previamente. Eles são modelados através de constantes do DSP Builderjá que, assim como o limite de ativação, não configuram entradas das portas lógicas bo-oleanas implementadas. As entradas e o limite de ativação são então multiplicados porseus respectivos pesos sinápticos através de blocos aritméticos multiplicadores do DSPBuilder, os Multipliers.

Devido à representação numérica escolhida, os multiplicadores possuem operandosde 16 bits cada, gerando assim sinais de saída de 32 bits. Os blocos de barramento doDSP Builder AltBus podem ser utilizados para alterar o tamanho das amostras resultantesnas saídas dos multiplicadores, convertendo as representações de 32 bits para 16 bits no-vamente. Nesse modo de operação do bloco AltBus, a conversão é realizada desprezandoos 8 bits mais significativos da parte inteira e os 8 bits menos significativos da parte fraci-onária de cada amostra, porém, mantendo uma precisão aceitável para as implementaçõesdas portas lógicas booleanas.

A segunda parte do modelo (Somatório) é referente ao somatório das entradas e dolimiar multiplicados pelos seus respectivos pesos sinápticos, assim como em um neurônioartificial Perceptron padrão. Esse somatório é realizado através de dois blocos aritméticossomadores do DSP Builder, os Parallel Adder Subtractor. Esses são blocos que realizam asoma/subtração dos bits de forma paralela, onde o bit mais significativo é o bit de sinal. Aspalavras binárias resultantes das operações no bloco somador possuem necessariamente amesma resolução das palavras que correspondem aos seus operandos, ou seja, 16 bits.

A terceira parte do modelo (Histerese do Capacitor Fe + Saída) se refere ao ciclo dehisterese do capacitor ferroelétrico e do cálculo do sinal de saída do FePerceptron. Comodito anteriormente, o cíclo de histerese do capacitor ferroelétrico é matematicamente apro-ximado por duas funções tangente hiperbólicas. Porém, devido a sua natureza simétricapodemos simplesmente utilizar um lado da curva caraterística da histerese do capacitor(equação 4.1), de forma que é necessário somente o cálculo da sua curva positiva.

Para o cálculo do ciclo de histerese do capacitor ferroelétrico é necessário calcularprimeiramente a função tangente hiperbólica da subtração da entrada da função E e docampo coercivo Ec dividida por 2δ. Como visto anteriormente na equação 4.1, os termosEc e 2δ são constantes, restando apenas a entrada da função E para podermos calcularo argumento da função tangente hiperbólica e consequentemente a resultado da função.Esse argumento pode ser calculado de acordo com o modelo matemático do ciclo dehisterese e seu cálculo em utilizando os blocos sintetizáveis do DSP Builder pode servisto no bloco (a) da figura 5.1. Esse cálculo realiza a subtração entre os resultados dasdivisões do valor de entrada E e da constante Ec por 2δ. As operações no bloco divisorpodem ser configuradas para realizarem divisões reais, porém, nesse caso parte do resto Rda divisão é desprezado, de forma que a divisão de B por A resulta na equação 5.1, onde

Page 58: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

40 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

Q é o quociente da divisão, ou seja

BA

= Q+R. (5.1)

A parte desprezada do resto é simplesmente o conjunto de bits excedentes em relaçãoà resolução das palavras binárias adotadas.

Após o cálculo do parâmetro da função tangente hiperbólica deve-se de fato calculara saída da função. Nesse trabalho a função tangente foi simulada em hardware por meiodo bloco Look-up Table, ou simplesmente (LUT). Os blocos LUTs no DSP Builder sãomemórias ROM que recebem um valor de entrada referente ao índice da posíção do res-pectivo valor de saída da tabela, de forma que o número de bits da representação bináriado índice de busca representa o tamanho máximo da ROM. A função tangente hiperbó-lica foi aproximada para um conjunto de 32 valores, os quais compreendem as saídas dafunção para um conjunto de valores de entrada, portanto mais um argumento da funçãoapresentará o mesmo valor de saída. O bloco AltBus3 no modelo foi configurado pararealizar um reescalonamento dos argumentos da função tangente hiperbólica para umaresolução de 5 bits, ou seja, do bit 4 (mais significativo) ao bit 0 (menos significativo)referentes aos 32 valores suportados na ROM.

Na figura 5.2 é possível observar a curva da aproximação da tangente hiperbólica emLook-up Table em relação a curva da função original. Em relação aos neurônios imple-mentados na primeira abordagem do trabalho na qual os neurônios Fe são implementadosutilizando os pesos sinápticos calculados previamente nas simulações em ambiente MA-TLAB, o conjunto de entrada compreende quatro possibilidades para cada porta lógica(AND, OR, NAND e NOR), resultando em 16 entradas na tabela LUT para simular oconjunto de valores da função tangente hiperbólica relativos ao universo das entradas dasportas lógicas abordadas.

Figura 5.2: Curva da aproximação da tangente hiperbólica em Look-up Table em relaçãoa curva da função original.

Page 59: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.1. NEURÔNIOS FE COM PESOS PRÉ-DEFINIDOS 41

O cálculo do sinal de saída do modelo FePerceptron é dado segundo o formato da saídado neurônio de acordo com a equação 4.6, ou seja, as entradas do neurônio ponderadospor seus respectivos pesos sinápticos são aplicados como parâmetros da função do modelocomportamental do ciclo de histerese do capacitor ferroelétrico.

Dessa forma, com o resultado da função tangente hiperbólica definido basta que sejarealizada a multiplicação do valor processado pelo bloco LUT pela polarização de satu-ração Ps, que como visto anteriormente é um valor constante. Podemos visualizar o valorda saída através do bloco do Simulink Display. É importante observar que para visua-lizarmos devidamente o sinal da saída nos arquivos VHDL e na síntese do hardware énecessário utilizar o bloco específico do DSP Builder Output.

Na tabela 5.1 pode ser visualizada a tabela da verdade das implementações das portaslógicas AND, NAND, OR e NOR, utilizando o FePerceptron com seus pesos sinápti-cos ótimos calculados previamente na simulação do neurônio (tabela 4.1). Todas as im-plementações utilizam a mesma estrutura do hardware digital. Para obter as saídas dasdemais portas lógicas basta alterarmos os valores dos pesos sinápticos.

Entrada1 Entrada2 AND NAND OR NOR0 0 0 1 0 0.99610 1 0 0.9961 0.9973 01 0 0 0.9961 0.9973 01 1 0.9883 0 1 0

Tabela 5.1: Tabela verdade obtida nas implementações de 4 portas lógicas utilizando oFePerceptron.

Em comparação com a tabela 4.2, é possível perceber que os resultados obtidos pelaarquitetura do neurônio FePerceptron em hardware utilizando o modelo digital da his-terese do capacitor ferroelétrico foram satisfatórios, de forma que se aproximam dos re-sultados obtidos na sua simulação e dos valores esperados na implementação das portaslógicas booleanas, validando a proposta do neurônio Perceptron ferroelétrico.

O segundo neurônio implementado nesse trabalho foi o Spiking FeNeuron, que con-siste no modelo do Spiking Neuron extendido para simular propriedades de neurôniosbiológicos por meio do cálculo de um limite de ativação dinâmico, que utiliza a função domodelo comportamental do ciclo de histerese do capacitor ferroelétrico como sua funçãode ativação. Por meio do Spiking FeNeuron é possível simular a porta lógica XOR pormeio de um único neurônio, diferentemente do FePerceptron. O modelo sintetizável doneurônio Spiking FeNeuron que implementa a porta lógica XOR pode ser visualizado nafigura 5.3. Esse modelo refere-se à implementação do neurônio no cenário onde os pesossinápticos são calculados previamente por meio de simulações em ambiente Matlab.

A primeira etapa do modelo (Entrada) consiste na multiplicação das entradas porseus respectivos pesos sinápticos. Diferentemente do modelo do FePerceptron, o limiar,ou limite de ativação estático, não está presente nessa primeira fase, mas sim na etapade saída onde este juntamente como limite de ativação dinâmico determinarão se haverápotencial suficiente para a ativação de um disparo (geração de um Spike). A primeira etapado Spiking FeNeuron representa o cálculo referente à equação 4.20 vista na simulação do

Page 60: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

42 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

Figura 5.3: Modelo sintetizável referente ao hardware do Spiking FeNeuron com pesossinápticos previamente calculados para a implementação da porta lógica XOR.

Page 61: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.1. NEURÔNIOS FE COM PESOS PRÉ-DEFINIDOS 43

modelo.De forma semelhante ao FePerceptron, as entradas do Spiking FeNeuron são mode-

ladas na forma de constantes que serão convertidas a suas representações binárias pormeio dos blocos sintetizáveis Input. Esses blocos serão responsáveis por determinar oscanais de entrada na placa de hardware reconfigurável. Os pesos sinápticos são constantesdefinidas por meio de blocos sintetizáveis do DSP Builder. Esses valores são converti-dos a suas representações binárias pelos blocos de operadores aritméticos que realizam amultiplicação das amostras.

A segunda fase do modelo (Filtros Recursivos) representa o cálculo da saída dos filtrosrecursivos de primeira ordem, que irão computar a influência das suas saídas anterioresde acordo com as entradas correntes do neurônio ponderadas por seus respectivos pesossinápticos. Porém, na cenário onde os neurônios são implementados utilizando seus res-pectivos pesos sinápticos calculados previamente não existem saídas anteriores dos filtrosrecursivos. Nas simulações os filtros são definidos de acordo com a equação 4.21.

Os valores dos coeficientes de atraso τi j de todos os filtros utilizados foi de 0.01.Esses coeficientes também são definidos no modelo por meio de blocos sintetizáveis refe-rentes à constantes numéricas (Constant8 e Constant9, na figura 5.3), de forma que suasrepresentações binárias são obtidas nas operações dos blocos aritméticos que processamos valores de saída dos filtros.

Após o cálculo das saídas dos filtros recursivos de primeira ordem as amostras seguempara o cálculo da saída do neurônio por meio da sua função de ativação, também definidapelo modelo comportamental do ciclo de histerese do capacitor ferroelétrico. Porém, adefinição se haverá ou não potencial para a ativação de um disparo, ou seja, a geraçãode um pico de valor “1"será dada de acordo com a influência do limite de ativação dinâ-mico Θ(n), calculado no modelo pelo bloco Membrane Potential e definido por meio daequação 4.12.

O limite de ativação estático (Θ0)é definido por meio de uma constante de valor 1(bloco Theta0), assim como no modelo do FePerceptron. O termo Θ1(n) que compõe olimite de ativação dinâmico é calculado de acordo com a equação 4.13, na qual os termospi(n) e ri(n) são definidos no modelo respectivamente pelas equações 4.16 e 4.14. Otermo pi(n) representa a saída do filtro recursivo de primeira ordem no ciclo de realimen-tação no cálculo do limite de ativação dinâmico. O termo gi(n), o qual compõe pi(n) édefinido de acordo com a equação 4.17.

A figura 5.4 representa a parte do modelo sintetizável do Spiking FeNeuron a qual im-plementa o cálculo do limite de ativação dinâmico Θ(n), destacando ainda que o cálculoleva em consideração as entradas do neurônio x1 e x2, além da saída do neurônio yi(n).

Após o cálculo do limite de ativação dinâmico o mesmo é comparado com o soma-tório das saídas dos filtros recursivos de primeira ordem, de forma que se as entradas doneurônio ponderadas por seus respectivos pesos sinápticos juntamente com as saídas an-teriores dos filtros alcançarem o limiar definido pelo limite de ativação dinâmico, entãohaverá o disparo de um spike, definido como o valor 1. Para tanto, função de ativação ξ()será responsável por gerar ou não o spike na saída do neurônio. Essa função de ativaçãoé a mesma utilizada no neurônio FePerceptron e é definida pelo modelo comportamentaldo ciclo de histerese do capacitor ferroelétrico.

Page 62: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

44 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

Figura 5.4: Cáculo do limite de ativação dinâmico Θ(n) no modelo Spiking FeNeuron.

O neurônio Spiking FeNeuron é capaz de implementar todas as portas lógicas, inclu-sive a XOR, com um único neurônio. Na tabela 5.2 podemos visualizar as saídas doneurônio para as portas lógicas AND, NAND, OR, NOR e XOR.

Entrada1 Entrada2 AND NAND OR NOR XOR0 0 0 0.9973 0 0.9961 00 1 0 0.9883 0.9961 0 0.98831 0 0 0.9883 0.9961 0 0.98831 1 0.9973 0 0.9973 0 0

Tabela 5.2: Tabela verdade obtida nas implementações das portas lógicas AND, NAND,OR, NOR e XOR utilizando o Spiking FeNeuron.

De forma semelhante ao FePerceptron, a arquitetura do neurônio Spiking FeNeuronem hardware utilizando o modelo digital da histerese do capacitor ferroelétrico apresen-tou resultados satisfatórios se comparados com os resultados obtidos na simulação doneurônio, vistos na tabela 4.4. Dessa forma, a proposta do neurônio Spiking FeNeurontámbém pode ser validada.

5.2 FePerceptron e seu Ciclo de AprendizagemO segundo cenário abordado nesse trabalho refere-se à implementação em pla-

taforma de hardware reconfigurável dos neurônios Fe e seus ciclos de aprendizagem deforma que os pesos sinápticos ótimos para suas respectivas portas lógicas booleanas sejamcalculados iterativamente.

Na figura 5.5 é possível observar o diagrama do modelo sintetizável do neurônio Fe-Perceptron juntamente com seu ciclo de aprendizagem.

Nesse modelo as entradas e saídas desejadas da porta lógica booleana são definidasatravés de blocos Simulink geradores sequências numéricas. Esses blocos determinamas entradas e as saídas desejadas da porta lógica booleana a cada passo do processo, de

Page 63: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.2. FEPERCEPTRON E SEU CICLO DE APRENDIZAGEM 45

Figura 5.5: Diagrama de blocos sintetizáveis referente ao modelo do FePerceptron junta-mente com seu ciclo de aprendizagem.

Page 64: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

46 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

forma que as sequências repetidas para as entradas de cada porta lógica seguem o formatoda matriz x, descrita na equação

x =(

0 1 0 10 0 1 1

)(5.2)

As sequências repetidas para as saídas desejadas seguem o formato do vetor d, descritona equação (exemplo da saída desejada da porta lógica booleana AND).

d =(0 0 0 1

)(5.3)

Na figura 5.6 pode-se observar que o diagrama de blocos sintetizáveis que realizao cálculo da saída do neurônio é semelhante ao diagrama do FePerceptron utilizado nocenário onde os pesos são calculados previamente, com exceção da realimentação dospesos sinápticos w(n). Além disso, houve a adição do erro e(n) e da taxa de aprendizadoη, dois elementos da regra de ajuste dos pesos sinápticos, descrita na equação 4.8.

Figura 5.6: Diagrama de blocos sintetizáveis referente ao cálculo da saída do neurônioFePerceptron com a adição do erro e(n) e da taxa de aprendizado η.

Na regra de ajuste dos pesos sinápticos, o erro e(n) pode ser visto na equação 4.7 e édefinido como a diferença entre a saída atual do neurônio e a saída desejada, descrita naequação 5.3.

A segunda parte do modelo sintetizável do FePerceptron (Treinamento) refere-se àimplementação da etapa de treinamento, que basicamente implementa a equação da regra

Page 65: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.2. FEPERCEPTRON E SEU CICLO DE APRENDIZAGEM 47

de aprendizado, vista na equação 4.8. O diagrama sintetizável que implementa essa etapapode ser visto na figura 5.7, na qual podemos perceber a multiplicação do termo e(n)η(produto do erro e(n) e da taxa de aprendizado η) pelas entradas do neurônio x(n) e olimiar de ativação e, na sequência, o resultado das multiplicações somados aos respectivospesos sinápticos correntes w(n), resultando nos novos pesos sinápticos w(n+1).

Figura 5.7: Diagrama de blocos sintetizáveis referente ao cálculo da regra de ajuste dospesos sinápticos do FePerceptron.

Os pesos sinápticos iniciais w(0) são definidos por meio de blocos sintetizáveis Cons-tant, que definem valores numéricos constantes. A decisão entre utilizar os pesos iniciais

Page 66: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

48 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

ou os novos (na etapa inicial do processo) é determinada por meio de um conjunto de blo-cos sintetizáveis composto por um bloco lógico condicional IF, um bloco de barramentoBusBuild e um bloco de controle Multiplexer.

O teste lógico realizado pelo bloco condicional IF nada mais é do que testar se existenaquele instante algum sinal relativo aos novos pesos sinápticos maior que zero. Se oresultado do teste lógico for verdadeiro a saída do bloco IF ativada será o sinal TRUE.Caso contrário, a saída do bloco IF ativada será o sinal FALSE, ou seja, não existe sinalrelativo aos novos pesos sinápticos maior que zero.

Os sinais gerados pelo bloco IF são enviados para o bloco de barramento BudBuild,que tem a função de gerar uma determinada sequência binária de acordo com sua entradaativa. No nosso caso, se o sinal ativado pelo bloco condicional IF for o sinal TRUE,referente ao resultado lógico de que a expressão w(n+1) > 0 é verdade, então a sequênciabinária gerada será um bit de valor 0 (zero), de acordo com a conexão estabelecida nodiagrama. De forma semelhante, se o sinal ativado pelo bloco condicional IF for o sinalFALSE, referente ao resultado lógico de que a expressão w(n + 1) > 0 é falsa, então asequência binária gerada será um bit de valor 1 (um), também de acordo com a conexãoestabelecida no diagrama.

O sinal gerado na saída dos blocos de barramento BusBuild serão as entradas de sele-ção dos blocos sintetizáveis de controle multiplexadores, ou seja, os blocos Multiplexer.De acordo com a o valor binário gerado pelos blocos BusBuild, os blocos Multiplexer irãoselecionar as suas saídas entre os novos pesos sinápticos e os pesos sinápticos iniciais, de-finidos por meio de blocos sintetizáveis Constant conectados a uma das entradas do blocoMultiplexer. A outra entrada do bloco é conectada aos novos pesos sinápticos, de formaque a conexão adequada irá resultar na seleção entre utilizar os pesos sinápticos iniciaisou utilizar os novos pesos. Como nos blocos Multiplexer é selecionada uma saída entreduas entradas, podemos observar que são necessários três blocos sintetizáveis Multiplexer2x1.

Os novos pesos sinápticos também são conectados aos canais de saída do diagrama,de forma que mesmo que o processamento prossiga para as iterações seguintes, os resulta-dos parciais/finais podem ser visualizados nos blocos Display do Simulink. Na tabela 5.3podemos observar os pesos sinápticos ótimos calculados pelo diagrama de blocos sinte-ziáveis para cada porta lógica booleana do treinamento, além erro mínimo e do número deiterações necessárias em cada caso. Na tabela 5.4 é possível observar os erros dos valoresdos pesos sinápticos calculados pelo modelo sintetizável em relação aos pesos calculadosna simulação em software do neurônio FePerceptron.

Porta lógica booleana w1 w2 w3 Erro mínimo IteraçõesAND 0.629 0.629 -0.359 0.000396 21

NAND -0.629 -0.629 1.527 0.000396 19OR 0.699 0.699 0.233 0.00054 19

NOR -0.657 -0.657 0.919 0.000511 24

Tabela 5.3: Pesos sinápticos ótimos calculados por meio do diagrama de blocos sintetizá-veis referente ao modelo do ciclo de treinamento do neurônio FePerceptron.

Page 67: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.2. FEPERCEPTRON E SEU CICLO DE APRENDIZAGEM 49

Porta lógica booleana w1 w2 w3

AND 0.0099 0.0099 0.0169NAND 0.0213 0.0213 0.0439

OR 0.0099 0.0099 0.0198NOR 0.0118 0.0118 -0.0045

Tabela 5.4: Erro referente aos valores dos pesos calculados pelo modelo de hardware emrelação aos pesos calculados na simulação em software do FePerceptron.

Em comparação com a tabela 4.1, é possível perceber por meio das tabelas 5.3 e 5.4que os pesos sinápticos calculados pelo modelo sintizável do neurônio FePerceptron seaproximam dos pesos calculados na sua simulação em software. Porém, os erros míni-mos são relativamente maiores, já que nas operações realizadas com valores numéricosrepresentados digitalmente em ponto fixo nesse trabalho apresentaram perdas numéricasno decorrer do processo de aprendizagem do neurônio, mas ainda assim, permitindo queas saídas calculadas sejam similares as saídas desejadas.

Nas figuras 5.8 e 5.9 é possível ver as curvas de aprendizado das implementações dasportas lógicas AND, NAND, OR e NOR por meio do modelo sintetizável do neurônioFePercetron. Os gráficos mostram que o erro em hardware, apesar de acompanhar acurva do erro em software, permanece acima do erro obtido em software, ainda que sejamobtidos valores satisfatórios.

Figura 5.8: Curvas de aprendizado das portas lógicas AND e NAND obtidas por meio domodelo sintetizável do FePerceptron (curvas em preto) em relação as curvas de aprendi-zado obtidas nas respectivas simulações em software (curva em azul).

Após a verificação dos resultados apresentados pelo modelo FePerceptron, é possívelrealizar o processo de síntese em hardware do modelo do neurônio ferroelétrico. A síntesefoi direcionada para a placa FPGA DE2 EP2C35, da Altera, que possui uma capacidade de33.216 elementos lógicos combinacionais (LUTs) e sequenciais (registradores síncronos

Page 68: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

50 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

Figura 5.9: Curvas de aprendizado das portas lógicas OR e NOR obtidas por meio do mo-delo sintetizável do FePerceptron (curvas em preto) em relação as curvas de aprendizadoobtidas nas respectivas simulações em software (curva em azul).

e assíncronos) e um total de 35 multiplicadores embarcados. Na tabela 5.5 é possívelobservar o resultado da síntese do modelo FePerceptron em hardware.

Recurso de hardware Total utilizadoElementos lógicos 533

Registradores lógicos 104Multiplicadores embarcados 16

Clock máximo 101 MHz

Tabela 5.5: Recursos de hardware utilizados na síntese do FePerceptron com o modelodigital do ciclo de histerese do capacitor ferroelétrico.

De um total de 533 elementos lógicos combinacionais (LUTs) e 104 registradoreslógicos dedicados (somente registradores lógicos assíncronos), o modelo FePerceptronutilizou um total de 0,02% da capacidade total de elementos lógicos da placa FPGA alvo,enquanto que utilizou 46% dos multiplicadores embarcados, operando a um clock máximode 101 MHz.

5.3 Spiking FeNeuron e seu Ciclo de AprendizagemDe forma semelhante ao primeiro cenário abordado nesse trabalho, o segundo neurô-

nio implementado foi o Spiking FeNeuron juntamente com seu ciclo de aprendizagem. Afigura 5.10 ilustra o diagrama de blocos do modelo sintetizável do neurônio.

As figuras 5.11 e 5.12 ilustram os diagramas de blocos sintetizáveis das etapas docálculo da saída e do ciclo de aprendizagem do neurônio Spiking FeNeuron de formamais detalhada.

Page 69: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.3. SPIKING FENEURON E SEU CICLO DE APRENDIZAGEM 51

Figura 5.10: Diagrama de blocos sintetizáveis referente ao modelo Spiking FeNeuronjuntamente com seu ciclo de aprendizagem.

Page 70: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

52 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

Figura 5.11: Diagrama de blocos sintetizáveis referente ao cálculo da saída do neurônioSpiking FeNeuron com a adição do erro e(n) e da taxa de aprendizado γ.

Page 71: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.3. SPIKING FENEURON E SEU CICLO DE APRENDIZAGEM 53

Figura 5.12: Diagrama de blocos sintetizáveis referente ao cálculo da regra de ajuste dospesos sinápticos do Spiking FeNeuron.

Page 72: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

54 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

Da mesma forma que o diagrama de blocos sintetizáveis do neurônio FePerceptron,o diagrama de blocos que implementa o cálculo da saída do neurônio Spiking FeNeuroné semelhante ao diagrama do neurônio que utiliza os pesos sinápticos ótimos calculadospreviamente. Ainda de forma semelhante ao FePerceptron, no cálculo da saída do Spi-king FeNeuron podemos observar a adição dos termos e(n) e γ, respectivamente o erro(equação 4.7) e a constante de aprendizado do neurônios, utilizados na regra de ajustedos pesos sinápticos, definida na equação 4.8. Além disso, também podemos perceber arealimentação dos pesos sinápticos w(n).

O diagrama de blocos sintetizáveis referente ao cálculo do ciclo de aprendizagem doneurônio é semelhante ao diagrama do neurônio FePerceptron, ilustrado na figura 5.7. Odiagrama em questão utiliza as mesmas estruturas compostas por blocos lógicos condici-onais IF, blocos de barramento BusBuild e blocos de controle Multiplexer para realizar aseleção entre os novos pesos sinápticos calculados w(n+1) e os pesos sinápticos iniciaisw(0). É importante observar que no neurônio Spiking FeNeuron não existe a necessi-dade do cálculo de um peso sináptico para o limite de ativação dinâmico Θ(n), já que omesmo não compõe o conjunto de entradas do neurônio e é calculado no bloco MembranePotential do modelo do neurônio.

Na tabela 5.6 podemos observar os pesos sinápticos ótimos calculados pelo diagramade blocos sinteziáveis para cada porta lógica booleana do treinamento, além do númerode iterações necessários em cada caso.

Porta lógica booleana w1 w2 Erro mínimo IteraçõesAND 0.476 0.476 0.000191 17

NAND -0.386 0.682 0.000223 17OR 0.979 0.979 0.000191 21

NOR 0.328 -0.793 0.000171 23XOR 0.566 -0.257 0.00011 16

Tabela 5.6: Pesos sinápticos ótimos calculados por meio do diagrama de blocos sintetizá-veis referente ao modelo do ciclo de treinamento do neurônio Spiking FeNeuron.

Porta lógica booleana w1 w2

AND 0.004 0.004NAND 0.004 0.008

OR 0.001 0.001NOR 0.002 -0.003XOR 0.002 -0.002

Tabela 5.7: Erro referente aos valores dos pesos calculados pelo modelo de hardware emrelação aos pesos calculados na simulação em software do Spiking FeNeuron.

De forma semelhante ao neurônio FePerceptron, na comparação com a tabela 4.3,é possível perceber por meio das tabelas 5.6 e 5.7 que os pesos sinápticos calculadospelo modelo sintizável do neurônio Spiking FeNeuron se aproximam dos pesos calculados

Page 73: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.3. SPIKING FENEURON E SEU CICLO DE APRENDIZAGEM 55

na sua simulação em software. Também de forma semelhante, os erros mínimos sãorelativamente maiores devido às perdas numéricas apresentadas nas operações realizadascom valores numéricos representados digitalmente em ponto fixo nesse trabalho.

Nas figuras 5.13, 5.14 e 5.15 é possível ver as curvas de aprendizado das implementa-ções das portas lógicas AND, NAND, OR, NOR e XOR por meio do modelo sintetizáveldo neurônio FePercetron. De forma semelhante ao modelo do FePerceptron, os gráficostambém mostram o erro em hardware acompanhando a curva do erro em software, porém,sempre permanecendo acima do erro obtido em software, ainda que sejam obtidos valoressatisfatórios.

Figura 5.13: Curvas de aprendizado das portas lógicas AND e NAND obtidas por meiodo modelo sintetizável do Spiking FeNeuron (curvas em preto) em relação as curvas deaprendizado obtidas nas respectivas simulações em software (curva em azul).

Após a verificação dos resultados do Spiking FeNeuron completo é possível realizaro processo de síntese do neurônio em hardware. Na tabela 5.8 é possível observar osresultados da síntese do Spiking FeNeuron completo.

Recurso de hardware Total utilizadoElementos lógicos 998

Registradores lógicos 228Multiplicadores embarcados 22

Clock máximo 100 MHz

Tabela 5.8: Recursos de hardware utilizados na síntese do Spiking FeNeuron com o mo-delo digital do ciclo de histerese do capacitor ferroelétrico.

De um total de 998 elementos lógicos combinacionais (LUTs) e 228 registradores ló-gicos dedicados (somente registradores lógicos assíncronos), o modelo Spiking FeNeuronutilizou um total de 0,037% da capacidade total de elementos lógicos da placa FPGAalvo, enquanto que utilizou 63% dos multiplicadores embarcados, operando a um clockmáximo de 100 MHz.

Page 74: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

56 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

Figura 5.14: Curvas de aprendizado das portas lógicas OR e NOR obtidas por meio domodelo sintetizável do Spiking FeNeuron (curvas em preto) em relação as curvas de apren-dizado obtidas nas respectivas simulações em software (curva em azul).

Figura 5.15: Curva de aprendizado da porta lógica XOR obtida por meio do modelosintetizável do Spiking FeNeuron (curvas em preto) em relação as curvas de aprendizadoobtidas nas respectivas simulações em software (curva em azul).

Page 75: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.4. MODELO DO CAPACITOR FERROELÉTRICO CONTÍNUO 57

5.4 Modelo do Capacitor Ferroelétrico ContínuoOs resultados apresentados até então tinham o objetivo de validar a utilização do mo-

delo comportamental do capacitor ferroelétrico como função de ativação de um neurônioartificial. Porém, nos modelos sintetizáveis desenvolvidos foram utilizadas implementa-ções digitais do modelo comportamental do capacitor e devido a sua natureza não-linear,uma implementação digital do seu comportamento pode representar uma solução custosapor meio do registro dos pontos da função tangente sigmoide em tabelas ou por meio deaproximações por série de Taylor.

Na prática, o capacitor ferroelétrico oferece a vantagem de se utilizar um cicuito ana-lógico simples como função de ativação de neurônios artificiais implementados em hard-ware, e no caso da implementação em hardware digital, a redução do custo e espaçofísico. Dessa forma, o modelo comportamental do capacitor foi simulado por meio deum modelo contínuo e adicionado aos modelos sintetizáveis desenvolvidos nesse traba-lho, substituindo assim os modelos digitais do capacitor, com o objetivo de simular ocircuito analógico do capacitor aplicado em um neurônio artificial e verificar o ganho emutilização de hardware.

O modelo contínuo do capacitor ferroelétrico pode ser visto na figura 5.16. Na fi-gura 5.17 podemos observar a saída do modelo, que corresponde ao ciclo de histerese docapacitor ferroelétrico descrito na equação 4.1.

Figura 5.16: Modelo contínuo do capacitor ferroelétrico.

O modelo contínuo do capacitor aplicado aos modelos sintetizáveis dos neurôniosartificiais substitui o modelo digital do mesmo, visto na figura 5.18, onde X é a saídado neurônio anterior à função de ativação e Y é saída do neurônio após ser submetida afunção de ativação. O resultado pode ser visto na figura 5.19, onde os blocos Output eInput simulam conversores D/A e A/D respectivamente.

Nas tabelas 5.9 e 5.10 é possível verificar os resultados dos treinamentos dos neurô-

Page 76: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

58 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

Figura 5.17: Saída do modelo contínuo do capacitor ferroelétrico.

Figura 5.18: Modelo digital do capacitor ferroelétrico.

Figura 5.19: Modelo contínuo do capacitor ferroelétrico substituindo o modelo digital domesmo.

Page 77: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.4. MODELO DO CAPACITOR FERROELÉTRICO CONTÍNUO 59

nios ferroelétricos completos utilizando o modelo contínuo do capacitor ferroelétrico.

Porta lógica booleana w1 w2 w3 Erro mínimo IteraçõesAND 0.631 0.63 -0.363 0.000216 21

NAND -0.638 -0.638 1.542 0.000371 18OR 0.704 0.701 0.251 0.000324 19

NOR -0.659 -0.658 0.913 0.000221 22

Tabela 5.9: Resultado do treinamento do neurônio FePerceptron completo utilizando omodelo contínuo do capacitor ferroelétrico.

Porta lógica booleana w1 w2 Erro mínimo IteraçõesAND 0.476 0.476 0.000191 17

NAND -0.388 0.684 0.000181 16OR 0.979 0.979 0.000191 19

NOR 0.329 -0.789 0.000102 19XOR 0.566 -0.255 0.000109 16

Tabela 5.10: Resultado do treinamento do neurônio Spiking FeNeuron completo utili-zando o modelo contínuo do capacitor ferroelétrico.

Em comparação com os resultados dos treinamentos dos neurônios ferroelétricos com-pletos utilizando o modelo digital do capacitor ferroelétrico (tabelas 5.3 e 5.6), é possívelobservar que o resultados descritos nas tabelas 5.9 e 5.10 se aproximam dos resultadosobtidos previamente, validando a proposta da utilização do modelo contínuo do capacitorferroelétrico como uma alternativa na implementação de funções de ativação não-linearesem hardware.

Após a verificação dos resultados de treinamento, é possível realizar o processo de sín-tese dos modelos em hardware. Nos resultados do processo de síntese podemos observaruma redução na quantidade de recursos de hardware necessários para a implementaçãodos neurônios com o modelo contínuo do capacitor ferroelétrico. Esses resultados podemser observados nas tabelas 5.11 e 5.12, em relação às tabelas 5.5 e 5.8 respectivamente.

Recurso de hardware Total utilizadoElementos lógicos 162

Registradores lógicos 99Multiplicadores embarcados 14

Clock máximo 99 MHz

Tabela 5.11: Recursos de hardware utilizados na síntese do FePerceptron com o modelocontínuo do ciclo de histerese do capacitor ferroelétrico.

Enquanto os neurônios FePerceptron e Spiking FeNeuron, ambos com seus ciclos deaprendizagem e utilizando o modelo digital do capacitor ferroelétrico necessitam respec-tivamente de 533 e 998 elementos lógicos, 104 e 228 registradores lógicos dedicados e

Page 78: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

60 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

Recurso de hardware Total utilizadoElementos lógicos 273

Registradores lógicos 179Multiplicadores embarcados 22

Clock máximo 108 MHz

Tabela 5.12: Recursos de hardware utilizados na síntese do Spiking FeNeuron com omodelo contínuo do ciclo de histerese do capacitor ferroelétrico.

16 e 22 multiplicadores embarcados, com a substituição dos modelos digitais pelos mo-delos contínuos do capacitor houve em geral uma redução na quantidade de recursos dehardware necessários. A quantidade de elementos lógicos passou a ser respectivamente162 e 273, 99 e 179 registradores (0.008% e 0.01% da capacidade total da FPGA alvo,respectivamente) e 14 e 22 multiplicadores embarcados (40% e 63% da quantidade demultiplicadores embarcados, respectivamente). Os ganhos em relação aos recursos dehardware utilizados podem ser observados na tabela 5.13

Elem. lógicos + Reg. dedicados Mult. embarcadosFePerceptron +FeCap digital

0,02% da capacidade total 46% do total

FePerceptron +FeCap contínuo

0,008% da capacidade total 40% do total

Spiking FeNeu-ron + FeCapdigital

0,037% da capacidade total 63% do total

Spiking FeNeu-ron + FeCapcontínuo

0,01% da capacidade total 63% do total

Tabela 5.13: Recursos de hardware utilizados pelos neurônios ferroelétricos utilizando omodelo digital do capacitor ferroelétrico em comparação com os recursos utilizados pelosneurônios ferrolétricos utilizando o modelo contínuo do capacitor ferroelétrico.

Observando a tabela 5.13 é possível perceber uma redução na utilização de recursos dehardware nos neurônios ferroelétricos utilizando o modelo contínuo do capacitor ferroe-létrico. Porém, ainda é necessária uma análise em modelos de hardware mais complexos,onde a utilização de elementos lógicos combinacionais e sequenciais seja significativa-mente maior, de forma que o ganho no uso de recursos de hardware utilizando o capacitorferroelétrico possa ser observado, possivelmente em maior grau e efetividade.

5.5 ConclusãoNesse capítulo as implementações em plataforma de hardware digital das arquitetu-

ras dos neurônios artificiais FePerceptron e Spiking FeNeuron foram validadas, ambas

Page 79: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

5.5. CONCLUSÃO 61

implementando a lógica booleana. Foi possível observar uma redução na quantidade deelementos lógicos necessários nas sintetizações em FPGA em comparação à quantidadenecessária utilizando a técnica da aproximação da função tangente sigmoide por meiode LUT. Todas as sintetizações foram realizadas utilizando o máximo de multiplicadoresembarcados e a FPGA alvo foi uma DE2 Cyclone II.

Page 80: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

62 CAPÍTULO 5. NEURÔNIOS FE EM FPGA E RESULTADOS OBTIDOS

Page 81: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Capítulo 6

Conclusões e Trabalhos Futuros

Nesse trabalho foi proposta a implementação de neurônios artificiais em plataformade hardware reconfigurável utilizando o modelo comportamental do ciclo de histerese docapacitor ferroelétrico como suas unidades básicas no cálculo de funções não-lineares nassaídas dos neurônios.

O principal objetivo do trabalho foi de apresentar uma nova alternativa na implemen-tação dessas funções não-lineares em hardware digital, no caso um FPGA, onde umadas técnicas mais comuns no cálculo dessas funções é a utilização de Lookup Tablespara registrar uma grande quantidade de pontos em suas curvas características. A solu-ção utilizando Lookup Tables é normalmente custosa em termos de utilização de recursosdas plataformas de hardware como ocupação de área e elementos lógicos necessáriosna sintetização do projeto, de forma que a utilização de um dispositivo eletrônico comoo capacitor ferroelétrico em substituição às tabelas de registro das funções não-linearespossivelmente acarretará em ganhos relativos ao uso dos recursos de hardware.

Para validar a proposta, dois neurônios artificiais foram implementados, inicialmentepor meio de simulações em software e posteriormente por meio de modelos digitais uti-lizando um modelo também digital do comportamento do ciclo de histerese do capacitorferroelétrico: o Perceptron (FePerceptron) e o modelo Spiking Neuron Integrate and Firemodificado visto em [Guerreiro, 2004], chamado de Boolean Complete Neuron (SpikingFeNeuron). O modelo digital do capacitor ferroelétrico utilizou de Lookup Tables narepresentação de suas não-linearidades, porém, apresentou os resultados esperados nocálculo das saídas dos dois neurônios artificiais implementados na simulação da lógicabooleana, na qual o FePerceptron simulou todas as portas lógicas com exceção da portalógica XOR, e o neurônio Spiking FeNeuron simulou todas as portas lógicas booleanas.

Os neurônios artificiais foram implementados em três etapas: primeiramente com pe-sos sinápticos previamente calculados de forma a validar o modelo digital do neurôniojuntamente com o modelo do ciclo de histerese do capacitor, e posteriormente com ocálculo dos pesos sinápticos em hardware, utilizando o algoritmo do ciclo de aprendi-zado supervisionado LMS, seguindo o princípio da aprendizagem Hebbiana. Finalmente,foi utilizado o modelo analógico do capacitor ferroelétrico com o objetivo de simular evalidar a sua utilização no caso de implementação dos neurônios artificiais em circuitosintegrados, onde os neurônios artificiais em hardware digital seriam implementados emconjunto com o capacitor ferroelétrico físico, o qual representa um elemento eletrônicoanalógico. Nesse caso, seriam necessárias as inclusões de conversores D/A e A/D para

Page 82: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

64 CAPÍTULO 6. CONCLUSÕES E TRABALHOS FUTUROS

realizar o interfaceamento dos sinais. Foi possível observar uma redução na utilizaçãodos recursos de hardware em comparação aos modelos utilizando a técnica de registrodas curvas não-lineares das funções de ativação em Lookup Tables.

Dessa forma, a proposta desse trabalho foi validada e conclui-se que o capacitor fer-roelétrico pode ser considerado uma alternativa na implementação de RNAs em plata-forma de hardware digital, reduzindo o custo nas implementações de funções de ativaçãonão-lineares e permitindo que os recursos de hardware sejam utilizados na expansão dasarquiteturas neurais visando a utilização dessas soluções em uma maior gama de aplica-ções.

Como trabalhos futuros, ainda se se faz necessário um estudo maior acerca do impactoda utilização do ciclo de histerese do capacitor ferroelétrico como unidade básica não-linear de neurônios artificiais, analisando o comportamento de um sistema com múltiplosneurônios e camadas de forma a prever e estimar o ganho real em uso de recursos dehardware em sistemas mais complexos. Além disso, é de grande importância a verificaçãoe adequação do sistema em circuito integrado, com o objetivo de uma maior contribuiçãonas área de aprendizado de máquina em tempo real.

Page 83: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

Referências Bibliográficas

[Guerreiro, 2004] Guerreiro A. M. G. (2004). A New Paradigm for NeurocomputingUsing The Boolean Complete Neuron (2004).

[Silva, Leite, Guerreiro, Araújo e McMillan, 2011] Silva A. P. O., Leite C. R. M., Guer-reiro A. M. G., Araujo C. A. P. e McMillan L. (2011). Adaptive Boolean LogicUsing Ferroelectrics Capacitors as Basic Units of Artificial Neurons. Ferroelectrics- Applications.

[Silva, Spatti e Flauzino, 2010] Silva I. N., Spatti D. H. e Flauzino R. A. (2010). RedesNeurais Artificiais para engenharia e ciências aplicadas. Artliber.

[McCulloch e Pitts, 1943] McCulloch, W. S., Pitts, W. (1943). A logical calculus of theideas immanent in nervous activity. Bull. Math. Biophysiol., vol. 5, pp. 115-133.

[Bermak e Martinez, 2003] Bermak, D. and Martinez, D. (2003). A compact 3-D VLSIclassifier using bagging threshold network ensembles. IEEE Transactions on NeuralNetworks 14(5).

[Kung, 1992] Kung, S. Y. (1992). Digital Neural Networks. Prentice-Hall, Upper SaddleRiver, NJ, USA, 1992.

[Lenne, 1995] Lenne, P. (1995). Digital hardware architectures for neural networks. Spe-edup Journal 9(1).

[Brown, Yu e Garverick, 2004] Brown, B., Yu, X. and Garverick S. (2004) A Mixed-mode analog VLSI continuous-time recurrent neural network. Proceedings of In-ternational Conference on Circuits, Signals and Systems, pp. 104-108.

[Mead, 1989] Mead, C. (1989) Analog VLSI and Neural Systems. Addison-Wesley, Bos-ton, MA, USA.

[Lehman, Bruun e Dietrich, 1996] Lehman, T., Bruun, E. and Dietrich, C. (1996) Mixedanalog/digital matrix vector multiplier for neural network synapses. Analog Inte-grated Circuits and Signal Processing, v.9 n.1, p.55-63.

[Schimid, Leblebici e Mlynek, 2004] Schimid, A., Leblebici, Y. and Mlynek, D. (2004)A mixed analog digital artificial neural network with on chip learning. IEEEProceedings-Circuits, Devices and Systems, v146, 345.

65

Page 84: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

66 REFERÊNCIAS BIBLIOGRÁFICAS

[Nedjah e Mourelle, 2007] Nedjah, N., Mourelle, L. M. (2007). Reconfigurable hard-ware for neural networks: binary versus stochastic. Neural Computing and Ap-plications, v.16, n.3, p.249-255.

[Rak, Soss e Cserey, 2009] Rak, A., Soss, B. G., Cserey, G. (2009). Stochastic bitstream-based CNN and its implementation on FPGA. International Journal of Circuit The-ory and Applications, v.37, n.4, p.587-612.

[Schrauwen e D’Haene, 2005] Schrauwen, B. and D’Haene, M. (2005). Compact digitalhardware implementations of spiking neural networks. J. Van Campenhout (Ed.),Sixth FirW Ph.D. Symposium.

[Moerland, Fiesler e Saxena, 2007] Moerland, P. D., Fiesler, E. and Saxena, I. (2007).Incorporation of liquid-crystal light valve nonlinearities in optical multilayer neuralnetworks. Applied Optics, v.35, 5301-5307.

[Tokes, Orz, Vr e Roska, 2000] Tokes, S., Orz, L., Vr, G. and Roska, T. (2000). Bacte-riorhodopsin as an analog holographic memory for joint fourier implementation ofCNN computers. Technical Report DNS-3-2000, Computer and Automation Rese-arch Institute of the Hungarian Academy of Sciences, Budapest, Hungary.

[Janardan e Indranil, 2010] Janardan, M., Indranil, S. (2010). Artificial neural networksin hardware. A survey of of two decades of progress. Journal Neurocomput. vol.74,ISSN: 0925-2312. Elsevier Science Publishers B. V.

[Glesner e Poechmueller, 1994] Glesner, M. and Poechmueller, W. (1994). Neurocompu-ters: An Overview of Neural Networks in VLSI. Chapman and Hall, London.

[Heemskerk, 1995] Heemskerk, J. (1995). Overview of neural hardware. Neurocompu-ters for Brain-Style Processing. Design, Implementation and Application.

[Ienne, Cornu e Kuhn, 1996] Ieene, P., Cornu, T. and Kuhn, G. (1996). Special-purposedigital hardware for neural networks: an architectural survey. Journal of VLSI Sig-nal Processing Systems, v.13, n.1, p.5-25.

[Sundararajan e Saratchandran, 1998] Sundararajan, N. and Saratchandran, P. (1998).Parallel Architectures for Artificial Neural Networks: Paradigms and Implemen-tations. IEEE Computer Society Press, Los Alamitos, CA.

[Zhu e Sutton, 2005] Zhu, J. and Sutton, P. (2005) FPGA implementations of neuralnetworks-a survey of a decade of progress. Field-Programmable Logic Applicati-ons, vol.2778, pp. 1062-1066.

[Dias, Antunes, e Manuel, 2004] Dias, F. M., Antunes, A. and Manuel, M. A. (2004)Artificial neural networks: a review of commercial hardware. Engineering Applica-tions of Artificial Intelligence, v.17, n.8, p.945-952.

[Valle, 2005] Valle, M. (2005) Smart Adaptive Systems on Silicon. Springer, Dordrecht,The Netherlands.

Page 85: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

REFERÊNCIAS BIBLIOGRÁFICAS 67

[Jabri e Flower, 1991] Jabri, M., Flower, B. (1991) Weight perturbation: An optimal ar-chitecture and learning technique for analog vlsi feedforward and recurrent multi-layer networks. Neural Computation, v.3, n.4, p.546-565, Winter.

[Smieja, 1993] Smieja, F. J. (1993) Neural network constructive algorithms: trading ge-neralization for learning efficiency. Circuits, Systems, and Signal Processing, v.12,n.2, p.331-374.

[Duong, 1995] Duong, T. A. (1995). Cascade error projection: an efficient hardwarelearning algorithm. Proceedings of the IEEE International Conference on NeuralNetworks, vol.1, Perth, Australia, pp.175-178.

[Duong e Stubberud, 1995] Duong, T. A. and Stubberud, A. R. (1995). Convergenceanalysis of cascade error projection: an efficient hardware learning algorithm. In-ternational Journal of Neural System, vol.10i3, 199-210.

[Chen, Haykin e Becker, 2000] Chen, Z., Haykin, S. and Becker, S. (2000). Theory ofmonte carlo sampling-based alopex algorithms for neural networks. Proceedings ofIEEE International Conference on Accoustics, Speech and Signal Processing, pp.17-21.

[D’Acieno, 2000] D’Acieno, A. (2000). Back-propagation learning algorithm and pa-rallel computers: the CLEPSYDRA mapping scheme. Neurocomputing, v.31, 67-85.

[Kumar, Shekhar e Amin, 1994] Kumar, V., Shekhar, S. and Amin, M. B. A. (1994). Sca-lable Parallel Formulation of the Backpropagation Algorithm for Hypercubes andRelated Architectures. IEEE Transactions on Parallel and Distributed Systems, v.5,n.10, p.1073-1090.

[Fakhraie, Farshbaf e Smith, 1994] Fakhraie, S. M., Farshbaf, H., Smith, K. C. (1994).Scalable close-boundary analog neural networks. IEEE Transactions on NeuralNetworks, v15, 492-504.

[Yang e Paindavoine, 2005] Yang, F., Paindavoine, M. (2005). Implementation of an RBFneural network on embedded systems: real-time face tracking and identity verifica-tion. IEEE Transaction on Neural Networks, v14 i5, 1162-1175.

[Strey e Avellana, 1996] Strey, A., Avellana, N. (1996). A New Concept for Parallel Neu-rocomputer Architectures. Proceedings of the Second International Euro-Par Confe-rence on Parallel Processing-Volume II, p.470-477.

[Sheikholeslami e Gulak, 1997] Sheikholeslami, A., Gulak, P. G. (1997). A Survey ofBehavioral Modeling of Ferroelectric Capacitors. IEEE Trans. on Ultrasonics, Fer-roelectrics, and Frequency Control vol. 44, no. 4, pp. 917-923.

[Miller, Schwank, Nasby e Rodgers, 1991] Miller, S. L., Schwank, J. R., Nasby, R. D.and Rodgers, M. S. (1991). Modeling Ferroelectric capacitor switching with asym-metric nonperiodic input signals and arbitrary initial conditions. J. Appl. Phys., vol.70, no. 5, pp. 2949-2860.

Page 86: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

68 REFERÊNCIAS BIBLIOGRÁFICAS

[Haykin, 2001] Haykin, S. (2001). Redes Neurais: Princípios e Prática. Bookman.

[Rosemblatt, 1958] Rosemblatt, F., (1958). The perceptron: A probabilistic model forinformation storage and organization in the brain. Psych. Revue, vol. 65, pp. 386-408.

[Soleimani, Ahmadi e Bavandpour, 2012] Soleimani, H., Ahmadi, A., Bavandpour, M.(2012). Biologically Inspired Spiking Neurons: Piecewise Linear Models and Digi-tal Implementation. IEEE Trans. on Circuits and Systems vol. 59, no. 12, pp. 2991-3004.

[Yang, Wu e Li, 2012] Yang, S., Wu, Q., Li, R. (2011). A Case for Spiking NeuralNetwork Simulation based on Configurabel Multiple-FPGA Systems. Cogn Neu-rodyn (2011) 5:301-309.

[Goser, 1996] Goser, F. K. (1996). Implementation of Artificial Neural Networks Intohardware: Concepts and Limitations. Mathematics and Computers in Simulation 41(1996) 161-171.

[Al-Kazzaz e Khalil, 2008] Al-Kazzaz, S., Khalil, R. (2008). FPGA Implementation ofArtificial Neurons: Comparison study. International Conference on Informationand Communications Technologies: From Theory to Applications 2008 (ICTTA),(2008) pp. 1-6.

[Hariprasath e Prabakar, 2012] Hariprasath, S., Prabakar, T. N. (2012). FPGA Implemen-tation of Multilayer Feed Forward Neural Network Architecture Using VHDL. Inter-national Conference on Computing, Communications and Applications 2012 (IC-CCA), pp. 1-6.

[Savich, Moussa e Areibi, 2007] Savich, A., Moussa, M., Areibi, S. (2007). The Impactof Arithmetic Representation on Implementing MLP-BP on FPGAs: A Study. IEEETrans. on Neural Networks, 18, 240-252.

[Izhikevich, 2003] Izhikevich, E. (2003). Simple Model of Spiking Neurons. IEEE Trans.on Neural Networks, 14, 1569-1572.

[Souza e Fernandes, 2014] Souza, A. C. D., Fernandes, M. A. C.(2014). Parallel FixedPoint Implementation of a Radial Basis Function Network in an FPGA. Sensors, 14,18223-18243.

[Altera, 2005] Altera DSP Builder 5.0 User Guide.http://www.altera.com/products/software/products/dsp/dsp-builder.html.

[MathWorks Matlab, 2009] MathWorks Matlab 2009a User Guide.http://www.mathworks.com/products/matlab/.

[MathWorks Simulink, 2009] MathWorks Simulink User Guide.http://www.mathworks.com/products/simulink/.

Page 87: Modelo Comportamental do Capacitor Ferroelétrico como … · Initially the proposal has been validated by the implementation of the boolean logic through the digital models of two

REFERÊNCIAS BIBLIOGRÁFICAS 69

[Pedroni, 2004] Pedroni V. A. (2004). Circuit Design with VHDL. TLFeBook.

[Maxfield, 2004] Maxfield C. (2004). The Design Warrior’s Guide To FPGAs. Elsevier,2004.