Tudo que você precisa saber sobre como funcionam as redes neurais ou Deep Learning
O segredo desvendado de uma técnica famosa e com nome de filme de ficção científica: a computação de rede neural. Aprenda como o computador reconhece uma imagem ou uma voz de forma descomplicada.
É costumeiro quando falamos de inteligência artificial resumir tudo em uma coisa só. Mas, assim como no meu artigo em que explico como funciona o aprendizado de máquina - ou machine learning - para a criação de inteligência artificial, existem inúmeras formas de IA, assim como inúmeras técnicas de como se atingir esse poder de processamento.
Uma maneira famosa e talvez menos compreendida é através de redes neurais, e neste artigo vou te ensinar tudo o que você precisa saber sobre essa forma de aprendizagem.
O que é uma rede neural?
A técnica de redes neurais, ou neural networks, possuem esse nome pois são inspiradas na forma como a rede neural funciona no cérebro humano. E se você não sabe como os neurônios humanos funcionam, fica frio que é mais simples de explicar do que parece.
Inspirado no cérebro humano
Os Neurônios são uma parte característica do sistema nervoso humano, embora sejam comumente associados ao cérebro humano. Cada Neurônio possuí vários bracinhos que se chamam Dendritos. Esses bracinhos se conectam no cérebro, passando energia entre um neurônio e outro. Quanto mais forte esses bracinhos se seguram, mais forte é aquele conhecimento para aquela pessoa.
Então, imagine que para andar de bicicleta, por exemplo, você faz as conexões entre um grupo específico de neurônios. Quando você precisa andar novamente, aqueles neurônios tinham uma conexão forte, então eles conseguem religar aquele conhecimento, deixam passando energia novamente.
Inspirado nessa idéia do neurônio nasceram as redes neurais artificiais, com o objetivo de simular essa força entre camadas diferentes que pudessem indicar algum sentido dado um aprendizado. Inclusive, é por isso que as ilustrações de redes neurais geralmente são como as abaixo.
Durante a fase de treinamento ou machine learning, assim como quando uma criança está passando pelo processo de aprendizado, os dados são passados através da rede de neurônios artificiais até chegar a alguma conclusão.
A camada de entrada vai passando de camada em camada através de uma função de ativação. Essa função de ativação nada mais é do que a fórmula matemática usada para processar o dado até que ele chegue na camada de saída.
Quantos neurônios tem a rede neural? A origem do deep learning
No geral as redes neurais possui uma camada de entrada por onde entram os parâmetros como os pixels de imagens médicas, ou dados de ondas sonoras. Através de um modelo cada nó na camada de entrada recebe um número de resultado de vínculo com nós nas camadas seguintes - cada nó representando um neurônio artificial - até que se chegue na camada de saída.
Quanto mais camadas intermediárias na rede neural, mais profunda é a análise e aprendizado do modelo, e é daí que vem o nome deep learning. Modelos de deep learning requerem bastante poder computacional para conseguir processar todas as camadas de forma rápida.
Por fim, após o período de aprendizado, o modelo está pronto. Ao receber novos dados de entrada, ele identifica qual o caminho de nós mais forte para aquele conjunto de dados e por consequência sabe que aquele "caminho" representa resultado específico, que no caso, pode ser por exemplo o reconhecimento de fala indicando que aquele timbre de vocês é seu.
No final do dia, todo esse esforço é para conseguir fazer caber em uma máquina aquilo que chamamos de inteligência, e por isso o termo inteligência artificial. Que, por mais poderosa que seja, não se engane, ela nada mais é do que o resultado do uso de muitos dados combinado com muita computação de força bruta.
Não existe um valor limite para a quantidade de neurônios ou a quantidade de camadas. Isso tudo vai depender da complexidade do problema, e claro, do recurso computacional disponível para processar todas as camadas.
Qual a função da rede neural artificial?
Por causa de suas características específicas e o fato de lidar com associações complexas, as redes neurais têm vários casos de uso em diferentes setores para resolver problemas complexos como por exemplo:
Diagnóstico médico com classificação de imagens;
Marketing direcionado em mídia social;
Análise de dados comportamentais;
Processamento de dados históricos de instrumentos para o mercado financeiro;
Previsões de demanda;
Processo e controle de qualidade com detecção de anomalias;
Abaixo, mostramos quatro aplicações importantes das redes neurais. O objetivo com as redes neurais é conseguir ampliar a capacidade de análise humana através da força bruta de computadores.
Quais são os tipos de redes neurais artificiais?
Existem muitos tipos diferentes de aplicações de redes neurais, e como consequência cada uma dessas aplicações requer um algoritmo de treinamento ou modelo de aprendizado - machine learning - diferente para atingir determinado objetivo. Por isso a área de inteligência artificial possui tantas ramificações.
Redes neurais podem ter aprendizado não supervisionado, o que significa que o treinamento é conduzido de tal maneira que elas não precisam da participação de alguém. Para cada resultado positivo, o próprio modelo se remunera, reforçando aquele aprendizado.
Mas, o mais comum são modelos de aprendizado supervisionado. Isso porque modelos de aprendizado supervisionado são mais simples de construir, embora muito trabalhosos, pois requer muito mais dados de entrada.
Para você ter uma compreensão de quão extensa pode ser a lista de redes neurais, aqui vai uma pequena amostra de redes.
Perceptron Simples
É o tipo mais básico de rede neural, composta por apenas uma camada de neurônios. É usado para classificação binária.
Perceptron Multicamadas (MLP)
É uma rede neural feedforward composta por várias camadas de neurônios. É capaz de resolver problemas de classificação e regressão.
Redes Neurais Convolucionais (CNN)
É uma rede neural especializada em processamento de imagens e reconhecimento de objetos. É composta por camadas convolucionais e camadas de pooling.
Redes Neurais Recorrentes (RNN)
É uma rede neural usada para modelar dados sequenciais, como séries temporais ou linguagem natural. Ela possui conexões recorrentes entre neurônios que permitem que ela mantenha informações de estados anteriores.
Redes Neurais de Memória de Longo Prazo (LSTM)
É uma variação de RNN que é capaz de lidar com o problema de gradiente que ocorre em RNNs.
Redes Neurais Auto-Encoder (AE)
É uma rede neural que visa reconstruir os dados de entrada com uma camada oculta reduzida. É usado para redução de dimensionalidade e compressão de dados.
Redes Neurais Adversárias Generativas (GANs)
É uma rede neural composta por duas redes que competem entre si. Uma rede é responsável por gerar amostras de dados, enquanto a outra rede é responsável por distinguir as amostras geradas das amostras reais. É usado para gerar novos dados, como imagens e sons.
Esses são apenas alguns exemplos de rede neural artificial existentes, há muitas outras variações e tipos especializados para resolver diferentes tipos de problemas.
Como as redes neurais artificiais reconhecem uma imagem?
Tudo dentro da computação é o resultado de redes elétricas, bits e bytes. Então como pode um computador compreender o que é um gato, ou uma voz? O fato é que ele não sabe e você também não. A visão computacional é muito similar a dos seres humanos, elas só passam por sistemas diferentes de aprendizado.
No início desse texto expliquei sobre como seus neurônios se conectam entre si e que para isso eles usam pulsos elétricos e químicos. Então assim como para os computadores tudo é pulo elétrico, assim também é para os seus neurônios. No entanto, tudo que você vê no mundo são uma série de imagens, assim como um filme é um conjunto de fotos passando uma atrás da outra.
O que uma rede neural faz é pegar cada pixel dessa imagem e transformar cada parte dela em uma forma reduzida, usando como se fossem filtros diferentes (algoritmos diferentes) até que essa imagem seja reduzida a apenas um subconjunto. Esse processamento é feito em camadas, as camadas da rede neural e essa técnica tem o nome de redes neurais convolucionais e compõe um dos topos de redes neurais.
As redes neurais com esse algoritmo estão ilustradas na animação abaixo, e como você pode ver elas desfiguram a imagem de tal forma que ela deixa de significar algo para nós, e passa a ser apenas um conjunto de dados que significa alguma coisa para o computador - a camada de saída da rede neural.
Esse tipo de processo de visão computacional é uma área muito comum e o processo de aprendizado meio que acontece da mesma forma que para seres humanos, porém requer uma capacidade de computação monstruosa. A rede neural precisa "ver" vários exemplos - o que você conhece como big data, um conjunto imenso de dados - de imagem diferentes, para realizar o reconhecimento de padrões.
Como as redes neurais fazem para reconhecer a voz?
Sistemas para reconhecer vozes podem ser feito por meio de um modelo chamado de reconhecimento automático de fala (ASR). O ASR envolve o uso de um modelo que é treinado em grandes conjuntos de dados de áudio e transcrições correspondentes. Esses sistemas são capazes de transcrever novos áudios em texto com uma precisão razoável e fazer o processamento de linguagem natural.
O treinamento usando redes neurais é geralmente composto de três etapas principais:
Pré-processamento de áudio: os sinais de áudio são amostrados, filtrados e processados para que a estrutura possa analisá-los.
Extração de características: as características acústicas do sinal de áudio são extraídas usando algoritmos como Mel Frequency Cepstral Coefficients (MFCCs) ou espectrogramas.
Decodificação de fala: a estrutura usa a entrada de áudio pré-processada e as características extraídas para prever as sequências de palavras mais prováveis que correspondem à fala de entrada. A saída final é escolhida com base na pontuação de probabilidade que a estrutura atribui em cada camada a sequência de palavras possíveis.
O treinamento de uma estrutura para reconhecimento de voz envolve a alimentação de grandes conjuntos de dados de áudio e transcrições correspondentes para a estrutura neural artificial, que aprende a mapear características acústicas para palavras e frases. À medida que a camada de entrada é exposta a mais dados, sua precisão de reconhecimento de voz geralmente melhora.
Acontecendo no Mundo
E mais uma vez, o mundo concordou em adiar o fim do mundo
Ou ao menos é o que esperamos quando 60 países se reúnem para criar um acordo sobre as boas práticas no uso de armas autônomas, ou melhor, o uso responsável de inteligência artificial no campo militar.
Quem é a pessoa por detrás do ChatGPT?
Sam Altman parece um nome oculto no meio de quem acompanha AI, GPT e suas variações. Um pessoas simples, muito bem relacionada e com um olhar para oportunidades onde poucas pessoas viram. Esse é um leve descritivo de quem é esse cara que está mudando o cenário tecnológico do mundo.
Upgrade nos cartazes de procurado do velho oeste
A polícia italiana prendeu recentemente Matteo Messina Denaro, o suposto líder da máfia siciliana que está foragido desde 1993. Para ajudar na busca, os Carabinieri divulgaram uma imagem envelhecida artificialmente para mostrar como ele pode ser agora.
Interessante, mas não relacionado
Por quê fundadores de startup mentem tanto
Como fundador que lida com fundadores, e investidor que falo com vários investidores posso afirmar, a pressão é grande para que até o mais puro dos fundadores comece a considerar dar aquela esticadinha na retórica.