Redes Neurais Artificiais – Fundamentos Básicos


1. Introdução

A inteligência artificial está bastante presente em nosso cotidiano, e com certeza pode nos ajudar com a criação de ambientes de ensino e aprendizagem personalizados, permitindo que plataformas interativas e tutores inteligentes possam guiar os estudantes em sua jornada de desenvolvimento. Assim, o uso da inteligência artificial como ferramenta de aplicação de estratégias de aprendizado pode ter um relevante papel na nova educação e na escola de modo mais amplo. De modo geral, esses sistemas são produzidos por programação e disponibilizam conteúdos que passam antes por uma curadoria. Ao interagir com a plataforma, os estudantes têm acesso a esses conteúdos e podem interagir na própria plataforma. Neste artigo, vamos introduzir os conceitos iniciais de Redes Neurais Artificiais que é uma subárea da Inteligência Artificial.

De acordo com Kovacz (2006) e Silva et al (2010), a inteligência artificial (IA) é um conceito de certa forma simples e muito abrangente. De modo geral podemos resumir a IA de forma bem sintética como um conceito que se refere a máquinas capazes de executar tarefas de um modo que consideramos “inteligente”. Machine Learning (aprendizado de máquinas em tradução livre) é a aplicação baseada na ideia de darmos dados às máquinas e deixar elas aprenderem por elas mesmas.

As redes neurais artificiais são um tipo de Machine Learning. A característica mais marcante das redes neurais é sua estruturação semelhante à rede de neurônios em nosso cérebro, de acordo com Kovacz (2006). São sistemas compostos por vários nós que se interconectam em diversas ramificações. As redes neurais aprendem por meio da atualização e ampliação desses laços e interconexões.

2. Um pouco da história das RNAs

Rede neural artificial é um tipo de sistema de algoritmos que busca a identificação por intermédio de estratégias baseadas em meios observados na rede neural biológica. Seu objetivo não é replicar, mas sim servir de modelo para o aprendizado e resoluções de problemas complexos. O sistema nervoso biológico pode possuir arquiteturas das mais diversas complexidades. Entretanto, esses sistemas complexos são compostos por bases simples dadas por células neurais ou neurônios, que desempenham funções diferentes. Tais células nervosas possuem um corpo celular com dois tipos de ramos, os dendritos e os axônios.

Em 1943, o neurofisiologista Warren McCulloch e o matemático Walter Pitts escreveram um artigo sobre como os neurônios poderiam funcionar e, para isso, eles modelaram uma rede neural simples usando circuitos elétricos (SILVA et al., 2010).

De acordo com Oliveira Jr. (1994), Warren McCulloch e Walter Pitts criaram um modelo computacional para redes neurais baseadas em matemática e algoritmos denominados lógica de limiar (threshold logic). Esse modelo abriu o caminho para a pesquisa da rede neural, dividida em duas abordagens: uma abordagem focada em processos biológicos no cérebro, e outra focada na aplicação de redes neurais à inteligência artificial.

À medida que os computadores se tornaram mais avançados, na década de 1950, de acordo com (GADELHA, 2001) foi possível simular uma hipotética rede neural. A primeira tentativa foi feita por Nathaniel Rochester dos laboratórios de pesquisa da IBM, mas infelizmente essa primeira tentativa falhou (SILVA et al., 2010). Em 1956, o Projeto de Pesquisa de Verão de Dartmouth, sobre Inteligência Artificial, proporcionou um impulso tanto à Inteligência Artificial como às Redes Neurais. Um dos resultados deste processo foi estimular a pesquisa na área de Inteligência Artificial na parte de processamento neural (OLIVEIRA JR. 1994). Em 1958, a Rede Neural Artificial Perceptron foi introduzida por Frank Rosenblatt, inspirado nos trabalhos de Walter Pitts e Warren Sturgis McCulloch. Esse modelo é um dos mais antigos e lida com um único neurônio, classificando o resultado de forma linear. Em outras palavras, quando um conjunto pode ser classificado a partir de contorno determinado por funções lineares.

De acordo com Kovacs (2006), em 1959, Bernard Widrow e Marcian Hoff, de Stanford, desenvolveram modelos denominados “ADALINE” e “MADALINE”. Os nomes provêm do uso de múltiplos elementos ADAptive LINear. ADALINE foi desenvolvido para reconhecer padrões binários de modo que, se ele estivesse lendo bits de transmissão de uma linha telefônica, poderia prever o próximo bit. MADALINE foi a primeira rede neural aplicada a um problema do mundo real, usando um filtro adaptativo que elimina ecos nas linhas telefônicas. Embora o sistema seja dos anos 60, assim como os sistemas de controle de tráfego aéreo, MADALINE ainda está em uso comercial.

Por outro lado, dada à complexidade da sociedade humana, esses sucessos anteriores levaram as pessoas a exagerar sobre o potencial das redes neurais, particularmente à luz da limitação na eletrônica, então disponível na época. Este exagero excessivo, que decorreu do mundo acadêmico e técnico, infectou a literatura geral da época. Além disso, muitos escritores começaram a refletir sobre o efeito que teriam no homem as “máquinas pensantes”. A série de Asimov sobre robôs revelou os efeitos sobre a moral e os valores do homem quando máquinas fossem capazes de fazer todo o trabalho da humanidade. Outros escritores criaram computadores mais sinistros, como HAL do filme 2001. Toda essa discussão sobre o efeito da Inteligência Artificial sobre a vida humana fez algumas vozes respeitadas criticarem a pesquisa em redes neurais. O resultado foi a redução drástica de grande parte do financiamento em pesquisas. Esse período de atrofia na pesquisa em IA durou até 1981.

Em 1982, vários eventos provocaram um renovado interesse. John Hopfield, da Caltech, apresentou um documento à Academia Nacional de Ciências. A abordagem de Hopfield não era simplesmente modelar cérebros, mas criar dispositivos úteis. Com clareza e análise matemática, ele mostrou como essas redes poderiam funcionar e o que poderiam fazer. Desta forma renasceu o investimento nas pesquisas em IA. Em 1986, com redes neurais de várias camadas nas notícias, o problema era como estender a regra Widrow-Hoff para várias camadas. Três grupos independentes de pesquisadores, dentre os quais David Rumelhart, ex-membro do departamento de psicologia de Stanford, apresentaram ideias semelhantes que agora são chamadas de redes Backpropagation porque distribuem erros de reconhecimento de padrões em toda a rede.

2.1 Multilayer Perceptron (MLP)

De acordo com Oliveira Jr. (1994) esse tipo de rede foi criado com o intuito de lidar com os problemas não linearmente separáveis. Foram adicionadas camadas de neurônio ocultas no modelo de Rosenblatt, formando então a Rede Neural Artificial Multilayer Perceptron (MLP).

2.2 Modelo de uma Rede Neural Artificial MLP

Essa nova topologia funciona como uma rede feedforward (rede progressiva, em a saída de um neurônio se conecta com outro neurônio da próxima camada, no sentido esquerda/direita), formada por um conjunto de neurônios denominados “nós” (KOVACZ, 2006; SILVA et al., 2010). A rede possui uma camada de entrada (sem função computacional), uma ou mais camadas ocultas e uma camada de saída. A complexidade da rede MLP se dá pela quantidade de camadas ocultas que existirem e pela quantidade de neurônios que essas camadas possuírem.

Aprofundar o conhecimento sobre redes Neurais Artificiais de forma autônoma fica fácil quando a pessoa já tem alguns conhecimentos específicos sobre matemática e programação para aprendizado de máquina, isto é, que conhece cálculo (derivadas), o básico de álgebra linear, de estatística e de programação. Todo o funcionamento da rede neural é modelado por operações matriciais, de modo que quando utilizamos vários neurônios em paralelo temos uma rede neural. Pode-se pensar em cada neurônio recebendo sinais das variáveis dos inputs e passando adiante uma versão ponderada e tratada desse sinal (OLIVEIRA JR., 1994). Esses neurônios em paralelo formam uma camada oculta da rede neural. Podemos tratar o output de cada neurônio como uma variável do input de uma outra camada oculta. Assim, podemos empilhar camadas ocultas e produzir uma rede neural profunda.

Para melhor entendê-las, vamos partir de uma rede neural bem simples: um modelo de regressão linear, que pode ser entendido como uma rede neural com uma única camada.

Figura 1 – Matriz que representa a operação determinada pelas entradas e a saída. 

Na Figura 1, o vetor (w0, w1, …. wd) representa os pesos sinápticos dos neurônios da referida camada e o vetor (y0, y1, …. yn) é a saída ou a aproximação obtida a partir dos dados iniciais.

Para adicionar mais neurônios nessa rede neural, basta então expandir a matriz de parâmetros. Além disso, vamos calcular a multiplicação de matrizes por mais um vetor, mantendo a consistência do output. Temos assim o modelo de uma rede neural com mais neurônios:

Figura 2 – Rede Neural de múltiplas camadas

Na Figura 2, o vetor (w01, w11, …. wd1) representa os pesos sinápticos finais da combinação de todas as camadas e a matriz W1 = (wij) representa as operações intermediárias das camadas vetor (y0, y1, …. yn) é saída ou a aproximação obtida a partir dos dados iniciais.

É importante perceber que a matriz W é a camada oculta da rede neural e cada coluna dessa matriz é um neurônio da camada oculta. Podemos pensar no vetor como uma camada de saída com um único neurônio, que recebe o sinal dos neurônios anteriores, pondera-os e produz o output final da rede. Essa rede neural não é muito interessante do ponto de vista prático, pois só consegue representar funções lineares.

Para tratar da não linearidade, usa-se a composição de funções, aplicando uma função à equação acima. Quando é considerada a não linearidade, as RNAs conseguem representar qualquer função, dado um número suficiente de neurônios. Quanto maior o número de neurônios, maior a capacidade do modelo. É importante ressaltar também que, quando introduzimos a não linearidade na rede neural, a função custo que otimizaremos se torna não convexa e extremamente complicada de otimizar, dificultando consideravelmente o processo de treinamento.

3. Considerações finais

Atualmente os modelos que mais têm atraído a atenção da comunidade são os modelos baseados em redes neurais artificiais. Essa ferramenta tornou-se um dos principais esteios da IA como um todo.

Nessa introdução às redes neurais, tratamos de um modelo extremamente simplificado, para que, de forma mais simples, se entenda a base funcional das redes neurais, essa poderosa estrutura que permite grande flexibilidade na arquitetura dos modelos técnicos.

Certamente, as RNAs são uma das mais interessantes estratégias de desenvolvimento de modelos de Aprendizado de Máquina. Destacamos algumas propriedades associadas às RNAs:

  1. São bastante simples no manejo, uma vez entendidos os modelos lineares;
  2. Tem uma interessante mneumonia, ou seja, a operação é um tanto intuitiva, nos permite a interpretação de aprendizado de níveis de abstrações hierárquicos;
  3. São muito flexíveis, o que as torna ideais para resolver os mais diversos tipos de problemas;
  4. Produzem resultados de forma muito dinâmica e efetiva, além da qualidade dos resultados.

Por outro lado, existem algumas desvantagens das redes neurais artificiais. A desvantagem mais observada é que os modelos baseados em RNAs são normalmente muito grandes, exigindo um alto poder computacional. Outra desvantagem é a realização do treinamento da rede, pois treinar uma RNA pode ser extremamente difícil. Por essa razão, somente em 2008 que a comunidade científica conseguiu métodos para treinar de forma eficiente os modelos mais complexos disponíveis.

Por José Eduardo Colle e William Rodrigues da Silva

Confira também a live que os autores fizeram do Estatidados e playlists do canal sobre o tema:

Playlist Completa de Deep Learning e Reiforcement Learning: https://www.youtube.com/playlist?list=PLjdDBZW3EmXdTzEU65tLCl_H8hdPxL6Zx

Para tais conhecimentos e criação de networking, nós indicamos as nossas formações completas e reduzidas:

Conheça duas de nossas formações que vão te proporcionar os conhecimentos mencionados no artigo:

Formação em Análise de dados – AD – CECD:

Formação em Análise de dados – AD – CECD

Formação em Estatística – FE – CECD

Formação em Estatística – FE

Formação em Estatística – FE

Formação em Estatística – FE

Nossos cursos ao vivo e gravados:

https://comunidadedeestatistica.com.br/category/ao-vivo/