CNNs e RNNs apresentam métodos de extração:
CNNs tendem a extrair características espaciais. Suponha que tenhamos um total de 10 camadas de convolução empilhadas umas sobre as outras. O kernel da 1ª camada extrairá recursos da entrada. Esse mapa de recursos é então usado como uma entrada para a próxima camada de convolução, que novamente produz um mapa de recursos a partir do seu mapa de recursos de entrada.
Da mesma forma, os recursos são extraídos nível a nível da imagem de entrada. Se a entrada for uma imagem pequena de 32 * 32 pixels, definitivamente precisaremos de menos camadas de convolução. Uma imagem maior de 256 * 256 terá uma complexidade comparativamente maior de recursos.
RNNs são extratores de recursos temporais, pois mantêm uma memória das ativações da camada anterior. Eles extraem recursos como um NN, mas os RNNs lembram os recursos extraídos nos timesteps. Os RNNs também podem se lembrar de recursos extraídos via camadas de convolução. Como eles mantêm um tipo de memória, eles persistem em recursos de tempo / tempo.
Em caso de classificação do eletrocardiograma:
Com base nos papéis que você lê, parece que,
Os dados de ECG podem ser facilmente classificados usando características temporais com a ajuda de RNNs. Recursos temporais estão ajudando o modelo a classificar os ECGs corretamente. Portanto, o uso de RNNs é menos complexo.
As CNNs são mais complexas porque,
Os métodos de extração de recursos usados pelas CNNs levam a esses recursos que não são poderosos o suficiente para reconhecer ECGs de forma exclusiva. Portanto, é necessário um número maior de camadas de convolução para extrair esses recursos menores para uma melhor classificação.
Finalmente,
Um recurso forte fornece menos complexidade ao modelo, enquanto um recurso mais fraco precisa ser extraído com camadas complexas.
Isso ocorre porque os RNNs / LSTMs são mais difíceis de treinar se forem mais profundos (devido a problemas de fuga do gradiente) ou porque os RNNs / LSTMs tendem a superestimar rapidamente os dados sequenciais?
Isso pode ser tomado como uma perspectiva de pensamento. As LSTM / RNNs são propensas a sobreajuste, em que uma das razões pode estar desaparecendo do problema de gradiente, conforme mencionado por @Ismael EL ATIFI nos comentários.
Agradeço a @Ismael EL ATIFI pelas correções.
Sobre o número de camadas
O motivo pode ser entendido observando a arquitetura de uma CNN e de um LSTM e como ele pode operar com dados de séries temporais. Mas devo dizer que o número de camadas é algo que depende muito do problema que você está tentando resolver. Você pode resolver uma classificação de ECG usando poucas camadas LSTM, mas para o reconhecimento de atividades de vídeos, você precisará de mais camadas.
Colocando isso de lado, veja como uma CNN e um LSTM podem processar um sinal de série temporal. Um sinal muito simples, onde após três ciclos positivos você obtém um ciclo negativo.
Para uma CNN ver esse padrão simples, são necessárias 4 camadas neste exemplo. Quando uma CNN processa uma entrada de série temporal, as saídas de convolução não conhecem as saídas anteriores (ou seja, elas não estão conectadas). No entanto, um LSTM pode fazer isso usando apenas uma camada, pois pode lembrar de padrões temporais em etapas de até 100s. Como uma saída é baseada na entrada atual e nas entradas anteriores que o modelo viu.
Não estou dizendo que esse é o único motivo, mas é provavelmente um dos principais fatores pelos quais as CNNs exigem mais camadas e os LSTMs não exigem dados de séries temporais.
Sobre o desaparecimento de gradientes e ajuste excessivo
É provável que o gradiente de fuga se torne um problema em uma única camada do que em várias camadas. Ou seja, ao processar muitas etapas seqüenciais, o conhecimento sobre as primeiras etapas provavelmente desaparecerá. E não creio que os modelos sequenciais possam se superestimar nos dados de séries temporais se você os regularizar corretamente. Portanto, essa escolha é provavelmente mais influenciada pela arquitetura / recursos dos modelos do que pelo gradiente de fuga ou sobreajuste.
fonte
Vejo duas razões possíveis pelas quais uma RNN pode precisar de menos camadas que uma CNN para alcançar o mesmo desempenho:
- As camadas RNN são geralmente camadas totalmente conectadas que têm mais parâmetros que uma camada convolucional.
- uma RNN possui alguns componentes que permitem combinar entradas por multiplicação, diferentemente de uma CNN que só pode combinar entradas por adição ponderada. Assim, a capacidade multiplicativa da RNN lhe dá mais "poder" para calcular recursos. A CNN precisaria de muitas camadas para "imitar" essa capacidade multiplicativa.
fonte