Neurônios e Redes Neurais Artificiais

Redes neurais artificiais são sistemas de computação inspirados nas redes neurais biológicas que constituem o cérebro humano.

Elas podem parecer novas e excitantes, mas o campo em si não é novo. Frank Rosenblatt, um psicólogo americano, conceituou e tentou construir uma máquina que responde como a mente humana em 1958, a qual ele nomeou “Perceptron”.

Depois disso, graças aos recursos computacionais atuais, tais redes neurais foram modernizadas, incluindo arquiteturas de rede aprimoradas e mais profundas e estão sendo utilizadas no aprendizado profundo (deep learning), que é a base para grande parte do atual boom da Inteligência Artificial.

Para os propósitos práticos, as redes neurais artificiais aprendem pelo exemplo, de maneira semelhante às suas contrapartes biológicas. As entradas externas são recebidas, processadas e acionadas de forma similar a do cérebro humano.

A estrutura em camadas das redes neurais

Sabemos que diferentes seções do cérebro humano estão conectadas para processar vários tipos de informação. Essas partes do cérebro são organizadas hierarquicamente em níveis. À medida que a informação entra no cérebro, cada camada, ou nível, de neurônios faz seu trabalho específico de processar as informações recebidas, derivar insights e transmiti-los para a camada seguinte e mais sênior.

Por exemplo, quando você passa por uma padaria, seu cérebro responderá ao aroma de pão recém assado em etapas:

  • Entrada de dados: O cheiro de pão quentinho
  • Pensamento: Isso me lembra minha infância
  • Tomada de decisão: acho que vou comprar um pouco desse pão
  • Memória: Mas eu já almocei
  • Raciocínio: Talvez eu pudesse fazer um lanche
  • Ação: Posso comer um pedaço desse pão, por favor?

É assim que o cérebro funciona em etapas. As redes neurais artificiais funcionam de maneira semelhante. As redes neurais tentam simular essa abordagem de várias camadas para processar várias entradas de informações e basear decisões nelas.

No nível celular ou neurônio individual, as funções são ajustadas. Os neurônios são as células nervosas do cérebro. As células nervosas têm extensões finas conhecidas como dendritos. Eles recebem sinais e os transmitem para o corpo celular. O corpo celular processa os estímulos e toma a decisão de acionar sinais para outros neurônios na rede. Se a célula decidir fazê-lo, a extensão no corpo celular conhecida como axônio conduzirá o sinal para outras células por meio de transmissão química. O funcionamento das redes neurais é inspirado na função dos neurônios em nosso cérebro, embora o mecanismo tecnológico de ação seja diferente do biológico.

Como as redes neurais funcionam de forma semelhante ao cérebro humano

Uma rede neural artificial em sua forma mais básica tem três camadas de neurônios. A informação flui de um para o outro, assim como no cérebro humano:

  • A camada de entrada: o ponto de entrada dos dados no sistema
  • A(s) camada(s) oculta(s): onde a informação é processada
  • A camada de saída: onde o sistema decide como proceder com base nos dados

Redes neurais artificiais mais complexas terão várias camadas, algumas ocultas.

A rede neural funciona por meio de uma coleção de nós ou unidades conectadas, assim como os neurônios artificiais. Esses nós modelam vagamente a rede de neurônios no cérebro animal. Assim como sua contraparte biológica, um neurônio artificial recebe um sinal na forma de estímulo, processa-o e sinaliza outros neurônios conectados a ele. Mas as similaridades acabam aí.

O funcionamento do neurônio e da rede neural

Um neurônio artificial é o menor bloco de construção em todas as redes neurais profundas.

Em uma rede neural artificial, o neurônio artificial recebe como entrada um ou mais estímulos na forma de sinais que são números reais (x1, x2, …). A saída (y) de cada neurônio é calculada usando alguns pesos fixos (w1, w2, …), uma polarização (b) e uma função de ativação definida (f) não linear da soma de suas entradas (∑).

  • As conexões entre os neurônios são chamadas de arestas.
  • Tanto os neurônios quanto as arestas têm um peso. Este parâmetro se ajusta e muda à medida que o aprendizado prossegue.
  • O peso aumenta ou diminui a força do sinal em uma conexão.
  • Os neurônios podem ter um limiar. Um sinal é enviado somente se o sinal agregado cruzar esse limite.

Como mencionado anteriormente, os neurônios se agregam em camadas. Diferentes camadas podem realizar diferentes modificações em suas entradas. Os sinais passam da primeira camada (a camada de entrada) para a última camada (a camada de saída) da maneira discutida acima, às vezes depois de percorrer as camadas várias vezes.

As redes neurais contêm inerentemente algum tipo de regra de aprendizado, que modifica os pesos das conexões neurais de acordo com os padrões de entrada com os quais são apresentadas, assim como uma criança em crescimento aprende a reconhecer animais a partir de exemplos de animais.

Redes neurais e aprendizado profundo (deep learning)

É impossível falar sobre redes neurais sem mencionar o aprendizado profundo. Os termos “redes neurais” e “aprendizado profundo” são frequentemente usados ​​de forma intercambiável, embora sejam distintos um do outro. No entanto, os dois estão intimamente ligados, pois um depende do outro para funcionar. Se as redes neurais não existissem, o aprendizado profundo também não existiria, pois:

  • O aprendizado profundo é a vanguarda de uma entidade que já está na vanguarda, a inteligência artificial (IA).
  • O aprendizado profundo é diferente do aprendizado de máquina, projetado para ensinar os computadores a processar e aprender com os dados.
  • Com o aprendizado profundo, o algoritmo do computador treina a si mesmo continuamente para processar dados, aprender com eles e criar mais recursos. As múltiplas camadas de redes neurais artificiais mais complexas são o que tornam isso possível.
  • As redes neurais complexas contêm uma camada de entrada e uma camada de saída, assim como as redes neurais de forma simples, mas também contêm várias camadas ocultas. Portanto, elas são chamados de redes neurais profundas e são propícias ao aprendizado profundo.
  • Um sistema de aprendizado profundo aprende a si mesmo e se torna mais “conhecido” à medida que avança, filtrando informações através de várias camadas ocultas, de maneira semelhante ao cérebro humano com todas as suas complexidades.

Por que o Deep Learning é importante para as organizações

O aprendizado profundo é como a nova corrida do ouro ou a mais recente descoberta de petróleo no mundo da tecnologia. O potencial do aprendizado profundo despertou o interesse de grandes corporações estabelecidas, bem como startups nascentes e tudo mais. Por quê?

Faz parte do panorama geral orientado por dados, em particular, graças ao aumento da importância de big data. Se você pensa em dados derivados da Internet como petróleo bruto armazenado em bancos de dados, data warehouses e data lakes, esperando para ser perfurado com várias ferramentas de análise de dados, o aprendizado profundo é a refinaria de petróleo que pega os dados brutos e os converte em produtos úteis.

O aprendizado profundo é o objetivo final em um mercado inundado de ferramentas analíticas em um mundo de dados: sem uma unidade de processamento eficiente e de última geração, extrair qualquer coisa de valor simplesmente não é possível.

O aprendizado profundo tem o potencial de substituir os humanos automatizando tarefas repetitivas. No entanto, o aprendizado profundo não pode substituir os processos de pensamento de um cientista ou engenheiro humano criando e mantendo aplicativos de aprendizado profundo, pelo menos por enquanto.

Fazendo a distinção entre aprendizado de máquina e outros tipos de aprendizado

Aprendizado de máquina. Como exatamente as máquinas aprendem? A resposta curta: Algoritmos.

Alimentamos algoritmos, que são conjuntos de regras usadas para ajudar os computadores a realizar operações de resolução de problemas, por meio de grandes volumes de dados. Geralmente, quanto mais dados um algoritmo de aprendizado de máquina é fornecido, mais preciso ele se torna. Estes algoritmos são divididos em categorias, conforme eles interagem com os dados. Trata-se de treinar algoritmos como regressão linear, K-means, árvores de decisão, Random Forest, algoritmo K-neest neighbors (KNN) e máquina de vetor de suporte ou algoritmo SVM.

Esses algoritmos vasculham conjuntos de dados, aprendendo à medida que avançam para se adaptar a novas situações e procurar padrões de dados interessantes e perspicazes. Os dados são o substrato chave para que esses algoritmos funcionem da melhor maneira possível.

Aprendizado Supervisionado. Os conjuntos de dados usados ​​para treinar o aprendizado de máquina podem ser rotulados.

Por exemplo, considere milhares de fotos de animais rotuladas. O algoritmo é treinando e “aprende” com estas fotos para que possa reconhecer imagens de animais que ainda não viu. Isso vale para imagens médicas, rostos, inadimplência de empréstimos, apólices de seguro de alto risco e muito mais.

Outro exemplo, um computador verificando uma caixa de entrada de e-mails em busca de spam pode ter sido treinado a partir de um conjunto de dados rotulado para entender quais e-mails são spam e quais são legítimos.

Isso é chamado de aprendizado supervisionado. Exemplos clássicos de técnicas de aprendizado supervisionado são regressão linear, máquinas de vetor de suporte (SVM), K-NN (neest neighbors ou vizinhos mais próximos), árvores de decisão e classificação.

Aprendizado não supervisionado.  É feito com dados que não são rotulados. É uma técnica popular para usar quando não se sabe o que esperar, mas deseja que a IA molde os dados em agrupamentos (clusters) com base em sua “intuição”. Em outras palavras, o aprendizado não supervisionado é ótimo para encontrar padrões nos dados – coisas que “parecem semelhantes” – e permitir que você decida o que os padrões significam; um algoritmo de agrupamento como K-means é um ótimo exemplo.

Aprendizado Semissupervisionado. É uma área de interesse crescente porque leva muito tempo para curar dados rotulados bons e limpos. Usando o aprendizado semissupervisionado, pode-se aumentar os dados rotulados com novos dados ou misturar dados rotulados e não rotulados.

Redes Neurais e Lógica Fuzzy.  É importante fazer a distinção entre redes neurais e lógica fuzzy. A lógica fuzzy permite tomar decisões concretas com base em dados imprecisos ou ambíguos. Por outro lado, as redes neurais tentam incorporar processos de pensamento semelhantes aos humanos para resolver problemas sem primeiro projetar modelos matemáticos.

Como as redes neurais diferem da computação convencional?

Para entender melhor como a computação funciona com uma rede neural artificial, um computador convencional e suas informações de processo de software devem ser entendidos.

Um computador possui um processador central que pode endereçar uma série de locais de memória onde os dados e instruções são armazenados. O processador lê as instruções e quaisquer dados de que a instrução precise de dentro dos endereços de memória. A instrução é então executada e os resultados salvos em um local de memória especificado.

Em um sistema serial ou paralelo padrão, as etapas computacionais são determinísticas, sequenciais e lógicas. Além disso, o estado de uma determinada variável pode ser rastreado de uma operação para outra.

O funcionamento nas redes neurais.  Em contraste, as redes neurais artificiais não são sequenciais nem necessariamente determinísticas. Elas não contêm nenhum processador central complexo. Em vez disso, elas são compostas de vários processadores simples que recebem a soma ponderada de suas entradas de outros processadores.

As redes neurais não executam instruções programadas. Elas respondem em paralelo (de forma simulada ou real) ao padrão de entradas apresentado a elas.

Nestas redes as informações estão contidas no estado geral de ativação da rede. O conhecimento é representado pela própria rede, que é literalmente mais do que a soma de seus componentes individuais.

Vantagens das redes neurais sobre as técnicas convencionais

Espera-se que as redes neurais se auto treinem de maneira bastante eficiente no caso de problemas em que os relacionamentos são dinâmicos ou não lineares. Essa capacidade é aprimorada ainda mais se os padrões de dados internos forem fortes. Também depende até certo ponto da própria aplicação.

As redes neurais são uma alternativa analítica às técnicas padrão um tanto limitadas a ideias como suposições estritas de linearidade, normalidade e independência variável.

A capacidade das redes neurais de examinar uma variedade de relacionamentos torna mais fácil para o usuário modelar rapidamente fenômenos que podem ter sido bastante difíceis, ou mesmo impossíveis, de compreender de outra forma.

Limitações das Redes Neurais

Existem alguns problemas específicos dos quais os usuários em potencial devem estar cientes, particularmente em conexão com redes neurais de retropropagação e alguns outros tipos de redes.

Processo não é explicável. As redes neurais de retropropagação têm sido referidas como a caixa preta definitiva. Além de delinear a arquitetura geral e possivelmente usar alguns números aleatórios como propagação, tudo o que o usuário precisa fazer é fornecer a entrada, manter um treinamento e receber a saída. Alguns pacotes de software permitem que os usuários experimentem o progresso da rede ao longo do tempo. A própria aprendizagem nestes casos progride por conta própria.

A saída final é uma rede treinada (modelo) que é autônoma no sentido de que não fornece equações ou coeficientes que definem uma relação além de sua própria matemática interna. A própria rede é a equação final do relacionamento.

Mais lento para treinar. As redes de retropropagação tendem a ser mais lentas para treinar do que outros tipos de redes e, às vezes, exigem milhares de iterações. Isso porque a unidade central de processamento da máquina deve calcular a função de cada nó e conexão separadamente. Isso pode ser muito complicado e causar problemas em redes muito grandes que contêm uma grande quantidade de dados. No entanto, as máquinas contemporâneas funcionam rápido o suficiente para contornar a maioria desses problema.

Aplicações de Redes Neurais

As redes neurais são aproximadores universais. Eles funcionam melhor se o sistema tiver uma alta tolerância a erros.

As redes neurais são úteis:

  • Para entender associações ou descobrir elementos regulares dentro de um conjunto de padrões
  • Onde os dados são enormes, seja em volume ou na diversidade de parâmetros
  • As relações entre as variáveis ​​são vagamente compreendidas
  • Onde as abordagens convencionais falham na descrição de relacionamentos

Considerações finais

A inteligência artificial é a tecnologia mais poderosa disponível para a humanidade atualmente, e o maior erro que qualquer um pode cometer é ignorá-la. E esse belo paradigma aqui apresentado sobre redes neurais artificiais profundas, inspirado na biologia é um dos desenvolvimentos tecnológicos mais elegantes de nossa era.

Se gostou, por favor, compartilhe! Um abraço, @neigrando

Referências

Livros recomendados

  • AI Ladder – Acelerate your Journey to AI, by Rob Thomas & Paul Zikopoulos, 2020
  • Artificial Intelligence – a modern approach, by Stuart Russel & Peter Novic, 2020

Artigos relacionados

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s