Boa pergunta: observe que no campo da Aprendizagem Profunda as coisas nem sempre são tão bem definidas e claramente definidas como na Aprendizagem Estatística (também porque há muito hype), portanto, não espere encontrar definições tão rigorosas quanto na Matemática. De qualquer forma, o perceptron de multicamadas é uma arquitetura de rede neural de feed-forward específica, onde você empilha várias camadas totalmente conectadas (portanto, nenhuma camada de convolução), onde as funções de ativação das unidades ocultas geralmente são sigmóides ou tanh. Os nós da camada de saída geralmente têm funções de ativação softmax (para classificação) ou funções de ativação linear (para regressão). As arquiteturas típicas do MLP não são "profundas", ou seja, não temos muitas camadas ocultas. Você costuma ter, digamos, 1 a 5 camadas ocultas. Essas redes neurais eram comuns nos anos 80,
Agora, com Deep Neural Network, queremos dizer uma rede que tem muitas camadas (19, 22, 152, ... até 1200 , embora isso seja reconhecidamente muito extremo). Observe que
- não especificamos a arquitetura da rede; portanto, isso pode ser feed-forward, recorrente etc.
- não especificamos a natureza das conexões, para que pudéssemos ter camadas totalmente conectadas, camadas convolucionais, recorrência etc.
- "muitas" camadas reconhecidamente não é uma definição rigorosa.
⇒ 32 × 32 + 32 × 10 = 1344⇒ 11584pesos. Este é um NN minúsculo para os padrões atuais. No entanto, quando você o treina em um conjunto de dados adequadamente grande, descobre que a taxa de convergência diminuiu tremendamente. Isso não se deve apenas ao maior número de pesos, mas ao problema do gradiente de fuga - a propagação de retorno calcula o gradiente da função de perda multiplicando erros em cada camada, e esses pequenos números se tornam exponencialmente menores quanto mais camadas você adicionar. Portanto, os erros não se propagam (ou se propagam muito lentamente) na sua rede e parece que o erro no conjunto de treinamento para de diminuir com as épocas do treinamento.
E essa era uma rede pequena - as Redes Neurais Convolucionais profundas chamadas AlexNet tinham 5 camadas, mas 60 milhões de pesos, e são consideradas pequenas pelos padrões de hoje! Quando você tem tantos pesos, qualquer conjunto de dados é "pequeno" - até o ImageNet, um conjunto de dados usado para classificação, possui "apenas" cerca de 1 milhão de imagens, portanto, o risco de sobreajuste é muito maior do que para redes rasas.
O Deep Learning pode, portanto, ser entendido como o conjunto de ferramentas usadas na prática para treinar redes neurais com um grande número de camadas e pesos, obtendo baixo erro de generalização. Essa tarefa apresenta mais desafios do que para redes menores. Você pode definitivamente criar um Deep Multi-Layer Perceptron e treiná-lo - mas (além do fato de não ser a arquitetura ideal para muitas tarefas em que o Deep Learning é usado hoje em dia), você provavelmente usará ferramentas diferentes daquelas usadas quando as redes costumavam ser "raso". Por exemplo, você pode preferir as unidades de ativação ReLU a sigmoid ou tanh, porque suavizam o problema de gradiente de fuga.