AUTENTICAÇÃO DE USUÁRIOS ATRAVÉS DO RECONHECIMENTO DE VOZ

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

Download "AUTENTICAÇÃO DE USUÁRIOS ATRAVÉS DO RECONHECIMENTO DE VOZ"

Transcrição

1 UNIVERSIDADE DO PLANALTO CATARINENSE DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE SISTEMAS DE INFORMAÇÃO (BACHARELADO) THIAGO KRAMER FERTIG AUTENTICAÇÃO DE USUÁRIOS ATRAVÉS DO RECONHECIMENTO DE VOZ LAGES (SC) 2011

2 THIAGO KRAMER FERTIG AUTENTICAÇÃO DE USUÁRIOS ATRAVÉS DO RECONHECIMENTO DE VOZ 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 THIAGO KRAMER FERTIG AUTENTICAÇÃO DE USUÁRIOS ATRAVÉS DO RECONHECIMENTO DE VOZ 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. Sérgio 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 LISTA DE ILUSTRAÇÕES FIGURA 1 - Imagem da composição de um neurônio FIGURA 2 - Modelo do neurônio artificial proposto por McCulloch FIGURA 3 - Neurônio artificial FIGURA 4 - Superfície de erro quadrática para neurônios de função linear FIGURA 5 - Superfície de erro para neurônios com funções de ativação nãolineares FIGURA 6 - Grafo arquitetural de um perceptron de múltiplas camadas FIGURA 7 - Representação geral do sistema FIGURA 8 - Modelagem do banco de dados FIGURA 9 - Diagrama das classes Usuario e SinalVoz FIGURA 10 - Diagrama das classes de interface do usuário FIGURA 11 - Diagrama das classes de gerenciamento de camada da MLP FIGURA 12 - Diagrama das classes de treinamento e utilização da fft FIGURA 13 - Diagrama das classes de gerenciamento dos neurônios da rede MLP. 40 FIGURA 14 - Diagrama de classe central da MLP FIGURA 15 - Configuração de variáveis da rede FIGURA 16 - Inserção de um áudio FIGURA 17 - Método de treinamento FIGURA 18 - Método treinar FIGURA 19 - Inicialização de variáveis do backpropagation FIGURA 20 - Tela inicial do protótipo FIGURA 21 - Inicializa a captura FIGURA 22 - Interrompendo a captura FIGURA 23 - Gráfico gerado da palavra casa FIGURA 24 - Autenticação realizada QUADRO 1 - Requisito funcional manter informações do usuário QUADRO 2 - Requisito funcional treinamento do sinal QUADRO 3 - Requisito funcional verificar compatibilidade QUADRO 4 - Requisito funcional realizar login QUADRO 5 - Requisitos suplementares QUADRO 6 - Casos de uso QUADRO 7 - Caso de uso gravar sinais de voz QUADRO 8 - Caso de uso informar dados ao administrador... 34

5 QUADRO 9 - Caso de uso cadastrar usuário QUADRO 10 - Exceção caso de uso cadastrar usuário QUADRO 11 - Exceção caso de uso cadastrar usuário QUADRO 12 - Caso de uso treinamento da rede MLP QUADRO 13 - Exceção caso de uso treinamento da rede MLP QUADRO 14 - Exceção caso de uso realizar autenticação QUADRO 15 - Caso de uso realizar autenticação TABELA 1 - Modelo da tabela de testes TABELA 2 - Teste número um TABELA 3 - Teste número dois TABELA 4 - Teste número três TABELA 5 - Teste número quatro TABELA 6 - Teste número cinco TABELA 7 - Teste número seis TABELA 8 - Teste número sete TABELA 9 - Teste número oito TABELA 10 - Teste número nove TABELA 11 - Teste número dez TABELA 12 - Teste do método FFT número um TABELA 13 - Teste do método FFT número dois TABELA 14 - Teste com dupla camada intermediária número um TABELA 15 - Teste com dupla camada intermediária número dois

6 LISTA DE ABREVIATURAS E SIGLAS FFT GMMs HMMs MCP MFC MFCCs MLP NCI NNE NNI NNS QTD RAL RNA SGBD SOM WIMP - Fast Fourrier Transform - Gaussian Mixture Models - Markov Models - McCulloch e Pitts - Mel-frequency Cepstrum - Mel-frequency Cepstral Coefficients - Multilayer Perceptron - Número de camadas intermediárias - Número de neurônios na camada de entrada - Número de neurônios na camada intermediária - Número de neurônios na camada de saída - Quantidade de sinais de audio utilizados para cada locator - Reconhecimento Automático de Locutor - Rede Neurais Artificial - Sistema Gerenciador de Banco de Dados - Self-Organizing Maps - Window, icon, menu and pointig devices

7 RESUMO A grande demanda por uma dita portabilidade, onde cada vez mais tarefas rotineiras da população são transferidas para a máquina, vem de encontro ao paradigma da segurança de dados, pois todo dia tem-se buscado métodos de proteger a informação que é vinculada aos softwares, considerando a precariedade dos métodos mais utilizados para a autenticação de usuário, os quais são suscetíveis a diversos problemas. Para buscar uma possível solução a esta adversidade é que o principal objetivo deste trabalho é proposto, aplicar os conhecimentos de Redes Neurais Artificiais no reconhecimento de locutor para desenvolver um protótipo que realize a autenticação de usuários. A técnica utilizada no treinamento da rede e no reconhecimento dos sinais de áudio foi a MLP (Perceptron de Múltiplas Camadas). Durante a etapa de teste foram utilizadas três alternativas a rede, treinando-a com uma simples camada intermediária, configurando a primeira amostragem de maneira aleatória para posteriormente comparar resultados com outros treinamentos realizados com parâmetros de configuração diferentes. A utilização de duas camadas intermediárias também foi desconsiderada, já que nos testes realizados não se notou melhora no resultado, posteriormente a técnica FFT (Transformada Rápida de Fourier) foi adotada para tentar extrair algumas características nos sinais de voz. O modelo proposto cumpriu com o seu objetivo principal que visava realizar a autenticação de usuário corretamente através do reconhecimento de sua voz, porém a limitação da linguagem java para trabalhar com valores double impediu que os resultados fossem mais expressivos. Palavras-chave: Inteligência Artificial; MLP; reconhecimento de locutor; Redes Neurais Artificiais; Autenticação de Usuário.

8 ABSTRACT The great demand for a so-called portability, where more and more population`s routine tasks are transferred to the machine, comes against of data security paradigm, because every day people have sought methods to protect personal information that are used in software. Given the user authentication methods`s precariousness, which are susceptible to various problems. Searching for a possible solution to this adversity, the project main objective is to apply all the knowledge of neural networks in speaker recognition to develop a prototype that performs an user authentication. The technique used on the network training and the audio signals recognition was the MLP (multilayer perceptron). During the test phase we used three alternative ways of network setup, training it with a simple intermediate layer, setting randomly the first sample and compare later the results with other training conducted with different setup parameters. The use of two hidden layers was also disregarded, as in the tests wasnt noted improvement on the result, then the Fast Fourier Transform`s technique is adopted to extract some speech signals features. The proposed model achieved its main objective which was authenticate the user correctly by recognizing his voice, but the limitation of Java language to work with double values does not allow the network to achieve better results Keywords: Artificial Intelligence, MLP, Speaker Recognition, Neural Networks, User Authentication.

9 SUMÁRIO 1 INTRODUÇÃO Apresentação Descrição do problema Justificativa Objetivo geral Objetivos específicos Metodologia RNAs e autenticação de usuários Introdução à autenticação de usuários Métodos de autenticação Métodos de autenticação biométricos Introdução a RNA Surgimento RNAs Histórico Redes biológicas Neurônios artificiais Principais arquiteturas Aprendizado Aprendizado supervisionado Correções de erros Aprendizado não supervisionado Redes perceptron de múltiplas camadas Algoritmo de Back-Propagation Arquitetura MLP Outros trabalhos similares Conclusão MODELAGEM DO PROTÓTIPO Sumário executivo Requisitos funcionais Requisitos suplementares Casos de uso Expansão de caso de uso Modelagem banco de dados Diagrama de classes do protótipo Conclusão... 41

10 4 IMPLEMENTAÇÃO DO PROTÓTIPO Captura do áudio Conversão do sinal captado Configurando a rede MLP Treinamento da rede MLP Treinamento em backpropagation Apresentando a ferramenta TESTES Apresentação do modelo de testes Primeira bateria de testes Fast Fourier Transform (FFT) Testes com dupla camada intermediária Conclusão CONSIDERAÇÕES FINAIS REFERÊNCIAS BIBLIOGRÁFICAS APÊNDICES... 62

11 6 1 INTRODUÇÃO 1.1 Apresentação Em consequência da constante evolução tecnológica, a sociedade utiliza-se de ferramentas que cada vez mais auxiliam as pessoas a realizarem tarefas simples do cotidiano. Proposto por Charles Babbage no século XVII, o computador é uma destas ferramentas, se não a principal entre elas (PAULA, 2000). De certa forma, cresce também de maneira semelhante a busca pela confiabilidade da informação, não só computacionalmente falando, pois sempre foi do interesse de muitos que certos dados importantes fossem mantidos em sigilo. Antigamente usavam-se cofres para armazenamento de documentos importantes, porém hoje em dia isso não é mais necessário. A evolução tecnológica chegou a tal ponto em que não se fazem mais necessários cofres para armazenar qualquer informação, podendo armazená-las digitalmente na memória de um computador. Nenhum método até hoje mostrou-se perfeitamente seguro, já que qualquer maneira de armazenamento digital não está livre de brechas e bugs. Porém a chance de falha vem diminuindo drasticamente durante os anos. Alguns anos atrás, Dam (1997), já propunha que fosse adotada uma quarta geração de interfaces, que ele chama de interfaces pós-wimp (window, icon, menu and pointig device), que basicamente são interfaces que utilizam-se da interação do usuário (gestos e reconhecimento de voz). Com a adoção deste novo paradigma de interfaces, começa a ser cogitada a possibilidade de fazer com que a máquina reconheça seu usuário e para isso são

12 7 utilizados os métodos biométricos de reconhecimento humano, onde o usuário pode ser reconhecido através de suas caracteríscticas únicas, como a impressão digital, sua voz ou até mesmo a íris de seu olho. A identificação do usuário através do reconhecimento de sua própria voz passa a ser um recurso amplamente desenvolvido, mesmo que pouco disseminado na sociedade, pois através da voz a agilidade e confiabilidade na busca e armazenamento desses dados aumentam drasticamente. Atualmente os métodos mais utilizados para o reconhecimento de locutor são baseados na extração de coeficientes mel-ceptrais (MFCCs) 1 das locuções, seguidos da identificação do locutor através da Hidden Markov Models (HMMs) 2 ou quantização vetorial 3. Esta preferência se deve à qualidade dos resultados obtidos, (MAFRA, 2002). Neste trabalho é proposta uma metodologia para a implementação de um sistema de Reconhecimento de Locutor, fazendo assim a distinção e reconhecimento de diferentes usuários rapidamente e minimizando possíveis problemas em relação a ambientes com ruídos e utilização de diferentes tipos de microfone. O presente trabalho apresenta-se dividido em 6 capítulos. No capítulo 1 é abordada a problemática do projeto, seus objetivos, sua justificativa e também a metodologia empregada no mesmo. O capítulo 2 mostra as redes neurais artificiais e também e técnicas de pré-processamento de voz. A modelagem do protótipo, assim como a especificação das técnicas escolhidas são demostradas no capítulo 3. No capítulo 4 é apresentado o sistema junto com sua implementação devidamente detalhada no capítulo 5, apresenta-se o protótipo e os resultados obtidos. Por fim, as considerações finais são registradas no capítulo 6. 1 Coeficientes que formam um mel-frequency cepstrum (MFC), que por sua vez pode ser considerado como uma representação do espectro de potência à curto prazo de um som. 2 Modelo estatístico de Markov considerado como a mais simples rede bayesiana dinâmica. (Modelo gráfico probabilístico que representa um conjunto de variáveis aleatórias e suas dependências. 3 Originalmente usado para compreção de dados, é uma técnica de quantização clássica que utiliza o processamento do sinal permitindo a modelagem de funções probabilísticas através da distribuição dos vetores do protótipo.

13 8 1.2 Descrição do problema A crescente inserção no mercado de sistemas que armazenam informações pessoais e dados bancários de usuários vem acompanhada de uma grande preocupação que consiste na confidencialidade destas informações. Ao mesmo passo em que a tecnologia ajuda-nos nas tarefas mais triviais do dia-a-dia, ela pode ser a causadora de grandes problemas já que dados pessoais estarão contidos ali. Com isso constantemente vê-se aumentar a demanda por softwares que priorizem a segurança da informação. 1.3 Justificativa Atualmente, a parte gráfica é crucial de um sistema computacional. Para que ela atenda devidamente as necessidades do usuário, deve ser extremamente usual, prática e visualmente interessante para assim ajudar na construção da imagem do produto, o que auxilia tanto nas vendas quanto na redução de custos (BIAS e MAYHEW, 2008). Ao mesmo passo em que as interfaces vão se aprimorando, vê-se uma busca incessante por praticidade e segurança nos dados veiculados no sistema. Para tal, a identificação do usuário torna-se um problema comum a projetos de engenharia. Várias formas de identificação pessoal são visíveis no cotidiano: documentos, chaves, cartões, códigos e até mesmo senhas de acesso. Todas essas maneiras citadas possuem algo em comum: a identificação da pessoa através de algo que só ela possua ou saiba, fazendo assim, que a mesma tenha que carregar objetos ou decorar códigos (MAFRA, 2002). Toda essa dependência gerada em torno do sigilo da informação acarreta em certos problemas, pois senhas podem ser esquecidas, assim como objetos podem ser perdidos ou até mesmo burlados. É devido a esses problemas e a essas falhas que a utilização de métodos de leitura biométricos, para reconhecimento do usuário, é cada vez mais constante. O

14 9 reconhecimento de características únicas das pessoas como: impressão digital, voz, íris do olho, entre outras, parece ser uma maneira de se evitar fraudes e conseqüentemente o uso incorreto das informações sigilosas armazenadas no sistema. Segundo Mafra (2002), dentre os métodos biométricos de identificação, a voz recebe bastante atenção dos pesquisadores da área. Esta atenção se deve principalmente à facilidade com que é produzida, capturada, processada e transmitida no estado tecnológico atual. 1.4 Objetivo geral Desenvolver uma aplicação baseada em redes neurais artificiais, para realizar a autenticação de usuários pelo reconhecimento de voz. 1.5 Objetivos específicos a) Apresentar a RNA e alguns métodos utilizados na autenticação de usuários; b) Identificar um modelo de rede neural que solucione o problema proposto no projeto; c) Desenvolver um protótipo para autenticação de usuários utilizando a RNA identificada. 1.6 Metodologia Este trabalho foi iniciado com o desenvolvimento do projeto, que consiste na redação do primeiro capítulo. A próxima etapa foi o desenvolvimento do capítulo 2 O Reconhecimento de Locutor (padrões para identificação de locutor), que engloba o levantamento bibliográfico necessário para estudar e compreender o processamento de voz e as redes neurais artificiais. Nesta etapa foi realizado o estudo de trabalhos relacionados,

15 10 objetivando o conhecimento de o que já foi feito na área, para que assim, possa-se evitar a escolha de metodologias comprovadamente ineficazes para este propósito. Após o estudo das metodologias existentes, foram definidas algumas para usar no desenvolvimento do projeto, tais como linguagem de programação que será utilizada para o desenvolvimento do protótipo, técnica de pré-processamento de voz, Rede Neural mais eficaz, entre outras. A partir das especificações do protótipo foi desenvolvido o capítulo três, que consiste na modelagem e implementação do Protótipo. No capítulo quatro foi feita a apresentação do Protótipo, onde foi descrito o processo de implementação realizado. Com a conclusão do capítulo quatro, foi iniciada a etapa de testes, prevista no capítulo cinco, a qual contém a descrição de todo o processo de testes e resultados obtidos. Ao final (capítulo seis) são colocadas as considerações finais, incluindo sugestões para futuros trabalhos.

16 11 2 RNAs e autenticação de usuários Este capítulo aborda um estudo feito em volta das Redes Neurais Artificiais (RNA), com enfoque na técnica MLP (Multi-Layer Perceptron) e também sobre segurança de dados de autenticação e técnicas de autenticação de usuários. Foi feito também um estudo em cima do reconhecimento de palavras faladas e trabalhos realizados na área. 2.1 Introdução à autenticação de usuários Um dos grandes problemas que se tem hoje no quesito de segurança de dados é relativo à autenticação de usuários. Para que se entenda o conceito da autenticação de usuários, primeiramente deve-se entender o significado da expressão. De forma resumida, autenticação de usuário significa verificar se o usuário é autêntico, legítimo, se ele é realmente quem diz ser, ou seja, realizar um simples login é autenticar um usuário. A autenticação de usuário feita da maneira correta interessa diretamente não somente o usuário, mas também ao criador do programa. Qualquer sistema proprietário atualmente faz uso de uma ferramenta de autenticação de usuário, por mais simples que seja, pois é necessário que o cliente realize a autenticação para que seja comprovado que a cópia utilizada é original, obtendo assim um controle contra a pirataria do sistema.

17 Métodos de autenticação Em grande parte dos sistemas a autenticidade do usuário é verificada através de uma seqüência de caracteres alfanuméricos (senhas), que devem ser memorizada pelo usuário e depende do sigilo do mesmo para que a autenticação não seja burlada. (HEINEN, 2004). Outro método comum para autenticar um usuário é a utilização de objetos que contenham características únicas como: chaves, cartões com leitores magnéticos, entre outros. Porém este caso também não tem um nível de segurança elevado, expondo assim os dados confidenciais do usuário. Os maiores problemas com relação a esses métodos descritos acima é a facilidade com que podem ser burlados, pois senhas podem ser descobertas ou até mesmo esquecidas e os objetos podem ser perdidos, comprometendo assim todo o sistema, que depende diretamente da confidencialidade dessas informações. Segundo Petry et al (2004), existem alguns meios de reforçar a segurança dos dados, garantindo assim um crescimento na taxa de confiabilidade de um sistema. O uso da criptografia em dados importantes como senhas, informações bancárias e pessoais possibilita uma troca/transação segura de dados; a criação de senhas complexas também auxilia na proteção dessas informações, evitando que sejam facilmente descobertas Métodos de autenticação biométricos Devido aos problemas citados no parágrafo anterior, técnicas de autenticação baseadas em características biométricas físicas, como impressões digitais, voz, exames de retina e da palma das mãos vêm sendo utilizadas para se garantir a autenticidade dos usuários. Essas medidas biométricas atreladas ao usuário para sua autenticação surgem como uma maneira alternativa de diminuir as chances de erro. A análise biométrica sem intervenção humana (automática) pode ser utilizada junto com os métodos já empregados ou até mesmo substituindo-os (PETRY et al, 2004).

18 13 Ainda segundo Petry et al, (2004), a utilização da voz como característica biométrica marcante para a autenticação, também conhecida como reconhecimento automático de locutor (RAL), possui algumas vantagens notáveis quando comparado aos outros métodos de reconhecimento biométrico, tais como: Hardware de baixo custo; Facilidade de captura da voz; Praticidade na aquisição do sinal (método pouco intrusivo); Inexistência de treinamento prévio. Mesmo apresentando essas vantagens, o RAL possui problemas técnicos que precisam ser contornados para que se tenha um resultado adequado. A adequação do ambiente de captura (ruído externos), qualidade de captação do dispositivo utilizado (microfone), mudanças de estado emocional do usuário (entonação) e também sinais de patologia do aparelho vocal do usuário (usuário rouco, gripado, etc.). 2.2 Introdução a RNA A grande diferença entre o cérebro humano e a máquina, pode ser descrita pela capacidade cognitiva que o ser humano tem de detectar informações através da fala, tais como, sentimento, locutor, estado emocional entre outros. Até o momento a máquina consegue contornar esse problema através de periféricos, que não são a melhor solução no quesito velocidade (LOUZADA, 2010). RNAs são sistemas paralelos distribuídos compostos por unidades de processamento simples (neurônios artificiais) que calculam determinadas funções matemáticas (normalmente não-lineares). Tais unidades são dispostas em uma ou mais camadas e integradas por um grande número de conexões geralmente unidirecionais. Na maioria dos modelos essas conexões estão associadas a pesos, os quais armazenam o conhecimento adquirido pelo modelo e servem para ponderar a entrada recebida por cada neurônio da rede (BRAGA, 2007).

19 Surgimento RNAs As Redes Neurais Artificiais (RNA) tiveram seus primeiros estudos por volta do ano de 1943, porém foram somente com o avanço da computação que em 1980 foram retomados os conceitos de RNA e é por isso que essa década de 80 foi marcada pelo ressurgimento dessa área hoje amplamente difundida (BRAGA, 2007). Segundo Braga (2007) as RNAs são conhecidas também como conexionismo ou então sistemas de processamento paralelo e distribuído. Resumidamente é uma forma de computação inusitada (não-algoritmica) e tem como objetivo simular a estrutura neural humana, através de sistemas paralelos distribuídos, constituídos por neurônios artificiais os quais são encarregados de calcular certas funções matemáticas em sua maioria não lineares. Esses neurônios artificiais fazem parte de uma rede onde uma cadeia de conexões de sentido único interliga-os formando assim a chamada rede neural artificial, cada parte integrante dessa rede (neurônio) recebe um peso através das conexões equivalentes ao mesmo, possibilitando assim o armazenamento das informações pertinentes. O funcionamento padrão de uma rede neural passa por uma série de fases, iniciando pela parte da aprendizagem, onde um montante de dados é apresentado à rede que tem como objetivo retirar o máximo de informações úteis que posteriormente serão utilizadas na resolução do problema. Esse sistema disposto na solução de problemas utilizando uma RNA tem como diferencial o modo como a rede é treinada, na fase de aprendizagem, e como a mesma interpreta e apresenta as informações submetidas a ela. Outro fator importante na utilização de uma RNA é o modo como a informação é analisada, permitindo que a mesma apresente respostas às questões que não estavam explícitas nas informações de entrada (BRAGA, 2007) Histórico No início da década de 40, mais precisamente no ano de 1943 surgiu o primeiro modelo artificial de um neurônio biológico, obra conjunta de Warren McCulloch e Walter Pitts, entitulada A Logical Calculus of the Ideas Immament in

20 15 Nervous Activity onde é feito um grande debate sobre as redes lógicas de neurônios artificiais, os quais foram chamados de neurônios de MCP, devido ao nome de seus criadores McCulloch e Pitts. A obra de ambos os pesquisadores focava na descrição do modelo de um neurônio artificial e qual a sua real capacidade computacional (MCCULLOCH , apud BRAGA 2007). Somente alguns anos depois da pesquisa de McCulloch e Pitts é que se voltou a estudar sobre as redes biológicas e as possíveis redes neurais representadas. Donald Hebb em 1949 mostrou como a variação na fase de aprendizagem das redes neurais pode ser resultante da alteração dos pesos de entrada dos neurônios. A teoria de Hebb ficou conhecida como regra de Hebb e se baseia na variação das ligações sinápticas dos neurônios biológicos excitados e como elas influenciam diretamente no aprendizado do mesmo. Tendo uma interpretação puramente matemática a regra de Hebb é utilizada atualmente em muitos algoritmos de aprendizagem (BRAGA, 2007). Já em 1958 Frank Rosenblatt utilizou-se da RNA com neurônios MCP e provou que se utilizadas sinapses ajustáveis, seguindo a regra de Hebb, a RNA resultante poderia ser treinada a identificar certos tipos de padrões dentro das informações de entrada, este modelo ficou conhecido como perceptron. O perceptron é basicamente constituído por três camadas: a primeira é a camada de entrada, ela é fixa e fica responsável pela recepção dos estímulos, a segunda é a camada oculta ou camada de transição, ela recebe os impulsos da primeira camada através de sinapses (ligações) que podem ter seus pesos variados, e a terceira é a camada de saída, a qual combina as informações recebidas pela camada anterior e define o espaço de saída da rede (BRAGA, 2007). Após pesquisas aprofundadas, em 1969, Minsky e Papert perceberam algumas tarefas que o perceptron de uma única camada não era capaz de executar, como detecção de paridade, conectividade e simetria que são problemas nãolinearmente separáveis, que são exemplos de problemas difíceis de aprender (hard learning problems) (BRAGA, 2007). 4 Em meados de 1970 devido aos resultados obtidos com o trabalho de Minsky MCCULLOCH, W. S.; PITS, W. A logical calculus of the ideas immanent in nervous activity. Bull. Math. Biophysics, 5:

21 16 e Papert, a abordagem até então conexionista foi deixada de lado por grande parte dos pesquisadores, apesar de alguns nomes como Igor Aleksander, Kunihiko Fukushima e Teuvo Konohen darem continuidade a área (BRAGA, 2007). Em 1982 John Hopfield mostrou uma relação entre redes recorrentes autoassociativas e sistemas físicos, abrindo caminho para a utilização de correntes da física no estudo do modelo. Também foi constatado que a visão de Minsky e Papert sobre a abordagem conexionista era falha e as RNAs podem sim resolver os hard learning problems, essa análise só foi possível através da análise do algoritmo de backpropagation (BRAGA, 2007). A disseminação do interesse por RNAs só teve seu ápice a partir de 1980, quando a comunidade internacional despertou amplo fascínio sobre o assunto, Tal interesse cresce desde então, e tudo isso se deve a dois principais fatores: inicialmente o avanço da tecnologia em geral, principalmente a parte que abrange a microeletrônica, a qual permitiu a criação física de modelos de neurônios e suas sinapses (conexões), seguido do sucesso da escola de IA simbólica na solução de determinados tipos de problemas (BRAGA, 2007) Redes biológicas Sabe-se que o cérebro humano possui cerca de neurônios e que cada um desses se comunica com milhares de outros neurônios de uma forma continua e paralela. É ai que fica a base de estudo das RNA, as quais tentam simular a estrutura organizacional de uma rede biológica (topologia, conexões e comportamento). O conjunto de neurônios biológicos é parte integrante do cérebro humano, compondo a parte responsável por armazenar informações (memória), interpretá-las e até mesmo reconhecer padrões não explícitos, tudo isso por experiência (KOVÁCS, 2006). Segundo Kovács (2006) a composição de um neurônio biológico, figura 1 em suma é baseada em três partes principais (seções), são elas: o corpo celular, que mede apenas alguns milésimos de milímetros e é responsável pelo processamento da informação e a partir daí gera novos impulsos que são transmitidos ao axônio e então aos dentritos, para assim chegar ao neurônio seguinte, o axônio compõe grande parte

22 17 de um neurônio e geralmente possuem calibre uniforme, por fim existem também os dentritos, que apresentam poucos milímetros de comprimento e tem como única função receber ou transmitir os impulsos nervosos para o corpo celular. A área situada entre os dentritos e a terminação axônica de outro neurônio é conhecida como sinapse, essa área sináptica é responsável pela união funcional de todos os neurônios, formando assim a rede biológica, funcionam também como controles de transmissão de impulsos nervosos dentre os neurônios (HAYKIN, 2001). FIGURA 1 - Imagem da composição de um neurônio. Fonte: BRAGA, Os impulsos gerados pelo corpo celular pré-sináptico são transmitidos para o neurônio pós-sináptico através dos dentritos, o corpo do neuronio pós-sinaptico analisa e compara a carga gerada pelo impulso e por todos os outros impulsos recebidos pelo corpo celular, caso o sinal de excitação do neurônio seja suficientemente alto a célula é ativada e propaga um impulso para os próximos neurônios. Todo esse sistema conjunto dos neurônios é o principal responsável pelas funções realizadas pelo nosso cérebro (HAYKIN, 2001). A comunicação entre os neurônios funciona de forma continua, onde o corpo celular recebe impulsos dos neurônios pré-sinápticos e os combina, caso essa carga combinada extrapole o limiar de excitação da célula, a mesma produz um impulso elétrico que é transmitido até as áreas sinápticas através do axônio, alcançando assim o próximo neurônio, que executa a mesma função de forma continua. Esse fenômeno deve-se ao fato de existirem diferentes níveis de potássio e sódio (interno e externo a célula respectivamente), e dessa forma sempre será mantida uma diferença de

23 18 potencial entre as duas partes. Quando a soma recebe os sinais elétricos dos neurônios pré-sinápticos e o limiar de excitação é atingido o fluxo de sódio e potássio da célula é invertido, é ai que a parte interna do neurônio se torna positiva em relação ao exterior, essa mudança súbita de polaridade é responsável pela propagação do sinal elétrico até o axônio, ao chegar na parte terminal do axônio os canais são abertos, liberando assim as moléculas neurotransmissoras até a clave sináptica, o tipo de molécula neurotransmissora é o que ira determinar a polarização do neurônio pós-sináptico, podendo tanto inibir quanto excitar (BRAGA, 2007 e KOVACS, 2006). Logo após ter disparado um impulso elétrico o axônio entra em estado de repouso, portanto ele leva um tempo até que consiga reestabilizar a polaridade da célula. Em suma o neurônio biológico funciona através de uma serie de entradas (impulsos), tanto excitatorios quanto inibitórios e quando toda essa carga acumulada no corpo celular ultrapassa seu limite de limiar um impulso é gerado para os neurônios subseqüentes (BRAGA, 2007 e KOVACS, 2006) Neurônios artificiais A proposta de um neurônio artificial MCP feita por McCulloch e Pitts representado aqui na figura 2 é baseada na formação da cadeia de neurônios biológicos. Em sua composição podemos identificar várias ramificações de entrada que representam os dentritos, o núcleo, onde é realizada a soma dos pesos recebidos através das ramificações e faz-se o calculo da função de ativação. Cada terminal de entrada possui um peso w que substitui a carga da sinapse e por fim existe também uma única saída a qual assume o papel do axônio e transmite a nova carga para os neurônios artificiais subseqüentes, cargas essas que podem ser tanto inibitórias quanto excitatórias (negativa ou positiva). A descrição desse modelo está retratada na figura 3 (REZENDE, 2004 e KOVACS, 2006).

24 19 FIGURA 2 - Modelo do neurônio artificial proposto por McCulloch. Fonte: PAULA, FIGURA 3 - Neurônio artificial. Fonte: TAFNER, Em um neurônio biológico, todos os sinais pré-sinápticos são acumulados dentro do corpo celular e o mesmo só dispara quando atinge seu limiar de ativação. Algo similar acontece em um modelo MCP, onde todos os sinais de entrada são somados dentro neurônio (soma ponderada), feito isso decide-se se o neurônio deve ou não disparar um novo sinal baseado no limiar de ativação (threshold), que quando for

25 20 ultrapassado libera o impulso para o neurônio pós-sináptico (REZENDE, 2004 e KOVACS 2006) Principais arquiteturas Os neurônios artificiais se analisados singularmente, possuem uma capacidade computacional extremamente limitada. A força computacional desses neurônios está justamente na rede neural formada por suas interconexões, esta rede sim é capaz de resolver problemas de alta complexidade (BRAGA, 2007). Ainda segundo Braga (2007) e Haykin (2001) indiferente a função de ativação utilizada, deve-se também escolher cautelosamente qual arquitetura será utilizada, pois cada tipo de arquitetura de rede serve a diferentes problemas. Dentre as principais arquiteturas de RNA encontramos: a) Rede feedfoward de uma única camada; b) Rede feedfoward de duas camadas; c) Rede com recorrência entre saídas e camada intermediária; d) Rede com recorrência auto-associativa. Primeiramente (representado em A) temos uma RNA de camada única que é alimentada para frente (feedfoward) e são ideais para resolver problemas de funções acopladas e multivalorados, porém existem certos empecilhos devido a sua única camada. A seguir em B temos que é uma melhoria da rede anterior, já que agora a rede possui uma segunda camada, permitindo assim uma aproximação das funções contínuas, porém ainda há uma persistência em sua arquitetura estática, a qual inviabiliza a recorrência na rede (BRAGA, 2007 e HAYKIN, 2001). Diferente das anteriores, as estruturas C e D possuem recorrência entre os neurônios. Em C, o valor resultante depende somente dos valores de chegada, mas também de seu valor atual já que as ligações entre camadas de níveis diferentes estão presentes, portanto essa arquitetura é utilizada na resolução de problemas temporais. Já em D temos uma estrutura típica de uma rede de Hopfield, já que há apenas uma camada de neurônios e entradas externas são inexistentes, pois cada neurônio é conectado diretamente a entrada de todos os outros presentes, resultando em uma

26 21 operação baseada na dinâmica da mudança de estados dos mesmos (BRAGA, 2007 e HAYKIN, 2001). De acordo com Braga (2007) basicamente a escolha da estrutura de RNA mais adequada para cada situação depende de uma série de fatores, onde podemos destacar: Complexidade do problema; Dimensionalidade do espaço de entrada; Características dinâmicas ou estáticas; Conhecimento sobre o problema; Representatividade dos dados Aprendizado Uma parte vital na construção de uma RNA é a etapa de aprendizado, na qual a rede é submetida a uma carga de informações que tem por objetivo final treinar e capacitar a rede a realizar as tarefas que lhe foram incumbidas. Diferente da abordagem conexionista, não se treina uma RNA através de regras explícitas, o processo de aprendizado consiste em uma série de ajustes de alguns parâmetros importantes como o peso das conexões que ao final do processo irá armazenar todo conhecimento que a rede adquiriu. Segundo Mendel , apud Braga 2007, o aprendizado de uma rede pode ser considerado da seguinte forma: Aprendizado é o processo pelo qual os parâmetros livres de uma rede neural são ajustados por meio de uma forma continuada de estímulo pelo ambiente externo, sendo-o tipo específico de aprendizado definido pela maneira particular como ocorrem os ajustes dos parâmetros livres. Um ponto importante de se enfatizar é o conceito de aprendizado, que está diretamente relacionado com a medida na qual melhora o desempenho da rede em questão, tudo seguindo critérios antes estabelecidos. Existem algoritmos na área de RNA que buscam calcular a taxa de erro quadrático médio e quando aplicados a uma 5 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 22 rede, a tendência é que a incidência de erros diminua a cada ciclo de treinamento (HAYKIN, 2001). A fórmula genérica usada para calcular a taxa de erro é apresentada na equação 1.0, obtida através da variação de resultado do pulso da rede em relação ao resultado desejado, a carga faz diversas iterações na rede (vai e volta) e a cada ciclo desses um valor de variação é obtido, representado na fórmula por w em função do tempo t que somado ao valor do peso de entrada w(t) resultará em um novo valor, que representará o peso w na próxima iteração da rede (t+1). Os algoritmos de aprendizado normalmente diferem somente quanto a maneira como se calcula a taxa variação do peso( w ), dentre essas maneiras, vários algoritmos podem ser usados, sendo eles classificados como aprendizado supervisionado e aprendizado nãosupervisionado (BRAGA, 2007) Aprendizado supervisionado w( t + 1) = w( t) + w( t) (1.0) No caso do aprendizado supervisionado, a rede neural aplicada é dependente de um supervisor (professor), que tem por objetivo lançar os dados de entrada adaptados através da comparação entre a saída calculada pela rede e a saída desejada. Já que a resposta gerada pela rede é resultante de um calculo baseado nos pesos de entrada, o professor deve ajustar os novos valores de entrada de forma a aprimorar a rede a cada novo ciclo, até chegar ao valor mais próximo possível do desejável. A aproximação desse valor é incremental já que são feitos de pequenas modificações a cada iteração (REZENDE, 2005 e HAYKIN, 2001). Os modelos de aprendizado supervisionado mais conhecidos são: regra delta e sua fórmula adaptada para redes de múltiplas camadas, o algoritmo backpropagation. Ambos podem ser implementados de duas maneiras distintas: off-line e on-line. (BRAGA, 2007). Durante o treinamento off-line os dados obtidos através da resposta da rede são armazenados, portanto não mudam, caso seja necessário um novo treinamento esses dados não são sobrepostos, é iniciado um novo treinamento levando em conta os

28 23 dados obtidos anteriormente, mantendo assim a integridade dos dados em ambos os casos. Já no aprendizado on-line nada é mantido e a rede vive sobre constantes modificações (BRAGA, 2007) Correções de erros O algoritmo baseado na correção de erros é uma base de tudo que foi descrito anteriormente, um método supervisionado que é alimentado através da taxa de erro calculada junto á variação de valores da rede (REZENDE, 2005). As equações de ajuste presentes nesse método são obtidas a partir da minimização da soma dos erros quadráticos das saídas e através dessas equações é que obtemos o erro mínimo global para cada conjunto de dados. Diretamente ligados ao tipo de unidade de processamento utilizado (lineares ou não-lineares), podemos obter formas diferentes de superfície de erros (REZENDE 2005 e HAYKIN 2001). No caso de a rede ser formada inteiramente por unidades de processamento lineares a superfície de erro é dada por uma função quadrática dos pesos da rede, podendo a mesma possuir um único mínimo, como mostrado na figura 4 (BRAGA, 2007); Para o caso de a rede ser formada por unidades de processamento nãolineares, a superfície de erro poderá ter uma forma irregular e vários mínimos locais, além do mínimo global. A figura 5 é um exemplo de superfície de erro irregular formada como conseqüência da utilização de funções de ativação não-lineares (BRAGA, 2007);

29 24 FIGURA 4 - Superfície de erro quadrática para neurônios de função linear. Fonte: BRAGA, FIGURA 5 - Superfície de erro para neurônios com funções de ativação não-lineares. Fonte: BRAGA, Em ambos os casos, alcançar o mínimo global é o objetivo principal dos dois métodos de aprendizado, que são baseados no ponto arbitrário da superfície de erro.

30 25 No caso da função de ativação linear, essa é uma tarefa consideravelmente fácil de atingir, já que se trata de uma função quadrática sendo assim o mínimo global é facilmente atingido. Já no segundo caso, onde a função de ativação é não-regular, existem várias inconsistências na superfície de erro, tornando-as irregulares, fazendo a rede alcançar um mínimo local inadequado (BRAGA, 2007) Aprendizado não supervisionado No esquema de aprendizado não supervisionado como o próprio nome sugere não se faz necessária a presença de um supervisor (professor) para acompanhar todo o processo. Neste caso o aprendizado se dá por uma seqüência de valores de entrada introduzidas a rede, o papel da rede é identificar padrões e similaridades dentre os dados coletados, e a existência dos mesmos torna o aprendizado possível. Esse tipo de aprendizado é aplicado ao reconhecimento de padrões de dados estatísticos de entrada relevantes como, por exemplo, em descoberta de classes, agrupamento de dados, datamining, entre outros. Os modelos mais conhecidos são os mapas autoorganizáveis de Kohonen e os modelos ART (BRAGA, 2007 e BARRETO, 2002) Redes perceptron de múltiplas camadas A técnica de treinamento de redes neurais de uma única camada por meio de aprendizado supervisionado e correção de erros, realizado através da taxa de diferença entre a saída obtida e a saída desejada, porém para redes de múltiplas camadas, esse método pode ser aplicado somente às camadas de saída, pois as camadas intermediárias não possuem uma variável de comparação (saída desejada). Uma solução para esse problema surgiu com o algoritmo de back-propagation, resolvendo assim o problema do treinamento das MLPs (HAYKIN 2001) Algoritmo de Back-Propagation A idéia principal por trás do algoritmo de retropropagação é a estimativa de erro das camadas intermediarias de uma MLP, este erro pode ser calculado através de

31 26 estimativas de efeito que elas causam na camada de saída. Uma vez obtido o erro da saída da rede, é lançado uma carga de informações de volta para a camada intermediária, a qual é ajustada de acordo com os valores das conexões entre camadas. Essa taxa de erro reajustada é chamada de gradiente descendente. Estas seqüências de camadas intermediariam da MLP tem por objetivo transformar de maneira sucessiva o problema em uma representação tratável para a camada de saída da rede (HAYKIN, 2001) Arquitetura MLP As redes MLP, por possuírem uma camada intermediária, apresentam um poder computacional superior às redes de uma única camada. A qualidade de aproximação obtida por uma MLP está diretamente relacionada com a complexidade da rede em questão, ou seja, quanto mais neurônios forem utilizados nas camadas intermediárias maior será a capacidade de resolução da rede. A figura 6 apresenta um modelo típico de MLP (HAYKIN, 2001 e BRAGA, 2007). FIGURA 6 - Grafo arquitetural de um perceptron de múltiplas camadas. Fonte: HAYKIN, 2001.

32 Número de camadas Conforme foi descrito anteriormente, todo processo que ocorre nos neurônios de uma camada X é calculado pela combinação dos processamentos realizados por neurônios de camadas anteriores, conectados diretamente a ele. A cada camada que se segue em direção a saída, a dificuldade das funções utilizadas aumenta e a divisão do espaço de decisão torna-se mais complexa (BRAGA, 2007). A partir de um grande número de unidades intermediárias, qualquer conjunto de padrões de entrada pode ser representado, sendo que segundo Cybenko , apud Braga 2007, uma camada intermediária é suficiente para aproximar qualquer função continua, e duas camadas são suficientes para aproximar qualquer função. Na prática, a utilização de uma única camada intermediária é suficiente para resolver a grande maioria dos problemas, e a utilização de camadas adicionais se faz necessário somente quando a função a ser aproximada possuir descontinuidades. Dessa forma, a utilização de camadas desnecessárias só atrapalhará o desempenho da rede (BRAGA, 2007) Função de ativação Uma vez determinado a utilização de uma MLP, é necessário também que se resolva o número de neurônios e as funções de ativação de cada camada. Comumente utilizam-se funções de ativação lineares para as camadas de saída e sigmoidais para as camadas intermediarias (HAYKIN, 2001) Treinamento de redes MLP O treinamento mais utilizado em redes MLP é o back-propagation, que já foi anteriormente descrito. Tal algoritmo e dividido em duas etapas: foward e backward. 6 Cybenko, G. (1989). Approximations by superpositions of sigmoidal functions. Math. Control, Signals, Systems, 2:

33 28 Durante a etapa foward, as entradas da rede são apresentadas aos neurônios da primeira camada escondida (intermediária), onde serão calculados os valores de saída da primeira camada, que será enviada a próxima camada intermediária (caso exista) (BRAGA, 2007). Ainda segundo Braga (2007) os valores de saída de primeira camada servirão de variáveis de calculo da saída da camada subseqüente, a qual após ter feito o calculo envia o impulso para a próxima camada e assim sucessivamente ate que a camada de saída seja atingida. Dentro da camada de saída, os valores recebidos são analisados e comparados com a saída desejada para a carga de entrada em questão e a partir desta comparação a taxa de erro correspondendo e calculada (HAYKIN, 2001). Já na etapa backward a taxa de erro obtida na camada de saída é utilizada para ajustar os pesos da camada anterior, os pesos de conexão entre as camadas são multiplicados pela taxa de erro, descobrindo assim um valor de erro estimado para cada neurônio da camada intermediaria que representa a medida de influência do neurônio atual em relação ao seu superior. Ao ajustar os pesos o sinal se propaga para a camada anterior a ele, na qual o mesmo processo é realizado sucessivamente até que a primeira camada escondida seja atingida e todos os neurônios sejam ajustados com base no vetor de entrada e na saída desejada (BRAGA, 2007 e HAYKIN, 2001). A mudança nos pesos realizada pelo algoritmo de back-propagation é utilizada no treinamento de redes Adaline que é baseada na regra delta proposta por Windrow e Hoff. 2.3 Outros trabalhos similares Após detalhado de maneira básica o funcionamento de redes neurais, enfatizando a implementação de uma MLP, foi realizado também um estudo de outros trabalhos na área do reconhecimento de palavras faladas e seus locutores. Resultantes dessa pesquisa foram consideradas as redes MLP e Kohonen ou SOM (Self- Organizing Maps).

34 29 O trabalho baseado na rede de Kohonen foi desenvolvido por Petrônio de Luna Braga (BRAGA, 2006), cujo objetivo principal era construir um sistema que trabalhe no reconhecimento de fala baseado na fonética, ou seja, dada uma frase o programa seria capaz de reconhecer os fonemas contidos no mesmo. O protótipo de reconhecimento de fonemas teve uma taxa de acerto de 68%. Já na pesquisa desenvolvida por Ariane Luiza Fossatti Zancan (ZANCAN, 2010), foi desenvolvida em cima da linguagem de programação paschal, uma espécie de quiz a qual aceita somente respostas positivas e negativas, sim ou não. Obteve-se um resultado de 90% de acerto. Outro protótipo implementado com a MLP e de autoria de Elton Vitor Seemann (SEEMANN, 2006), é utilizado no reconhecimento de palavras através do processamento digital dos sinais de áudio discreto e classificação por uma MLP. O mesmo teve uma taxa de acerto de aproximadamente 95%. 2.4 Conclusão Neste capítulo foi apresentada uma explicação geral sobre o funcionamento das redes neurais, tanto biológicas quanto artificiais, foi colocado também um breve histórico sobre o desenvolvimento da RNA ao longo dos anos, assim como a explicação mais aprofundada da MLP, que foi o método escolhido para o desenvolvimento do protótipo, escolha essa baseada nos estudos realizados sobre outros trabalhos feitos na área do reconhecimento de palavras faladas e também o reconhecimento de locutor, os quais apresentaram taxas de acerto superiores a 90% mostrando assim a aplicabilidade da MLP para a resolução desse tipo de problema. Uma introdução sobre autenticação de usuários também foi incluído neste capítulo, onde apresentamos problemas de segurança e confiabilidade dos dados e métodos de autenticação utilizados com o decorrer dos anos. O estudo de RNA e suas aplicações são recorrentes, já que sempre houve a busca da representação matemática perfeita de um neurônio biológico e o desenvolvimento da IA nessa área específica busca o aperfeiçoamento desta prática.

35 30 3 MODELAGEM DO PROTÓTIPO Neste capítulo é descrita a modelagem do protótipo, juntamente com seus casos de uso, requisitos funcionais e suplementares, ou seja, um estudo de caso. 3.1 Sumário executivo Para o estudo de caso foi definido um sistema que tem como objetivo captar sinais sonoros (voz) através de um microfone, para então realizar a autenticação do usuário em questão. O sistema estará apto a ler o sinal produzido pelo usuário, comparar o resultado obtido por esse sinal ao índice cadastrado anteriormente no banco de dados, o qual foi obtido através do treinamento da rede MLP. Se os índices forem idênticos o usuário terá acesso liberado, caso contrário o mesmo lhe será negado. 3.2 Requisitos funcionais A extração dos requisitos e funcionalidades do sistema foi realizada através da análise das necessidades do mesmo. Os quadros 1 a 4 detalham os requisitos com suas respectivas restrições associadas.

36 31 QUADRO 1 - Requisito funcional manter informações do usuário F1 Manter Informações do Usuário ( ) Oculto Descrição: O sistema deve permitir a inserção e exclusão de um usuário no banco de dados. Para isso deve-ser informar: nome, senha e amostras de áudio previamente gravadas. Requisitos Não-Funcionais Nome Descrição Categoria Obrigatór io/ Desejável NF 1.1 Identificação do usuário. NF 1.2 Armazenamento do índice do sinal vocal. NF 1.3 Detalhes do nome NF 1.4 Detalhes da senha NF 1.5 Detalhes do índice vocal O usuário deve ser identificado pelo seu nome completo e sua senha. Após o usuário passar as amostras de sinais vocais o administrador do sistema deve gerar um índice vocal para o usuário. O campo nome deve ser composto somente por letras e deve ter um limite de 50 caracteres O campo senha deve ser composto por qualquer tipo de caractere, e deve possuir no mínimo 6 dígitos. O campo do índice vocal deve ser chamado de sinal_voz permitir qualquer tipo de caractere e deve permitir até 100 dígitos. Interface O P Implementação O P Especificação O P Especificação O P Especificação O P Permanente/ Temporário QUADRO 2 - Requisito funcional treinamento do sinal. F2 Gravação da voz ( ) Oculto Descrição: O sistema deve permitir ao administrador do mesmo realizar o treinamento da rede a partir das amostras de sinal vocal enviada pelo usuário. Requisitos Não-Funcionais Nome Descrição Categoria Obrigatór io/ Desejável NF 2.1 Identificação do Usuário NF 2.2 Treinamento dos Sinais Vocais. NF 2.3 Detalhes da Amostra Vocal O sistema deve identificar o usuário através de seu índice vocal anteriormente cadastrado no banco de dados e configurar o índice de acordo com a variável de saída desejada. O sistema deve selecionar automaticamente os sinais vocais do usuário para que possa utilizá-los no treinamento. O usuário deverá enviar uma série de arquivos de áudio captados de sua própria voz falando a palavra selecionada. Interface O P Implementação O P Especificação O P Permanente/ Temporário

37 32 QUADRO 3 - Requisito funcional verificar compatibilidade. F3 Verificar Compatibilidade ( ) Oculto Descrição: O usuário deve falar a palavra casa, pré-determinada a ser a palavra de teste, uma vez. O sistema processa o sinal e compara o resultado com os índices existentes no banco de dados, caso haja algum compatível, ele retorna os dados de login do usuário, caso contrario ele impede a ação. Requisitos Não-Funcionais Nome Descrição Categoria Obrigatório Permanente/ NF 3.1 Capturar Sinal NF 3.2 Comparar sinal NF 3.3 Informar resultado O usuário deve falar a palavra CASA uma vez junto ao microfone, após selecionar o botão de captura de áudio. O sistema deve comparar o resultado com os índices vocais cadastrados no banco de dados. O sistema deve retornar os dados do usuário caso algum dos índices vocais cadastrados no banco seja compatível, caso contrario devera impedir a autenticação. / Desejável Temporário Especificação O P Especificação O P Interface O P QUADRO 4 - Requisito funcional realizar login F4 Verificar Compatibilidade ( ) Oculto Descrição: Após o sistema retornar os dados de login do usuário o sistema deve permitir o usuário verificar o gráfico da freqüência do sinal vocal emitido e também permitir que o mesmo realize o login no protótipo. Requisitos Não-Funcionais Nome Descrição Categoria Obrigatório Permanente/ NF 4.1 Gerar Gráfico da Freqüência Vocal. NF 4.2 Realizar Login Após os dados de login aparecerem na tela da aplicação o usuário deve ser capaz de visualizar o gráfico da freqüência do sinal emitido. Após os dados de login aparecerem na tela o usuário deve ser capaz de selecionar a validação do seu login e requisitar o acesso ao sistema. / Desejável Temporário Interface O P Interface O P 3.3 Requisitos suplementares Os requisitos suplementares foram identificados baseados nas características estabelecidas pelos atributos do sistema, tais como desempenho, usabilidade e confiabilidade. Segue abaixo o quadro 5 com a lista dos requisitos suplementares.

38 33 QUADRO 5 - Requisitos suplementares Nome Restrição Categoria Obrigatór io/ Desejável Permanente/ Temporário S2. Tipos de Interface As interfaces devem ser Interface D P desenvolvidas no padrão Windows, para computadores S3. Tecnologia para Desenvolvimento S3. Linguagem de Programação com resolução de 1024 X 768. O sistema deve ser desenvolvido através do ambiente Netbeans 6.91 O protótipo deve ser desenvolvido na linguagem java. S5. Banco de Dados Os dados devem ser armazenados no banco de dados PostgreSQL S6.SGBD (Sistema Gerenciador de Banco de Dados) O banco de dados deve ser gerenciado através do programa PgAdmin. Implementação O P Implementação O P Armazenamento O P Armazenamento O P 3.4 Casos de uso O quadro 6 lista os processos de negócios identificados para o desenvolvimento do sistema, assim como apresenta a representação geral do mesmo na figura 7. Onde a tarefa Utiliza programa treinado é a representação do protótipo desenvolvido, os demais passos representam tarefas desenvolvidas separadamente do protótipo. FIGURA 7 - Representação geral do sistema

39 34 QUADRO 6 - Casos de uso Nome Atores Descrição Referências Cruzadas UC 1. Gravar Sinais de Voz Usuário O usuário deve utilizar gravar sua voz ao pronunciar a palavra CASA e enviar ao administrador. É recomendado que se utilize o software TeamSpeak 3 para a gravação dos sinais e também são aconselháveis a gravação de 40 F1 UC 2. Informar Dados ao Administrador Usuário sinais de áudio. O usuário deve repassar ao administrador seu nome completo para ser usado como login, uma senha e fornecer os sinais vocais gravados anteriormente. UC 3. Cadastrar Usuário Administrador O administrador deve realizar o cadastro do usuário no banco de dados do protótipo, gerando um índice vocal para ele. UC 4. Treinamento da rede MLP Administrador O administrador deve realizar o treinamento da rede através dos sinais vocais fornecidos pelo usuário e do índice vocal gerado anteriormente no banco de dados. UC 5. Realizar Autenticação Usuário O usuário seleciona o inicio da captura e fala a palavra CASA junto ao microfone e o sistema compara o sinal capturado com o sinal armazenado no banco de dados. Caso sejam correspondentes, o sistema libera o acesso ao usuário. F1 F1 F1, F2 F1, F2, F3, F4 3.5 Expansão de caso de uso no quadro 6. Segue abaixo os quadros 7 a 15 com a expansão de cada caso de uso citado QUADRO 7 - Caso de uso gravar sinais de voz Caso de Uso: Gravar sinais de voz Autor: Usuário Fluxo Principal Passo Descrição 1 [EV] O usuário realiza a gravação de 40 sinais vocais pronunciando a palavra CASA junto ao microfone, utilizando o software recomendado TeamSpeak 3. QUADRO 8 - Caso de uso informar dados ao administrador Caso de Uso: Informar dados ao administrador Autor: Usuário Fluxo Principal Passo Descrição 1 [EV] O usuário repassa ao administrador os 40 sinais vocais gravados junto ao seu nome completo, para ser usado como login do protótipo e uma senha de sua preferência.

40 35 QUADRO 9 - Caso de uso cadastrar usuário Caso de Uso: Cadastrar usuário Autor: Administrador Fluxo Principal Passo Descrição 1 [EV] O administrador cadastra o usuário no banco de dados do protótipo, gerando ao mesmo um índice vocal que também é inserido no registro do usuário. Exceções Passo QUADRO 10 - Exceção caso de uso cadastrar usuário Descrição 1.1 Nome de Usuário já existe 1.2 Requisita ao usuário se o nome informado está correto? 1.3 Requisita ao usuário que informe o nome corretamente. 1.4 Vai para o passo 1. Exceções Passo QUADRO 11 - Exceção caso de uso cadastrar usuário Descrição Nome de usuário está correto Administrador apaga o registro vinculado ao nome Vai para o passo 1. QUADRO 12 - Caso de uso treinamento da rede MLP Caso de Uso: Cadastrar Questões Autor: Administrador Fluxo Principal Passo Descrição 1 [EV] O administrador configura os valores de entrada da rede (sinais de áudio do usuário) e executa o programa. 2 [RS] O sistema apresenta um botão para que seja iniciado o treinamento. 3 [EV] O confirma o inicio do treinamento. 4 [RS] O sistema treina a rede e apresenta um arquivo de texto no qual ficam armazenados os pesos da rede. QUADRO 13 - Exceção caso de uso treinamento da rede MLP Exceções Passo Descrição 1.1 Os sinais de áudio não foram gravados. 1.2 Vai para o passo 1 (Caso de Uso: Gravar sinais de voz)

41 36 QUADRO 14 - Exceção caso de uso realizar autenticação Exceções Passo Descrição 4.1 O índice vocal não é compatível. 4.2 O sistema envia uma mensagem de erro e impede a autenticação. 4.3 Vai para o passo 1. QUADRO 15 - Caso de uso realizar autenticação Caso de Uso: Cadastrar Questões Autor: Usuário Fluxo Principal Passo Descrição 1 [EV] O usuário seleciona o botão para iniciar a captura do áudio. 2 [RS] O sistema marca o botão de captura e começa a receber os sinais captados pelo microfone. 3 [EV] O usuário fala a palavra CASA de forma clara junto ao microfone. 4. [EV] O usuário interrompe a captura clicando no botão Parar Captura. 4 [RS] O sistema armazena o áudio captado, submete à rede treinada, compara o índice vocal resultante junto ao banco de dados e caso exista algum índice compatível, retorna os dados de login do usuário em questão. 5 [EV] O usuário valida o seu login selecionando o botão indicado pelo programa. 3.6 Modelagem banco de dados A figura 8 apresenta o diagrama de entidade e relacionamento composto pelas classes Usuário e SinalVoz, representando a modelagem do banco de dados do protótipo. FIGURA 8 - Modelagem do banco de dados.

42 Diagrama de classes do protótipo Logo abaixo segue um demonstrativo do diagrama de classes do protótipo a ser desenvolvido. Os objetos de representação do sistema são demonstrados na figura 9, na figura 10 é representado o diagrama das interfaces gráficas e por fim nas figuras 11, 12, 13 e 14 é demonstrado a lógica de implementação da rede MLP. FIGURA 9 - Diagrama das classes Usuario e SinalVoz

43 38 FIGURA 10 - Diagrama das classes de interface do usuário FIGURA 11 - Diagrama das classes de gerenciamento de camada da MLP

44 FIGURA 12 - Diagrama das classes de treinamento e utilização da fft 39

45 FIGURA 13 - Diagrama das classes de gerenciamento dos neurônios da rede MLP 40

46 41 FIGURA 14 - Diagrama de classe central da MLP 3.8 Conclusão Neste capítulo foi apresentada a modelagem do protótipo desenvolvido para reconhecer o locutor (usuário) e fazer a autenticação do mesmo no protótipo. Na etapa do levantamento de requisitos e modelagem do sistema não foram encontradas maiores dificuldades, em virtude de o sistema ser simples e objetivar a

47 42 demonstração de rede neural em questão para o reconhecimento de locutor. O protótipo do sistema foi desenvolvido de maneira que possa ser manipulado por pessoas com pouco conhecimento de sistema computacionais.

48 43 4 IMPLEMENTAÇÃO DO PROTÓTIPO Neste capítulo é apresentado à implementação do protótipo, exemplificada através de partes da codificação presente no programa, separado por etapas. 4.1 Captura do áudio Para realizar o treinamento da rede MLP, é necessário que se capture alguns sinais de áudio para submeter à rede. Tais áudios devem ter um nível de qualidade considerável, pois a existência de ruídos no sinal tratado pode influenciar diretamente o resultado do reconhecimento. Para tal, foram usados alguns softwares já existentes para realizar essa captura, foram eles o Gravador de Áudio, programa nativo do Windows Seven Ultimate e também o TeamSpeak 3, software livre disponível para download no site da fabricante. 4.2 Conversão do sinal captado Para fazer o tratamento do sinal capturado é necessário que o mesmo esteja em um padrão aceitável e compatível com o reconhecido pelo protótipo, portanto para enquadrar o sinal captado nesses padrões foi usado o software GoldWave 7. O áudio deve ser transformado na extensão wave (.wav) e deve seguir o formato de compactação PCM unsigned 8 bit, mono 8. 7 O software GoldWave é desenvolvido pela organização GoldWave Inc. 8 Formato de compactação desenvolvido pela empresa Microsoft, muito utilização na compactação de arquivos de extensão wave.

49 Configurando a rede MLP Tendo como base de códigos uma rede MLP adaptada, gerada para um trabalho em grupo referente a matéria de Inteligência Artificial do sétimo semestre do curso de Sistemas de Informação da UNIPLAC. Para realizar o treinamento da rede MLP, é necessário que antes sejam configuradas algumas variáveis importantes relacionadas ao funcionamento da rede. Localizadas na classe mlp, proveniente dos códigos previamente implementado para a confecção de uma rede MLP, é necessário que se de valor a uma taxadeaprendizado, errominimo, numeromaximodeciclos. Porém a parte mais importante para o funcionamento correto da rede é a configuração das camadas de neurônios. Na linha 18 temos a inicialização da camada de entrada a qual possui neurônios, referentes à freqüência máxima do áudio que será capturado. Já na linha 19 temos a camada intermediária que nesse caso está com 40 neurônios, porém esse número varia bastante durante os testes que foram feitos no decorrer da implementação e serão tratados mais tarde no capitulo referente aos testes. Por fim temos na linha 21 da figura 15 a criação da camada de saída, a qual nesse caso contem 2 neurônios pois o treinamento contou com áudios de 2 locutores diferentes. FIGURA 15 - Configuração de variáveis da rede. 4.4 Treinamento da rede MLP Uma vez que os sinais de áudio já foram capturados e devidamente tratados, é à hora de treinar a rede. A classe responsável pelo treinamento se chama

50 45 TreinamentoMLP. Para que tal classe tenha seu funcionamento adequado inicializamos um vetor de inteiros na linha 26 o qual chamaremos de freqüência, que servirá para receber a freqüência dos sinais de áudio, que nada mais é do que um vetor de valores simples os quais representam a variação da onda sonora. Será instanciada também na linha 27 uma classe para armazenar a cópia da freqüência, a qual é denominada Representação, e terá a capacidade de gerar uma freqüência em modo texto através do sinal de entrada inicial. Uma instância da classe MLP na linha 28 também é criada já que usaremos a mesma mais tarde. Para incorporarmos o sinal de áudio na execução é necessário a utilização do método abrirarquivo, que nada mais é do que uma instância do áudio capturado no vetor que representa a freqüência, o qual foi ajustado para posições, para realizar esse procedimento foi passado como parâmetro na linha 29 o diretório onde se encontra o áudio que se deseja treinar. Feito isso, a freqüência retornada pelo método anterior é armazenada na variável freqüência anteriormente citada, uma nova representação desta freqüência deve ser criada na linha 30 e instanciada na variável r, para por fim adicionar a representação a rede mlp através do método adicionarpadrao, encontrado na linha 31, o qual recebe como parâmetro a variável contendo a representação de qual locutor está sendo inserido, a representação da freqüência armazenada em r e a variável de indicação de pesos desejados. FIGURA 16 - Inserção de um áudio. Após ter adicionado todos os áudios ao programa, deve-se executar o método treinar, o qual terá seu processo explicado mais tarde. O resultado do treinamento é armazenado em uma variável de texto chamada de resultado.

51 46 Ao final do treinamento, se faz necessário o armazenamento dos pesos adquiridos através do mesmo. É para isso que utilizamos o método gravarpesos, da classe mlp, passando por paramento o nome do arquivo onde será armazenado o resultado. FIGURA 17 - Método de treinamento. 4.5 Treinamento em backpropagation Como dito anteriormente, durante o treinamento da rede MLP, foi utilizado o método de backpropagation, ao entrar no método treinar da classe mlp, como mostra a linha 35 da figura 18, a mesma nos redireciona para o método onde é feito o backpropagation. FIGURA 18 - Método treinar. Dentro do método de retropropagação, foram inicializadas algumas variáveis que irão armazenar o número de ciclos da rede e também a somaerromedioquadratico e mediaerromedioquadratico, que visam armazenar a variável que leva o mesmo nome como consta na figura 19. Na linha 54 ainda da figura 19, tem-se a inicialização dos pesos randômicos que darão inicio ao treinamento. FIGURA 19 - Inicialização de variáveis do backpropagation.

52 47 Tendo feito a inicialização de variáveis o método entra em um laço de repetição, onde executará até que a media do erro quadrático seja maior que o erro mínimo ou então que o número de ciclos ultrapasse o limite máximo que é configurado à rede. Dentro desse laço de repetição todas as fases da backpropagation são simuladas, desde a configuração dos valores com base nos resultados desejados como a parte do calculo da margem de erro da rede. Todo esse processo de treinamento é transcrito em uma variável de texto a qual será gerada como resultado após o treinamento. 4.6 Apresentando a ferramenta A ferramenta utilizada para empregar o reconhecimento de locutor é um protótipo que simula a autenticação de usuário de uma forma simples como pode ser visto na tela inicial junto à figura 20. FIGURA 20 - Tela inicial do protótipo.

53 48 Como se pode perceber na figura 21 temos os campos de login e senha os quais encontram-se desabilitados, o usuário deve clicar no botão Capturar Áudio para que seja iniciado a captura do som. Ao clicar no botão, a variável freqüência é zerada para que possa receber uma nova carga de áudio, variáveis referente a sinais de áudio nativas do Java também são instanciadas e por fim uma thread é iniciada para que se possa receber o sinal de áudio. FIGURA 21 - Inicializa a captura. Ao ter clicado no botão Capturar Áudio o mesmo permanece pressionado até que o usuário termine de gravar a palavra desejada para então clicar novamente no botão que conforme a figura 22 recebeu o nome de Parar Gravação, para que a variável booleana stopcapture receba um verdadeiro e encerre a captura do áudio. FIGURA 22 - Interrompendo a captura.

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

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

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

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

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

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

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

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

O uso de uma Rede Neural Artificial Supervisionada para obtenção do fator de carga de um alimentador.

O uso de uma Rede Neural Artificial Supervisionada para obtenção do fator de carga de um alimentador. O uso de uma Rede Neural Artificial Supervisionada para obtenção do fator de carga de um alimentador. Resumo: Lucas da Silva Assis Universidade Federal de Goiás lucasilvassis@gmail.com Esse trabalho apresenta

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Aplicações de redes neurais artificiais em simulações

Aplicações de redes neurais artificiais em simulações Aplicações de redes neurais artificiais em simulações Resumo Marcelo Bilobrovec (UEPG - CEFET - PR) mbilo@uepg.br Rui Francisco Martins Marçal (CEFET - PR) marcal@pg.cefetpr.br Luiz Alberto Pilatti (CEFET

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

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

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

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: MLP. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Redes Neurais: MLP. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Redes Neurais: MLP DCA0121 Inteligência Artificial Aplicada Heitor Medeiros 1 Tópicos Redes diretas de múltiplas

Leia mais

Inteligência Artificial. IA Conexionista: Perceptron de Múltiplas Camadas Mapas Auto-Organizáveis. Renan Rosado de Almeida

Inteligência Artificial. IA Conexionista: Perceptron de Múltiplas Camadas Mapas Auto-Organizáveis. Renan Rosado de Almeida Inteligência Artificial IA Conexionista: Redes Neurais Artificiais Perceptron de Múltiplas Camadas Mapas Auto-Organizáveis Renan Rosado de Almeida rralmeida@inf.ufrgs.br Perceptron de Múltiplas Camadas

Leia mais

Rede RBF (Radial Basis Function)

Rede RBF (Radial Basis Function) Rede RBF (Radial Basis Function) André Tavares da Silva andre.silva@udesc.br Roteiro Introdução à rede neural artificial RBF Teorema de Cover da separabilidade de padrões RBF x MLP RBF Função de ativação

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

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

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

Redes Neurais Pulsadas. João Fausto Lorenzato Robson David Montenegro Tarcísio Lucas

Redes Neurais Pulsadas. João Fausto Lorenzato Robson David Montenegro Tarcísio Lucas Redes Neurais Pulsadas João Fausto Lorenzato Robson David Montenegro Tarcísio Lucas Introdução Modelos de redes neurais podem ser classificados em gerações. Primeira Geração Neurônios de McCulloch-Pitts

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

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

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

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

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

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

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

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

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

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

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

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

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

Regra de Oja. Para taxa de aprendizagem pequena, Oja aproximou. pesos para criar uma forma útil da aprendizagem

Regra de Oja. Para taxa de aprendizagem pequena, Oja aproximou. pesos para criar uma forma útil da aprendizagem Regra de Oja A regra de Hebb necessita da normalização dos pesos para criar uma forma útil da aprendizagem i i i i i i n x n y n w n x n y n w n w 2 1 JDSS-LAC/INPE Para taxa de aprendizagem pequena, Oja

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 PERCEPTRONS Prof. Dr. André A. P. Biscaro 1º Semestre de 2017 Forma mais simples de configuração das RNAs Rosenblatt (1958) retina área de projeção área de associação respostas

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

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

Introdução às Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais Introdução às Redes Neurais Artificiais Introdução Prof. João Marcos Meirelles da Silva http://www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade

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 INTRODUÇÃO Prof. Dr. André A. P. Biscaro 1º Semestre de 2017 REDES NEURAIS ARTIFICIAIS - RNAs Inspiradas no cérebro humano São modelos computacionais inspirados nos mecanismos

Leia mais

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

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

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Aplicações em Telecomunicações Prof. João Marcos Meirelles da Silva, D.Sc. Professor Adjunto II do Departamento de Engenharia de Telecomunicações Universidade Federal Fluminense

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

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 DE FUNÇÃO DE BASE RADIAL - RBF Prof. Dr. André A. P. Biscaro 1º Semestre de 2017 Funções de Base Global Funções de Base Global são usadas pelas redes BP. Estas funções são definidas como funções

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 - Complementar) Prof. a Joseana Macêdo

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

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

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

RECONHECIMENTO DE FALANTE

RECONHECIMENTO DE FALANTE MARCOS PAULO RIKI YANASE RECONHECIMENTO DE FALANTE Trabalho da disciplina de Processamento Digital de Sinais do curso de Engenharia Elétrica, Setor de Tecnologia da Universidade Federal do Paraná. Prof.

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

p TPP = (6.1) e a rajada de perda de pacote é medida pela Comprimento Médio da Rajada (CMR ) que é dada por

p TPP = (6.1) e a rajada de perda de pacote é medida pela Comprimento Médio da Rajada (CMR ) que é dada por 6 Perdas de Pacotes O problema de perda de pacotes em rajadas nas redes IP e redes móveis é um dos fatores mais importantes a serem considerados na análise de sistemas de reconhecimento de voz distribuídos.

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

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

SCC Capítulo 2 Topologia e Representação

SCC Capítulo 2 Topologia e Representação Modelos Arquiteturas Representação do Conhecimento SCC-5809 - Capítulo 2 Topologia e Representação João Luís Garcia Rosa 1 1 SCC-ICMC-USP - joaoluis@icmc.usp.br 2011 João Luís G. Rosa c 2011 - SCC-5809:

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

Professor José Gomes de Carvalho Jr. Modelos Conexionistas - Redes Neurais 1 INTRODUÇÃO

Professor José Gomes de Carvalho Jr. Modelos Conexionistas - Redes Neurais 1 INTRODUÇÃO Modelos Conexionistas - Redes Neurais 1 INTRODUÇÃO Redes Neurais Artificiais ou simplesmente Redes Neurais (também conhecidas como modelos conexionistas) têm sido, ao longo dos últimos anos, uma área de

Leia mais

Capítulo 1. Redes Neuronais Artificiais - Origem, história e aplicações. ADC/DEI/FCTUC/CA/Cap.1/2005 1

Capítulo 1. Redes Neuronais Artificiais - Origem, história e aplicações. ADC/DEI/FCTUC/CA/Cap.1/2005 1 Capítulo 1 Redes Neuronais Artificiais - Origem, história e aplicações ADC/DEI/FCTUC/CA/Cap.1/2005 1 Neurónios Biológicos Dentrites Cérebro: 10 11 neurónios Corpo 10 4 ligações por neurónio Axónios - computação

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

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

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

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

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

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

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

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