Observar, entender, analisar e tentar reproduzir: esses comportamentos humanos são repetidos há milhões de anos, sempre que identificamos um fenômeno natural que cremos ser possível copiar. Fizemos isso com o fogo, quando percebemos que conseguíamos gerar faíscas a partir do atrito entre objetos. Fizemos isso com os aviões, a partir da análise da aerodinâmica de pássaros. E fazemos isso com as redes neurais artificiais, na intenção de reproduzir a inteligência natural, a humana.
Conforme contamos no post sobre inteligência artificial, desde a invenção dos computadores, cientistas acreditavam que máquinas seriam capazes de emular o pensamento humano. Contudo, como poderíamos emulá-lo se não sabíamos como ele realmente acontecia?
Pensar sobre o pensamento, mais especificamente, sobre entendimento, conhecimento e aprendizagem, é uma das buscas mais antigas da humanidade, perpassando diferentes ciências, conforme explicamos no texto sobre redes neurais. Siga com a gente neste texto para conhecer como, a partir do avanço na compreensão do funcionamento da mente, foi possível criar uma inteligência artificial!
No post sobre redes neurais, relembramos o conceito de “assembleias celulares”: grupos de neurônios que trabalham conjuntamente, como uma unidade de processamento. De acordo com Donald Hebb, que propôs a teoria, “assembleias” que são repetidamente ativadas geram mudanças estruturais ou metabólicas naquele conjunto de células, permitindo que a memória seja armazenada de forma estável. A partir daí, seria possível aprender.
Assim como nas redes neurais biológicas, as artificiais também partem do “neurônio”. O “artificial” foi criado em 1958 por Frank Rosenblatt e ganhou o nome de perceptron: um classificador linear que mapeia valores de entrada para um valor de saída.
O algoritmo perceptron calcula um valor de saída a partir de alguns valores de entrada sendo que estes tem pesos, que expressam a importância de cada valor de entrada. O cálculo que o perceptron faz é uma soma ponderada dos valores de entrada e leva em consideração um valor de viés, um termo constante que não depende dos valores de entrada.
O valor de saída de cada perceptron é necessariamente um dos valores de entrada de todos os perceptrons da camada seguinte. Nessa nova camada, os perceptrons fazem o mesmo cálculo, a soma ponderada dos valores anteriores, levando em consideração um valor de viés – e assim sucessivamente – até chegar ao valor final da rede neural artificial.
A rede neural artificial criada por Rosenblatt é um tipo de rede neural feedforward de camada única. Apesar de conseguir “tomar decisões”, ela possuía um aprendizado limitado. Lembremos que para aprender, a inteligência humana armazena de forma estável a memória em “assembleias celulares” e, ao repetir persistentemente a ativação dessas “assembleias”, há crescimento no volume de conexões e a formação de novas “assembleias”. Dizendo de outra forma, para que as redes neurais artificiais aprendessem de forma ampla, elas precisariam repetir a atividade e estabelecer novos conjuntos de conexões. O fluxo do cálculo não poderia apenas seguir em frente, ele deveria poder ser voltar para ser repetido e, a partir daí, possibilitar novas conexões criando novas “assembleias”.
Esse foi o problema resolvido com o algoritmo de retropropagação, descrito no artigo “Aprendizado de representações por meio da retropropagação de erros” de David Rumelhart, Geoffrey Hinton e Ronald Williams. O que o algoritmo viabiliza é que um sinal seja enviado para trás – ou “retropropagado” – pela rede, informando quanto e em qual direção cada perceptron contribuiu para o erro final. O sinal informa uma sensibilidade do erro, ou seja, quanto uma diferença de valores, seja nas entradas ou nos pesos, alteraria o valor de saída. Esse sinal é usado para calcular o ajuste dos pesos de cada conexão.
Com o algoritmo de retropropagação, redes neurais artificiais multicamadas começaram a apresentar resultados muito mais confiáveis, uma vez que havia uma previsão mais refinada para tratar erros e usar essa informação para proveito da própria rede. Consequentemente, era mais fácil para ela aprender.
Sendo assim, quanto maior a quantidade de camadas e quão mais profundas elas são, maiores são as capacidades de aprendizagem das redes neurais artificiais. Redes com quatro ou mais camadas podem conseguir realizar aprendizado profundo, o deep learning que nos acostumamos a ouvir.
Da primeira rede neural artificial com apenas uma camada – conhecida como “perceptron simples” -, evoluímos para redes neurais de múltiplas camadas, que conseguem processar aprendizado profundo.
Atualmente é comum categorizarmos as redes neurais por aplicação e funcionalidade. Vamos aos tipos mais usados:
Se você quer experimentar o poder das redes neurais artificiais na sua empresa, faça contato conosco para conhecer como integramos inteligência artificial em todas as nossas soluções. Clique aqui e fale com a gente!