• Nenhum resultado encontrado

4. REDES NEURAIS ARTIFICIAIS

4.1. Funcionamento do cérebro humano e compreensão do processo de aprendizagem

De acordo com Izenman (2008), a maior parte do cérebro é composta pelo córtex cerebral, que consiste em uma vasta rede de células interconectadas denominadas neurônios. Segundo o mesmo autor, o cérebro humano possui mais de 10 bilhões de neurônios de mais de 100 tipos diferentes.

Um neurônio é composto por três partes fundamentais, ilustradas na Figura 16:

Dendritos, que recebem sinais (inputs) de outros neurônios através de processos eletroquímicos;

• Corpo celular, que contém o núcleo onde as informações recebidas são processadas. Caso o processamento exceda um determinado limite, o corpo celular gera um impulso, que será transmitido ao axônio;

Axônio, que funciona como uma espécie de dispositivo de saída (output) que ao final se ramifica em terminais sinápticos que transmitirão informações ao dendrito ou corpo celular de outro neurônio, através das sinapses.

Figura 16 - Ilustração de um neurônio humano Fonte: Ferneda (2006)

Mais importante do que compreender como é a estrutura de um neurônio real é entender como o processo de aprendizagem se dá sobre ele. O centro da aprendizagem cerebral está nas sinapses, que podem ser de dois tipos: inibitórias ou excitatórias. De modo simplificado, as primeiras evitam que o neurônio dispare informação para outros neurônios, enquanto as últimas contribuem para que o neurônio dispare. É importante lembrar que o disparo só ocorrerá quando as sinapses excederem uma determinada quantidade, ou seja, quando a contribuição das sinapses excitatórias superar as inibitórias e ultrapassar dado limite.

A capacidade de aprender está relacionada à força das conexões existentes entre os neurônios. É possível remover conexões ou adicioná-las para reforçar um dado comportamento. Logo, o neurônio dá diferentes pesos às sinapses recebidas, de modo que determinados inputs são mais relevantes que outros no processo de decisão de passar adiante ou não dada informação. São as experiências vividas pelo portador do cérebro que determinam quais sinapses devem ser reforçadas ou inibidas. A experiência vai sendo acumulada durante a vida de modo que o cérebro se torna capaz de desenvolver suas próprias regras para cada situação e assim tomar decisões futuras com base em suas experiências anteriores.

Após a compreender a estrutura de um neurônio real, o passo seguinte é representá-lo de forma artificial, pois o que forma uma rede neural é o conjunto de neurônios artificiais. Um neurônio artificial básico é formado por três partes: os inputs (𝑋𝑋𝑖𝑖) e seus pesos (𝛽𝛽𝑖𝑖), um contador

(U) para contabilizar os inputs recebidos e uma função de ativação (φ) que determina qual será o output (Y) para um dado conjunto de inputs. A Figura 17 ilustra a estrutura descrita, sendo que detalhes sobre suas partes serão fornecidos nas seções seguintes.

4.2.

REDES NEURAIS: O COMEÇO DA HISTÓRIA

Em 1943, McCullogh e Pitts construíram o primeiro protótipo do que seria a atividade de um neurônio humano. O neurônio por eles construído tinha vários inputs que podiam assumir valor 0 ou 1, sendo 1 uma sinapse inibitória e zero uma sinapse excitatória. Se alguma das sinapses enviadas fosse inibitória, ou seja, enviasse o valor 1, o neurônio não transmitia nenhum sinal, logo, seu output era igual a 0. Se não houvesse nenhuma sinapse inibitória, os inputs eram somados e comparados com um valor de referência. Caso a soma dos inputs fosse maior ou igual este valor, o output era igual a 1 e o dado neurônio transmitia o sinal. Caso a soma fosse menor que o valor de referência, o neurônio não apresentava nenhuma atividade. Como explicado anteriormente, é necessário que o número de estímulos recebidos seja grande o suficiente para que a mensagem seja passada a diante.

Com o passar do tempo percebeu-se que o neurônio de McCullogh e Pitts não era uma boa aproximação do funcionamento real de um neurônio, pois as únicas alterações possíveis estavam relacionadas à mudança dos valores de input e do valor de referência. Os pesos que imitariam a força das conexões entre as sinapses, que é a base do aprendizado de redes neurais, não estavam representados.

Em 1949, Donald O. Hebb escreveu um livro intitulado “Organização do Comportamento”, no qual ele discutia como o sistema nervoso influenciava o comportamento e vice-versa. Neste livro, ele apresentou uma teoria conhecida como “regra de aprendizado de Hebb”, na qual ele considera que a força sináptica da conexão entre dois neurônios depende do histórico de disparos entre eles, ou seja, quanto mais esses neurônios interagem entre si, mais forte é a conexão que existe entre ambos. Posteriormente, sua teoria foi expandida, acrescentando a “regra de inibição” que diz que quando um neurônio interage frequentemente com outro, mas essa interação nunca gera um disparo, a chance futura de que um disparo seja efetuado por meio da interação entre esses neurônios cai. Lorente de Nó, no ano de 1944, apresentou sua teoria de que o cérebro continha circuitos fechados de neurônios. Hebb então propôs que a memória ficava armazenada no córtex cerebral em agrupamentos de neurônios interconectados e que estes agrupamentos diziam respeito a funções específicas, como sensações, pensamentos e percepções. As memórias, de acordo com Hebb, eram retidas no agrupamento correspondente à uma dada função e ainda que nenhum input fosse percebido no agrupamento, a memória continuava presente.

Após Hebb, o desenvolvimento de redes neurais deu um salto com os estudos de Rosenblatt em 1958, que elaborou o “Perceptron”, que é o neurônio de McCullogh e Pitts mas com uma importante adaptação: cada input vinha acompanhado de um peso de conexão, ou seja, alguns inputs podem influenciar mais que outros no output. Pesos positivos ficaram definidos como sinapses excitatórias e negativos como sinapses inibitórias, sendo que a força da conexão estava relacionada a magnitude do peso. A Figura 15, que ilustra um neurônio artificial, representa exatamente a ideia de um Perceptron, cuja formulação matemática é dada por:

𝑜𝑜 = ∑𝑋𝑋𝑖𝑖𝛽𝛽𝑖𝑖, (116)

𝑌𝑌 = 𝜑𝜑(𝑜𝑜), (117)

onde 𝑋𝑋𝑖𝑖 é o valor do i-ésimo input, 𝛽𝛽𝑖𝑖 é o peso associado a 𝑋𝑋𝑖𝑖, U é o contador e 𝜑𝜑 é a função de

ativação que determina o valor do output Y.

Outra forma de escrever matematicamente um Perceptron é adicionando na equação um elemento 𝛽𝛽0, denominado “bias”, juntamente com um input

𝑋𝑋

0 = 1. Incorporar o bias no modelo faz com que o contador aumente ou diminua (a depender do sinal de 𝛽𝛽0), sendo que para facilitar os cálculos é interessante assumir um valor de bias que faça com que o valor de ativação se torne zero, o que se obtém ao igualar o valor de 𝛽𝛽0 com o negativo do valor de ativação observado antes de sua incorporação. Logo, as equações 116 e 117 podem ser reescritas como representado em 118 e 119:

𝑣𝑣 = 𝛽𝛽0𝑋𝑋0+ ∑𝑋𝑋𝑖𝑖𝛽𝛽𝑖𝑖, (118)

𝑌𝑌 = 𝜑𝜑(𝑣𝑣). (119)

Após os primeiros passos dados por McCullogh e Pitts, Hebb e Rosenblatt no estudo de redes neurais, muitos pesquisadores foram levados a aplicar as ideias por eles apresentadas e com isso novos estudos foram sendo elaborados. Em 1969, Minsky e Papert demonstraram matematicamente que o Perceptron com a estrutura apresentada por Rosenblatt, não era capaz

de resolver problemas matemáticos quando os inputs não eram linearmente separáveis, fazendo com que o problema fosse visto como “não computável por meio de um Perceptron”. De acordo com Izenman (2008), uma função Y ∈ {0,1} é classificada como “perceptron computável” se para um dado valor de referência existir um hiperplano no qual seja possível dividir os inputs em dois espaços R1 e R0, sendo que o primeiro corresponde aos inputs que retornam output igual a 1 e o segundo os inputs que retornam output igual a 0. Se for possível dividir os dois conjuntos de inputs sem erro, eles são ditos linearmente separáveis e foi na exceção a este comportamento que Minsky e Papert perceberam a falha do Perceptron, o que esfriou as pesquisas na área até os anos 80.

Com um aumento no desempenho computacional no meio da década de 80, encontrou- se uma solução para viabilizar cálculos mais complexos utilizando o Perceptron como pano de fundo: bastava considerar duas ou mais camadas de Perceptrons conjuntamente, gerando assim um Perceptron com Múltiplas Camadas (Multi-Layer Perceptron, em inglês, abreviado por MLP), solução que é empregada ainda hoje para resolver problemas mais complexos.

Desta forma, além dos nós de input, output e seus pesos equivalentes, incorpora-se uma ou mais camadas de Perceptrons, denominada “camada oculta” na qual pesos de entrada e saída são atribuídos.

A Figura 18 apresenta o desenho de uma rede com 3 inputs (em vermelho), 2 nós na camada oculta (em amarelo) e 2 nós de output (em azul). Na ilustração em questão, 𝜑𝜑1 e 𝜑𝜑2

representam, respectivamente, a função de ativação aplicada na camada oculta e na camada de

outputs.

Para demonstrar como seria uma rede neural construída para predizer variáveis geometalúrgicas, encontra-se na Figura 19 uma ilustração de rede com diversas variáveis de

input (teores, litologias/mineralogias, granulometrias), 4 nós ocultos e diversos outputs

(recuperações, teores no concentrado e no rejeito). Cada seta representada indica a necessidade de estimar um peso de conexão entre os nós da rede, sendo que os bias não foram ilustrados para facilitar a visualização.

No exemplo da Figura 19, somente uma camada de nós ocultos foi adicionada, mas é possível elaborar redes com quantas camadas e nós ocultos sejam necessários para uma boa predição. A implantação de uma ou mais camadas ocultas na rede neural abriu as portas para que novos trabalhos fossem iniciados nesta linha de pesquisa, fazendo com que o conhecimento em redes neurais avançasse de forma significativa. Todos os detalhes sobre a evolução do conhecimento de redes neurais até os tempos atuais podem ser lidos em Haykin (2001).

Figura 19 - Exemplo de RNA construída para predizer variáveis geometalúrgicas 𝑍𝑍𝑛𝑛% 𝑁𝑁𝑖𝑖_𝑝𝑝𝑝𝑝𝑚𝑚 𝐶𝐶𝑟𝑟_𝑝𝑝𝑝𝑝𝑚𝑚 𝐶𝐶𝑜𝑜_𝑝𝑝𝑝𝑝𝑚𝑚 %𝐾𝐾𝑖𝑖𝑠𝑠𝑠𝑠𝑑𝑑 − 𝑚𝑚𝑖𝑖𝑡𝑡𝑉𝑉 ... Teores no ROM %𝐸𝐸𝑠𝑠𝑓𝑓𝑉𝑉 − 𝑠𝑠𝑑𝑑𝑟𝑟𝑖𝑖𝑡𝑡𝑉𝑉 %𝐺𝐺𝑉𝑉𝑠𝑠𝑑𝑑𝑛𝑛𝑉𝑉 ... Informações de litologia/ mineralogia % 𝑚𝑚𝑉𝑉𝑠𝑠𝑠𝑠𝑉𝑉 𝑟𝑟𝑑𝑑𝑡𝑡𝑖𝑖𝑑𝑑𝑉𝑉 100# % 𝑚𝑚𝑉𝑉𝑠𝑠𝑠𝑠𝑉𝑉 𝑝𝑝𝑉𝑉𝑠𝑠𝑠𝑠𝑉𝑉𝑛𝑛𝑡𝑡𝑑𝑑 400# ... Informações granulométricas 𝑉𝑉 𝜑𝜑1 𝑉𝑉 𝜑𝜑1 𝑉𝑉 𝜑𝜑1 𝑉𝑉 𝜑𝜑1 𝑈5 𝜑𝜑2 Teores no Concentrado Recuperações Teores no Rejeito Nós de input Nós da camada oculta Nós de output Legenda: ... ... 𝑍𝑍𝑛𝑛% Conc 𝐸𝐸𝑏𝑏% Conc 𝐴𝐴𝑔𝑔% Conc 𝑅𝑅𝑑𝑑𝐴𝐴. 𝑄𝑄𝑑𝑑𝑡𝑡. % 𝑅𝑅𝑑𝑑𝐴𝐴. 𝑄𝑄𝑉𝑉𝑠𝑠𝑠𝑠. % 𝑍𝑍𝑛𝑛% Rej 𝐸𝐸𝑏𝑏% 𝑅𝑅𝑑𝑑𝑗𝑗 𝐴𝐴𝑔𝑔% 𝑅𝑅𝑑𝑑𝑗𝑗 𝑉𝑉 𝜑𝜑2 𝑉𝑉 𝜑𝜑2 𝑉𝑉 𝜑𝜑2 𝑉𝑉 𝜑𝜑2 𝑉𝑉 𝜑𝜑2 𝑉𝑉 𝜑𝜑2 𝑉𝑉 𝜑𝜑2 𝑉𝑉 𝜑𝜑2

Para um bom funcionamento da rede neural, é importante que algumas precauções sejam tomadas, sendo que a primeira delas está relacionada a escolha da função de ativação que será aplicada em cada camada da rede. A seção seguinte apresentará as principais funções e suas características.