• Sonuç bulunamadı

2.8. Meme kanserinde beyin metastazının tedavisi

2.8.1. Semptomatik tedavi

O 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 de forma que os pesos sinápticos ótimos para suas respectivas portas lógicas booleanas sejam calculados iterativamente.

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

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

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.

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

x=  0 1 0 1 0 0 1 1  (5.2) As sequências repetidas para as saídas desejadas seguem o formato do vetor d, descrito na 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 realiza o cálculo da saída do neurônio é semelhante ao diagrama do FePerceptron utilizado no cenário onde os pesos são calculados previamente, com exceção da realimentação dos pesos 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ônio FePerceptroncom 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 na equaçã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

5.2. FEPERCEPTRON E SEU CICLO DE APRENDIZAGEM 47 de aprendizado, vista na equação 4.8. O diagrama sintetizável que implementa essa etapa pode 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 o limiar de ativação e, na sequência, o resultado das multiplicações somados aos respectivos pesos 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 dos pesos 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

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 barramento BusBuilde um bloco de controle Multiplexer.

O teste lógico realizado pelo bloco condicional IF nada mais é do que testar se existe naquele instante algum sinal relativo aos novos pesos sinápticos maior que zero. Se o resultado 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 sinal relativo 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 entrada ativa. 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ência binária gerada será um bit de valor 0 (zero), de acordo com a conexão estabelecida no diagrama. De forma semelhante, se o sinal ativado pelo bloco condicional IF for o sinal FALSE, referente ao resultado lógico de que a expressão w(n + 1) > 0 é falsa, então a sequência binária gerada será um bit de valor 1 (um), também de acordo com a conexão estabelecida 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ão selecionar 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 bloco Multiplexer. A outra entrada do bloco é conectada aos novos pesos sinápticos, de forma que a conexão adequada irá resultar na seleção entre utilizar os pesos sinápticos iniciais ou utilizar os novos pesos. Como nos blocos Multiplexer é selecionada uma saída entre duas entradas, podemos observar que são necessários três blocos sintetizáveis Multiplexer 2x1.

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.3 podemos 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 de iterações necessárias em cada caso. Na tabela 5.4 é possível observar os erros dos valores dos pesos sinápticos calculados pelo modelo sintetizável em relação aos pesos calculados na simulação em software do neurônio FePerceptron.

Porta lógica booleana w1 w2 w3 Erro mínimo Iterações

AND 0.629 0.629 -0.359 0.000396 21

NAND -0.629 -0.629 1.527 0.000396 19

OR 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.

5.2. FEPERCEPTRON E SEU CICLO DE APRENDIZAGEM 49 Porta lógica booleana w1 w2 w3

AND 0.0099 0.0099 0.0169 NAND 0.0213 0.0213 0.0439 OR 0.0099 0.0099 0.0198 NOR 0.0118 0.0118 -0.0045

Tabela 5.4: Erro referente aos valores dos pesos calculados pelo modelo de hardware em relaçã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.4 que os pesos sinápticos calculados pelo modelo sintizável do neurônio FePerceptron se aproximam 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éricos representados digitalmente em ponto fixo nesse trabalho apresentaram perdas numéricas no decorrer do processo de aprendizagem do neurônio, mas ainda assim, permitindo que as 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 das portas lógicas AND, NAND, OR e NOR por meio do modelo sintetizável do neurônio FePercetron. Os gráficos mostram que o erro em hardware, apesar de acompanhar a curva do erro em software, permanece acima do erro obtido em software, ainda que sejam obtidos valores satisfatórios.

Figura 5.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 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ível realizar o processo de síntese em hardware do modelo do neurônio ferroelétrico. A síntese foi direcionada para a placa FPGA DE2 EP2C35, da Altera, que possui uma capacidade de 33.216 elementos lógicos combinacionais (LUTs) e sequenciais (registradores síncronos

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 aprendizado obtidas nas respectivas simulações em software (curva em azul).

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

Recurso de hardware Total utilizado Elementos lógicos 533 Registradores lógicos 104 Multiplicadores embarcados 16

Clockmáximo 101 MHz

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

De um total de 533 elementos lógicos combinacionais (LUTs) e 104 registradores lógicos dedicados (somente registradores lógicos assíncronos), o modelo FePerceptron utilizou 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áximo de 101 MHz.

Benzer Belgeler