Neural network: O que são redes neurais artificiais
O grande sonho de cientistas da computação está, aos poucos, se tornando realidade: computadores com habilidades de aprendizado similares a de seres humanos já estão em processo de desenvolvimento. Pesquisas sobre inteligência artificial deram um enorme salto nos últimos anos. As redes neurais, ou neural network, são uma das tecnologias usadas para fazer com que máquinas “pensem” de forma independente.
Definição de neural network
Neural network é um ramo de pesquisa das ciências da computação e da neuroinformática. Existem diversos tipos de redes neurais artificiais e cada um possibilita processar informações de maneira diferente.
Neural network, ou redes neurais, são um sistema de tecnologia da informação criado com base no funcionamento do cérebro humano, fornecendo características de inteligência artificial a computadores.
Uma das características primordiais das redes neurais é que elas possibilitam que computadores solucionem problemas e aprimorem suas habilidades de maneira autônoma. As redes neurais podem ou não precisar ser treinadas por humanos num primeiro momento. Tudo dependendo do método de inteligência artificial utilizado.
Como funcionam as redes neurais?
O funcionamento das redes neurais é baseado na forma como o cérebro humano processa informações: por meio de redes de neurônios. Assista ao vídeo que esquematiza uma neural network:
Redes neurais artificiais podem ser descritas como modelos de duas ou mais camadas, sendo uma camada de entrada e uma camada de saída. Podem ser inseridas mais camadas entre essas duas (camadas ocultas, ou hidden layers). Quanto mais complexo for o problema a ser resolvido por uma rede neural artificial, mais camadas serão necessárias. Em cada uma delas existirão diversos neurônios artificiais especializados.
Processamento de informações nas redes neurais
O processamento de informações em uma rede neural ocorre sempre da mesma forma: informações chegam como modelos ou sinais nos neurônios da camada de entrada, onde começa o processamento. Nesse local, um peso é atribuído a cada neurônio, ou seja, cada neurônio recebe um nível de importância diferente. O peso e a função de transferência determinam juntos a entrada que será transmitida.
Uma função de ativação e um valor limite (threshold) calculam e ponderam o valor de saída do neurônio. Conforme o valor e o peso da informação, outros neurônios são vinculados ou ativados, em maior ou menor intensidade.
A vinculação e a ponderação calculam um algoritmo, que gera um resultado para cada entrada. A cada treinamento a ponderação e, consequentemente, o algoritmo são aprimorados e adaptados, para que forneçam resultados cada vez melhores e mais precisos.
Exemplos de redes neurais
Redes neurais podem ser usadas para o reconhecimento de imagens. Contudo, ao contrário dos humanos, um computador não consegue dizer, de primeira, se uma imagem mostra uma pessoa, uma planta ou um objeto qualquer. Antes, ele precisa examinar a imagem, em busca de características individuais. O computador determina quais características analisar usando o algoritmo implementado ou por meio da análise de dados.
Em um primeiro momento, os resultados podem conter erros. Porém, ao receberem feedbacks ou serem treinadas por humanos, redes neurais aprimoram seu algoritmo. Esse processo é chamado de machine learning. Já no deep learning, não é necessário qualquer treinamento humano, já que o sistema aprende com as próprias experiências. Assim, quanto mais imagens ele tiver à disposição, mais preciso ele se tornará.
O ideal é aprimorar um algoritmo até que ele possa identificar, sem erros, o conteúdo de imagens, independentemente de elas serem em preto e branco ou estarem em perspectivas diferentes, por exemplo.
Tipos de redes neurais
As redes neurais podem ser elaboradas com diferentes estruturas, a depender dos seus processos de aprendizagem e das suas finalidades.
Perceptron
O modelo perceptron representa a forma mais simples de uma neural network: uma rede com somente um neurônio, que se altera com base nas ponderações e no valor limite. Atualmente, o termo perceptron também é usado para designar redes neurais feedforward de camada única.
Feedforward
Esse tipo de neural network processa informações somente em uma direção, ou seja, linearmente. Ela pode ter uma camada única ou possuir diversas camadas ocultas.
Redes recorrentes
Nas redes recorrentes, as informações também podem percorrer ciclos de feedback e voltar para camadas anteriores. A retroalimentação permite que o sistema constitua memória. Exemplos de áreas onde redes recorrentes são utilizadas são no reconhecimento de voz, em traduções e no reconhecimento de escrita à mão.
Redes neurais convolucionais
Essas redes neurais são um subtipo das redes neurais de múltiplas camadas. Elas são compostas de pelo menos cinco camadas. Cada uma realiza o reconhecimento de um padrão, encaminhando o resultado para a próxima. Esse tipo de rede neural é utilizado no reconhecimento de imagens.
Processos de aprendizagem
Para que as redes neurais artificiais sejam capazes de estabelecer conexões adequadas, processar informações corretamente e resolver tarefas, primeiro elas precisam ser treinadas. Esse treinamento pode ser feito de duas formas.
Aprendizagem monitorada
Na aprendizagem monitorada, um resultado específico é predefinido para cada uma das diferentes opções de entrada. Se um sistema estiver sendo treinado para reconhecer fotos de gatos, por exemplo, humanos monitoram a categorização feita pela máquina e avaliam se as imagens foram reconhecidas corretamente ou não. Assim, ponderações são modificadas e o algoritmo é otimizado.
Aprendizagem não monitorada
Na aprendizagem não monitorada, o resultado das tarefas que a rede neural deve resolver não é predefinido. Ao invés disso, o sistema aprende exclusivamente com as informações de entrada. Esse aprendizado ocorre conforme a Lei de Hebb e a Teoria da Ressonância Adaptativa.
Aplicações de redes neurais
As redes neurais são especialmente úteis para avaliar grandes quantidades de dados, quando há pouco conhecimento sistemático disponível para encontrar soluções. Aplicações clássicas são feitas nas áreas de reconhecimento de texto, imagem e voz. Nestes casos, computadores examinam dados à procura de determinadas características, para categorizá-los.
As redes neurais artificiais também podem ser usadas em previsões e simulações, por exemplo, na previsão do tempo, em diagnósticos médicos ou em mercados de ações. No setor industrial, redes neurais às vezes são utilizadas na área de engenharia de sistemas de controle. Elas monitoram valores ideais e, em caso de desvio, implementam automaticamente medidas corretivas. As redes neurais também podem ser usadas para determinar de maneira independente os valores ideais para máquinas, com base em avaliações de dados das próprias máquinas.
Os desenvolvimentos na área de aprendizagem não monitorada de redes neurais artificiais estão ampliando significativamente as áreas de utilização e a capacidade dessas redes. Os casos mais conhecidos de redes neurais de aprendizagem não monitorada são assistentes virtuais como Alexa, Siri e Google Assistant.
- Uma plataforma para os modelos de IA mais avançados
- Preços justos e transparentes baseados em tokens
- Sem dependência de fornecedor com código aberto
História e perspectivas para o futuro
O termo neural network ganhou maior visibilidade no que diz respeito à inteligência artificial nos últimos dez anos, apesar dessa tecnologia base já existir há várias décadas.
Os primeiros estudos sobre redes neurais artificiais foram elaborados no início da década de 1940. Nessa época, Warren McCulloch e Walter Pitts descreveram um modelo com funcionamento baseado no cérebro humano, capaz de unir unidades elementares. Esse modelo deveria conseguir calcular praticamente qualquer função aritmética. Em 1949, Donald Hebb postulou a Lei de Hebb, que ainda hoje é utilizada.
Em 1960 foi desenvolvida uma rede neural mundialmente utilizada para fins comerciais, com a função de filtrar ecos em telefones analógicos. Depois disso, pesquisas nessa área ficaram estagnadas, porque cientistas pioneiros chegaram à conclusão de que o modelo das redes neurais não seria capaz de resolver problemas importantes. Além disso, a eficácia da aprendizagem do sistema requeria uma imensa quantidade de dados digitais, indisponíveis à época. Somente após o surgimento do big data, estudos sobre neural network voltaram a progredir. Hoje, o interesse em inteligência artificial e no desenvolvimento de redes neurais está com força total.
Desenvolvimentos na área de redes neurais evoluem com enorme rapidez. Mas, mesmo que os resultados sejam promissores, as redes neurais não são a única tecnologia que permite implementar inteligência artificial em computadores. Elas são apenas uma das possibilidades, senão a principal, mesmo que muitas vezes sejam apresentadas como a única opção viável pelo debate público.