ARTIFICIAIS
1
Giovanna Albertini, 2Jair M. Abe, 3Caique Z. Kirilo
1 2
Programa de Pós-Graduação Stricto Sensu em Engenharia de Produção, Universidade Paulista, São Paulo, Brasil
3
Grupo de Pesquisa de Engenharia de Software Aplicada à Criação de Sistemas Críticos, Universidade Paulista, São Paulo, Brasil
anne.albertini@live.com, jairabe@uol.com.br, caiquez.kirilo@hotmail.com
Resumo
Neste capítulo é amplamente abordado o tema de redes neurais artificiais (RNA), bem como suas aplicações, concomitantemente com um estudo bibliográfico analítico do poder da utilização das RNAs como ferramenta de análise de dados. Apresenta-se ao leitor os conceitos básicos de seis importantes RNAs (Perceptron, Adaline, Madaline, Convolucionais, Boltzmann Machine e Paraconsistente).
Palavras-chave: Rede neural artificial, lógica paraconsistente, sistemas inteligentes, software.
Abstract
This chapter is widely addressed the theme of Artificial Neural Networks (ANN), as well as its applications, concomitantly with a bibliographical study analitico of power utilization of RNAs as a data analysis tool. It is presented to the reader the basic concepts of six important RNAs (Perceptron, Adaline, Madaline, Convolucionais, Boltzmann Machine and Paraconsistent).
Keywords: Artificial neural network, paraconsistent logic, intelligent systems, software.
Introdução
O estudo da inteligência humana e a capacidade de programação das máquinas a fim de implementar funções e ideias como se fossem reações humanas, deu origem às redes neurais artificiais com o conceito de operar como as redes neurais humanas e o interesse em copiar o funcionamento e estrutura do cérebro humano em um sistema, o que possibilita a implementação de sistemas inteligentes em cenários que necessitam de um raciocínio lógico, não linear e adaptação. Foi desenvolvido modelos de redes neurais
artificiais adaptadas para desempenhar funções específicas, variando em cenários podendo ser desde hospitalar até pesquisas avançadas.
O estudo das redes neurais artificiais analisa as limitações da programação e desempenho e estrutura como é possível aproximar o comportamento da máquina a inteligência humana, levando em consideração a complexidade do cérebro humano e a limitação das máquinas, entretanto, há possibilidade de moldar para desempenhar determinada função, como por exemplo, a programação da máquina para aprender a diferenciar as raças de um animal.
A ideia das redes neurais artificiais é a programação aproximada aos neurônios, podendo operar com vários neurônios artificiais simultaneamente, com funções de entrada de dados, processamento e saída das informações aplicadas a funções específicas, podendo trabalhar com a função multicamadas.
Esse estudo visa analisar o comportamento das redes neurais artificiais aprofundando as atividades e processos de processamento e discutir sobre os resultados do desempenho, apresentando os fundamentos teóricos da programação com o intuito de analisar o algoritmo e buscar novas formas de aplicação em sistemas de apoio à decisão.
Perceptron
A palavra em latim para o verbo compreender é “percipio “e sua forma supina é “perceptum”, ou seja, a rede deve ser capaz de compreender o mundo exterior. Esse algoritmo de aprendizagem supervisionada considera um período de treinamento (com valores de entrada e saída) para definir se uma nova entrada pertence a alguma classe específica ou não.
Origem
O tipo mais simples de rede neural artificial foi proposto em 1958 por Frank Rosenblatt, conhecido como perceptron. O Mark I Perceptron foi uma máquina projetada para reconhecimento de imagem e foi a primeira implementação do algoritmo. Tinha uma matriz de 400 fotocélulas, conectadas aleatoriamente aos “neurônios”. Os pesos foram codificados em potenciômetros, e as atualizações de peso durante a aprendizagem eram realizadas por motores elétricos. Atualmente, o algoritmo pode ser implantado em qualquer computador usando diversas linguagens de programação [5].
Metodologia
A rede perceptron pode ser de uma única camada ou de multicamadas, especificamente o objetivo dessa rede é classificar n padrões de entrada como pertencentes de uma determinada classe ou não e retornando com o resultado do processamento das informações. Tendo n número de entradas de dados, uma fórmula de processamento e uma saída de informação. Trata-se de uma aprendizagem supervisionada mantendo a correção de possíveis erros na análise para melhor desempenho [3].
Figura 2 - Modelo de neurônio denominado perceptron [1]
Nesse modelo de neurônio, as variáveis apresentadas são as seguintes: xi é a
entrada do neurônio i; wi é o peso das sinapses i; wo é o viés ou bias; s é a saída
intermediária; o é a saída ativada.
Por meio das entradas xi, são apresentados os valores que se deseja processar. Os
pesos das sinapses wi (que representam o aprendizado da rede) assumirão valores que,
aplicados aos valores de entrada, resultarão numa saída intermediária s. Tais pesos são atualizados por meio de um processo de treinamento prévio. A variável wo, denominada
viés (bias), não multiplica nenhuma entrada, possui valor fixo e funciona como uma espécie de ajuste fino [1].
Para se obter o valor da saída intermediária s, realiza-se o somatório da multiplicação entre as entradas e seus respectivos pesos numa função denominada soma, ou seja:
(1) A função denominada função de ativação ou de transferência modula a amplitude do intervalo do sinal de saída do neurônio para algum valor finito, normalmente no intervalo [-1,1] ou [0,1].
Das funções de ativação utilizáveis, a de uso mais comum é a sigmoidal, por apresentar algumas características vantajosas, tais como: continuidade, monotonicidade, não linearidade e diferenciabilidade em qualquer ponto. Sua expressão é:
(2) Onde ρ é a constante de translação da curva yi e λ é a constante de inclinação da curva yi.
Uma característica muito importante das RNAs é a capacidade de aprender por meio de treinamento e, com isso, melhorar seu desempenho, em termos de reprodução de uma saída desejada, partindo-se de um conjunto de entrada. A aprendizagem se completa quando a RNA chega a uma solução generalizada para uma classe de problemas [1].