PROTÓTIPO DE UMA APLICAÇÃO PARA AUXÍLIO NA GERAÇÃO DE LAUDOS MÉDICOS A PARTIR DO RECONHECIMENTO DE PALAVRAS FALADAS UTILIZANDO REDES NEURAIS

Tamanho: px
Começar a partir da página:

Download "PROTÓTIPO DE UMA APLICAÇÃO PARA AUXÍLIO NA GERAÇÃO DE LAUDOS MÉDICOS A PARTIR DO RECONHECIMENTO DE PALAVRAS FALADAS UTILIZANDO REDES NEURAIS"

Transcrição

1 UNIVERSIDADE DO PLANALTO CATARINENSE DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE SISTEMAS DE INFORMAÇÃO (BACHARELADO) JUNIOR STURM PROTÓTIPO DE UMA APLICAÇÃO PARA AUXÍLIO NA GERAÇÃO DE LAUDOS MÉDICOS A PARTIR DO RECONHECIMENTO DE PALAVRAS FALADAS UTILIZANDO REDES NEURAIS LAGES (SC) 2011

2 JUNIOR STURM PROTÓTIPO DE UMA APLICAÇÃO CAPAZ DE GERAR LAUDOS MÉDICOS A PARTIR DO RECONHECIMENTO DE PALAVRAS FALADAS UTILIZANDO REDES NEURAIS Trabalho de Conclusão de Curso submetido à Universidade do Planalto Catarinense para obtenção dos créditos de disciplina com nome equivalente no curso de Sistemas de Informação - Bacharelado. Orientação: Profª. Daiana Petry Leite, M.Sc. LAGES (SC) 2011

3 JUNIOR STURM PROTÓTIPO DE UMA APLICAÇÃO CAPAZ DE GERAR LAUDOS MÉDICOS A PARTIR DO RECONHECIMENTO DE PALAVRAS FALADAS UTILIZANDO REDES NEURAIS ESTE RELATÓRIO, DO TRABALHO DE CONCLUSÃO DE CURSO, FOI JULGADO ADEQUADO PARA OBTENÇÃO DOS CRÉDITOS DA DISCIPLINA DE TRABALHO DE CONCLUSÃO DE CURSO, DO 8º. SEMESTRE, OBRIGATÓRIA PARA OBTENÇÃO DO TÍTULO DE: BACHAREL EM SISTEMAS DE INFORMAÇÃO Lages (SC), 09 de Dezembro de 2011 Prof. Daiana Petry Leite, M.Sc. Orientador BANCA EXAMINADORA: Prof. Sergio Murilo Schütz, M.Sc. UNIPLAC Prof. Madalena Pereira da Silva, M.Sc. UNIPLAC Prof. Sabrina Bet Koerich, M.Sc. Professor de TCC Prof. Sabrina Bet Koerich, M.Sc. Coordenador de Curso

4 Dedico... Aos meus pais Nair e Rogério Sturm, que me apoiaram em todos os momentos desta jornada.

5 Agradeço... Aos meus amigos Kamila, Raruana, Rodrigo, Soraia e Thiago, que sempre estiveram à disposição quando necessário. A Deiviane por sua compreensão e auxílio com sua voz no desenvolvimento deste trabalho e a minha orientadora Daiana, por sua dedicação, esforço e auxílio no esclarecimento de todas as dúvidas encontradas durante esta caminhada.

6 Se você quer ser bem sucedido, precisa ter dedicação total, buscar seu último limite e dar o melhor de si. (Ayrton Senna)

7 LISTA DE ILUSTRAÇÕES FIGURA 1 - Modelo do neurônio biológico FIGURA 2 - Modelo do neurônio artificial proposto por McCulloch FIGURA 3 - O neurônio artificial FIGURA 4 - O aprendizado supervisionado FIGURA 5 - O aprendizado não-supervisionado FIGURA 6 - Rede alimentada adiante ou acíclica com única camada de neurônios. 27 FIGURA 7 - Rede de múltiplas camadas e totalmente conectada FIGURA 8 - Rede recorrente com neurônios ocultos FIGURA 9 - Diagrama de use-case FIGURA 10 - Modelo lógico FIGURA 11 - Diagrama de classe FIGURA 12 - Visão simples da produção da fala FIGURA 13 - Sistema auditivo FIGURA 14 - Tela inicial do sistema FIGURA 15 - Exemplo de um laudo impresso FIGURA 16 - Tela de cadastro de paciente FIGURA 17 - Tela de pesquisa dos laudos médicos FIGURA 18 - Tela de detalhes do laudo médico FIGURA 19 - Comparativo da palavra normal FIGURA 20 - Comparativo da palavra alteração QUADRO 1 - Requisito funcional manter informações dos pacientes QUADRO 2 - Requisito funcional - manter informações dos médicos QUADRO 3 - Requisito funcional - manter informações dos exames QUADRO 4 - Requisito funcional manter informações dos convênios QUADRO 5 - Requisito funcional manter informações dos laudos QUADRO 6 - Requisitos suplementares QUADRO 7 - Casos de uso QUADRO 8 - Caso de uso gerar laudo médico QUADRO 9 - Exceção caso de uso gerar laudo médico QUADRO 10 - Exceção caso de uso gerar laudo médico QUADRO 11 - Exceção caso de uso gerar laudo médico QUADRO 12 - Exceção caso de uso gerar laudo médico QUADRO 13 - Preparando a variável targetdataline

8 QUADRO 14 - Definição do formato do áudio QUADRO 15 - Captura e armazenamento da frequência do áudio QUADRO 16 - Extração de características do sinal de áudio QUADRO 17 - Trecho de código que faz a captura da frequência do arquivo.wav. 49 QUADRO 18 - Trecho de código que encaminha o sinal obtido à rede neural QUADRO 19 - Algoritmo back-propagation QUADRO 20 - Método forward na classe MLP QUADRO 21 - Métodos fazersinapse e funcaoativacao da classe Neuronio QUADRO 22 - Método backward na classe MLP QUADRO 23 - Método ajustarpesos de cada neurônio da rede neural QUADRO 24 - Método que obtém o erro médio quadrático QUADRO 25 - Trecho de código contido no método reconhecer na classe MLP TABELA 1 - Testes da rede MLP Etapa TABELA 2 - Testes da rede MLP etapa TABELA 3 - Testes da rede MLP etapa TABELA 4 - Testes da rede MLP etapa TABELA 5 - Testes da rede MLP etapa TABELA 6 - Testes da rede MLP etapa TABELA 7 - Testes da rede MLP etapa TABELA 8 - Testes da rede MLP etapa TABELA 9 - Testes da rede MLP etapa TABELA 10 - Testes da rede MLP etapa TABELA 11 - Testes da rede MLP etapa TABELA 12 - Testes da rede MLP etapa TABELA 13 - Testes da rede MLP etapa TABELA 14 - Testes da rede MLP etapa TABELA 15 - Testes da rede MLP etapa TABELA 16 - Testes da rede MLP etapa TABELA 17 - Testes da rede MLP etapa TABELA 18 - Testes da rede MLP etapa TABELA 19 - Testes da rede MLP etapa TABELA 20 - Testes da rede MLP etapa TABELA 21 - Testes da rede MLP etapa TABELA 22 - Testes da rede MLP etapa TABELA 23 - Testes da rede MLP etapa TABELA 24 - Testes da rede MLP etapa

9 LISTA DE ABREVIATURAS E SIGLAS ANN FFT IA MLP PCM RNA SOM WAV - Artificial Neural Network - Transformada Rápida de Fourier - Inteligência Artificial - Multi Layer Perceptron - Pulse Code Modulation - Rede Neural Artificial - Self-Organizing Map - Waveform Audio File Format

10 RESUMO Com o passar do tempo, o homem começou a estudar novos métodos de se comunicar com a máquina, e um deles é a interação através de comandos de voz, que libera o usuário para poder exercer outras funções ao mesmo tempo em que interage com o equipamento. Este trabalho teve como objetivo desenvolver um protótipo de uma aplicação capaz de gerar laudos médicos a partir do reconhecimento de palavras faladas. Para que este objetivo fosse cumprido, utilizou-se uma técnica de Redes Neurais Artificiais (RNA), a MLP (Multi Layer Perceptron), para que assim fosse possível fazer o reconhecimento de um determinado número de palavras chaves, que serão utilizadas posteriormente para a confecção dos laudos de exames médicos, sem a necessidade da digitação dos mesmos. Entretanto nos testes realizados, foi constatado que esta técnica não se mostra capaz de distinguir os sinais de áudio repassados a ela, sendo os resultados muito abaixo do esperado. Para tanto, o objetivo principal deste trabalho foi parcialmente alcançado, pois foi demonstrado através dos treinamentos realizados que a rede neural, da forma que foi estruturada não conseguiu 100% de acerto nos reconhecimentos. Desta forma tal estudo serve para identificar a ineficiência da estrutura que foi estabelecida para RNA na aplicação em questão. Palavras-chave: MLP; reconhecimento de palavras; Redes Neurais Artificiais.

11 ABSTRACT Over time, the man began to study new methods to communicate with the machine, and one of them is the interaction through voice commands, which let the user exercise other functions at the same time that he interacts with the equipment. The objective of this work was develop an application prototype capable of generate medical reports through the recognition of spoken words. To fulfill this objective, we used an Artificial Neural Network (ANN) technique, the Multi Layer Perceptron (MLP), in a way that allows the recognition of several keywords, these keywords will be used later for the medical examination reports confection, without the necessity of typing. In other way, the tests revealed that this technique can t distinguish the audio signals passed to it, making worse results than were expected. Therefore, the proposed objective was partially achieved, demonstrating through the experiments the neural network the way it was structured not succeeded 100% in recognition. So this study identifies the inefficiency of the structure that was established to RNA in the application in question. Keywords: MLP, Word Recognition, Artificial Neural Networks.

12 SUMÁRIO 1 INTRODUÇÃO Apresentação Descrição do problema Justificativa Objetivo geral Objetivos específicos Metodologia REDES NEURAIS ARTIFICIAIS Introdução O que são redes neurais artificiais (RNA) Histórico Neurônio biológico Neurônio artificial Aprendizagem Aprendizagem supervisionada Aprendizagem não-supervisionada Arquitetura das redes neurais Multi-layer perceptron (MLP) Treinamento Reconhecimento de palavras faladas Conclusão MODELAGEM DO PROTÓTIPO Sumário executivo Requisitos funcionais Requisitos suplementares Casos de uso Expansão de caso de uso Modelagem do banco de dados Modelagem da rede neural MLP Conclusão DESENVOLVIMENTO DO SISTEMA Introdução Aquisição do sinal... 45

13 4.3 Extração de características Classificação Treinamento Reconhecimento Apresentação do sistema Conclusão TESTES Captura do áudio pelo sistema Resultados Discussão dos resultados Valores de entrada Quantidade de áudios aprendizagem Camada intermediária Conclusão CONSIDERAÇÕES FINAIS REFERÊNCIAS BIBLIOGRÁFICAS APÊNDICES... 82

14 13 1 INTRODUÇÃO 1.1 Apresentação Com o passar dos anos, novas invenções vão surgindo com base nas necessidades que o homem vem passando. Desde a invenção da roda, surgimento da energia elétrica, até a fabricação de celulares e computadores, que vieram para auxiliar nas tarefas diárias exercidas pelo ser humano. Já na área da informática, a qual vem passando por mudanças diariamente, o homem encontrou um meio de agilizar suas tarefas diárias, utilizando programas de computadores, que se comunica com o usuário através de seus periféricos, e que tenham a finalidade de suprir alguma necessidade que é encontrada. Entretanto, para que essa comunicação homem-máquina aconteça, há necessidade que alguma pessoa fique perto do equipamento para que ele possa ser manuseado de forma adequada, através de comandos digitados pelo teclado ou pelo uso do mouse, fazendo com que alguém fique dependente do local onde o equipamento encontra-se instalado. Caso ele seja portátil, há necessidade de manuseá-lo de forma adequada para que haja interação com o equipamento. Para solucionar tal problema, o homem começou a estudar novos métodos de se comunicar com a máquina, e um deles é a interação através de comandos de voz, o qual liberta o usuário para poder exercer outras funções ao mesmo tempo em que interage com o equipamento, tornando mais simples suas tarefas diárias, além de propiciar às pessoas com deficiência motora ou visual maior interação com o mundo digital (PERETTA et al. 2009).

15 14 Para tal finalidade, pode-se utilizar uma técnica chamada de RNA (Redes Neurais Artificiais), que possui sua origem na Inteligência Artificial (IA), e que tem como uma de suas aplicações o reconhecimento de palavras faladas (PAULA 2000), para que assim possa haver interação com equipamentos eletrônicos sem a necessidade de lidar manualmente com eles. Esta comunicação ocorre a partir do momento em que o usuário fala, através de um microfone conectado a um computador, onde um sinal da fala é emitido. Este sinal, que vem codificado, deve ser analisado, para que haja a extração de parâmetros, e assim o reconhecimento de cada característica do mesmo, formando um padrão para ele, que posteriormente será comparado com outros previamente cadastrados (PAULA, 2000) e (VALIATI, 2000). Atualmente, muitos softwares de reconhecimento de voz estão presentes no mercado, e com as mais diversas finalidades, desde simples comandos executados no computador, até mesmo em alguns jogos que interagem com o usuário por meio de comandos de voz. Esta tecnologia vem crescendo cada vez mais e com mais adeptos, como exemplo pode-se citar a Google que em 2010, no Brasil, anunciou um novo serviço de busca para celulares, o qual utiliza comandos de voz, previamente já lançados em outros países. Esse sistema de busca por comandos de voz já representa 15% das pesquisas feitas nos celulares dos Estados Unidos, mostrando assim a força com a qual esta tecnologia vem surgindo no mundo (FERRARI, 2010). Neste trabalho é proposta a utilização de uma técnica de RNA, a MLP (Multi Layer Perceptron), que fara o pré-processamento do sinal da voz e assim reconhecer um número determinado de palavras chaves, as quais serão utilizadas para a geração de laudos médicos. O presente trabalho está dividido da seguinte forma: no capítulo 1 será apresentada a problemática, os objetivos, a justificativa, bem como a metodologia empregada no projeto. No capítulo 2 será feito um estudo sobre RNA e MLP, relatando suas principais características. Já no capítulo 3 será feito a modelagem do sistema, seguido pela sua imprementaçao e teste, resultando nos capítulos 4 e 5. Por

16 15 fim, as considerações finais, capítulo 5, e a redação do artigo científico encerram o trabalho. 1.2 Descrição do problema Com a crescente evolução tecnológica e a necessidade que as pessoas têm de tornar mais rápidas e eficientes suas tarefas diárias, torna-se necessário que novas tecnologias surjam para esta nova era da informática. Com este propósito, tecnologias que usam comandos de voz, propiciam ao usuário uma redução de tempo na realização de suas tarefas diárias, além de trazer inclusão digital a pessoas com deficiência física ou visual. A emissão de laudos de exames médicos atualmente utiliza sistemas computadorizados através da digitação de frases, na maioria das vezes, padronizadas para cada tipo de exame e patologia, e que, por esse motivo, acabam sendo repetitivas, desperdiçando um tempo do profissional que poderia estar focado na análise dos exames ao invés da digitação de seus laudos. 1.3 Justificativa A evolução tecnológica, seguida da grande necessidade de redução de custos e a comodidade que as pessoas gostariam de ter em seu dia-a-dia, torna-se necessário que novas tecnologias sejam desenvolvidas para suprir as necessidades deste público. Com este intuito, tecnologias de reconhecimento de voz vêm ganhando grande destaque, pelos diversos benefícios que proporcionam aos seus usuários. Segundo Braga (2006), A fala como meio de comunicação entre o computador e o usuário traz diversos benefícios. Dentre eles, podem ser citados: - Rapidez: torna a interação mais rápida e assim acelera a realização de tarefas - Evita problemas médicos: reduz o risco de lesão por esforço repetitivo (LER). - Maior mobilidade: o usuário pode utilizar o sistema enquanto está se movendo ou fazendo uma outra atividade que requer o uso das mãos. - A rede telefônica pode ser usada para a passagem de informações,

17 16 possibilitando dessa forma o acesso remoto ao sistema. - Aplicações Médicas: utilização da fala na manipulação e interação com equipamentos cirúrgicos. - Possibilidade de acesso de deficientes visuais e físicos serem incluídos no contexto social e tecnológico. Uma área em específico chama a atenção, pela necessidade de tornar mais ágeis seus processos; a área médica, o qual se tem um fluxo de pessoas grande que necessitam de atendimento. Entretanto, alguns processos, muitas vezes repetitivos, acabam tomando muito tempo dos profissionais da área médica, tempo que poderiam estar se dedicando ao que realmente importa cuidar e salvar vidas. Pode-se destacar neste meio, por se tornar um processo repetitivo e que ocupa tempo dos profissionais da saúde, o processo de geração de laudos. Esse processo algumas vezes é elaborado com alguma pressa, ocasionando falta de alguns itens, e muitas vezes a escrita de códigos, os quais se algum outro profissional ou até mesmo o paciente queira vê-los se tornam ilegível e incompreensível. Por tal motivo, torna-se necessário o desenvolvimento de uma aplicação que tenha a capacidade, através do reconhecimento de códigos falados pelos médicos, fazer a geração dos laudos médicos de seus pacientes. Processo este que pode ser feito enquanto o médico faz a análise de seu paciente, ao se deslocar dentro do hospital, entre cada consulta, assim tornando mais rápida e eficiente suas atividades diárias, acarretando em maior disponibilidade para atender seus pacientes e consequentemente diminuir o tempo de espera das pessoas em filas de hospitais e prontos atendimentos. 1.4 Objetivo geral Desenvolver o protótipo de uma aplicação de reconhecimento de voz para a geração de laudos de exames médicos, sem a necessidade da digitação dos mesmos, utilizando RNA.

18 Objetivos específicos a) Delimitar um exame médico a fim de identificar seus códigos; b) Identificar e relatar quais palavras são utilizados para a geração dos laudos de tais exames; c) Aplicação da técnica de RNA denominada MLP; d) Desenvolver um protótipo capaz de reconhecer códigos falados pelos médicos. 1.6 Metodologia Inicialmente foi realizado o levantamento bibliográfico, buscando encontrar temas relacionados ao trabalho, RNA e MLP. Este estudo teve como objetivo adquirir maior conhecimento sobre o tema, para que assim pudesse ser escrito o capítulo 2, intitulado Redes Neurais Artificiais. Em um segundo momento, foi feita a escolha de uma determinada área médica, a qual serviu como base para a coleta dos códigos utilizados pelos médicos. Além dos códigos, foi descrito detalhadamente o significado de cada um dos mesmos, descrevendo suas características. Estes dados foram coletados juntamente com um profissional da área escolhida. O próximo passo foi à modelagem do sistema (capítulo 3), que serviu de base para a implementação do sistema para a geração de laudos médicos a partir do reconhecimento de palavras faladas (capítulo 4). Terminado a implementação do sistema, iniciou-se a faze de testes (capítulo 5), com o objetivo certificar que o sistema reconheça os códigos falados pelos médicos com uma taxa de acerto considerável e de forma confiável. Por fim foi escrito o capítulo 6, onde foram levantadas as considerações finais, juntamente com sugestões para trabalhos futuros. Também houve a redação de um artigo que demonstrou os resultados obtidos neste trabalho.

19 18 2 REDES NEURAIS ARTIFICIAIS Este capítulo é composto pelo estudo realizado sobre Redes Neurais Artificiais (RNA), dando-se destaque a MLP (Multi-Layer Perceptron). Houve também pesquisa sobre o reconhecimento de palavras faladas, bem como trabalhos similares. 2.1 Introdução Desde os primórdios da revolução industrial, o homem sonhava em desenvolver autômatos, posteriormente chamados de robôs, dotados de certa inteligência e capacidade de compreensão, para poder desempenhar tarefas de forma autônoma a fim de substituir o trabalho humano, como por exemplo, através de comandos falados. (PAULA, 2000) O cérebro humano tem a capacidade de interpretar informações extremamente complexas, caso da fala, uma forma de comunicação utilizada entre os seres humanos, da qual podemos extrair diversas informações tais como: identificação de quem está falando, qual seu estado emocional, dados como ironia, seriedade ou tristeza (LOUZADA, 2000). Já as máquinas ainda não têm esta capacidade que nós seres humanos temos de reconhecer informações através da fala, fazendo com que a comunicação Homem/Máquina ainda seja realizada por periféricos, o que muitas vezes demanda grande quantidade de tempo para ser aprendido e utilizado (LOUZADA, 2000).

20 O que são redes neurais artificiais (RNA) Redes neurais artificiais buscam solucionar problemas de reconhecimento de padrões, baseados em conjuntos de informações previamente conhecidos. Também solucionam problemas da Inteligência Artificial, através da modelagem de circuitos (conexões) que simulem o sistema nervoso humano, abrangendo sua capacidade de aprender e agir diante as diversas situações apresentadas, adquirindo conhecimento através da experiência e da observação (PAULA, 2000). Segundo Aleksander e Morton 1 apud Haykin (2001) redes neurais artificiais podem ser definidas como sendo um processo maciçamente paralelamente distribuído, constituído de unidades de processamento simples, tendo propensão natural para armazenar conhecimento experimental e torná-lo disponível para o uso. Assemelha-se com o cérebro em dois aspectos: no conhecimento, que é adquirido pelo processo de aprendizagem, e na força das conexões sinápticas entro os neurônios que são utilizados para armazenar o conhecimento adquirido. A aprendizagem acontece através de um procedimento chamado algoritmo de aprendizagem, que age modificando os pesos sinápticos da rede, para que assim se possa chegar ao objetivo desejado (HAYKIN, 2001). A RNA tem como beneficio ser distribuída e generalizada, onde na generalização ela tem a capacidade de apresentar saídas coerentes para entradas que não estavam presentes no processo de treinamento (aprendizagem). Outros benefícios da RNA são a sua capacidade de trabalhar com problemas não-lineares, ser de fácil adaptação a novas informações e a sua capacidade de tolerância a falhas (HAYKIN, 2001). 2.3 Histórico As redes neurais artificiais tiveram seu início com o desenvolvimento de um modelo de neurônio por McCulloch e Pitts em 1943, onde foram descritos o modelo

21 20 do neurônio artificial e sua capacidade computacional. (VALIATI, 2000) Já em 1949, Hebb, em seu livro The Organization of Behavior, propôs o principio da aprendizagem em sistemas nervosos complexos, no qual descrevia o funcionamento quantitativo da sinapse e do processo de treinamento humano (PAULA, 2000). Hebb então propôs uma regra de aprendizagem, onde dizia que quando um estímulo de entrada influência na produção de estímulos de saída, o peso da conexão entre os neurônios deve ser incrementado (FERNANDES, 2003). Em 1958, Frank Rosemblatt apresentou o modelo de Perceptron,que podiam ser treinadas para classificar certos tipos de padrões, onde o mais simples descrito por ele possuía três camadas, onde a primeira recebe as entradas do exterior e possui conexões fixas (fotoperceptron), a segunda que recebe os impulsos da primeira por meio das conexões, e ajusta seus pesos, repassando-as para a ultima camada, onde são geradas as respostas (VALIATI, 2000). Entretanto Marvin Minsky e Seymour Papert mostraram algumas limitações dos Perceptrons que somente solucionavam uma classe de problemas. Estes resultados desencorajaram o estudo das RNA na década de 70 e início dos anos 80 (VALIATI, 2000), mas voltaram com força com vários trabalhos nesta área. Como o de Hopfield que é capaz de estabilizar um conjunto de padrões de treinamento e também de realizar auto-associações (FERNANDES, 2003). Com a volta dos estudos sobre RNA, Rumelhart, Hinton e Willians, eliminaram o problema de associação de padrões para um conjunto de padrões nãolineares das redes Perceptron de multicamadas através da generalização da regra Delta 2, surgindo assim o algoritmo de Back-propagation (FERNANDES, 2003). 2.4 Neurônio biológico Os neurônios do cérebro humano e suas conexões têm a capacidade de 1 ALEKSANDER, I., MORTON H..An Introduction to Neural Computing. Inglaterra, Londres: Chapman & Hall, Algoritmo de reconhecimento de padrões desenvolvido por Widrow e Hoff

22 21 processar informações de forma não-linear e paralela para a resolução de tarefas complexas a partir de experiências acumuladas ao longo do tempo, formando grande quantidade de interconexões com outros neurônios (BRAGA, 2006). O cérebro humano possui aproximadamente 10 bilhões de neurônios interligados, fazendo cada um deles entre mil e dez mil conexões com neurônios adjacentes (PANICKI, 2004). Cada neurônio é delimitado por uma fina membrana celular, que além de suas funções biológicas possui propriedades fundamentais para o funcionamento elétrico da célula nervosa. Do corpo celular ou soma 3, projetam-se extensões filamentares, os dendritos, que podem chegar a cobrir volume maior que a soma, formando uma árvore dentrial; e o axônio, uma fibra nervosa, geralmente uma por neurônio, que se conecta a outros sistemas nervosos (KOVÁCS, 2006). Na figura 1 apresenta-se o exemplo de um neurônio biológico. FIGURA 1 - Modelo do neurônio biológico FONTE: KOVÁCS, 2006 A comunicação que ocorre entre os neurônios se dá através da sinapse, que está compreendida entre duas membranas celulares: a pré-sináptica que parte através da membrana dentrial, chegando à pós-sináptica nos axônios (KOVÁCS, 2006). Na região intersináptica, os estímulos nervosos que chegam à sinapse são

23 22 transferidos à membrana dentrial através de substâncias conhecidas como neurotransmissores. Dependendo do tipo do neurotransmissor a conexão sináptica poderá ser excitatória, provocando uma alteração no potencial da membrana e contribuindo para a formação de impulsos nervosos no axônio de saída; ou inibitória, agindo no sentido oposto (KOVÁCS, 2006). 2.5 Neurônio artificial O neurônio é uma unidade de processamento de informação que é fundamental para a operação de uma rede neural (HAYKIN, 2001). O neurônio artificial não é muito diferente do neurônio biológico, onde a rede neural artificial simula de forma matemática e lógica o funcionamento de um neurônio humano (PANICKI, 2004). Um dos modelos mais conhecidos de neurônio artificial é o modelo de McCulloch e Pitts, simples diante das informações disponíveis naquela época (Figura 2). Este modelo era um dispositivo binário onde a saída poderia ser pulso ou não pulso (ativo ou não) e as entradas tinham um ganho arbitrário, podendo ser excitatórias ou inibitórias. Para calcular o valor da saída, calculava-se a soma ponderada das entradas com seus ganhos como fator de ponderação, excitatórios ou inibitórios, onde o resultado era pulso (ativo) caso atingisse certo valor, caso contrario não pulso (não ativo) (PAULA, 2000). O neurônio artificial, assim como o biológico, possui um ou mais sinais de entrada e apenas um de saída, onde os sinais são adquiridos de sensores ou de outros neurônios artificiais que integram a RNA, devendo chegar ao núcleo ao mesmo tempo, sendo processados e enviados à saída (PAULA, 2000). O modelo matemático proposto por McCulloch e Pitts resultou em um modelo matemático com n terminais de entrada X1, X2, X3,..., Xn os quais representavam os dendritos, e com apenas um terminal de saída correspondente aos axônios e que tinha como finalidade emular o comportamento das sinapses. Os 3 Centro dos processos metabólicos da célula nervosa.

24 23 terminais de entrada possuem pesos acoplados W1, W2, W3,..., Wn, os quais podem conter valores positivos ou negativos, conforme as sinapses forem inibitórias ou excitatórias (VALIATI, 2000). FIGURA 2 - Modelo do neurônio artificial proposto por McCulloch FONTE: PAULA, 2000 O próximo passo é verificar se a soma ponderada somatório do produto dos sinais de entrada pelos pesos dos neurônios atingiu ou não um valor predeterminado, chamado de limiar. Se o valor calculado atingiu o limiar, o mesmo é repassado adiante através da saída, caso contrário ele não será transferido. Este processo de verificação é chamado de função de transferência, também conhecido como limiar lógico (PAULA, 2000). A figura 3 representa um neurônio artificial. Há também uma função de ativação, a qual em alguns modelos pode ser a própria soma das entradas ponderadas, e que antecede a função de transferência. Esta função tem como objetivo decidir o que fazer com o resultado da soma ponderada das entradas (ativar ou não), tendo efeito somente ao respectivo neurônio artificial (PAULA, 2000).

25 24 FIGURA 3 - O neurônio artificial FONTE: PAULA, 2000 Em alguns casos o neurônio artificial não chega a ter efeito no neurônio seguinte, pois devido às características sigma ou ríspida presentes na função de transferência, o valor de ativação não ultrapassa um valor mínimo (PAULA, 2000). 2.6 Aprendizagem Uma RNA para solucionar seus problemas, passa inicialmente por um processo de aprendizagem, onde as informações mais relevantes dos padrões de informação são extraídas, modelando uma representação própria (PAULA, 2000). Para Fernandes (2003) a propriedade mais importante da RNA é a habilidade de aprender de seu ambiente, e com isso melhorar seu desempenho. Para Mendel e McClaren 4 apud Haykin (2001), a aprendizagem de um RNA é o processo pelo qual os parâmetros são adaptados através de um processo de estimulação na qual a rede está inserida e o tipo de aprendizagem é determinado pela maneira que ocorrem as modificações nos parâmetros. Já o treinamento de uma RNA se da através de um algoritmo de aprendizagem onde um conjunto de procedimentos ajusta os parâmetros de uma RNA

26 25 com a finalidade de aprender determinada função (PAULA, 2000). Estes ajustes nos parâmetros podem ser feito de dois modos diferentes: Por Lote (Batch) onde os parâmetros são atualizados ao final do processamento de um conjunto de observações, reduzindo o tempo de treinamento da rede; e o modo incremental, onde os ajustes são realizados após cada observação (VALIATI, 2000). Os métodos de treinamento estão subdivididos em dois paradigmas principais: o aprendizado supervisionado e o não supervisionado e serão descritos a seguir Aprendizagem supervisionada Na aprendizagem supervisionada a entrada e a saída desejadas para a rede são fornecidas por um supervisor, o qual detém determinado conhecimento sobre o assunto, e que é responsável por indicar explicitamente um comportamento bom ou ruim da mesma, ajustando seus parâmetros sempre que necessário, assim encontrando uma ligação entre os pares de entrada e saída (VALIATI, 2000). Uma medida utilizada para dar maior conhecimento à rede se da através do erro, onde é considerada a diferença entre a resposta apresentada pela rede y(t) e a resposta desejada d(t), sendo o erro e(t) usado para ajustar os parâmetros da rede através de um processo interativo (Equação 1) (BRAGA, 2006). e(t) = d(t) y(t) Eq. 1 A seguir é apresentado um diagrama ilustrando o aprendizado supervisionado (Figura 4). 4 Mendel, J.M., and R. W. McLaren, Reinforcement-learning control and pattern recognition systems, in Adaptive, Learning, and Pattern Recognition Systems: Theory and Applications, vol. 66, J.M. Mendel and K.S. Fu, eds., pp , New York: Academic Press

27 26 FIGURA 4 - O aprendizado supervisionado FONTE: BRAGA, Aprendizagem não-supervisionada Na aprendizagem não supervisionada não há um supervisor para monitorar o processo de aprendizagem. Entretanto a rede possui um monitor dentro da rede que analisa as regularidades e/ou tendências dos sinais de entrada, adaptando-se automaticamente para as necessidades da rede (PAULA, 2000). Segundo Valiati (2000), este método semente é possível com a existência de dados redundantes na entrada da rede, para que assim se formem representações internas para se codificar características de entrada e produzir novas classes automaticamente. A seguir é apresentado um diagrama ilustrando o aprendizado nãosupervisionado (Figura 5). FIGURA 5 - O aprendizado não-supervisionado FONTE: BRAGA, 2006

28 Arquitetura das redes neurais Arquitetura de uma RNA é um parâmetro importante na sua criação, uma vez que ela define qual o tipo de problema que pode ser tratado pela rede (BRAGA, 2006). A maneira pela qual a rede neural esta estruturada esta ligada diretamente com o algoritmo de aprendizagem utilizado para treinar a rede. Assim podemos identificar três classes de arquitetura fundamentalmente diferentes (HAYKIN, 2001): 1. Redes neurais de camada única (Redes Perceptron): é a forma mais simples de uma rede neural. Na camada de entrada são apresentados os padrões da rede, que são projetadas sobre uma camada de saída de neurônios (nós computacionais). Esta rede é alimentada de forma adiante ou acíclica, onde as informações fluem da camada de entrada até a camada de saída. Esta rede é considerada de camada única, pois o nó de entrada não realiza qualquer computação (HAYKIN, 2001). A seguir é apresentado o modelo de uma rede neural de camada única (Figura 6). FIGURA 6 - Rede alimentada adiante ou acíclica com única camada de neurônios. FONTE: HAYKIN, Redes neurais de múltiplas camadas (MLP Multi-Layer Perceptron): Esta arquitetura, como a anterior também possui sua

29 28 alimentação de forma acíclica. Entretanto ela se difere pelo acréscimo de uma ou mais camadas ocultas na rede, sendo chamados de neurônios ocultos ou unidades ocultas. Estas camadas têm a função de tornar a rede capaz de extrair estatísticas de ordem elevada, valiosas quando a camada de entrada é grande, aumentando a eficiência da rede. Esta arquitetura, diferentemente da outra, consegue resolver problemas linearmente separáveis (HAYKIN, 2001). Já as conexões entre as camadas da rede podem ser classificadas de duas formas: totalmente conectadas, onde cada um dos nós de uma camada esta conectado a todos os nós da camada adjacente seguinte; e parcialmente conectadas, onde alguns dos elos de comunicação podem estar faltando (HAYKIN, 2001). A seguir é apresentado o modelo de uma rede neural de múltiplas camadas (Figura 7). FIGURA 7 - Rede de múltiplas camadas e totalmente conectada FONTE: HAYKIN, Redes Recorrentes: Se distingue de uma rede neural alimentada de forma acíclica por conter pelo menos um laço de realimentação. Como exemplo pode-se citar uma rede de uma única camada, onde cada neurônio alimenta todos os seus outros neurônios de entrada com

30 29 o seu sinal de saída. A presença de um laço de realimentação tem impacto no processo de aprendizagem de uma rede e no seu desempenho (HAYKIN, 2001). Outro fator importante, é que uma rede de realimentação envolve o uso e ramos particulares compostos de elementos de atraso unitário (Z-1), o que resulta em um comportamento dinâmico não-linear (HAYKIN, 2001). A seguir é apresentado o modelo de uma rede recorrente (Figura 8). FIGURA 8 - Rede recorrente com neurônios ocultos FONTE: HAYKIN, Multi-layer perceptron (MLP) A MLP consiste em um conjunto de unidades sensoriais (nós de fonte) que constituem a camada de entrada, uma ou mais camadas ocultas de nós computacionais e uma saída de nós computacionais, onde o sinal se propaga para frente, através da rede, camada por camada. Geralmente chamadas de perceptrons de múltiplas camadas, representam a generalização do perceptron de camada única (HAYKIN, 2001). Segundo Heykin (2001), uma MLP possui três características distintivas: 1. O modelo de cada neurônio possui uma função de ativação não-linear,

31 30 normalmente utilizando a não-linearidade sigmóide, sendo esta nãolinearidade suave, e importante na relação entrada-saída da rede, para que ela não seja reduzida a uma perceptron de camada única. 2. A rede contém uma ou mais camadas de neurônio ocultos que capacitam a rede a aprender tarefas complexas, extraindo progressivamente características mais significativas dos padrões (vetores) de entrada. 3. A rede exibe um alto grau de conectividade, determinado pelas sinapses da rede, onde a modificação de alguma conectividade da rede faz-se necessário a mudança da população das conexões sinápticas ou de seus pesos. A combinação destas características, juntamente com a habilidade de aprender, através da experiência de treinamentos, faz com que a MLP tenha um grande poder computacional (HAYKIN, 2001). Para Cybenko 5 apud Braga et al (2000), uma rede com uma camada intermediaria pode implementar qualquer função contínua, já para aproximar esta rede a qualquer função, é necessário a utilização de duas camadas intermediarias Treinamento O treinamento de uma rede MLP ocorre através de um algoritmo de treinamento, os quais geralmente são do tipo supervisionado. Existem vários tipos de algoritmos para treinar a rede, onde de acordo com os parâmetros que eles atualizam, podem ser classificados de duas formas (BRAGA et al 2000): Estáticos: não alteram a estrutura da rede, apenas variam o valor dos pesos da rede MLP. Dinâmicos: podem reduzir ou aumentar o tamanho da rede (número de camadas, número de nodos nas camadas intermediarias e número de conexões) 5 G. Cybenko. Approximation by superpositions of a sigmoid function. Mathematics of control, signals and system, 2: , 1989.

32 31 Um dos algoritmos mais utilizado para realizar o treinamento de uma rede MLP é o algoritmo de back-propagation, o qual é supervisionado e baseado na regra delta. Este algoritmo utiliza pares (entrada, saída desejada) para que através de um mecanismo de correção de erros, ajuste os pesos da rede (BRAGA et al 2000). O método de aprendizagem back-propagation, é baseado no gradiente descendente que ajusta os pesos para reduzir o erro da rede, podendo ser aplicado a qualquer rede que usufrua de uma função de ativação diferencial e aprendizagem supervisionada (PAULA, 2000). O treinamento da rede back-propagation ocorre em duas fases; forward e backward, onde cada uma delas percorre a rede em um sentido. Na forward, um padrão é apresentado à camada de entrada da rede, fluindo camada por camada, até que a resposta seja produzida na camada de saída. Já na backward, a resposta da camada de saída é comparada com a saída desejada, e caso a resposta não seja a desejada, o erro é calculado e propagado da camada de saída até a camada de entrada, ajustando os pesos das conexões das unidades das camadas internas, conforme o erro é retropropagado (BRAGA et al 2000; FERNANDES, 2003). Este processo de treinamento da rede é repetido por um número determinado de vezes para cada padrão de dados até que o erro total da saída tenha convergido a um valor mínimo, ou até que algum limite predeterminado de iterações tenha sido completado (PAULA, 2000). Entretanto a utilização do algoritmo de back-propagation apresenta algumas dificuldades quanto a sua utilização. A principal dificuldade diz respeito à lentidão do algoritmo de treinamento para superfícies mais complexas (BRAGA et al 2000). Segundo Braga et al (2000), uma forma de minimizar esses efeitos seria considerar os efeitos de segunda ordem para o gradiente descendente, pois não é raro o algoritmo convergir para mínimos locais 6, embora não sejam a saída correta. Braga et al (2000) também cita algumas técnicas utilizadas para acelerar o algoritmo de back-propagation, e também para reduzir a incidência de mínimos locais: Utilizar taxa de aprendizagem descendente; 6 Mínimos locais são pontos na superfície de erro que apresentam uma solução estável.

33 32 Adicionar nós intermediários; Utilizar um termo momentum; Adicionar ruído aos dados. Outro problema é a possível ocorrência de overfitting na rede MLP, onde ela, em vez de melhorar, começa a piorar a sua taxa de acertos para padrões diferentes daqueles utilizados para o ajuste de pesos, dizendo então que a rede memorizou seus padrões de treinamento, gravando suas particularidades e ruídos (BRAGA et al 2000). Para solucionar o problema de overfitting Braga et al (2000) cita algumas alternativas: Encerrar o treinamento mais cedo (quando o erro de validação começa a subir); Podar (pruning) os pesos da rede. 2.9 Reconhecimento de palavras faladas A fala é uma capacidade ou aptidão que o homem possui para se comunicar, através da qual manifestam seus pensamentos, opiniões e sentimentos, utilizando vocábulos que se transladam textualmente quando necessário (PAULA, 2000). Segundo Valiati (2000), a voz é uma característica que só os humanos possuem, sendo baseada na produção de sons articulados, formados pela inteligência originando uma linguagem que é fonte para a fala. O problema de reconhecer palavras faladas através de computadores pode ser dividido em três partes (SEEMANN, 2006; PAULA, 2000). Aquisição do Sinal: captura do sinal sonoro (voz) através de uma interface analógica digital (por exemplo, placa de som), e a transformação do mesmo em sinal digital. Extração de Características: procura extrair do sinal digitalizado as características necessárias para descrever adequadamente o sinal da voz. Classificação: consiste em identificar os dados selecionados na fase

34 33 anterior para a construção de um modelo capaz de reconhecer novas ocorrências de um conjunto pré-determinado de palavras. O reconhecimento da fala por computador consiste em mapear um sinal acústico, capturado por um transdutor (usualmente um microfone ou telefone) em um conjunto de palavras, tendo como finalidade básica produzir como saída a sequência de palavras ou sentenças correspondentes ao sinal de entrada (LOUZADA, 2010). Neste trabalho, após a aquisição e extração das características do sinal da voz, partiremos para a classificação (reconhecimento), usando redes neurais (MLP) e aprendizado supervisionado (back-propagation). Com isto foi realizado o estudo de outros trabalhos desenvolvidos na parte de reconhecimento de palavras faladas. Como resultado desta pesquisa, além da técnica de redes neurais MLP, outra técnica ganha destaque, a rede neural de Kohonen ou SOM (Self-Organizing Map). A rede neural SOM foi desenvolvida no trabalho de Petrônio de Luna Braga (BRAGA, 2006), o qual teve como objetivo o reconhecimento de vogais, fonemas e frases. Neste trabalho foram desenvolvidos dois protótipos, onde o primeiro protótipo para reconhecimento de vogais teve taxa de acerto de aproximadamente 77%. Já o segundo protótipo para reconhecer fonemas teve taxa de acerto de aproximadamente 68%. Já a rede neural MLP, desenvolvida por Elton Vitor Seemann (SEEMANN, 2006), para o reconhecimento de palavras isoladas, teve taxas de acerto de até 95%. Outro trabalho com a rede neural MLP foi realizado por Ariane Luiza Fossatti Zancan (ZANCAN, 2010), no qual a rede neural teve como objetivo reconhecer as respostas de um jogo de perguntas e respostas desenvolvido, obtendo-se resultados de até 90% de acerto. Zancan (2010) sugeriu, então, que fosse utilizada outra linguagem de programação no desenvolvimento da MLP, já que a linguagem utilizada por ela, não suportava entradas de tamanhos muito grandes, assim podendo alcançar níveis de acerto da rede ainda maiores. Devido ao estudo realizado sobre quais RNA eram mais utilizadas para a resolução do problema proposto, foi definido que a MLP seria implementada neste

35 34 trabalho, pois esta apresentou resultados mais expressivos em comparação as demais redes neurais estudadas Conclusão O estudo de redes neurais é de grande importância para se entender de forma mais clara o seu funcionamento, verificando quais os métodos (técnicas de RNA), que melhor se enquadram na resolução do problema de reconhecimento da fala, juntamente com os métodos mais empregados para o seu treinamento. Por tal motivo, neste capítulo foi apresentada uma idéia geral a respeito das redes neurais artificiais, abordando suas principais características, visto que a gama de aplicações para RNA é bastante vasta. Houve também um estudo direcionado as redes MLP, uma das mais utilizadas na área de redes neurais, bem como para a resolução do problema proposto neste trabalho, o reconhecimento de palavras faladas.

36 35 3 MODELAGEM DO PROTÓTIPO Neste capítulo será descrito o estudo de caso para o protótipo de reconhecimento de palavras faladas, juntamente com seus respectivos casos de uso, requisitos funcionais e suplementares. 3.1 Sumário executivo O sistema tem como objetivo permitir que um usuário (o médico especialista) ao acessar o sistema possa construir o laudo médico de seu paciente. Para a geração deste laudo o médico deve pronunciar algumas palavras (códigos pré-determinados e previamente cadastrados) ao sistema, que deve reconhecer tais palavras e as traduzir, ou seja, descrevê-la em forma de laudo. O sistema, ao final da geração do laudo, deve permitir que o mesmo seja impresso, bem como salvo no sistema, a fim de pesquisas futuras de determinados pacientes. Por tal motivo torna-se necessário um cadastro de pacientes para possível localização dos mesmos posteriormente. 3.2 Requisitos funcionais Os requisitos e funcionalidades do sistema foram extraídos através da análise das necessidades do mesmo e através de um modelo de laudo médico já utilizado. A seguir (Quadros 1 a 5), contêm detalhes dos requisitos, juntamente com suas respectivas restrições.

37 36 QUADRO 1 - Requisito funcional manter informações dos pacientes F1 Manter Informações dos Pacientes ( ) Oculto Descrição: O sistema deve permitir o cadastramento dos pacientes que realizarão o laudo médico. Para isso devem-se manter as seguintes informações dos mesmos: nome, data nascimento, endereço, CPF, RG, telefone para contato, tipo sanguíneo e sexo. Requisitos Não-Funcionais Nome Descrição Categoria Obrigatório Permanente/ NF 1.1 Identificação do paciente NF 1.2 Data de nascimento NF 1.3 Formatação do campo telefone NF 1.4 Seleção do tipo sanguíneo. NF 1.5 Seleção do sexo Todo paciente será identificado por um identificador único gerado automaticamente. Deve seguir o seguinte formato dd/mm/yyyy Deverá ser formatado de acordo com o exemplo: (49) Devera ser selecionado através de um campo de seleção. Deve ser escolhido entre duas opções: Masculino ou Feminino / Desejável Temporário Especificação O P Interface D P Interface D P Interface D P Interface D P QUADRO 2 - Requisito funcional - manter informações dos médicos F2 Manter Informações dos Médicos ( ) Oculto Descrição: O sistema também deverá manter as informações dos médicos que irão realizar os laudos. Portanto os seguintes campos devem ser informados: nome, data nascimento, endereço, CPF, RG, Telefone, especialidade e CRM Requisitos Não-Funcionais Nome Descrição Categoria Obrigatório Permanente/ NF 2.1 Identificação do médico NF 2.2 Data de nascimento NF 2.3 Formatação do campo telefone Todo médico será identificado por um identificador único gerado automaticamente. Deve seguir o seguinte formato dd/mm/yyyy Deverá ser formatado de acordo com o exemplo: (49) / Desejável Temporário Especificação O P Interface D P Interface D P QUADRO 3 - Requisito funcional - manter informações dos exames F3 Manter Informações dos Exames ( ) Oculto Descrição: O sistema deve permitir a inserção, dos exames médicos possíveis de serem realizados, mantendo informações como: nome do exame, qual parte do corpo realizado e o preço Requisitos Não-Funcionais Nome Descrição Categoria Obrigatório Permanente/ NF 3.1 Identificação do exame NF 2.2 Formatação do campo preço Todo exame será identificado por um identificador único gerado automaticamente. Deve seguir o seguinte formato R$ 0,00 / Desejável Temporário Especificação O P Interface D P QUADRO 4 - Requisito funcional manter informações dos convênios F4 Manter Informações dos Convênios ( ) Oculto Descrição: Deve-se manter cadastrado no sistema o convênio pelo qual o paciente poderá fazer o exame

38 37 específico, mantendo armazenado o nome do mesmo. Requisitos Não-Funcionais Nome Descrição Categoria Obrigatório / Desejável Permanente/ Temporário NF 4.1 Todo convênio será identificado por Especificação O P Identificação do um identificador único gerado convênio automaticamente. QUADRO 5 - Requisito funcional manter informações dos laudos F5 Manter Informações dos Laudos ( ) Oculto Descrição: O sistema deve manter cadastrados todos os laudos realizados. Portanto para cada laudo devem-se ter as seguintes informações cadastradas: paciente, médico, exame, convênio, data do laudo, se o paciente apresentou exame realizado anteriormente, qual o motivo deste exame realizado anteriormente e a data que ele foi realizado, além de se armazenar uma descrição do laudo realizado. Requisitos Não-Funcionais Nome Descrição Categoria Obrigatório Permanente/ NF 5.1 Identificação do médico NF 5.2 Escolha do paciente NF 5.3 Escolha do médico NF 5.4 Escolha do exame NF 5.5 Escolha do convênio NF 5.6 Data do laudo NF 5.7 Apresentou exame realizado anteriormente NF 5.8 Data do exame realizado anteriormente Todo convênio será identificado por um identificador único gerado automaticamente. O paciente será escolhido através de um campo de seleção O médico será escolhido através de um campo de seleção O exame será escolhido através de um campo de seleção O convênio será escolhido através de um campo de seleção Deve seguir o seguinte formato dd/mm/yyyy Deve ser escolhido entre duas opções: Sim ou Não Deve seguir o seguinte formato dd/mm/yyyy / Desejável Temporário Especificação O P Interface D P Interface D P Interface D P Interface D P Interface D P Interface D P Interface D P 3.3 Requisitos suplementares O Quadro 6 abaixo segue com uma lista de requisitos suplementares para o sistema ser desenvolvido. Tais requisitos foram identificados baseando-se em características como desempenho, usabilidade e confiabilidade. QUADRO 6 - Requisitos suplementares Nome Restrição Categoria Obrigatório / Desejável Permanente/ Temporário S1. Listar Cadastros Em todos os cadastros deve ser possível visualizar a lista com as informações já cadastradas. Interface O P

39 38 S2. Tecnologia para Desenvolvimento O sistema deve ser desenvolvido através do ambiente NetBeans IDE 6.8 O sistema deve ser S3. Linguagem de Programação implementado em JAVA S4. Banco de Dados Os dados devem ser armazenados no SGBD PostgreSQL 8.4 S5. Forma de Acesso O sistema deverá ser acessado via Desktop Ambiente de O P Desenvolvimento Implementação O P Armazenamento O P Arquitetura O P 3.4 Casos de uso Com base na extração de requisitos, será demonstrado a seguir (Figura 9) o diagrama de use-case do sistema. FIGURA 9 - Diagrama de use-case Também a partir da extração de requisitos, foi relaciona o caso de uso de maior importância para o desenvolvimento do sistema, sendo apresentado a seguir (Quadro 7) a descrição do mesmo.

40 39 QUADRO 7 - Casos de uso Nome Atores Descrição Referências Cruzadas UC 1. Gerar Laudo Médico Médico O médico ao iniciar a geração do laudo, deverá preencher alguns dados referentes ao mesmo. Dentre eles o de paciente, o médico responsável pelo laudo, qual o exame realizado, o convenio que o paciente utiliza e a data do mesmo. O médico também deverá preencher informações como: se o paciente apresentou outro exame, se sim qual o motivo do mesmo e a data que foi realizado, além de descrever o laudo do atual exame. F1, F2, F3, F4, F5 3.5 Expansão de caso de uso cima no Quadro 7. Os Quadros 8 a 12 a seguir representam a expansão do caso de uso citado a QUADRO 8 - Caso de uso gerar laudo médico Caso de Uso: Gerar Laudo Médico Autor: Médico Fluxo Principal Passo Descrição 1 [RS] O sistema apresenta os pacientes disponíveis para realizar o exame. 2 [EV] O médico seleciona qual paciente realizara o exame médico 3 [RS] O sistema apresenta quais possíveis médicos responsáveis pelo laudo. 4 [EV] O médico seleciona qual profissional será responsável pelo laudo. 5 [RS] O sistema apresenta os possíveis exames a serem realizados 6 [EV] O médico seleciona qual exame será realizado 7 [RS] O sistema apresenta os possíveis convenio que o cliente poderá utilizar para realizar o exame. 8 [EV] O médico seleciona por qual convênio será realizado o exame 9 [EV] O médico seleciona se o paciente apresentou ou não outro exame realizado anteriormente e seus respectivos dados. 10 [EV] O médico informa qual o parecer do laudo 11 [EV] O médico finaliza o processo de geração do laudo. QUADRO 9 - Exceção caso de uso gerar laudo médico Exceções Passo Descrição 2.1 Paciente não cadastrado 2.2 O médico deve cadastrar a paciente 2.3 Vai para o passo 3 QUADRO 10 - Exceção caso de uso gerar laudo médico Exceções Passo Descrição 4.1 Médico não cadastrado 4.2 O médico deve cadastrar um médico responsável. 4.3 Vai para o passo 5

41 40 QUADRO 11 - Exceção caso de uso gerar laudo médico Exceções Passo Descrição 6.1 Exame não cadastrado 6.2 O médico deve cadastrar o exame 6.3 Vai para o passo 7 QUADRO 12 - Exceção caso de uso gerar laudo médico Exceções Passo Descrição 8.1 Convênio não cadastrado 8.2 O médico deve cadastrar o convênio. 8.3 Vai para o passo Modelagem do banco de dados A Figura 10 representada a modelagem do banco de dados do protótipo para geração de laudos médicos. Nesta modelagem é apresentado o diagrama de entidade e relacionamento, composto pelas seguintes classes: Paciente, Médico, Exame, Convênio e Laudo. FIGURA 10 - Modelo lógico A seguir (Figura 11), também será apresentado o diagrama de classe do sistema, o qual descreve os vários tipos de objetos do sistema e o relacionamento entre eles.

42 41 FIGURA 11 - Diagrama de classe 3.7 Modelagem da rede neural MLP Para o desenvolvimento deste trabalho, foi definido que a configuração da rede neural MLP, a qual realizara o reconhecimento de cada palavra dita ao sistema, terá a seguinte configuração: 9 neurônios na camada intermediaria, a taxa de aprendizagem da rede neural será de 0.5, o número de interações (ciclos) realizadas de e sinais de áudio serão encaminhados a rede como número de entrada. Os sinais de áudio repassados a rede neural na camada de entrada, deverão passar por um algoritmo de extração de características, o qual ira auxiliar a rede neural MLP no momento de realizar o treinamento e reconhecimento do sinal repassado a ela. Para tanto, deverá ser utilizado neste sistema o algoritmo FFT (Transformada Rápida de Fourier) para a extração de características do sinal de áudio repassado a rede. Já no momento de realizar o treinamento da rede neural, deverá ser repassado ao sistema um número de 40 sinais de áudio de cada palavra para que o

43 42 sistema possa realizar tal processo e atinja um nível de aprendizagem mais elevado. 3.8 Conclusão A modelagem tem como finalidade ser a base para o desenvolvimento de um protótipo para a geração de laudos médicos através do reconhecimento da fala. A etapa de levantamento de requisitos para o desenvolvimento deste sistema se deu através da analise de um modelo de laudo médico já existente, não se encontrando muitas dificuldades para a realização do mesmo, em virtude do sistema ser simples, sendo que o principal objetivo da aplicação seria o reconhecimento dos códigos falados pelo médico com taxa de acerto considerável e de forma confiável. Assim este protótipo foi desenvolvido para ser manuseado de forma simples, para que o processo de geração dos laudos dos exames médicos seja feito da forma rápida e eficaz, não tomando muito tempo do profissional que o realizará o mesmo.

44 43 4 DESENVOLVIMENTO DO SISTEMA Neste capítulo será mostrado o desenvolvimento do trabalho proposto, com ênfase na aquisição da voz, extração das características e o reconhecimento do sinal repassado à rede neural, bem como a sua utilização. 4.1 Introdução A fala é o meio de comunicação mais utilizado pelos seres humanos, sendo o seu sinal composto por uma sequência de sons, regulado por regras da linguagem e pelas características de cada orador (LOUZADA, 2010). Este processo de produção do sinal da voz inicia-se através da pressão do ar, que está contido nos pulmões, que ao ser expelido, inicia um trajeto até a saída do corpo, passando pela traquéia, laringe até chegar à glote 7. Seguindo o seu caminho o ar passa pelo trato vocal, que vai da glote até os lábios, e que atua como um tubo ressonante para filtrar os sons gerados, assim produzindo um conjunto de pulsos, que irão gerar ondas acústicas, irradiadas para fora do trato pelos lábios e narinas, produzindo o som desejado (VALIATI, 2000). A seguir (Figura 12) é ilustrado o processo da produção da fala. Já o ouvinte, ao receber este sinal pelo ouvido externo, que atua como uma corneta acústica conduzindo a onda sonora até o tímpano repassa o sinal para o ouvido médio, que é composto por três pequenos ossos: martelo, bigorna e estribo, responsáveis pela transmissão do sinal amplificado mecanicamente do tímpano ao 7 Glote: orifício entre as cordas vocais, a qual durante a respiração esta aberta. Entretanto durante a produção da fala ela se fecha, obstruindo a passagem de ar, assim modulando o ar em pulsos discretos.

45 44 ouvido interno por meio da janela oval (VALIATI, 2000). FIGURA 12 - Visão simples da produção da fala (FONTE: SEEMANN, 2006) Chegando ao ouvido interno, que é composto de um sistema de cavidades preenchidas com fluidos, o sinal sonoro chega à cóclea, que é uma estrutura espiral que tem a função de converter as vibrações sonoras (mecânicas) em impulsos nervosos (elétricos), os quais serão captados por cerca de 40 mil fibras nervosas, cada uma sintonizada em uma faixa de frequência (VALIATI, 2000). A seguir (figura 13) é apresentado o sistema auditivo do ser humano. FIGURA 13 - Sistema auditivo (FONTE: VALIATI, 2000)

46 45 Já o processo de reconhecer o sinal da fala através de computadores ocorre através de três partes, como dito anteriormente, e será descrito nos próximos itens deste capítulo. 4.2 Aquisição do sinal Para um computador ser capaz de capturar uma amostra da fala, será necessário que o mesmo tenha um microfone e uma placa de som, que serão responsáveis por simular o sistema auditivo de ser humano. O microfone tem como finalidade fazer a aquisição da onda acústica emitida em um determinado ambiente, e transformá-lo em sinal elétrico que será repassado à placa de som, que tem como objetivo transformar os pulsos elétricos em dados discretizados, possibilitando a sua manipulação no computador (VALIATI, 2000). Mas para que estes sinais sejam manipulados faz-se necessário o armazenamento do mesmo em alguma variável dentro do sistema. A seguir (Quadro 13, Quadro 14 e Quadro 15), demonstra-se como é feita a aquisição do sinal vindo da placa de som, para que posteriormente o mesmo seja manipulado da melhor forma possível QUADRO 13 - Preparando a variável targetdataline. audioformat = getaudioformat(); DataLine.Info datalineinfo = new DataLine.Info( TargetDataLine.class, audioformat); targetdataline = (TargetDataLine) AudioSystem.getLine(dataLineInfo); targetdataline.open(audioformat); targetdataline.start(); Thread capturethread = new Thread(new CaptureThread()); capturethread.start(); QUADRO 14 - Definição do formato do áudio. private AudioFormat getaudioformat() { float samplerate = F; int samplesizeinbits = 8; int channels = 1; boolean signed = false; boolean bigendian = false; return new AudioFormat(sampleRate, samplesizeinbits,

47 } channels, signed, bigendian); QUADRO 15 - Captura e armazenamento da frequência do áudio. bytearrayoutputstream = new ByteArrayOutputStream(); stopcapture = false; try { while (!stopcapture) { int cnt = targetdataline.read(tempbuffer, 0, tempbuffer.length); if (cnt > 0) { bytearrayoutputstream.write(tempbuffer, 0, cnt); } } bytearrayoutputstream.close(); } catch (Exception e) { System.out.println(e); System.exit(0); } No método contido no Quadro 13, inicia-se a preparação da variável targetdataline para receber os dados vindos da placa de som. Esta variável tem como finalidade disponibilizar os dados do áudio para serem lidos e assim armazenados. Neste método, também é definido o formato que o áudio será trabalhado (linha 2), que neste caso será com uma frequência de Hz e taxa de amostragem de 8 bits como demonstrado no código acima (Quadro 14). Após o término da preparação da variável targetdataline, inicia-se o processo de captura e armazenamento da frequência do áudio vindos da onda acústica. Este método (Quadro 15) irá receber o sinal vindo da placa de som, onde será feita a leitura do mesmo, sendo as informações armazenadas na variável bytearrayoutputstream. Este processo ocorre em tempo real, sendo finalizado no momento que o usuário terminar de falar o código do laudo médico, ou assim que atingir seu limite máximo de variações da frequência, neste caso (dez mil) variações, valor este previamente definido. 4.3 Extração de características Esta etapa tem como finalidade encontrar e separar a frequência da onda

48 47 acústica emitida pelo ser humano e capturada pelo computador. Sendo o principal objetivo encontrar as informações mais relevantes para ser analisado, fato que ocorre através de uma seleção do sinal capturado e enviado da placa de som (BRAGA, 2006). No método apresentado a seguir (Quadro 16), que tem esta finalidade, é feita uma conversão dos dados capturados, transformando-os inicialmente em um array de bytes (Linha 1), para que posteriormente os mesmos sejam armazenados em uma variável do tipo InputStream (Linha 2) QUADRO 16 - Extração de características do sinal de áudio. byte audiodata[] = bytearrayoutputstream.tobytearray(); InputStream bytearrayinputstream = new ByteArrayInputStream(audioData); audioformat = getaudioformat(); audioinputstream = new AudioInputStream(byteArrayInputStream, audioformat, audiodata.length / audioformat.getframesize()); for(int i = 0; i < audioinputstream.getframelength(); i++) { if (audioinputstream.read() > 0) { if (frequencia.size() < tamanhoaudio) { frequencia.add(audioinputstream.read(); } } } frequencia = manipularsinais(frequencia); Esta conversão é feita para que se possa trabalhar com os valores da frequência entre 0 e 255, menor e maior valor da onda acústica respectivamente. Posteriormente (Linhas 9 a 15) os valores de cada sinal do áudio serão armazenados em uma nova variável, esta denominada frequencia, para que posteriormente a mesma seja manipulada. Este sinal armazenado será então repassado para um método (Linha 16), manipularsinais, o qual ira encaminhar o sinal para uma técnica de extração de características, retornando os dados para serem armazenados novamente na variável frequencia, substituindo assim os sinais originais do áudio. O método de extração de características empregado neste casso é a Transformada Rápida de Fourier (FFT). Este algoritmo extrair as características a partir de um determinado padrão repassado a ela, neste caso baseia-se na modelagem

49 48 do sinal de palavras isoladas, transferindo o mesmo de uma abordagem em função do tempo para uma abordagem em função da frequência (PAULA, 2000). Após o sinal de cada áudio passar por esta transformação ele se encontra pronto para seguir para a próxima etapa do processo de reconhecimento do sinal da fala através de computadores. 4.4 Classificação A classificação do sinal da fala pode ser separada em duas partes. A primeira é o treinamento da rede neural, e a segunda o reconhecimento da palavra dita, a qual utilizará recursos vindos do treinamento da rede para que assim seja possível classificar o sinal Treinamento O treinamento busca extrair características de um padrão de informações apresentados para a rede neural, neste caso os áudios capturados, assim criando uma representação própria para o problema proposto (BRAGA et al 2000). Este processo é iterativo, onde é realizado o ajuste dos parâmetros da rede, os pesos das conexões entre cada unidade de processamento e guardando no final do processamento o conhecimento adquirido do ambiente que está operando (BRAGA et al 2000). Os áudios utilizados nesta fase de treinamento foram capturados e manipulados por dois programas. O primeiro é o Gravador de Som presente no sistema operacional Windows Seven Ultimate da Microsoft, e que tem a função de fazer a captura e o armazenamento do sinal da fala capturado. O segundo é o GoldWave, um editor de sons, que neste caso tem a finalidade de converter o áudio no formato pré estabelecido (formato.wav e atributos PCM unsigned 8 bits, mono). Com a primeira etapa concluída, inicia-se a fase da leitura de cada um destes áudios para que assim a frequência de cada um seja capturada (Quadro 17).

50 QUADRO 17 - Trecho de código que faz a captura da frequência do arquivo.wav. audioinputstream = AudioSystem.getAudioInputStream(new File(arquivo)); for (int i = 0; i < audioinputstream.getframelength(); i++) { if (audioinputstream.read() > 0) { if (i < 10000) { if (audioinputstream.read() == 128) { f[i] = 0; } else { f[i] = audioinputstream.read() - 128; } } } } return tamanhofrequencia(f); No código acima, inicialmente (Linha 1) é aberto o áudio para ser capturado sua frequência. Áudio este que esta salvo dentro do sistema e acessado a partir da sua localização que se encontra na variável arquivo. Com o arquivo aberto basta percorrer o mesmo, extraindo o valor de cada onda da frequência (Linhas 3 a 13), e armazenando-os em uma variável denominada f. O valor armazenado em f é primeiramente tratado, igualmente acontece na fase de extração de características, descrito anteriormente. Antes do valor da frequência continuar seu fluxo, ele é submetido a um método (Linha 14) que verifica se o arquivo contém um número mínimo de frequências 8, caso contrário é adicionado ao mesmo o valor 0 (zero), que não representam valor na onda acústica, até que o mesmo atinja o mínimo estabelecido. Posteriormente a frequência é adicionada em uma variável denominada representacao, seguindo para ser adicionada a um padrão da rede neural (Quadro 18) QUADRO 18 - Trecho de código que encaminha o sinal obtido à rede neural. representacao = new Representacao(abrirArquivo(caminhoNormal + String.valueOf(i + 1) + ".wav")); mlp.adicionarpadrao(mlp.elementos[0], representacao, MLP.SAIDA_TESTE); Esta representacao chega a rede neural a partir do método adicionapadrao, (Linha 3) que irá armazenar todos os valores repassados a ele, neste caso três 8 Neste caso serão frequências, valor este definido previamente.

51 50 parâmetros: o primeiro indicando qual o valor que esta sendo repassado à rede; no segundo é repassado o valor, neste caso da frequência contida na variável representacao; e o terceiro valor indica qual o resultado esperado do processamento da rede neural. O processo acima se repete até que todos os áudios capturados sejam analisados e armazenados dentro da rede neural através do método adicionapadrao. Feito isto se inicia o treinamento da rede neural, através do algoritmo backpropagation, com base nos valores repassados à rede (Quadro 19) QUADRO 19 - Algoritmo back-propagation. private String backpropagation() { String resultado = ""; int numerociclos = 1; this.inicializarpesos(); double somamedioquadratico; double mediamedioquadratico; DecimalFormat formatopercentagem = new DecimalFormat("###0.00%"); long inicio = System.currentTimeMillis(); do { somamedioquadratico = 0; for (Padrao p : this.padroes) { this.configuravaloresdesejados(p); this.forward(p.getrepresentacao()); this.calculars(); this.backward(); somamedioquadratico += this.getmedioquadratico(); } mediamedioquadratico = somamedioquadratico / this.padroes.size(); numerociclos++; if ((numerociclos % 1000) == 0) { resultado += "Ciclo #"+numerociclos+";media EMQ: "+ formatopercentagem.format(mediamedioquadratico) +"\n"; } } while ((this.errominimo < mediamedioquadratico) && (numerociclos < this.numeromaximociclos)); long tempopercorrido = System.currentTimeMillis() - inicio; resultado += "Ciclo #" + numerociclos + "; Media EMQ: " + formatopercentagem.format(mediamedioquadratico) + "; Duracao: " + (tempopercorrido / 1000F) + " segundos."; return resultado; }

52 51 Este algoritmo, devido ao seu tamanho é subdividido em alguns passos. No primeiro deles é realizada a inicialização dos pesos (Linha 4) que formam a ligação da camada de entrada com a camada intermediária e da intermediária à camada de saída, e que são gerados aleatoriamente pelo sistema, contendo valores decimais. Já o segundo passo (Linhas 12 a 19), o qual é dividido em algumas fases, deve ser realizado para todos os padrões cadastrados anteriormente na rede neural, sendo a primeira destas fases a indicação ao algoritmo sobre quais são os valores desejados ao final da operação (linha 13). Estes valores são definidos previamente, e assumem o valor de 1 para a resposta desejada e -1 para todos os outros possíveis resultados. Feito isso a rede parte para uma fase denominada forward (Quadro 20), que tem como objetivo levar o sinal com seus respectivos valores da camada de entrada até a camada de saída, para que assim um resultado seja produzido QUADRO 20 - Método forward na classe MLP. int[] entradas = representacao.getmatriz(); int i; Camada camadaatual; Camada camadaanterior = null; for (String nomecamada : this.camadas.keyset()) { camadaatual = this.camadas.get(nomecamada); i = 0; if (camadaatual instanceof CamadaEntrada) { for (Neuronio n : camadaatual.getneuronios()) { n.setterminalentrada(0, entradas[i++]); n.fazersinapse(); } } else { for (Neuronio natual : camadaatual.getneuronios()) { for(neuronio nanterior : camadaanterior.getneuronios()) { natual.setterminalentrada(i++, nanterior.getvalorobtido()); } i = 0; natual.fazersinapse(); } } camadaanterior = camadaatual; } Neste método (linhas 8 a 13), inicialmente, os valores da frequência serão

53 52 acrescentados em cada neurônio da camada de entrada da rede, valores contidos na variável entradas. Assim cada neurônio recebe um valor, e armazena-o em uma variável denominada valorobtido, fato este, que ocorre dentro do método fazersinapse do neurônio de entrada. Com a etapa anterior finalizada, é feita a ligação dos neurônios da camada de entrada (dez mil entradas) com os neurônios da camada intermediária (sete neurônios) (linhas 14 a 22), assim gerando novos valores que posteriormente serão utilizados para ligar a camada intermediária à camada de saída. Este processo de ligação dos neurônios pode ser dividido em três etapas, como descrito a seguir: Na primeira etapa, serão acrescentados aos terminais de entrada da camada atual os valores obtidos da camada anterior. Na segunda etapa, a qual ocorre dentro do método fazersinapse do neurônio da camada atual (Quadro 21, Linhas 1 a 7), será feito um somatório do produto entre terminais de entrada e seus respectivos pesos. Já na terceira etapa, que também ocorre dentro do método fazersinapse (Quadro 21, Linhas 8 a 10), será realizado um cálculo, denominado função de ativação, com base no resultado da segunda etapa, e que terá como resultado o valor obtido na sinapse. Estas etapas serão realizadas uma vez para cada neurônio que se deseje chegar, neste caso na camada intermediária serão sete, sendo alterados somente os valores dos pesos que cada neurônio utilizará em cada iteração QUADRO 21 - Métodos fazersinapse e funcaoativacao da classe Neuronio. public void fazersinapse() { double somatorio = 0; for (int i = 0; i < this.terminaisentrada.length; i++) { somatorio += (this.terminaisentrada[i] * this.pesos[i]); } this.setvalorobtido(this.funcaoativacao(somatorio)); } private double funcaoativacao(double x) { return ((1 - Math.exp(-2 * x)) / (1 + Math.exp(-2 * x))); }

54 53 Com todos os valores dos neurônios da camada intermediária obtidos, tem início a ligação dos mesmos com os neurônios da camada de saída. A camada de saída possui um número determinado de neurônios, os quais irão representar cada um deles um possível resultado. Neste caso teremos somente dois neurônios que representaram respectivamente os seguintes resultados: 1. Normal Estrutura óssea normal. 2. Alteração Estrutura óssea alterada. Já a ligação que ocorre entre a camada intermediária e a camada de saída segue as mesmas etapas descritas anteriormente, onde o resultado obtido ao final da terceira etapa indica qual a palavra que a rede neural reconheceu. Como explicado anteriormente, este resultado final é extraído através da análise do resultado obtido de cada neurônio da camada de saída, o qual é representado matematicamente por um número contido entre 1 e -1, onde o valor que mais se aproximar de 1, será o resultado do reconhecimento. Terminada a fase forward, dá-se início a fase que realiza o cálculo para determinar qual o erro da rede (Quadro 19, Linha 15). Este erro é obtido a partir de uma fórmula realizada para todos os neurônios da camada intermediária e da camada de saída, tendo como finalidade ajudar no ajuste dos pesos da rede que serão realizados posteriormente. Após a realização deste cálculo, a rede segue para a próxima fase, esta denominada backward e que tem a finalidade de voltar da camada de saída à camada de entrada, ajustando os pesos dos neurônios de forma a reduzir seus erros (Quadro 22) QUADRO 22 - Método backward na classe MLP. Object[] chaves = this.camadas.keyset().toarray(); int tamanhochaves = chaves.length; Camada camadaatual; for (int i = (tamanhochaves - 1); i > 0; i--) { camadaatual = this.camadas.get(chaves[i]); for (Neuronio n : camadaatual.getneuronios()) { n.ajustarpesos(this.taxadeaprendizado); }

55 54 9 } Este ajuste ocorre para cada peso conectado a um neurônio, neste caso serão sete para cada neurônio da camada de saída vindos da camada intermediária e dez mil pesos para cada neurônio da camada intermediária vindos da camada de entrada. O método a seguir (Quadro 23) tem a finalidade de ajustar estes pesos, onde os mesmos serão gerados a partir da multiplicação da taxa de aprendizado da rede neural, a qual é definida pelo administrador da rede e neste caso esta com o valor decimal de 0.5, pelo valor do erro de cada neurônio calculado anteriormente e também pelo valor que chegou a camada em questão. O resultado desta multiplicação será acrescido do valor do peso atual do neurônio, sendo gerado um novo peso para o mesmo QUADRO 23 - Método ajustarpesos de cada neurônio da rede neural. double[] novospesos = new double[this.getterminaisentrada().length]; for (int i = 0; i < this.getterminaisentrada().length; i++) { novospesos[i] = this.getpesos()[i] + (taxadeaprendizado * this.get() * this.getterminaisentrada()[i]); } this.setpesos(novospesos); Feito isso, dá-se início a última fase do segundo passo, que tem como base fazer a soma do erro médio quadrático de todos os padrões adicionados à rede, para que posteriormente possa ser verificado se o resultado final foi obtido com sucesso. Este processo ocorre somente na camada de saída da rede neural (Quadro 24), onde é realizado um cálculo para se chegar a este valor. Este cálculo, valor desejado menos o valor obtido elevado à segunda potência, é realizado para cada neurônio da camada de saída, sendo somado o resultado do cálculo de cada neurônio e por fim multiplicado por 0.5, sendo gerado então o valor da soma do erro médio quadrático QUADRO 24 - Método que obtém o erro médio quadrático. double emq = 0; for (Neuronio n : this.getneuronios()) { emq += Math.pow(n.getValorDesejado() - n.getvalorobtido(),2);

56 } return 0.5 * emq; Assim chega ao fim o segundo passo do algoritmo back-propagation, dandose início ao terceiro passo que tem a finalidade encontrar a média do erro quadrático de todos os padrões cadastrados a rede (Quadro 19, Linha 20), sendo o resultado gerado desta operação utilizado no ultimo passo. Este último passo é responsável pela verificação do resultado do passo anterior (Quadro 19, Linha 28), onde se o mesmo for maior que o erro mínimo definido a rede, que neste caso é 0.01, e o número de ciclos realizados na rede neural for inferior ao número pré-estabelecido ( ), é realizado novamente todo o processo realizado anteriormente do segundo passo até o quarto passo. Quando todos os requisitos do último passo do algoritmo back-propagation forem alcançados, será o momento em que a rede neural chegou a um padrão para os seus pesos, significando que a partir deles será possível chegar ao resultado desejado no momento que o reconhecimento de algum sinal for solicitado. Com o término do algoritmo back-propagation, é necessário fazer o armazenamento dos pesos gerados, para que quando solicitado o reconhecimento de algum sinal de áudio, os mesmos sejam carregados e utilizados Reconhecimento Para que se haja o reconhecimento do sinal capturado pela rede neural, inicialmente é necessária a inicialização dos pesos adquiridos na fase de treinamento, para que posteriormente os mesmos possam ser utilizados nas sinapses entre os neurônios artificiais. Com os pesos inicializados, é dado início ao reconhecimento do sinal da voz, passando para o método reconhecer, contido na classe MLP, as variações da frequência previamente capturadas e armazenadas na variável frequencia. O método reconhecer (Quadro 25) tem a finalidade de encaminhar o sinal adquirido anteriormente, agora contido dentro da variável representacao, para a fase forward da rede neural, e posteriormente buscar da camada de saída da rede neural o

57 56 resultado obtido ao término do passo anterior QUADRO 25 - Trecho de código contido no método reconhecer na classe MLP. int[] resultadoobtido = null; this.forward(representacao); Camada c = this.camadasaida; resultadoobtido = ((CamadaSaida) c).getresultadoobtido(); A fase forward, que é exatamente a mesma realizada no treinamento da rede neural (Passo 2, Fase 1), tem como objetivo levar o sinal com seus respectivos valores da camada de entrada até a camada de saída, para que assim um resultado seja produzido. O resultado obtido na camada de saída como dito anteriormente será 1 para o valor desejado e -1 para os demais. Sabendo-se do resultado, o mesmo é apresentado ao usuário do sistema, que deverá conferir se o resultado obtido foi mesmo o qual ele falou, e caso positivo o resultado será interpretado e anexado ao laudo do paciente. 4.5 Apresentação do sistema O sistema tem como objetivo fazer a geração de laudos médicos. Nele foi incorporado o uso de redes neurais artificiais para o reconhecimento de palavras faladas, tendo como objetivo tornar mais rápido o processo de elaboração do mesmo. Para utilizar este recurso o usuário deve clicar no botão Capturar, para dar inicio ao processo de captura do áudio pelo sistema, e em seguida falar algum código, o qual foi previamente cadastrado. Terminando a pronuncia do código em específico deve-se clicar no botão Parar, para que o sistema interprete o que foi dito, sendo o resultado interpretado mostrado ao lado do botão Inserir. Caso o resulta seja realmente o que foi dito, basta clicar no botão Inserir para adicionar a tradução do código ao final do laudo que esta sendo gerado logo abaixo dos botões responsáveis pela captura e reconhecimento do áudio. Na Figura 14 é apresentada a tela inicial do sistema, onde é possível fazer a

58 57 elaboração do laudo, utilizando-se da função descrita acima. Após o laudo médico ser gerado, existe a opção do usuário do sistema tanto em salvar o mesmo, bem como imprimi-lo (Figura 15) para ser entregue ao cliente ou o médico responsável. Também é possível fazer o cadastramento de médicos, pacientes, exames e convênios no sistema através do menu cadastros ou clicando em um dos botões localizados a direita de onde é selecionado uma destas opções que compõe o laudo (Figura 14). Ao abrir qualquer uma destas telas de cadastro, as quais seguem um mesmo padrão (Figura 16), o usuário tem as seguintes opções para a manipulação do mesmo: novo registro; alterar algum registro já existente; excluir um destes registros; visualizar todos os registros cadastrados. FIGURA 14 - Tela inicial do sistema

59 58 FIGURA 15 - Exemplo de um laudo impresso. FIGURA 16 - Tela de cadastro de paciente. Como o sistema permite o cadastramento de laudos em sua base de dados, também será possível fazer a pesquisa dos mesmos, sendo acessado esta opção através

60 59 do menu da tela inicial do sistema. Nesta função, o usuário do sistema poderá visualizar inicialmente todos os laudos cadastrados (Figura 17). Também a possibilidade de se realizar filtros no sistema por datas, paciente, médico, exame e convênio, onde basta o usuário marcar o campo localizado ao lado de cada uma das possibilidades a qual desejar e em seguida clicar no botão Pesquisar para que sejam mostrados logo abaixo todos os resultados existentes na base de dados. FIGURA 17 - Tela de pesquisa dos laudos médicos. Nesta interface, a também a possibilidade de se mostrar detalhes de cada laudo. Basta que seja selecionado um dos laudos cadastrados e em seguida clicar no botão Detalhes para que uma nova janela seja aberta. Nesta janela (Figura 18), será descrito todas as informações sobre determinado laudo selecionado, sendo possível neste mesmo local fazer a reimpressão

61 60 do mesmo ao clicar no botão imprimir localizado no final desta tela. FIGURA 18 - Tela de detalhes do laudo médico. 4.6 Conclusão Neste capítulo foi apresentado o desenvolvimento do sistema proposto, tendo como base a implementação da rede neural artificial, a qual tem a finalidade de fazer o reconhecimento do código falado pelo usuário, para que assim o mesmo seja traduzido e utilizado na geração do laudo médico. Inicialmente foi apresentado como o sistema humano tem esta capacidade de receber o sinal de áudio e traduzi-lo, para que assim o cérebro humano tenha a

62 61 capacidade de interpretá-lo. Em sequência foi demonstrado como o sistema proposto faz o reconhecimento do sinal, onde o mesmo segue três passos fundamentais para que a máquina consiga fazer a interpretação do código capturado: aquisição do sinal; extração de características e classificação do sinal. No momento de realizar o treinamento da rede neural, algumas dificuldades surgiram na configuração da mesma, sendo necessária a realização de testes, onde valores como número de neurônios na camada de entrada e intermediária tiveram que ser alterados, bem como a taxa de aprendizagem e a quantidade de áudios repassados a RNA. Estas alterações tiveram como objetivo chegar aos valores dos pesos da rede neural que melhor se adaptassem ao problema proposto. Mais detalhes sobre os testes realizados serão apresentados no próximo capítulo. Ao final, foi apresentado o sistema desenvolvido, mostrando as interfaces pela qual o usuário irá manipular o mesmo, e explicando como será feito o reconhecimento do código falado, bem como sua utilização no sistema.

63 62 5 TESTES Este capítulo tem como finalidade fazer a verificação da eficiência da rede neural artificial escolhida, neste caso a MLP, buscando assim, verificar se esta técnica é eficiente para a resolução do problema proposto. 5.1 Captura do áudio pelo sistema O primeiro teste a ser realizado, foi conferir se o áudio capturado através do sistema desenvolvido segue os mesmo padrões do áudio capturado pela ferramenta Gravador de Som do Windows. Para fazer tal verificação, foi realizada a captura do áudio pela ferramenta citada acima e posteriormente aberto o mesmo no programa GoldWave onde é possível visualizar as frequências do áudio capturado. Em seguida, foi falado o mesmo áudio no sistema desenvolvido, sendo em sequência gerado um gráfico no mesmo modelo da ferramenta GoldWave, para que assim possa ser feito um comparativo entre os mesmo. A seguir (Figura 19) é feito a demonstração do áudio capturado, sendo possível visualizar a frequência do mesmo. Neste exemplo foi utilizada a palavra/código normal, sendo apresentado à esquerda o áudio capturado pela ferramenta Gravador de Som e aberto pelo GoldWave. Já a direita é demonstrado a frequência da mesma palavra, mas sendo utilizado o sistema desenvolvido.

64 63 FIGURA 19 - Comparativo da palavra normal. Já na figura visualizada logo a baixo (Figura 20) é feito o mesmo comparativo realizado com a palavra normal a cima, mas desta vez é utilizada outra palavra/código, neste caso alteração. FIGURA 20 - Comparativo da palavra alteração. Visto que ambas as frequências das palavras/códigos conferem tanto na utilização dos programas Gravador de Som e GoldWave com os do sistema desenvolvido, conclui-se que os mesmos seguem o mesmo padrão, assim podendo ser utilizado o programa elaborado para ser realizado o reconhecimento dos códigos médicos. 5.2 Resultados Os resultados disponibilizados a seguir foram obtidos através de alguns treinamentos realizados na rede neural e com diversas alterações na mesma e nos dados repassados a ela.

REDES NEURAIS ARTIFICIAIS

REDES NEURAIS ARTIFICIAIS REDES NEURAIS ARTIFICIAIS REDES NEURAIS ARTIFICIAIS O QUE É UMA REDE NEURAL NEURÔNIOS BIOLÓGICOS CÉREBRO HUMANO E CAPACIDADE DE GENERALIZAÇÃO. Modelo McCulloch e Pitts FUNÇÕES DE ATIVAÇÃO APRENDIZADO APRENDIZADO

Leia mais

3 Redes Neurais Artificiais

3 Redes Neurais Artificiais 3 Redes Neurais Artificiais 3.1. Introdução A capacidade de implementar computacionalmente versões simplificadas de neurônios biológicos deu origem a uma subespecialidade da inteligência artificial, conhecida

Leia mais

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Redes Neurais Artificial Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Histórico 3. Conceitos Básicos 4. Aprendizado em RNA 5. Exemplo de Aprendizado com

Leia mais

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina Redes Neurais O modelo biológico O cérebro humano possui cerca 100 bilhões de neurônios O neurônio é composto por um corpo celular chamado soma, ramificações chamadas dendritos (que recebem as entradas)

Leia mais

Inteligência Artificial Redes Neurais

Inteligência Artificial Redes Neurais Inteligência Artificial Jarley P. Nóbrega, Dr. Faculdade Nova Roma Bacharelado em Ciência da Computação jpn@jarley.com Semestre 2018.2 Jarley P. Nóbrega, Dr. (Nova Roma) Inteligência Artificial Semestre

Leia mais

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais ricardo.kerschbaumer@ifc.edu.br http://professor.luzerna.ifc.edu.br/ricardo-kerschbaumer/ Introdução O Cérebro humano Mais fascinante processador

Leia mais

A evolução natural deu ao cérebro humano muitas características desejáveis que não estão presentes na máquina de von Neumann:

A evolução natural deu ao cérebro humano muitas características desejáveis que não estão presentes na máquina de von Neumann: Faculdade de Engenharia de Computação Centro de Ciências Exatas, Ambientais e de Tecnologias PUC-Campinas João Luís Garcia Rosa 2004 2 A evolução natural deu ao cérebro humano muitas características desejáveis

Leia mais

Tópicos Especiais: Inteligência Artificial REDES NEURAIS

Tópicos Especiais: Inteligência Artificial REDES NEURAIS Tópicos Especiais: Inteligência Artificial REDES NEURAIS Material baseado e adaptado do Cap. 20 do Livro Inteligência Artificial de Russell & Norvig Bibliografia Inteligência Artificial Russell & Norvig

Leia mais

Introdução à Redes Neurais. Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana

Introdução à Redes Neurais. Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana Introdução à Redes Neurais Artificiais Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana 2 Introdução Redes Neurais Artificiais (RNAs)

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.3. Perceptron Multicamadas - MLP 2.3.1. Introdução ao MLP 2.3.2. Treinamento

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Neurônio Natural Dendritos: recebe os estímulos transmitidos por outros neurônios Soma Sinapse Axônio Soma: coleta e combina informações vindas de outros neurônios Sinapse Dendrito

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Universidade Federal do Espírito Santo CCA UFES Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Redes Neurais Artificiais Redes Neurais Artificiais

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Universidade Federal do Espírito Santo CCENS UFES Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCENS UFES Departamento de Computação Redes Neurais Artificiais Redes Neurais Artificiais

Leia mais

Introdução às Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Introdução às Redes Neurais Artificiais DCA0121 Inteligência Artificial Aplicada Heitor Medeiros 1 Tópicos

Leia mais

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ Marcela Ribeiro Carvalho marcela@enecar.com.br IFG/Câmpus Goiânia Hipólito Barbosa Machado Filho hipolito.barbosa@ifg.edu.br IFG/Câmpus Goiânia Programa Institucional

Leia mais

Redes Neurais Artificiais. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 9)

Redes Neurais Artificiais. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 9) Redes Neurais Artificiais Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 9) Conceitos 2 Redes Neurais As Redes Neurais Artificias são modelos computacionais

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.1. Introdução às Redes Neurais Artificiais (RNAs) 2.1.1. Motivação

Leia mais

INTELIGÊNCIA ARTIFICIAL

INTELIGÊNCIA ARTIFICIAL INTELIGÊNCIA ARTIFICIAL REDES NEURAIS Caracterização Intuitiva: Em termos intuitivos, Redes Neurais Artificiais (RNAs) são modelos matemáticos inspirados nos princípios de funcionamento dos neurônios biológicos

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 22 Redes Neurais Edirlei Soares de Lima Formas de Aprendizado Aprendizado Supervisionado Árvores de decisão. K-Nearest Neighbor (KNN). Support

Leia mais

Redes Neurais Artificial

Redes Neurais Artificial Redes Neurais Artificial Tópicos: Introdução ao estudo de RNA sua origem e inspiração biológica Características gerais das RN e descrição do neurônio artificial Aprendizado de RN e tipos de Aprendizado

Leia mais

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO AULA 8 Redes Neurais Introdução As redes neurais são um tema da computação altamente inspirada na natureza que nos

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 03 Aprendizado Supervisionado / : Modelo MCP e Perceptron Max Pereira Neurônio Booleano de McCulloch- Pitts (Modelo MCP) Proposto em

Leia mais

Aprendizado de Máquinas. Multi-Layer Perceptron (MLP)

Aprendizado de Máquinas. Multi-Layer Perceptron (MLP) Universidade Federal do Paraná (UFPR) Departamento de Informática (DInf) Aprendizado de Máquinas Multi-Layer Perceptron (MLP) David Menotti, Ph.D. web.inf.ufpr.br/menotti Redes Neuronais Cérebro humano.

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Universidade Federal do Espírito Santo CCA UFES Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Redes Neurais Artificiais Inteligência Artificial

Leia mais

Redes Neurais 1. Redes Neurais. cont.) Definição (cont( Definição. Histórico. Características básicas

Redes Neurais 1. Redes Neurais. cont.) Definição (cont( Definição. Histórico. Características básicas Redes Neurais Dalma M. Falcão falcao@nacad.ufr.br http://www.nacad.ufr.br/~falcao/ Redes Neurais Definição Histórico Áreas de aplicação RNs biológicas Modelos de neurônios artificiais Arquiteturas de RNs

Leia mais

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Radial Basis Functions (RBFs) Competitive Learning Hopfield Multi-Layer Perceptrons

Leia mais

Redes Neurais Noções Gerais

Redes Neurais Noções Gerais Redes Neurais Noções Gerais Segundo Loesch (apupt Fernandes), Redes Neurais Artificiais são sistemas computacionais, de implementação em hardware e software, que imitam as habilidades computacionais do

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Prof. Dr. Hugo Valadares Siqueira Semana de Eletrônica e Automação 2014 Redes Neurais Artificiais Uma rede neural artificial é um circuito composto por uma grande quantidade de

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES NEURAIS ARTIFICIAIS AULA 03 Prof. Dr. André A. P. Biscaro 1º Semestre de 2017 INTRODUÇÃO Aprendizagem é um processo pelo qual os parâmetros livres de uma rede neural são adaptados através de um processo

Leia mais

Introdução às Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais Introdução às Redes Neurais Artificiais Perceptrons de Múltiplas Camadas I Prof. João Marcos Meirelles da Silva www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola de Engenharia

Leia mais

Redes Neurais INTELIGÊNCIA ARTIFICIAL

Redes Neurais INTELIGÊNCIA ARTIFICIAL Redes Neurais INTELIGÊNCIA ARTIFICIAL 1 2 Introdução As redes neurais são um tema da computação altamente inspirada na natureza que nos cerca. Durante anos e anos os homens trabalharam para fazer computadores

Leia mais

3 REDES NEURAIS ARTIFICIAIS

3 REDES NEURAIS ARTIFICIAIS 47 3 REDES NEURAIS ARTIFICIAIS Neste capítulo será apresentado um breve histórico das redes neurais artificiais de modo a situar o leitor, descrevendo-se suas aplicações, teorias e finalmente detalhando-se

Leia mais

JAI 6 - Deep Learning Teoria e Prática

JAI 6 - Deep Learning Teoria e Prática JAI 6 - Deep Learning Teoria e Prática Esteban Clua e Cristina Nader Vasconcelos Universidade Federal Fluminense Fundamentos Computação baseada em modelos crisnv@ic.uff.br 2 Computação baseada em aprendizado

Leia mais

Resolução da Prova 1 SCC Redes Neurais 2o. Semestre de Prof. João Luís

Resolução da Prova 1 SCC Redes Neurais 2o. Semestre de Prof. João Luís Resolução da Prova 1 SCC-5809 - Redes Neurais 2o. Semestre de 2011 - Prof. João Luís RESOLUÇÃO (2) 1. A figura abaixo mostra uma rede neural com um único neurônio escondido. Mostre que essa rede resolve

Leia mais

Primeiras Redes Neurais Artificiais: Perceptron e Adaline

Primeiras Redes Neurais Artificiais: Perceptron e Adaline Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Primeiras Redes Neurais Artificiais: Perceptron e Adaline DCA0121 Inteligência Artificial Aplicada Heitor

Leia mais

Aprendizado de Máquina Introdução às Redes Neurais Artificiais

Aprendizado de Máquina Introdução às Redes Neurais Artificiais Aprendizado de Máquina Introdução às Redes Neurais Artificiais Marcos Oliveira Prates (Agradecimento Marcelo Azevedo Costa) Departamento de Estatística Universidade Federal de Minas Gerais Inteligência

Leia mais

Redes Neurais Artificial. Prática. Inteligência Artificial

Redes Neurais Artificial. Prática. Inteligência Artificial Redes Neurais Artificial Prática Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução a MLP 2. Base de dados e Pré-Processamento 3. Prática MLP - Introdução Redes

Leia mais

Felix da Cunha 412, Pelotas RS Home-Page: s: Bolsista BIC/FAPERGS

Felix da Cunha 412, Pelotas RS Home-Page:    s: Bolsista BIC/FAPERGS UTILIZAÇÃO DE REDES NEURAIS PARA PREVISÕES EM SÉRIES TEMPORAIS 1 A. T. Gonçalez, A. C. R. Costa, G. P. Dimuro UCPEL Universidade Católica de Pelotas, ESIN Escola de Informática GMFC Grupo de Matemática

Leia mais

COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1

COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1 COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1 Márcia Da Silva 2, Eldair Fabricio Dornelles 3, Rogério S. M. Martins 4, Édson L. Padoin 5. 1 Pesquisa desenvolvida

Leia mais

Algoritmos de Aprendizado. CONTEÚDO Introdução Motivação, Objetivo, Definição, Características Básicas e Histórico. Regra de HEBB.

Algoritmos de Aprendizado. CONTEÚDO Introdução Motivação, Objetivo, Definição, Características Básicas e Histórico. Regra de HEBB. CONTEÚDO Introdução Motivação, Objetivo, Definição, Características Básicas e Histórico Conceitos Básicos Neurônio Artificial, Modos de Interconexão Processamento Neural Recall e Learning Regras de Aprendizado

Leia mais

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes.

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes. HP UFCG Analytics Abril-Maio 2012 Um curso sobre Reconhecimento de Padrões e Redes Neurais Por Herman Martins Gomes hmg@dsc.ufcg.edu.br Programa Visão Geral (2H) Reconhecimento Estatístico de Padrões (3H)

Leia mais

Inteligência Computacional

Inteligência Computacional Inteligência Computacional INTRODUÇÃO ÀS REDES NEURAIS ARTIFICIAIS Renato Dourado Maia Faculdade de Ciência e Tecnologia de Montes Claros Fundação Educacional Montes Claros Na Aula Passada... O que é uma

Leia mais

Redes Neurais. Prof. Aurora Pozo. Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco

Redes Neurais. Prof. Aurora Pozo. Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco Redes Neurais Prof. Aurora Pozo Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco CONTEÚDO Introdução Motivação, Objetivo, Definição, Características Básicas e Histórico Conceitos Básicos

Leia mais

UNIVERSIDADE FEDERAL DE LAVRAS DEPARTAMENTO DE CIÊNCIAS EXATAS (DEX) Estudo de Algoritmos de Aprendizado em Redes Neurais Artificiais

UNIVERSIDADE FEDERAL DE LAVRAS DEPARTAMENTO DE CIÊNCIAS EXATAS (DEX) Estudo de Algoritmos de Aprendizado em Redes Neurais Artificiais UNIVERSIDADE FEDERAL DE LAVRAS DEPARTAMENTO DE CIÊNCIAS EXATAS (DEX) Orientador: Prof. Fabiano Lemes Ribeiro Estudo de Algoritmos de Aprendizado em Redes Neurais Artificiais Nome: João Vitor Squillace

Leia mais

Redes Neurais Artificiais. Prof. João Alberto Fabro

Redes Neurais Artificiais. Prof. João Alberto Fabro Redes Neurais Artificiais Prof. João Alberto Fabro Redes Neurais Artificiais Conceitos Básicos Histórico Evolução O lugar das Redes Neurais dentro da IA Características Aplicações Redes Neurais Multicamadas

Leia mais

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons

Multi-Layer. Perceptrons. Algoritmos de Aprendizado. Perceptrons. Perceptrons Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square) Back Propagation Multi-Layer Perceptrons Redes de apenas uma camada só representam funções linearmente separáveis Redes

Leia mais

Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Hopfield Competitive Learning Radial Basis Function

Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Hopfield Competitive Learning Radial Basis Function Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square) Multi-Layer Perceptrons (Back Propagation) Hopfield Competitive Learning Radial Basis Function Multi-Layer Perceptrons

Leia mais

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos Introdução a Machine Learning: Teoria, Aplicações e IA na Arquitetura Intel Vitor Hugo Ferreira, DSc - UFF Flávio Mello, DSc UFRJ e Ai2Biz

Leia mais

Redes Neurais Artificiais - Introdução. Visão Computacional

Redes Neurais Artificiais - Introdução. Visão Computacional Redes Neurais Artificiais - Introdução Visão Computacional Inspiração 2 Inspiração 3 Inspiração Atividade seletivanas conexões Soma os impulsos e passa a diante 4 Inspiração As conexões entre os dendritos

Leia mais

Fundamentos de Inteligência Artificial [5COP099]

Fundamentos de Inteligência Artificial [5COP099] Fundamentos de Inteligência Artificial [5COP099] Dr. Sylvio Barbon Junior Departamento de Computação - UEL Disciplina Anual Assunto Aula 16 Redes Neurais Artificiais (MLP) 2 de 24 (MLP) Sumário Introdução

Leia mais

REDES NEURAIS. Marley Maria B.R. Vellasco. ICA: Núcleo de Pesquisa em Inteligência Computacional Aplicada CONTEÚDO

REDES NEURAIS. Marley Maria B.R. Vellasco. ICA: Núcleo de Pesquisa em Inteligência Computacional Aplicada CONTEÚDO REDES NEURAIS Marley Maria B.R. Vellasco ICA: Núcleo de Pesquisa em Inteligência Computacional Aplicada PUC-Rio Introdução CONTEÚDO Motivação, Objetivo, Definição, Características Básicas e Histórico Conceitos

Leia mais

Redes Neurais. Motivação. Componentes do neurônio. Cérebro humano. Criar máquinas capazes de operar independentemente do homem:

Redes Neurais. Motivação. Componentes do neurônio. Cérebro humano. Criar máquinas capazes de operar independentemente do homem: Motivação M. Sc. Luiz Alberto lasf.bel@gmail.com Redes Neurais Criar máquinas capazes de operar independentemente do homem: Aprenda sozinha; Interagir com ambientes desconhecidos; Possa ser chamada de

Leia mais

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO Prof. Msc. Saulo Popov Zambiasi (saulopz@gmail.com) 12/07/08 08:09 Informação - ICPG - Criciuma - SC 1 Fundamentação Biológica, O Neurônio

Leia mais

Introdução a Redes Neurais Artificiais com a biblioteca Encog em Java

Introdução a Redes Neurais Artificiais com a biblioteca Encog em Java Introdução a Redes Neurais Artificiais com a biblioteca Encog em Java Apresentação Graduada em Sistemas de Informação FAP/Parnaíba Mestranda do Programa de Pós-Graduação em Engenharia da Eletricidade -

Leia mais

3 INTELIGÊNCIA COMPUTACIONAL (IC)

3 INTELIGÊNCIA COMPUTACIONAL (IC) 40 3 INTELIGÊNCIA COMPUTACIONAL (IC) Inteligência Computacional é a área da ciência da computação que estuda a teoria e aplicação de técnicas computacionais inspiradas na natureza. Deste modo, tem por

Leia mais

Autor: Edroaldo Lummertz da Rocha Home page: edroaldo.wordpress.com

Autor: Edroaldo Lummertz da Rocha Home page: edroaldo.wordpress.com Autor: Edroaldo Lummertz da Rocha Home page: edroaldowordpresscom E-mail: edroaldo@gmailcom Esse tutorial visa demonstrar de forma prática o processo de ajuste dos pesos sinápticos de uma rede neural artificial

Leia mais

Classificação Linear. André Tavares da Silva.

Classificação Linear. André Tavares da Silva. Classificação Linear André Tavares da Silva andre.silva@udesc.br Roteiro Introduzir os o conceito de classificação linear. LDA (Linear Discriminant Analysis) Funções Discriminantes Lineares Perceptron

Leia mais

PRINCÍPIOS DE NEUROCOMPUTAÇÃO

PRINCÍPIOS DE NEUROCOMPUTAÇÃO PRINCÍPIOS DE NEUROCOMPUTAÇÃO Neurocomputação Funcionamento do cérebro humano e os neurônios Formação das conexões e como se concebe teoricamente a aquisição do conhecimento, formalizando-os em procedimentos

Leia mais

Multiple Layer Perceptron

Multiple Layer Perceptron Universidade Federal do Paraná (UFPR) Bacharelado em Informática Biomédica Multiple Layer Perceptron David Menotti www.inf.ufpr.br/menotti/ci171-182 Hoje Multiple Layer Perceptron (MLP) Backpropagation

Leia mais

Por que Redes Neurais?

Por que Redes Neurais? Redes Neurais Profa. Jaqueline Brigladori Pugliesi Por que Redes Neurais? Utilizar máquinas efetivamente para resolver problemas simples (humanos) Exemplo: distinguir padrões visuais previsão do valor

Leia mais

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais Classificação de Padrões Abordagem prática com Redes Neurais Artificiais Agenda Parte I - Introdução ao aprendizado de máquina Parte II - Teoria RNA Parte III - Prática RNA Parte IV - Lições aprendidas

Leia mais

Paradigmas de Aprendizagem

Paradigmas de Aprendizagem Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Paradigmas de Aprendizagem Redes Neurais Artificiais Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

4 Redes Neurais Artificiais RNAs

4 Redes Neurais Artificiais RNAs 66 4 Redes Neurais Artificiais RNAs Redes neurais artificial (RNA) são algoritmos que se baseiam no comportamento do cérebro humano. Dessa forma, imita a estrutura massivamente paralela do cérebro, com

Leia mais

Fundamentos das Redes Neurais: exemplos em Java

Fundamentos das Redes Neurais: exemplos em Java Fundamentos das Redes Neurais: exemplos em Java Recife 2008 Copyringt by 2007 Mêuser Valença Impresso no Brasil Printed in Brazil Editor Tarcísio Pereira Diagramação Maria do Carmo de Oliveira Capa Valeska

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Marcelo K. Albertini 24 de Julho de 2014 2/34 Conteúdo Perceptron Gradiente descendente Redes multicamadas Retropropagação de erros 3/34 Modelos conexionistas Humanos Tempo de

Leia mais

Mini-projeto: Reconhecimento de Digitos com MLPs. Germano C. Vasconcelos Centro de Informática - UFPE

Mini-projeto: Reconhecimento de Digitos com MLPs. Germano C. Vasconcelos Centro de Informática - UFPE Mini-projeto: Reconhecimento de Digitos com MLPs Germano C. Vasconcelos Centro de Informática - UFPE 1 Link do Material http://neuralnetworksanddeeplearning.com/chap1.html 2 Objetivo: Treinar uma Rede

Leia mais

Redes Neurais Artificiais (RNA)

Redes Neurais Artificiais (RNA) Redes Neurais Artificiais (RNA) Definições: 1. Técnica inspirada no funcionamento do cérebro, onde neurônios artificiais, conectados em rede, são capazes de aprender e de generalizar. 2. Técnica de aproximação

Leia mais

Aula 1 Introdução - RNA

Aula 1 Introdução - RNA Aula 1 Introdução - RNA Sumário 1- Conceitos Iniciais; 2- Neurônio Biológico; 3- Neurônio Artificial; 4- Funções de Ativação; 5- Comparação Neurônio Biológico e Artificial. 1- Conceitos Iniciais - Computadores

Leia mais

Tópicos sobre Redes Neurais

Tópicos sobre Redes Neurais Tópicos sobre Redes Neurais -Memórias Matriciais -Modelos Híbridos -Redes de Base Radial(RBF) -Redes Construtivas -Redes Recorrentes Prof João Alberto Fabro IF67D Sistemas Inteligentes 1 Dep de Informática

Leia mais

Protótipo de Software para Reconhecimento de Impressões Digitais

Protótipo de Software para Reconhecimento de Impressões Digitais Protótipo de Software para Reconhecimento de Impressões Digitais Aluno: Alex Sandro da Silva Orientador: Paulo de Tarso Mendes Luna Semestre - 99/1 Roteiro da Apresentação INTRODUÇÃO CONCEITOS BÁSICOS

Leia mais

Protótipo de Software de Reconhecimento de Voz Para Navegação em Jogos, Utilizando Rede Neural Artificial

Protótipo de Software de Reconhecimento de Voz Para Navegação em Jogos, Utilizando Rede Neural Artificial Protótipo de Software de Reconhecimento de Voz Para Navegação em Jogos, Utilizando Rede Neural Artificial Orientando: Derlei Brancher Orientador: Prof. Jacques Robert Heckmann - Mestre 1. Introdução Roteiro

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES NEURAIS ARTIFICIAIS REDE ADALINE e REGRA DELTA Prof. Dr. André A. P. Biscaro 2º Semestre de 2017 Aspectos históricos O ADALINE foi idealizado por Widrow & Hoff em 1960. Sua principal aplicação estava

Leia mais

Inteligência Artificial

Inteligência Artificial Universidade Federal de Campina Grande Departamento de Sistemas e Computação Pós-Graduação em Ciência da Computação Inteligência Artificial Aprendizagem (Redes Neurais - Complementar) Prof. a Joseana Macêdo

Leia mais

Profa. Josiane M. Pinheiro outubro/2008

Profa. Josiane M. Pinheiro outubro/2008 Baseada em: Stuart Russel e Peter Norving - Inteligência Artificial seção 20.5 Jorge M. Barreto Introdução às Redes Neurais Artificiais - http://www.inf.ufsc.br/~barreto/tutoriais/survey.pdf Cassia Yuri

Leia mais

Sistemas Inteligentes - Redes Neurais -

Sistemas Inteligentes - Redes Neurais - Sistemas Inteligentes - Redes Neurais - Marley Maria B.R. Vellasco ICA: Núcleo de Pesquisa em Inteligência Computacional Aplicada PUC-Rio Introdução CONTEÚDO Motivação, Objetivo, Definição, Características

Leia mais

UM MODELO NEURAL PARA A PREVISÃO DA DEMANDA DE ENERGIA ELÉTRICA NA CIDADE DE FRANCA

UM MODELO NEURAL PARA A PREVISÃO DA DEMANDA DE ENERGIA ELÉTRICA NA CIDADE DE FRANCA UM MODELO NEURAL PARA A PREVISÃO DA DEMANDA DE ENERGIA ELÉTRICA NA CIDADE DE FRANCA SOUZA, REGIANE MÁXIMO YOSHINO, RUI TADASHI HANISC,H, WERNER SIEGFRIED ETO, REGINA FUMIE Palavras-chaves: Artificial Neural

Leia mais

Redes Neurais MLP: Exemplos e Características

Redes Neurais MLP: Exemplos e Características Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Redes Neurais MLP: Exemplos e Características DCA0121 Inteligência Artificial Aplicada Heitor Medeiros 1

Leia mais

XII Congresso Brasileiro de Meteorologia, Foz de Iguaçu-PR, 2002

XII Congresso Brasileiro de Meteorologia, Foz de Iguaçu-PR, 2002 ESTUDO PRELIMINAR DA UTILIZAÇÃO DE REDES NEURAIS NA PREVISÃO DE TEMPERATURA MÉDIA DIÁRIA PARA A CIDADE DE PELOTAS-RS Ariane Frassoni dos Santos 1, João Gerd Zell de Mattos 1, Paulo Roberto Krebs 2 1 Faculdade

Leia mais

Previsão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN

Previsão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN Previsão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN Alan Caio Rodrigues MARQUES 1, Gelson da Cruz JUNIOR 2, Cassio Dener Noronha VINHAL 3 Escola de Engenharia Elétrica e de Computação 1

Leia mais

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square Multi-Layer Perceptrons (Back Propagation Radial Basis Functions (RBFs Competitive Learning Hopfield Formas de Aprendizado

Leia mais

Redes Neurais Artificiais Aplicadas ao Jogo da Velha 3D em Pinos

Redes Neurais Artificiais Aplicadas ao Jogo da Velha 3D em Pinos Redes Neurais Artificiais Aplicadas ao Jogo da Velha 3D em Pinos TCC - Jan/09 Daniel Tré - ISTCCP Redes Neurais Artificiais Aplicadas ao Jogo da Velha 3D em Pinos p. 1/2 O que são Redes Neurais Artificiais

Leia mais

RECONHECIMENTO DE TRAJETÓRIA COM REDES NEURAIS

RECONHECIMENTO DE TRAJETÓRIA COM REDES NEURAIS 1 RECONHECIMENTO DE TRAJETÓRIA COM REDES NEURAIS Giovanni Crestan Leonardo Enomoto Araki Thiago Antonio Grandi De Tolosa Wânderson de Oliveira Assis Wilson Carlos Siqueira Lima Júnior IMT Instituto Mauá

Leia mais

Mineração de Dados em Biologia Molecular

Mineração de Dados em Biologia Molecular Mineração Dados em Biologia Molecular Principais tópicos André C. P. L. F. Carvalho Monitor: Valéria Carvalho Res Neurais Artificiais Introdução Arquitetura Aprendizado Principais molos Perceptron MLP

Leia mais

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos GT-JeDi - Curso de Desenv. de Jogos IA para Jogos Gustavo Pessin 2006/2 - A07 Cronograma Conceitos Neurônio artificial Redes: Perceptron e Multi Layer Perceptron (MLP), Exemplos Separando cores Prevendo

Leia mais

Inteligência Artificial

Inteligência Artificial Universidade Federal de Campina Grande Departamento de Sistemas e Computação Pós-Graduação em Ciência da Computação Inteligência Artificial Aprendizagem (Redes Neurais) Prof. a Joseana Macêdo Fechine Régis

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.3. Perceptron Multicamadas - MLP 2.3.1. Introdução ao MLP 2.3.2. Treinamento

Leia mais

Mineração de Dados aplicada a Gestão de Negócios. Aula 2. Prof. Dr. Sylvio Barbon Junior

Mineração de Dados aplicada a Gestão de Negócios. Aula 2. Prof. Dr. Sylvio Barbon Junior Aula 2 Introdução Redes Neurais Prof. Dr. Sylvio Barbon Junior barbon@uel.br Sumário 1- Inteligência Artificial 2- Introdução às Redes Neurais Artificiais 3- Modelos de Redes Neurais supervisionados e

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES NEURAIS ARTIFICIAIS PERCEPTRON MULTICAMADAS Prof. Dr. André A. P. Biscaro 1º Semestre de 2018 Arquitetura Redes Perceptron de Múltiplas Camadas (PMC), também conhecidas como redes MLP (Multiple Layer

Leia mais

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental

Algoritmos de Aprendizado. Formas de Aprendizado. Aprendizado Batch x Incremental. Aprendizado Batch x Incremental Algoritmos de Aprendizado Regra de Hebb Perceptron Delta Rule (Least Mean Square Back Propagation Formas de Aprendizado Existe dois métodos básicos de aplicação do algoritmo Back Propagation: Aprendizado

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.4. Outras Redes Neurais Artificiais 2.4.1. Redes RBF 2.4.2. Mapas

Leia mais

Tópicos Especiais em Informática Fatec Indaiatuba

Tópicos Especiais em Informática Fatec Indaiatuba Criar máquinas capazes de operar independentemente do homem: Aprenda sozinha; Interagir com ambientes desconhecidos; Possa ser chamada de autônoma, inteligente ou cognitiva; Capacidade de lidar com eventos

Leia mais

Reconhecimento de Faces Utilizando Redes Neurais MLP

Reconhecimento de Faces Utilizando Redes Neurais MLP Reconhecimento de Faces Utilizando Redes Neurais MLP Autor: Adilmar Coelho Dantas 1, Orientador: Márcia Aparecida Fernandes 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal do

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Redes Neurais Biológicas 2. Neurônio Artificial 3. Rede Neural Artificial 4. Keras 1 Redes Neurais Biológicas

Leia mais

REDES NEURAIS ARTIFICIAIS: UMA CONTRIBUIÇÃO AO PROCESSO DE DECISÕES FINANCEIRAS

REDES NEURAIS ARTIFICIAIS: UMA CONTRIBUIÇÃO AO PROCESSO DE DECISÕES FINANCEIRAS REDES NEURAIS ARTIFICIAIS: UMA CONTRIBUIÇÃO AO PROCESSO DE DECISÕES FINANCEIRAS WILSON KENDY TACHIBANA VERIDIANA DE FÁTIMA ORLANDI Resumo: As redes neurais artificiais são modelos baseados no comportamento

Leia mais

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 21 Projeto de RNA

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 21 Projeto de RNA Inteligência Artificial Prof. Tiago A. E. Ferreira Aula 21 Projeto de RNA Projeto de Redes Neurais Projeto de Redes Neurais Baseado apenas em dados Exemplos para treinar uma rede devem ser compostos por

Leia mais

2

2 ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina

Leia mais

DESCOBERTA DO CONHECIMENTO COM O USO DE TEXT MINING APLICADA AO SAC TEXT MINING. Aluno José Lino Uber. Orientador Paulo Roberto Dias

DESCOBERTA DO CONHECIMENTO COM O USO DE TEXT MINING APLICADA AO SAC TEXT MINING. Aluno José Lino Uber. Orientador Paulo Roberto Dias DESCOBERTA DO CONHECIMENTO COM O USO DE TEXT MINING APLICADA AO SAC TEXT MINING Aluno José Lino Uber Orientador Paulo Roberto Dias Dezembro/2004 Roteiro Introdução Objetivo Conceitos Motivação / Tipos

Leia mais

Unidade 08 MATLAB Neural Network Toolkit

Unidade 08 MATLAB Neural Network Toolkit Unidade 08 MATLAB Neural Network Toolkit 1. Introdução Uma rede neural artificial (NN daqui em diante) é um modelo matemático que consiste de neurônios interconectados que imitam, em uma escala menor,

Leia mais