Prévia do material em texto
18
INTELIGÊNCIA ARTIFICIAL, O RECONHECIMENTO DE PADRÕES POR MEIO DE REDES NEURAIS ARTIFICIAIS.
Josué da Silva Romagnoli[footnoteRef:2] [2: Josué da Silva Romagnoli, Graduando do 6° semestre do curso de Tecnologia da Informação da Faculdade de Tecnologia de Bragança Paulista (FATEC Bragança Paulista) – “Jornalista Omair Fagundes de Oliveira”. E-mail: itsolutions-suporte@outlook.com Trabalho de graduação apresentado como exigência parcial para a obtenção do título de tecnólogo em Gestão Tecnologia da Informação, em dezembro de 2015, sob a orientação dos professores Ralfe Della Croce Filho (orientação metodológica) e do professor Cláudio Luis Vieira Oliveira (orientação temática).
]
RESUMO
O desejo de criar máquinas capazes de pensar, aprender e raciocinar sempre foi desejo do homem. Com o constante desenvolvimento das tecnologias, sobretudo a computacional, foi possível desenvolver máquinas (ou sistemas) “inteligentes” que são capazes de aprender com seus próprios erros, fazer classificações e generalizações, distinguir tipos de informações e objetos. Por ser altamente interdisciplinar, a inteligência artificial contribui a diversos campos de atuação humana, como medicina, engenharia, eletrônica, robótica, astronomia, aeronáutica, psicologia entre outras, e é essa característica que a faz tão importante.
Diversas das implementações em IA são baseadas na utilização de redes neurais artificias, que são, basicamente, sistemas que conseguem aprender e descobrir respostas de forma autônoma, através da simulação e da organização do comportamento do cérebro humano. Esta obra apresenta os principais conceitos relacionados às redes neurais artificiais, aprendizado de máquina, perceptrons multilayers e single layers, o algoritmo de aprendizado backpropagation, assim como uma implementação prática utilizando redes neurais para a classificação de tumores.
PALAVRAS- CHAVE; Inteligência artificial; Redes neurais; Reconhecimento de padrões; Perceptron.
ABSTRACT
The desire to create machines that can think, learn and reason has always been the desire of man. With the constant development of technology, especially computer, it was possible to develop these machines (or systems) "smart". To be highly interdisciplinary, artificial intelligence contributes to various fields of human activity, such as medicine, engineering, electronics, robotics, astronomy, aeronautics, psychology among others, and it is this feature that makes it so important.
Several implementations in AI are based on the use of artificial neural networks, which are basically systems that can learn and discover answers autonomously, through simulation and the organization of the human brain behavior. This work presents the main concepts related to artificial neural networks, machine learning, perceptrons multilayers and single layers, the backpropagation learning algorithm, as well as a practical implementation using neural networks for tumor classification.
KEYWORDS; Artificial intelligence; Neural networks; Pattern Recognition; Perceptron.
INTRODUÇÃO
A inteligência artificial ou IA como é conhecida é uma ciência empírica e altamente interdisciplinar que busca através de sistemas computacionais e mecanismos de software a reprodução, construção e entendimento da inteligência humana, criando métodos e dispositivos para poder resolver problemas, desenvolver raciocínio, aprender ou até pensar mesmo que de forma limitada, segundo Luger (2013, p.20) "A inteligência artificial pode ser definida como ramo da ciência da computação que se ocupa da automação do comportamento inteligente."
Objetivo, apresentar o tema de forma simplificada, abordando conceitos, fundamentos e o reconhecimento de padrões sob a ótica computacional da Inteligência Artificial (IA), abordando uma fundamentação teórica básica sobre IA, mencionando o uso e limitações, técnicas e aplicações para representar o reconhecimento de padrões, aprendizado de máquina, aprendizado supervisionado, aprendizado não supervisionado, aprendizado por reforço, redes neurais, perceptrons e o algoritmo backpropagation.
Relevância, a motivação por trás dos estudos e pesquisas sobre as redes neurais é sem dúvida o conhecimento da capacidade de processamento do cérebro humano, o processamento das informações acontece de forma diferente aos sistemas computacionais, entender a forma como o cérebro processa as informações e tentar simular esse processamento em um sistema ou máquina é uma tarefa dispendiosa e muito complexa.
O cérebro é um sistema altamente complexo, onde ele processa suas informações de forma paralela, tem a capacidade de organizar seus componentes (neurônios) estruturalmente e se adaptar aos estímulos.
A origem dos pensamentos, a criatividade, o raciocínio, a consciência são um dos fenômenos mais fascinantes da mente humana, embora o funcionamento do cérebro ainda não esteja completamente entendido as redes neurais tem profunda inspiração biológica.
Metodologia, a metodologia aplicada será por meio de pesquisa empírica de caráter bibliográfica qualitativa buscando explanar de forma simplificada os termos e conceitos pertinentes ao tema.
2 – REFERENCIAL TEÓRICO
Para desenvolver um programa ou máquina com a capacidade de inteligência artificial, primeiro é preciso entender como funciona a mente humana, como se originam os pensamentos, a inteligência, o raciocínio.
Existem duas maneiras de fazer isso: através da introspecção procurando captar nossos próprios pensamentos à medida que eles se desenvolvem – e através de experimentos psicológicos. Depois que tivermos uma teoria da mente suficientemente precisa, será possível expressar a teoria como um programa de computador. (RUSSEL, 2013, p.5)
A ciência cognitiva ou ciência da cognição vem contribuindo significativamente no que diz respeito ao entendimento da mente humana e para isso ela se baseia necessariamente na investigação experimental de seres humanos ou animais.
O campo interdisciplinar da ciência cognitiva reúne modelos computacionais da IA e técnicas experimentais da psicologia para tentar construir teorias precisas e verificáveis a respeito dos processos de funcionamento da mente humana. (RUSSEL, 2013, p.5)
A capacidade de “aprender” em um sistema é uma das mais importantes qualidades, é a habilidade de se adaptar de acordo com as regras pré-estabelecidas, alterando seu desempenho ao longo do tempo.
Um agente inteligente tem por objetivo entender o comportamento de um sistema com uma visão limitada, procurando aprender o comportamento de forma equivalente ao sistema original conforme ilustra a imagem a seguir:
Figura 1 - Esquema de um sistema e uma máquina de aprendizado
Fonte: SILVA, 2008, p.8
Neste exemplo temos um sistema e uma maquina de aprendizado que busca aprender o comportamento do sistema baseado nas suas entradas e saídas. A máquina recebe as entradas a assim como o sistema e sua saída y, e a saída final sendo que ao decorrer das etapas ela irá aprender e se ajustar ao comportamento do sistema original.
Uma das grandes vantagens de aprendizado de máquinas reside em sua utilização em problemas onde não é possível ou viável encontrar-se soluções exatas. Com tais técnicas, diminui-se a necessidade de inserção de conhecimento prévio de um especialista para a resolução do problema, além de permitir que se encontrem novas regras e relacionamentos, implícitos nos dados, mas não facilmente observáveis por especialistas humanos. (SILVA, 2008,p.8)
Aprendizado supervisionado é chamado de supervisionado por que é oferecido um conjunto de dados bem estabelecidos, ou seja, verdadeiros e com isso o sistema faz associações, aprende o que queremos e nos fornece as respostas certas.
Figura 2 - Esquema de um sistema com aprendizado supervisionado
Fonte: SILVA, 2008, p.9
Inicialmente x representa a entrada de dados, estes dados são chamados de “conjunto de treinamento”, o sistema supervisionado recebe os dados do supervisor onde os dados e as saídas são previamente estabelecidas e padronizadas, posteriormente o sistema supervisionadocompara suas saídas com as saídas do supervisor, conforme o sistema é alimentado ele vai modificando as suas relações e os padrões de saída, assim é possível fazer com que o sistema aprenda determinado comportamento, de modo que, quando houver uma situação semelhante ele irá fazer as relações corretas dos dados.
As técnicas de aprendizado supervisionado são as mais comumente utilizadas no treinamento de redes neurais artificiais e de árvores de decisão. Seu funcionamento consiste na inserção de um 'supervisor' no ciclo de aprendizado, responsável por dizer ao modelo se suas previsões estão corretas ou não. (SILVA, 2008, p.33)
No aprendizado não supervisionado, os dados são passados para o sistema, mas não é informado nada certo sobre eles, o sistema encontra padrões nesses agrupamentos de dados, este tipo de abordagem é bastante utilizado em datamining onde as informações dos dados não são conhecidas previamente. As consistências encontradas nos dados são chamadas de clusters.
O aprendizado não supervisionado elimina o professor e requer que o próprio algoritmo de aprendizado avalie os conceitos. A ciência talvez seja o melhor exemplo de aprendizado não supervisionado em seres humanos. Os cientistas não tem o benefício de um professor. Em vez disso, eles propõem hipóteses para explicar observações.(LUGER, 2013, p.358)
Ao contrário do aprendizado supervisionado a rede não sabe se a resposta sobre os dados foi correta ou não, ao fazer a organização e agrupamento dos dados ela tenta encontrar padrões, relações de características ou dados em comum, ela é capaz de usar esquemas de diferentes problemas para resolver questões semelhantes. Um bom exemplo é o datamining, em um banco de dados de um comércio, ele encontraria informações em comum como produtos mais comprados em determinada época do ano, a faixa etária de consumidores de determinados produtos entre outras relações.
Uma abordagem alternativa ao aprendizado não supervisionado é o aprendizado por reforço onde o sistema recebe "prêmios" a cada interação correta com os dados, este tipo de aprendizagem usa a busca em tentativas e erros e o reforço atrasado, o sistema busca a maximização dos prêmios e assim uma melhor resposta possível ao problema em questão, com base nas premiações ele irá mudar seu comportamento e como faz as relações dos dados. Esta técnica de aprendizado tem uma profunda inspiração biológica, em seres humanos em que determinado comportamento provem satisfação e prazer faz com que as conexões das sinapses cerebrais sejam reforçadas enquanto que as reprovadas sofrem um tipo de punição, repulsa, reprovação nestas ligações entre os neurônios. Segundo Barreto (2002, p.29) "No Aprendizado Reforçado ou “Reinforcement learning” consiste no aprendizado através do método da tentativa e erro de modo a otimizar um índice de performance chamado sinal de reforço."
As redes neurais artificiais ou RNAs consistem em um modo diferente de abordar as soluções dos problemas de inteligência artificial, ao contrário de programar um computador para resolver problemas matemáticos, jogar xadrez, traduzir línguas, compreender e manter um diálogo, elas saem deste paradigma da imitação do comportamento inteligente, procura-se construir um computador formado por circuitos cerebrais e espera-se ver um comportamento inteligente emergir, aprender novas tarefas, errando, fazendo generalizações e ultrapassando seu professor. Os circuitos neurais artificiais podem se auto-organizar de acordo com o problema apresentado, criando sua própria representação interna, reagindo de forma imprevisível, ter comportamentos que nem sempre se pode prever e compreender, da mesma forma como não compreendemos mecanismos do nosso próprio cérebro.
Modelos neurais, também conhecidos como processamento paralelo distribuído ou sistemas conexionistas afirmam que a inteligência surge em sistemas mais simples, interativos entre si, inspirado pela própria biologia o processamento nestes sistemas é feito por um conjunto ou camadas de neurônios, a solução dos problemas é paralela, pois os neurônios processam as suas entradas de forma simultânea e independente.
Em sistemas conexionistas, o processamento é paralelo e distribuído sem manipulação de símbolos como símbolos. Os padrões de um domínio são codificados como vetores numéricos, as conexões entre componentes são também representadas por valores numéricos. (LUGER, 2013, p.376).
As RNAs não são diretamente programadas como um tipo de software, elas são treinadas ou condicionadas e esta é a grande vantagem da abordagem de uma arquitetura de rede e um algoritmo de aprendizado, dentre suas aplicações estão a classificação (decisão de qual categoria ou grupo pertence determinado valor de entrada), o reconhecimento de padrões (que identifica padrões nos dados), predição (indica, por exemplo, doenças a partir de sintomas, causas e efeitos), evocação de memória (problema de memória endereçável por conteúdo), organização (encontrar a melhor organização) dentre outras.
A rede neural artificial é sem dúvida um exemplo de inteligência computacional e vem sendo empregada para diversas finalidades como reconhecimento de face, digitais, voz, imagens, textos, assinaturas, objetos e qualquer outro tipo de informação que possa ser agrupada e devidamente classificada.
Informalmente uma rede neural (RNA) é um sistema composto por vários neurônios. Estes neurônios estão ligados por conexões, chamadas conexões sinápticas. Alguns neurônios recebem excitações do exterior e são chamados neurônios de entrada e correspondem aos neurônios dos órgãos e sentidos. Outros têm suas respostas usadas para alterar, de alguma forma, o mundo exterior e são chamados neurônios de saída e correspondem aos motoneuronios que são os neurônios biológicos que excitam os músculos. Os neurônios que não são nem entrada nem saída são conhecidos como neurônios internos.(BARRETO, 2002, p.16)
Existem diversas formas de organização das redes neurais, a quantidade de camadas, quantidade de neurônios em cada camada e a forma de conexão entre os componentes da rede são fatores que variam de acordo com o problema em questão. Em um problema de classificação, por exemplo, se as soluções forem linearmente separáveis, uma rede de camada única poderá ser utilizada para a resolução, mas se o problema não for linearmente separável este tipo de estrutura não será capaz de resolver, nestes casos as RNA’s deverão terno mínimo mais uma camada, de acordo com Barreto “Problemas estáticos linearmente separáveis, trata-se de problemas envolvendo a implementação de uma função (por ser um problema estático) e que podem ser resolvidos por um perceptron de uma camada de conexões.” (BARRETO, 2002, p.37).
Basicamente elas podem ser classificadas em redes de camada única SLP (em inglês Single Layer Perceptron) e múltiplas camadas MLP (em inglês Multiple Layer Perceptron), a figura 3 apresenta uma rede neural de camada única, destacando as suas variáveis de entrada, funções e saída.
Figura 3 - Rede de camada única SLP
Fonte: SILVA, 2008, p.14
Redes de múltiplas camadas ou redes Multilayer, possuem mais de uma camada intermediária entre as entradas e saídas, são chamadas de camadas oculta ou escondidas. De acordo com Silva (2008, p.15):
Dentre as formas mais populares de RNAs se encontram as redes Multi-Layer Perceptron (MLP). Tais redes são compostas por unidades funcionais constituídas no Neurônio MCP. As camadas escondidas das Redes MLP são responsáveis por mapear o espaço de entrada no chamado Espaço de características, onde problemas não lineares podem ser transformados em lineares e, então, facilmente resolvidos.
Figura 4 – Rede de múltiplas camadas
Fonte: SILVA, 2008, p.15
A imagem a seguir ilustra o modelo geral de neurônio, sendo uma generalização do modelo do neurônio criado por McCuloch e Pitts.
Figura 5 – Modelo geral de neurônio
Fonte: BARRETO, 2002, p.15
Sinais de entrada {, ... }, pesos Sinápticos {,... }, função agregadora {Φ}, limiar de ativação ou Bias {Ɵ}.
Nesta estrutura temos de àque são os sinais de entrada, ou seja, informações do problema, eles são ponderados pelos pesos sinápticos à, onde há um produto entre eles e assim será dado como entrada para o neurônio.
Neste modelo as entradas , são combinadas usando uma função Φ, para produzir um estado de ativação do neurônio que através da função n vai produzir a saída do neurônio ( correspondente à frequência de descarga do neurônio biológico). Um valor auxiliar Ɵ é geralmente usado para representar uma polarização, valor abaixo do qual a saída é nula. (BARRETO, 2002, p.14)
O neurônio é formado pela função agregadora Φ responsável por fazer a soma de todos os produtos dos sinais, então a função Ɵ que é o limiar de ativação deixará o sinal passar ou irá inibir dependendo se for ativado ou não. O n representa a função da rede, o sinal de saída Y geralmente é uma sigmoide ou uma função tangente hiperbólica que quando o sinal x é habilitado ele é dado como entrada na função de ativação.
Geralmente Φ é a soma das entradas. Algumas vezes o produto. Raramente outra função, se bem que isto seja possível. Geralmente costuma-se dar o nome confluência a combinação ponderada das entradas de um neurônio. A não linearidade do neurônio frequentemente é introduzida na função tangente hiperbólica em degraus. (BARRETO, 2002, p.15)
O tipo do sinal usado na saída Y será escolhido de acordo com o problema de classificação em questão.
Figura 6 – A figura mostra a não linearidade usada no modelo de neurônio de uma RNA
Fonte: BARRETO, 2002, p.15
Boa parte das aplicações e práticas que envolvem Redes neurais artificiais está destinada à resolução de problemas de classificação ou reconhecimento de padrões. O reconhecimento de padrões é definido como um processo onde um padrão recebido pela rede é atribuído a uma classe dentre um número pré-determinado de classes, de acordo com Barreto (2002, p.39) "Reconhecimento de padrões é talvez uma das primeiras aplicações de redes neurais. Com efeito, o Perceptron de Rosenblatt foi concebido principalmente como instrumento capaz de reconhecer letras."
Frank Rosenblatt (1958, 1962) criou um algoritmo de aprendizado para um tipo de rede de camada única chamada perceptron projetada para o reconhecimento de padrões. No perceptron os valores de entradas são 1 ou -1, os pesos são valores reais e o nível de ativação é dado pela soma dos valores ponderados das entradas ∑ xi.wi. Os perceptrons usam uma função limiar abrupto simples em que a ativação acima ou igual do limiar resulta em 1 caso contrário -1, para Teixeira (1998, p.87):
Ele desenvolveu redes com várias camadas de neurônios binários, ou seja, redes que recebem inputs de fora e mandam excitações ou inibições para um outro conjunto de neurônios que podem, por sua vez, enviar inputs para um terceiro conjunto. Rosenblatt chamou estes sistemas de perceptron.
Dados os valores de entrada , os pesos e um limiar T, o perceptron calcula a saída como:
1 se ∑ ≥T
-1 se ∑ <T
Segundo Luger (2013, p.379):
O perceptron usa a forma mais simples de aprendizado supervisionado. Após tentar resolver uma ocorrência do problema, um professor fornece a ele o resultado correto. O perceptron modifica, então, seus pesos de modo a reduzir o erro.
O sinal de saída ∑ é 1 ou -1 o ajuste será dado na diferença entre a saída desejada e o real em 0, 2 ou -2
De acordo com Luger (2013, p.379):
Se os valores de saída, desejado e real, forem iguais, não faça nada.Se o valor de saída real for -1 e o desejado for 1, incremente os pesos na i-ésima linha em 2c.Se o valor de saída real for 1 e o desejado for -1, reduza os pesos na i-ésima linha em 2c.
Processo de treinamento é dado pela seguinte equação:
= + N * ( – Y) *
Onde:
N = constante da taxa de aprendizado (0 < n < 1)
Y = Valor de saída produzida pelo perceptron
= Valor desejado para k-ésima amostra de treinamento
= k-ésima amostra de treinamento
W = Vetor contendo os pesos (inicialmente gerados aleatoriamente)
Esta equação descreve o conjunto de treinamento onde W é o vetor contendo os pesos, inicialmente os pesos são gerados aleatoriamente, o N é a constante da taxa de aprendizado que vai fazer o quão rápido a rede irá aprender, se colocarmos valores baixos, a rede irá demorar a convergir para os pesos corretos e se colocarmos valores altos a rede vai sair do ajuste, ela irá se perder e poderá nunca convergir, o Y é o valor de saída produzida pelo perceptron, é o valor desejado para a amostra de treinamento, , de acordo com Luger (2013, p.379):
O perceptron usa uma forma simples de aprendizado supervisionado. Após tentar resolver uma ocorrência do problema, um professor fornece a ele o resultado correto. O perceptron modifica, então, seus pesos de modo a reduzir o erro.
O processo de aprendizado supervisionado no perceptron consiste em encontrar uma regra geral baseada em amostragens dadas como entrada, buscando reconhecer os padrões nos dados e maximizar a capacidade de generalização. A imagem a seguir mostra um exemplo de dados linearmente separáveis usando perceptron para classificação.
Figura 7 – A figura mostra o reconhecimento de padrões usando perceptron em dados lineares.
Fonte: LUGER, 2013, p.382
Entretanto, o perceptron foi criticado por Marvim, Minsky e Seymour Paperteles, eles observaram as limitações que sofriam o modelo, de que eram incapazes de resolver certa classe difícil de problemas, um exemplo é a função OU- exclusivo na qual os pontos de dados não são linearmente separáveis conforme mostra a tabela a seguir:
Figura 8 – A figura mostra a tabela verdade OU-exclusivo
Fonte: LUGER, 2013, p.380
De acordo com Luger (2013, p.380):
Considere um perceptron com duas entradas , dois pesos, , e o limiar T. Para aprender essa função, uma rede precisa encontrar uma atribuição de pesos que satisfaça as seguintes desigualdades,
*1 + *1 < T da linha 1 da tabela verdade
*1 + *0 < T da linha 2 da tabela verdade
*0 + *1 < T da linha 3 da tabela verdade
*0 + *0 < T da linha 1 da tabela verdade.
Seguindo a tabela verdade do ou-exclusivo, as equações acima são impossíveis de se resolver, mostrando que o perceptron é incapaz de resolver este problema. A imagem a seguir evidenciaa impossibilidade do perceptron para classificar dados não linearmente separáveis.
Figura 9 - Mostra como nenhuma reta de duas dimensões pode separar os pontos de dados
Fonte: LUGER, 2013, p.380
Esta limitação no perceptron reduziu as pesquisas em redes neurais por 20 anos, embora já tivessem disponível o modelo de múltiplas camadas não havia um algoritmo capaz de operar neste tipo de rede. Em 1985 Rumelhart, Hinton e Williams aperfeiçoaram o perceptron de Rosenblatt, criando o algoritmo de retropropagação do erro (em inglês Error Backpropagation) fazendo voltar o interesse em redes neurais, estimulando novas pesquisas e o desenvolvimento de modelos cognitivos.
Diferentemente do perceptron nas redes MLP há duplo fluxo de informações durante a fase de treinamento,os padrões de entrada se propagam pelas camadas ocultas até a camada de saída, passando e sendo processados por todas as camadas, nesta etapa de propagaçãoos pesos da rede são fixados e as informações processadas assim como no perceptron, a diferença é que existe um fluxo reverso das informações, com este retrocesso chamadode retropropagaçãoo sistema recalcula seus pesos, ajustando os valores de saída. Outra diferença está função de ativação utilizada, geralmente são usadas as funções não lineares como a logística ou tangente hiperbólica, por exemplo, pois se utilizar uma função linear em uma rede MLP não seria aproveitado a capacidade de processamentoe acabaria por se tornar um perceptron simples, segundo Barreto (2002, p.27):
A retropropagação é uma regra de aprendizado supervisionado. Apresenta-se á rede um exemplo e verifica-se a saída da rede, saída esta que é comparada à saída esperada dando um erro. Calcula-se o gradiente deste erro com relação aos valores sinápticos da camada de saída que é atualizada por um passo escolhido podendo-se então calcular o erro da saída da penúltimacamada, e assim por diante propagando o erro por todas as camadas de conexões.
A imagem a seguir mostra como seria rede MLP com um algoritmo backpropagation operando sobre dados não lineares
Figura 10 – Sub-ajuste e sobre-ajuste em um problema de classificação
Fonte: SILVA, 2008, p.16
Na primeira etapa (a) da figura 10 evidencia a rede na fase inicial de forward, em (b) ela está sobre-ajuste, ou seja, o algoritmo backpropagation, propaga os erros as respectivas camadas com o objetivo de diminuir erro, esta fase é chamada de backward, após algumas iterações obtêm-se o resultado esperado em (c). A utilização de duas ou mais camadas nas redes MLP podem agilizar o processo de treinamento em casos de dupla complexibilidade de decisão, em contra partida se forem utilizadas muitas camadas internas os ajustes dos pesos ficará comprometido, pois o erro de propagação na fase de treinamento é apenas uma estimativa, portanto quanto maior número de camadas internas, menor a precisão conforme o erro de propagação irá penetrar nas camadas anteriores. A quantidade de neurônios em cada camada também está relacionada com o problema em questão, com poucos neurônios a rede poderá fazer as generalizações de forma incorreta e com muitos ela poderá não convergir para uma solução na fase de treinamento. Em relação ao algoritmo backpropagation é importante saber a escolha dos parâmetros iniciais como, o bias (Ɵ) e os valores dos pesos, de acordo com a escolha a rede poderá encontrar uma solução ótima em um tempo razoável, ou demorar a convergir para achar a mesma solução. Outro componente a ser definido é a taxa de aprendizado, se for escolhido um valor relativamente alto, a rede poderá achar uma solução rapidamente, porém com instabilidade, por outro lado se for escolhido um valor baixo a rede ganha em estabilidade, mas terá que fazer um número muito maior de iterações para atingir a mesma solução.
3 - ANÁLISE DE RESULTADOS
Em sua dissertação de mestrado para a escola politécnica de São Paulo Leandro A. Silva, utilizou uma arquitetura de RNA, perceptrons de múltiplas camadas, com algoritmo de aprendizado de retropropagação de erros para classificar câncer de mama não palpáveis. A rede neural projetada foi capaz de processar e classificar variáveis como característica de forma, textura e nitidez da borda do nódulo que eram extraídas com base na marcação radiológica através do processamento de imagens. Após a rede ser treinada e devidamente ajustada ela foi capaz de diferenciar nódulos benignos e malignos com uma precisão de 95%.
No experimento foram usadas como amostras 57 regiões suspeitas de câncer identificadas pelo radiologista, das 57 amostras 37 foram identificadas como nódulos benignos e 20 como nódulos malignos após ser feito o exame de biópsia. Para a classificação do nódulo foram extraídas características através do processamento de imagens que foram divididas em três conjuntos: três características de forma, quatorze características de textura e três características de nitidez da borda, a imagem a seguir ilustra três nódulos classificados segundo sua forma:
Figura 11 – Classificação do nódulo a partir da forma
Fonte: SILVA, 2005, p.21
No primeiro quadro da imagem exibe um nódulo benigno com seu contorno bem definido, a seguir um nódulo maligno com contorno espiculado, disforme e no terceiro quadro umnódulo benigno com contorno espiculado, porém bem definido.
Em caso de indicadores malignos, observa-se que a forma do nódulo é mais irregular do que em casos benignos. A maioria dos nódulos benignos possui o contorno bem circunscrito, compacto e aproximadamente elíptico. Por outro lado, os nódulos malignos geralmente apresentam bordas borradas, sua aparência é irregular e são cercados por espículos radiantes e lineares (forma de estrela). (SILVA, 2008, p.20)
Para a classificação foi usada uma máquina de comitê, que são um grupo de RNAs combinadas para realizar a difícil tarefa de classificar os nódulos, a figura 12 ilustra como é formado o comitê.
Figura 12 – Máquina comitê
Fonte: SILVA, 2005, p.45
De acordo com Silva (2008, p.36):
A idéia básica é treinar um comitê de RNAs (Redes Neurais Artificiais) para resolver uma tarefa computacionalmente complexa. Em uma máquina de comitê, os resultados individuais de cada RNA, também chamada de especialista são combinados para se conseguir um melhor desempenho de generalização. Este processo é conhecido também como principio de dividir e conquistar.
As máquinas comitês são divididas em duas categorias, de estrutura dinâmica e estática, a estática é assim chamada porque a saída do especialista é combinada sem envolver o sinal de entrada (fase de treinamento), as entradas neste tipo de estrutura são aplicadas pela média de ensemble, onde entradas são iguais para todos os especialistas e a saída global é dada pela combinação linear das saídas dos especialistas.
Nas estruturas dinâmicas as entradas não são aplicadas apenas nos especialistas, mas também no combinador de saídas, de modo que a saída do comitê depende do sinal de entrada e da saída dos especialistas. A técnica utilizada na estrutura dinâmica implica em misturar os resultados de cada especialista fazendo uma combinação não linear das saídas.
A na figura 12 é o especialista usado no comitê, as redes e irão aprender e se auto ajustar se baseando no comportamento da , após a fase de treinamento das redes, a saída local de cada especialista será dada como entrada no combinador de saídas e por fim a saída total. De acordo com Silva (2008, p.54) “Em resumo, uma Máquina de Comitê pode ser interpretada como um grupo de RNAs combinadas para realizar uma classificação”.
4 – CONSIDERAÇÕES FINAIS
A Inteligência Artificial juntamente com os recursos das tecnologias atuais tem mostrado resultados promissores em suas aplicações e nos diversos campos de atuação humana, com sistemas inteligentes capazes de ser tão precisos quando especialistas na área, aumentando a produtividade, segurança, confiabilidade, precisão, diminuindo erros e falhas humanas. Nesta pesquisa buscou-se discorrer sobre os principais assuntos pertinentes ao tema de forma simplificada focando no reconhecimento de padrões usando redes neurais, abordando conceitos, usos e limitações.
Inicialmente foram abordados conceitos introdutórios como a mente humana, o paradigma de como se originam os pensamentos, agentes inteligentes, aprendizado de máquina, seus tipos e características. A partir destes conceitos foi introduzido o neurônio artificial, os tipos de redes neurais artificiais e o algoritmo backpropagation mostrando um breve histórico de suas evoluções, aplicações e problemáticas.
A seguir foi abordado como uma implementação prática do tema um experimento que utilizou de redes neurais de múltiplas camadas e o algoritmo backpropagation para a classificação de nódulos de mama em benigno ou maligno. Para isso o autor utilizou uma máquina comitê, que são várias redes com camadas ocultas onde combinadas aumentam a precisão das respostas.
Com base nas idéias explanadas é possível observar como as RNAs são promissoras com seu grande potencial computacional e, desta forma, entender o motivo do crescimento de pesquisas voltadas para a área. Sistemas inteligentes como reconhecimento de voz, face, diagnóstico médico, datamining, dentre outros, grande parte destes sistemas utilizam redes neurais juntamente com poderosos algoritmos.
As redes neurais artificiais em conjunto com os MLP ou SLP se mostram muito eficazes ao reconhecimento de padrões nos dados, sejam eles lineares ou não, em contrapartida há desvantagens e limitações nos modelos, ainda falta conhecimento para entender a representação interna criada pela própria rede em relação ao problema em questão tornando-as verdadeiras "caixas pretas", não é possível prever seu comportamento, elas sofrem de interferências ao fazer generalizações e não há garantia de encontrar a melhor solução existente, precisam de técnicas e algoritmos para minimizar os erros e fazer correções.
Ao contrário do que os pesquisadorespensavam não basta apenas criar uma rede suficientemente grande com milhões ou bilhões de neurônios para simular a capacidade de processamento do cérebro, voltando então para a linha de pensamento de Russell e Norvig, onde se faz necessário entender e desvendar os processos internos da mente humana, os pensamentos, como se originam, a racionalidade, inteligência, consciência e subconsciência, dentre tantas outras características que fazem o cérebro humano único, somente então será possível desenvolver uma teoria empiricamente verificável e em seguida uma verdadeira máquina inteligente.
REFERÊNCIAS
BARRETO, J. M. Introdução as Redes Neurais Artificiais. 1.ed. Florianópolis, UFSC - Departamento de informática e de estatística, 2002. p.6-29.
LUGER, F. G. Inteligência Artificial. 6.ed. São Paulo, Pearson education do Brasil, 2013. p.358-380.
LEANDRO, A. S. Classificação de Nódulos Mamográficos Utilizando um Comitê de Redes Neurais Artificiais. São Paulo, Escola politécnica da Universidade de São Paulo, 2005. p.1-93.
SILVA, M. M. Uma Abordagem Evolucionária Para o Aprendizado Semi Supervisionado em Máquinas de Vetores de Suporte. Belo Horizonte MG, Universidade Federal de Minas Gerais, 2008. p.1-22.
RUSSELL, S.; NORVIG, P.Artificial Intelligence, A Modern Approach. 3.ed. New Jersey, Prentice Hall Series in Artificial Intelligence, 1995. p.4-133.
TEIXEIRA, J. F. Mentes e máquinas, uma introdução a ciência cognitiva. 1 ed. Porto Alegre, Artes Médicas, 1998. p.85-87.