Eu quero usar o aprendizado profundo no meu projeto. Examinei alguns artigos e me ocorreu uma pergunta: existe alguma diferença entre rede neural de convolução e aprendizado profundo? Essas coisas são iguais ou existem grandes diferenças e qual é a melhor?
machine-learning
neural-networks
deep-learning
terminology
conv-neural-network
Aadnan Farooq A
fonte
fonte
Respostas:
O Deep Learning é o ramo do Machine Learning baseado em redes neurais profundas (DNNs), que significa redes neurais com pelo menos 3 ou 4 camadas (incluindo as camadas de entrada e saída). Mas para algumas pessoas (especialmente não técnicas), qualquer rede neural se qualifica como Deep Learning, independentemente de sua profundidade. E outros consideram uma rede neural de 10 camadas como superficial.
As redes neurais convolucionais (CNNs) são uma das arquiteturas de redes neurais mais populares. Eles são extremamente bem-sucedidos no processamento de imagens, mas também para muitas outras tarefas (como reconhecimento de fala, processamento de linguagem natural e muito mais). As CNNs de ponta são bastante profundas (pelo menos dezenas de camadas), portanto fazem parte do Deep Learning. Mas você pode criar uma CNN rasa para uma tarefa simples, caso em que não é (realmente) Deep Learning.
Mas as CNNs não estão sozinhas, existem muitas outras arquiteturas de redes neurais por aí, incluindo Redes Neurais Recorrentes (RNN), Autoencoders, Transformers, Deep Belief Nets (DBN = uma pilha de Máquinas Boltzmann Restritas, RBM) e muito mais. Eles podem ser rasos ou profundos. Nota: mesmo RNNs rasos podem ser considerados parte do Deep Learning, pois treiná-los exige que eles sejam desenrolados ao longo do tempo, resultando em uma rede profunda.
fonte
Dentro dos campos de processamento adaptativo de sinais / aprendizado de máquina, o aprendizado profundo (DL) é uma metodologia específica na qual podemos treinar representações complexas de máquinas.
Geralmente, eles terão uma formulação que pode mapear sua entrada , até o objetivo de destino, y , por meio de uma série de operações empilhadas hierarquicamente (é daí que vem o 'profundo'). Essas operações são tipicamente operações / projeções lineares ( W i ), seguidas de não linearidades ( f i ), como:x y WEu fEu
Agora, dentro da DL, existem muitas arquiteturas diferentes : uma dessas arquiteturas é conhecida como rede neural convolucional (CNN). Outra arquitetura é conhecida como perceptron de múltiplas camadas (MLP) etc. Diferentes arquiteturas se prestam à solução de diferentes tipos de problemas.
Um MLP é talvez um dos tipos mais tradicionais de arquiteturas de DL que podemos encontrar, e é quando todos os elementos de uma camada anterior são conectados a todos os elementos da próxima camada. Se parece com isso:
Os MLPs caíram em desuso, em parte porque eram difíceis de treinar. Embora existam muitas razões para essas dificuldades, uma delas também ocorreu porque suas densas conexões não permitiram que elas se dimensionassem facilmente para vários problemas de visão computacional. Em outras palavras, eles não possuíam equivalência de tradução incorporada. Isso significava que, se houvesse um sinal em uma parte da imagem à qual eles precisavam ser sensíveis, eles precisariam reaprender a ser sensíveis a ela se esse sinal se moveu. Isso desperdiçou a capacidade da rede e, portanto, o treinamento ficou difícil.
Foi aqui que as CNNs entraram! Aqui está o que se parece:
É comum ver "CNNs" se referir a redes nas quais temos camadas convolucionais em toda a rede e MLPs no final, de modo que essa é uma ressalva a ser observada.
fonte
Aprendizagem profunda = redes neurais artificiais profundas + outro tipo de modelos profundos .
Redes neurais artificiais profundas = redes neurais artificiais com mais de uma camada. (veja o número mínimo de camadas em uma rede neural profunda ou na Wikipedia para mais debates ...)
Rede Neural de Convolução = Um tipo de rede neural artificial
fonte
Este slide de Yann LeCun destaca que apenas os modelos com uma hierarquia de recursos (recursos de nível inferior são aprendidos em uma camada de um modelo e, em seguida, esses recursos são combinados no próximo nível) são profundos .
Uma CNN pode ser profunda ou superficial; nesse caso, depende se segue essa construção da "hierarquia de recursos" porque certas redes neurais, incluindo modelos de duas camadas , não são profundas.
fonte
Deep learning
é um termo geral para lidar com uma rede neural complicada com várias camadas. Não existe uma definição padrão do que exatamente édeep
. Geralmente, você pode pensar que uma rede profunda é algo muito grande para o seu laptop e PC treinar. O conjunto de dados seria tão grande que você não pode ajustá-lo à sua memória. Você pode precisar de GPU para acelerar seu treinamento.Deep
é mais um termo de marketing para fazer com que algo pareça mais profissional do que o contrário.CNN
é um tipo de rede neural profunda e existem muitos outros tipos. As CNNs são populares porque possuem aplicativos muito úteis para o reconhecimento de imagens.fonte