Imagem: Uma rede neural artificial é composta por uma sucessão de camadas de neurônios interconectados, cada uma das quais recebe suas entradas das saídas da camada anterior. Em uma rede neural artificial, o número de neurônios por camada pode ser de dezenas de milhares e o número de camadas pode chegar a várias centenas. Crédito da imagem: domínio público.
Para entender como funcionam as redes neurais artificiais, é necessário compreender o significado de inteligência artificial (IA). A IA consiste em criar sistemas informáticos capazes de automatizar tarefas sem intervenção humana, mas também de aprender, adaptar, melhorar, comunicar e sobretudo tomar decisões. Nesse sentido, a IA busca reproduzir aspectos da inteligência humana.
A definição de inteligência é muito discutível, mas o significado que nos interessa aqui é o das funções controladas pelo cérebro. Na verdade, sejam elas mecânicas, como caminhar, ou cognitivas, como a tomada de decisões, a arquitetura das funções permanece a mesma em todas as áreas cerebrais do nosso cérebro. Além disso, todas as funções têm igual importância, sem distinção entre as consideradas nobres ou menos nobres. Todos são realizados com a mesma complexidade de cálculos, através de uma enorme rede de bilhões de neurônios interligados entre si para troca de informações. As informações são trocadas por meio de sinais elétricos e químicos.
No cérebro humano, o processo de comunicação entre os neurônios é o seguinte:
- Quando os sinais eléctricos, iniciados na membrana celular do neurónio, atingem um limiar crítico, desencadeiam um breve impulso eléctrico denominado “potencial de acção”. Os potenciais de ação viajam ao longo do axônio até a sinapse do neurônio.
- Ao nível da sinapse (pontos de contacto entre neurónios) os potenciais de ação desencadeiam a libertação de moléculas químicas, chamadas "neurotransmissores".
- Os neurotransmissores ligam-se então aos receptores localizados na membrana do neurônio pós-sináptico (o neurônio receptor). Essa ligação química desencadeia uma resposta elétrica no neurônio pós-sináptico.
- O neurônio pós-sináptico integra todas as entradas que recebe dos neurônios transmissores e, se o limiar crítico for atingido, por sua vez gera um potencial de ação que se propaga ao longo do seu próprio axônio, continuando assim a transmissão da informação na rede.
Dependendo dos tipos de neurotransmissores liberados, a atividade pré-sináptica pode ter um efeito excitatório ou inibitório na atividade elétrica do neurônio pós-sináptico. Isso torna o disparo de um potencial de ação mais ou menos provável.
Este processo complexo é a base da função cerebral e da cognição humana. É a partir deste processo que os investigadores irão desenvolver um modelo de inteligência artificial, muito simples no início e depois cada vez mais sofisticado à medida que o progresso tecnológico avança.
O neurônio artificial é a unidade básica de uma rede neural artificial. Uma rede neural artificial é composta por uma sucessão de camadas de neurônios interconectados, cada um dos quais recebe suas entradas das saídas da camada anterior.
Neurônios artificiais não são bits de computador (0 ou 1), mas sim abstrações matemáticas (números, operações, funções, equações, matrizes, conjunto, probabilidade, etc.). Em outras palavras, são unidades de processamento que realizam operações matemáticas nos dados que lhes são apresentados. Eles não armazenam dados, enquanto os bits de computador são a base para armazenar informações digitais.
Em uma rede neural artificial, cada neurônio é caracterizado por um nível de atividade capturado por uma variável chamada “potencial de ativação”. A sinapse do neurônio é caracterizada por outra variável chamada “peso sináptico”.
- O potencial de ativação representa o estado elétrico do neurônio pós-sináptico em um determinado momento. É calculado somando os sinais de entrada dos neurônios pré-sinápticos, com cada sinal modulado pelo peso sináptico correspondente. O potencial de ativação pode variar continuamente numa faixa de valores negativos a positivos, dependendo da intensidade dos sinais recebidos.
- Os pesos sinápticos determinam se uma conexão sináptica é excitatória, inibitória ou nula. Os pesos modulam o impacto dos sinais de entrada no potencial de ativação. Os pesos positivos aumentam a atividade, os pesos negativos a reduzem e os pesos zero não têm efeito.
O potencial de ativação resulta da combinação de sinais de entrada ponderados pelos pesos sinápticos. Este potencial é então submetido a uma função de ativação, que introduz a não linearidade e determina se o neurônio pós-sináptico gera uma resposta (potencial de ação) ou não. Em última análise, estes mecanismos permitem que o neurônio processe informações e responda aos estímulos de maneira adaptativa. O funcionamento dessas variáveis é fundamental para modelar o comportamento dos neurônios, tanto em redes neurais biológicas quanto em redes neurais artificiais.
Vamos imaginar uma rede neural artificial usada para classificação de imagens. Esta rede inclui um neurônio pós-sináptico que recebe conexões de três neurônios pré-sinápticos. Cada um desses três neurônios pré-sinápticos está associado a uma característica específica da imagem que a rede analisa, por exemplo, a presença de linhas verticais, linhas horizontais e curvas.
O neurônio pós-sináptico tem um potencial de disparo inicial de 0.
Quando os três neurônios pré-sinápticos enviam seus sinais, cada sinal é multiplicado pelo peso sináptico associado à conexão correspondente. Suponha que os pesos sinápticos sejam:
- Peso sináptico para a característica das linhas verticais: +0,5
- Peso sináptico para a característica das linhas horizontais: -0,3
- Peso sináptico para a característica das curvas: +0,2
Os sinais dos três neurônios pré-sinápticos são ponderados pelos respectivos pesos sinápticos e somados.
Se tivermos os seguintes sinais:
- Sinal para linhas verticais: 1
- Sinal para linhas horizontais: 0,5
- Sinal para curvas: 0,8
O potencial de ativação seria calculado da seguinte forma:
Potencial de ativação = (1 * 0,5) + (0,5 * (-0,3)) + (0,8 * 0,2) = 0,5 - 0,15 + 0,16 = 0,51
Se o potencial de ativação exceder um limite definido (por exemplo, 0), o neurônio pós-sináptico irá gerar um potencial de ação, indicando que a característica desejada foi detectada na imagem.
Neste exemplo, os pesos sinápticos desempenham um papel crucial na determinação da importância relativa de cada característica da imagem. Os sinais de entrada ponderados pelos pesos sinápticos são utilizados para calcular o potencial de ativação, que, se ultrapassar o limite, desencadeará a resposta do neurônio pós-sináptico. Isso permite que a rede neural tome decisões com base nos recursos detectados na imagem.
A infraestrutura de hardware de uma rede neural artificial não é biológica, é a mesma da computação clássica (microprocessadores, placas gráficas, etc.).
A infraestrutura de software de uma rede neural artificial é diferente. Os algoritmos de aprendizado de máquina aprendem com os dados e ajustam seu comportamento com base nos exemplos fornecidos, enquanto os algoritmos de programação tradicionais são baseados em instruções estáticas explícitas que não mudam por conta própria. É neste sentido que a IA é uma revolução porque para escrever estaticamente as regras do ChatGPT 3.5 com os seus 175 mil milhões de parâmetros, demoraria milhares de anos.
Uma rede neural é organizada em camadas onde cada neurônio artificial (função matemática) recebe entradas, realiza cálculos sobre essas entradas e gera uma saída. A primeira camada é a camada de entrada, que recebe os dados brutos (texto, imagem digital ou outros dados coletados). Atrás dela, existem uma ou mais camadas ocultas (não acessíveis de fora), seguidas pela camada de saída que produz as previsões.
Para fazer uma previsão, os dados são propagados da camada de entrada para a camada de saída. Cada neurônio soma suas entradas ponderadas, aplica uma função de ativação e passa o resultado para a próxima camada.
As funções de ativação introduzem não linearidades na rede. Isso significa que a relação entre quantidades não é uma proporção constante, mas uma probabilidade. É isso que dá às redes neurais a capacidade de resolver uma variedade de problemas, desde o reconhecimento de imagens até a tradução automática e a modelagem de linguagem natural.
Depois de fazer uma previsão, a rede compara seus próprios resultados com os rótulos corretos para medir o erro ou a diferença entre os dois. Os rótulos corretos são um componente essencial do conjunto de treinamento de um modelo de aprendizagem supervisionada. Eles são fornecidos para cada exemplo no conjunto de treinamento para permitir que o modelo aprenda a fazer previsões precisas.
Na próxima etapa, o algoritmo de retropropagação ajusta os pesos da rede (parâmetros internos que determinam como os neurônios reagem às entradas). Isso permite encontrar os valores que minimizam o erro do modelo. Este processo se repete até que a rede atinja um nível de desempenho satisfatório.
Na rede, também existem hiperparâmetros para ajustar, como taxa de aprendizado (número de iterações que o modelo faz ao atualizar pesos durante o treinamento), tamanho do lote usado (quantos exemplos de dados são usados cada vez que os pesos são atualizados), o arquitetura de rede (número de camadas e número de neurônios por camada), escolha da função de ativação nas camadas, etc.
Após avaliar o modelo para cada combinação, os pesquisadores escolhem os hiperparâmetros que proporcionam o melhor desempenho nos dados de validação.
Em última análise, o modelo treinado é avaliado com base em dados novos e nunca antes vistos.
Vamos supor que temos um data center capaz de nos fornecer 100.000 imagens diferentes de 28x28 pixels em tons de cinza representando números manuscritos de 0 a 9.
Nossa rede neural terá uma camada de entrada configurada para o tamanho das imagens (28x28 neurônios), uma ou mais camadas ocultas e uma camada de saída com 10 neurônios (pois existem 10 números possíveis: 0 a 9). Cada neurônio na camada de saída representa a probabilidade de a imagem corresponder a um dígito específico.
Os pesos das conexões entre os neurônios são inicialmente definidos com valores aleatórios.
Os dados brutos, por exemplo a imagem digital de 3, são introduzidos na camada de entrada.
Para analisar regiões locais da imagem, filtros de convolução (por exemplo, 5x5 pixels) deslizam sobre a imagem, pixel por pixel, para extrair um mapa hierárquico de características visuais. Normalmente, uma camada de convolução usará vários filtros diferentes. Cada filtro aprende a detectar características específicas da imagem, como bordas, texturas, padrões, etc. Os recursos extraídos pelas primeiras camadas de convolução são simples (como arestas), enquanto as camadas superiores aprendem a reconhecer recursos mais complexos (como padrões ou objetos).
Os dados se propagam pela rede seguindo conexões ponderadas e aplicando funções de ativação. Em cada camada, operações matemáticas são realizadas para obter uma saída.
A camada de saída produz pontuações para cada dígito (0-9). Uma função transformará essas pontuações em uma série de probabilidades para cada classe possível (0-9). O número com maior probabilidade será a previsão da rede.
Em seguida, a rede comparará sua previsão com o rótulo real da imagem (por exemplo, “é um 3”).
Uma função de custo mede a divergência entre as previsões do modelo e os rótulos reais. Atribui um custo mais elevado quando as previsões do modelo estão longe dos rótulos esperados. Ao treinar uma rede neural, o objetivo é minimizar a função de custo.
Para fazer isso, o erro é propagado na direção oposta pela rede. Essa retropropagação vai das camadas de saída para as camadas de entrada. À medida que o erro se propaga na direção inversa, a rede ajusta seus parâmetros (pesos e desvios) em cada camada para minimizar o erro. Isso é feito usando algoritmos de otimização, como gradiente descendente, que atualizam os parâmetros do modelo. Os pesos e as tendências são ajustados de acordo com o gradiente. Os parâmetros são alterados na direção que minimiza a função de custo.
Este processo é repetido em um grande número de imagens de treinamento. A rede ajustará seus parâmetros a cada iteração para melhorar a classificação dos dígitos manuscritos.
Depois que a rede é treinada, ela é testada em um conjunto de dados separado (imagens ainda não vistas) para avaliar seu desempenho em termos de precisão de classificação.
O conceito de mudança de peso é usado em redes neurais artificiais porque é inspirado no funcionamento do cérebro humano. No cérebro humano, os neurônios estão conectados entre si por sinapses. A força da conexão entre dois neurônios é chamada de “peso sináptico”. Os pesos sinápticos são alterados durante o processo de aprendizagem humana. Esse processo, ainda pouco compreendido, é denominado plasticidade sináptica. A plasticidade sináptica é um processo fascinante que nos permite adaptar e aprender ao longo da vida.
Por exemplo :
• Se aprendermos a palavra “chien” em francês, os neurônios que representam o som “ch”, o som “i”, o som “e” e a palavra “chien” são ativados juntos. Quanto mais usamos a palavra “cachorro”, mais esses neurônios são ativados juntos.
• Quanto mais as pessoas traumatizadas se expõem a experiências positivas e seguras, maior a probabilidade de enfraquecimento das sinapses entre os neurônios que representam o evento traumático.