Uma rede neural é um programa, ou modelo, de aprendizado de máquina que toma decisões de uma forma semelhante ao cérebro humano, utilizando processos que imitam a maneira como os neurônios biológicos trabalham juntos para identificar fenômenos, ponderar opções e chegar a conclusões.
Toda rede neural é composta por camadas de nós, ou neurônios artificiais: uma camada de entrada, uma ou mais camadas ocultas e uma camada de saída.
Cada nó se conecta a outros e possui seu próprio peso e limiar associados. Se a saída de qualquer nó individual estiver acima do valor de limiar especificado, esse nó será ativado, enviando dados para a próxima camada da rede. Caso contrário, nenhum dado é passado para a próxima camada.
As redes neurais dependem de dados de treinamento para aprender e melhorar sua precisão ao longo do tempo. Uma vez ajustadas para precisão, tornam-se ferramentas poderosas em ciência da computação e inteligência artificial, permitindo-nos classificar e agrupar dados com alta velocidade. Tarefas de reconhecimento de fala ou reconhecimento de imagens podem levar minutos em vez de horas quando comparadas à identificação manual por especialistas humanos. Um dos exemplos mais conhecidos de uma rede neural é o algoritmo de pesquisa do Google.
As redes neurais são algumas vezes chamadas de redes neurais artificiais (ANNs) ou redes neurais simuladas (SNNs). Elas são um subconjunto do aprendizado de máquina e estão no coração dos modelos de deep learning.
Boletim informativo do setor
Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.
Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.
Pense em cada nó individual como seu próprio modelo de regressão linear, composto por dados de entrada, pesos, um viés (ou limite) e uma saída. A fórmula ficaria mais ou menos assim:
∑wixi + bias = w1x1 + w2x2 + w3x3 + bias
output = f(x) = 1 if ∑w1x1 + b>= 0; 0 if ∑w1x1 + b < 0
Depois que uma camada de entrada é determinada, os pesos são atribuídos. Esses pesos ajudam a determinar a importância de qualquer variável, com os maiores contribuindo de forma mais significativa para a saída em comparação com outras entradas. Todas as entradas são então multiplicadas pelos seus respectivos pesos e somadas. Depois, a saída é processada por uma função de ativação, a qual determina o resultado final.
Se essa saída exceder um determinado limite, ela "dispara" (ou ativa) o nó, enviando dados para a próxima camada na rede. Isso faz com que a saída de um nó se torne a entrada do próximo nó. Esse processo de passagem de dados de uma camada para a próxima define essa rede neural como uma rede feedforward.
Vamos detalhar a aparência de um único nó usando valores binários. Podemos aplicar esse conceito a um exemplo mais tangível, como se você deve surfar (Sim: 1, Não: 0). A decisão de ir ou não ir é nosso resultado previsto, ou y-hat. Vamos supor que haja três fatores influenciando sua tomada de decisão:
Em seguida, vamos supor o seguinte, fornecendo as seguintes entradas:
Agora, precisamos atribuir alguns pesos para determinar a importância. Pesos maiores indicam que variáveis específicas são de maior importância para a decisão ou resultado.
Finalmente, também assumiremos um valor limite de 3, o que se traduziria em um valor de tendência de –3. Com todas as várias entradas, podemos começar a inserir valores na fórmula para obter a saída desejada.
Y-hat = (1*5) + (0*2) + (1*4) – 3 = 6
Se usarmos a função de ativação mencionada no início desta seção, podemos determinar que a saída deste nó seria 1, já que 6 é maior que 0. Neste caso, você iria surfar; mas se ajustarmos os pesos ou o limite, podemos obter resultados diferentes do modelo. Quando observamos uma decisão, como no exemplo acima, podemos ver como uma rede neural pode tomar decisões cada vez mais complexas, dependendo da saída de decisões ou camadas anteriores.
No exemplo acima, usamos perceptrons para ilustrar parte da matemática em jogo aqui, mas as redes neurais utilizam neurônios sigmoides, que se distinguem por terem valores entre 0 e 1. Como as redes neurais se comportam de forma semelhante às árvores de decisão, cascando dados de um nó para outro, ter valores de x entre 0 e 1 reduzirá o impacto de qualquer alteração em uma única variável na saída de um nó específico e, consequentemente, na saída da rede neural.
Conforme começamos a pensar em casos de uso mais práticos para redes neurais, como reconhecimento ou classificação de imagens, vamos aproveitar o aprendizado supervisionado, ou conjuntos de dados rotulados, para treinar o algoritmo. Ao treinarmos o modelo, desejamos avaliar sua precisão utilizando uma função de custo (ou perda). Isso também é comumente chamado de erro médio quadrado (MSE). Na equação abaixo,
𝐶𝑜𝑠𝑡 𝐹𝑢𝑛𝑐𝑡𝑖𝑜𝑛= 𝑀𝑆𝐸=1/2𝑚 ∑129_(𝑖=1)^𝑚▒(𝑦 ̂^((𝑖) )−𝑦^((𝑖) ) )^2
Em última análise, o objetivo é minimizar nossa função de custo para garantir a precisão do ajuste para qualquer observação dada. Conforme o modelo ajusta seus pesos e viés, ele utiliza a função de custo e o aprendizado por reforço para alcançar o ponto de convergência, ou o mínimo local. O processo pelo qual o algoritmo ajusta seus pesos é por meio do gradiente descendente, permitindo que o modelo determine a direção a tomar para reduzir os erros (ou minimizar a função de custo). Com cada exemplo de treinamento, os parâmetros do modelo se ajustam para convergir gradualmente para o mínimo.
Consulte esse artigo do IBM Developer para obter uma explicação mais detalhada dos conceitos quantitativos envolvidos nas redes neurais.
A maioria das redes neurais profundas é feedforward, o que significa que elas fluem em apenas uma direção, da entrada para a saída. No entanto, você também pode treinar seu modelo por meio de retropropagação; ou seja, movem-se na direção oposta da saída para a entrada. A retropropagação nos permite calcular e atribuir o erro associado a cada neurônio, permitindo ajustar e ajustar os parâmetros do(s) modelo(s) adequadamente.
As redes neurais podem ser classificadas em diferentes tipos, que são usados para diferentes propósitos. Embora esta não seja uma lista completa de tipos, os exemplos a seguir representam os tipos mais comuns de redes neurais que você encontrará para os casos de uso mais comuns:
O perceptron é a rede neural mais antiga, criada por Frank Rosenblatt em 1958.
As redes neurais de propagação direta, ou perceptrons de múltiplas camadas (MLPs), são o foco principal deste artigo. Elas são compostas por uma camada de entrada, uma ou mais camadas ocultas e uma camada de saída. Embora essas redes neurais também sejam frequentemente chamadas de MLPs, é importante notar que elas são na verdade compostas por neurônios sigmoides, não perceptrons, já que a maioria dos problemas do mundo real é não linear. Os dados geralmente são impulsionados nesses modelos para treiná-los, e eles são a base para visão computacional, processamento de linguagem natural e outras redes neurais.
As redes neurais convolucionais (CNNs) são semelhantes às redes de propagação direta, mas geralmente são utilizadas para reconhecimento de imagens, reconhecimento de padrões e/ou visão computacional. Essas redes utilizam princípios da álgebra linear, especialmente a multiplicação de matrizes, para identificar padrões dentro de uma imagem.
Redes neurais recorrentes (RNNs) são identificadas por seus loops de feedback. Esses algoritmos de aprendizado são aproveitados principalmente ao usar dados de séries temporais para fazer previsões sobre resultados futuros, como previsões do mercado de ações ou forecasting de vendas.
Deep Learning e redes neurais costumam ser usados de forma intercambiável em conversas, o que pode gerar confusão. Como resultado, vale ressaltar que o "deep" em deep learning se refere apenas à profundidade das camadas em uma rede neural. Uma rede neural que consiste em mais de três camadas, que incluiriam as entradas e a saída, pode ser considerada um algoritmo de deep learning. Uma rede neural que tem apenas duas ou três camadas é apenas uma rede neural básica.
Para saber mais sobre as diferenças entre redes neurais e outras formas de inteligência artificial, como aprendizado de máquina, leia o artigo no blog “AI vs. Machine Learning vs. Deep Learning vs. Neural Networks: What’s the Difference?”
A história das redes neurais é mais longa do que a maioria das pessoas pensa. Embora a concepção de "uma máquina pensante" remonte aos tempos da Grécia Antiga, vamos focar nos eventos-chave que levaram à evolução do pensamento sobre redes neurais, cuja popularidade tem variado ao longo dos anos:
1943: Warren S. McCulloch and Walter Pitts published “A logical calculus of the ideas immanent in nervous activity” Essa pesquisa buscou entender como o cérebro humano poderia produzir padrões complexos por meio de células cerebrais conectadas, ou neurônios. Uma das principais ideias que surgiram desse trabalho foi a comparação de neurônios com um limite binário com a lógica booleana (ou seja, 0/1 ou afirmações verdadeiras/falsas).
1958: Frank Rosenblatt é creditado com o desenvolvimento do perceptron, documentado em sua pesquisa, "The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain". Ele leva o trabalho de McCulloch e Pitt um passo adiante, introduzindo pesos na equação. Utilizando um IBM 704, Rosenblatt conseguiu fazer com que um computador aprendesse a distinguir as cartas marcadas à esquerda das cartas marcadas à direita.
1974: Embora vários pesquisadores tenham contribuído para a ideia de retropropagação, Paul Werbos foi a primeira pessoa nos EUA a notar sua aplicação dentro de redes neurais dentro de sua tese de doutorado.
1989: Yann LeCun publicou um artigo ilustrando como o uso de restrições na retropropagação e sua integração à arquitetura de rede neural pode ser usado para treinar algoritmos. Esta pesquisa conseguiu aproveitar com sucesso uma rede neural para reconhecer dígitos de códigos postais escritos à mão fornecidos pelo Serviço Postal dos EUA.
Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.
Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.
Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.