7 tipos de redes neurais em inteligência artificial explicados

Publicados: 2020-12-29

Redes neurais são um subconjunto de técnicas de aprendizado de máquina que aprendem os dados e padrões de uma maneira diferente, utilizando neurônios e camadas ocultas. As Redes Neurais são muito mais poderosas devido à sua estrutura complexa e podem ser usadas em aplicações onde os algoritmos tradicionais de Machine Learning simplesmente não são suficientes.

Ao final deste tutorial, você terá o conhecimento de:

  • Uma breve história das Redes Neurais
  • O que são Redes Neurais
  • Tipos de Redes Neurais
  1. Perceptron
  2. Redes de feed-forward
  3. Perceptron de várias camadas
  4. Redes Radiais
  5. Redes Neurais Convolucionais
  6. Redes Neurais Recorrentes
  7. Redes de memória de longo prazo

Índice

Uma Breve História das Redes Neurais

Pesquisadores dos anos 60 vêm pesquisando e formulando maneiras de imitar o funcionamento dos neurônios humanos e como o cérebro funciona. Embora seja extremamente complexo para decodificar, foi proposta uma estrutura semelhante que poderia ser extremamente eficiente no aprendizado de padrões ocultos em Dados.

Durante a maior parte do século 20, as Redes Neurais foram consideradas incompetentes. Eles eram complexos e seu desempenho era ruim. Além disso, eles exigiam muito poder de computação que não estava disponível na época. No entanto, quando a equipe de Sir Geoffrey Hinton, também apelidado de “O Pai do Aprendizado Profundo”, publicou o trabalho de pesquisa sobre retropropagação, as coisas viraram completamente. As Redes Neurais agora podiam alcançar o que não era pensado.

O que são Redes Neurais?

As Redes Neurais usam a arquitetura de neurônios humanos que possuem múltiplas entradas, uma unidade de processamento e saídas simples/múltiplas. Existem pesos associados a cada conexão de neurônios. Ao ajustar esses pesos, uma rede neural chega a uma equação que é usada para prever saídas em novos dados não vistos. Este processo é feito por retropropagação e atualização dos pesos.

Tipos de Redes Neurais

Diferentes tipos de redes neurais são usados ​​para diferentes dados e aplicações. As diferentes arquiteturas de redes neurais são projetadas especificamente para funcionar nesses tipos específicos de dados ou domínios. Vamos começar pelos mais básicos e ir para os mais complexos.

Perceptron

O Perceptron é a forma mais básica e mais antiga de redes neurais. Consiste em apenas 1 neurônio que recebe a entrada e aplica a função de ativação para produzir uma saída binária. Ele não contém nenhuma camada oculta e só pode ser usado para tarefas de classificação binária.

O neurônio faz o processamento de adição de valores de entrada com seus pesos. A soma resultante é então passada para a função de ativação para produzir uma saída binária.

Fonte da imagem

Saiba mais sobre: ​​Deep Learning vs Redes Neurais

Rede de feed-forward

As redes Feed Forward (FF) consistem em vários neurônios e camadas ocultas que são conectadas entre si. Estes são chamados de “feed-forward” porque os dados fluem apenas na direção direta e não há propagação para trás. As camadas ocultas podem não estar necessariamente presentes na rede, dependendo do aplicativo.

Mais o número de camadas mais pode ser a personalização dos pesos. E, portanto, maior será a capacidade da rede de aprender. Os pesos não são atualizados porque não há retropropagação. A saída da multiplicação de pesos com as entradas é alimentada à função de ativação que atua como um valor limite.

As redes FF são usadas em:

  • Classificação
  • Reconhecimento de fala
  • Reconhecimento facial
  • Reconhecimento de padrões

Fonte da imagem

Perceptron de várias camadas

A principal deficiência das redes Feed Forward foi sua incapacidade de aprender com retropropagação. Perceptrons de várias camadas são as redes neurais que incorporam várias camadas ocultas e funções de ativação. O aprendizado ocorre de forma Supervisionada onde os pesos são atualizados por meio de Descida de Gradiente.

O Perceptron multicamada é bidirecional, ou seja, a propagação para frente das entradas e a propagação para trás das atualizações de peso. As funções de ativação podem ser alteradas em relação ao tipo de alvo. Softmax é geralmente usado para classificação multiclasse, Sigmoid para classificação binária e assim por diante. Essas também são chamadas de redes densas porque todos os neurônios de uma camada estão conectados a todos os neurônios da próxima camada.

Eles são usados ​​em aplicativos baseados em Deep Learning, mas geralmente são lentos devido à sua estrutura complexa.

Fonte da imagem

Redes de base radial

Redes de base radial (RBN) usam uma maneira completamente diferente de prever os alvos. Consiste em uma camada de entrada, uma camada com neurônios RBF e uma saída. Os neurônios RBF armazenam as classes reais para cada uma das instâncias de dados de treinamento. O RBN é diferente do perceptron multicamada usual por causa da Função Radial usada como função de ativação.

Quando os novos dados são alimentados na rede neural, os neurônios RBF comparam a distância euclidiana dos valores das características com as classes reais armazenadas nos neurônios. Isso é semelhante a descobrir a qual cluster a instância específica pertence. A classe onde a distância é mínima é designada como classe prevista.

Os RBNs são usados ​​principalmente em aplicações de aproximação de funções como sistemas de restauração de energia.

Fonte da imagem

Leia também : Aplicações de rede neural no mundo real

Redes Neurais Convolucionais

Quando se trata de classificação de imagens, as redes neurais mais utilizadas são as Redes Neurais de Convolução (CNN). CNN contém várias camadas de convolução que são responsáveis ​​pela extração de características importantes da imagem. As camadas anteriores são responsáveis ​​por detalhes de baixo nível e as camadas posteriores são responsáveis ​​por mais recursos de alto nível.

A operação Convolution usa uma matriz personalizada, também chamada de filtros, para convoluir sobre a imagem de entrada e produzir mapas. Esses filtros são inicializados aleatoriamente e atualizados via retropropagação. Um exemplo de tal filtro é o Canny Edge Detector, que é usado para encontrar as bordas em qualquer imagem.

Após a camada de convolução, existe uma camada de pooling que é responsável pela agregação dos mapas produzidos a partir da camada de convolução. Pode ser Max Pooling, Min Pooling, etc. Para regularização, as CNNs também incluem uma opção para adicionar camadas de dropout que eliminam ou tornam certos neurônios inativos para reduzir o overfitting e a convergência mais rápida.

As CNNs usam ReLU (Rectified Linear Unit) como funções de ativação nas camadas ocultas. Como última camada, as CNNs possuem uma camada densa totalmente conectada e a ativação funciona principalmente como Softmax para classificação e principalmente ReLU para regressão.

Fonte da imagem

Redes Neurais Recorrentes

Redes neurais recorrentes entram em cena quando há necessidade de previsões usando dados sequenciais. Os dados sequenciais podem ser uma sequência de imagens, palavras, etc. A RNN tem uma estrutura semelhante à de uma Rede Feed-Forward, exceto que as camadas também recebem uma entrada temporizada da predição da instância anterior. Essa previsão de instância é armazenada na célula RNN, que é uma segunda entrada para cada previsão.

No entanto, a principal desvantagem do RNN é o problema do Vanishing Gradient, que torna muito difícil lembrar os pesos das camadas anteriores.

Fonte da imagem

Redes de memória de longo prazo

As redes neurais LSTM superam o problema do Vanishing Gradient em RNNs adicionando uma célula de memória especial que pode armazenar informações por longos períodos de tempo. O LSTM usa portas para definir qual saída deve ser usada ou esquecida. Ele usa 3 portas: porta de entrada, porta de saída e uma porta de esquecimento. A porta de entrada controla o que todos os dados devem ser mantidos na memória. A porta de saída controla os dados fornecidos à próxima camada e a porta de esquecimento controla quando despejar/esquecer os dados não necessários.

LSTMs são usados ​​em várias aplicações, tais como:

  • Reconhecimento de gestos
  • Reconhecimento de fala
  • Previsão de texto

Antes de você ir

As redes neurais podem se tornar muito complexas em pouco tempo se você continuar adicionando camadas na rede. Há momentos em que podemos alavancar a imensa pesquisa neste campo usando redes pré-treinadas para nosso uso.

Isso se chama Transferência de Aprendizagem. Neste tutorial, abordamos a maioria das redes neurais básicas e seu funcionamento. Certifique-se de experimentá-los usando as estruturas de Deep Learning, como Keras e Tensorflow.

Se você estiver interessado em saber mais sobre rede neural, aprendizado de máquina e IA, confira o Diploma PG do IIIT-B e do upGrad em aprendizado de máquina e IA, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições, status de ex-alunos do IIIT-B, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.

O que são redes neurais?

As redes neurais são modelos probabilísticos que podem ser usados ​​para realizar classificação e regressão não linear, o que significa aproximar um mapeamento do espaço de entrada para o espaço de saída. O interessante sobre as redes neurais é que elas podem ser treinadas com muitos dados e podem ser usadas para modelar comportamentos não lineares complexos. Eles podem ser treinados com muitos exemplos e podem ser usados ​​para encontrar padrões sem qualquer orientação. Assim, as redes neurais são usadas em muitas aplicações onde há aleatoriedade e complexidade.

Quais são as 3 principais categorias de redes neurais?

Uma rede neural é uma abordagem computacional para a aprendizagem, análoga ao cérebro. Existem três categorias principais de redes neurais. Classificação, aprendizado de sequência e aproximação de função são as três principais categorias de redes neurais. Existem muitos tipos de redes neurais, como Perceptron, Hopfield, mapas auto-organizáveis, máquinas de Boltzmann, redes de crenças profundas, codificadores automáticos, redes neurais convolucionais, máquinas de Boltzmann restritas, redes neurais de valor contínuo, redes neurais recorrentes e redes de links funcionais.

Quais são as limitações das redes neurais?

As redes neurais podem resolver problemas que possuem um grande número de entradas e um grande número de saídas. Mas também há limites para as redes neurais. As redes neurais são usadas principalmente para classificação. Eles têm um desempenho muito ruim para regressão. E este é um ponto muito importante: as redes neurais precisam de muitos dados de treinamento. Se o conjunto de dados for pequeno, as redes neurais não poderão aprender as regras subjacentes. Outra limitação das redes neurais é que elas são caixas pretas. Eles não são transparentes. A estrutura interna de uma rede neural não é fácil de entender.