Entendo as camadas convolucionais e de pool, mas não vejo o motivo de uma camada totalmente conectada nas CNNs. Por que a camada anterior não está diretamente conectada à camada de saída?
19
Entendo as camadas convolucionais e de pool, mas não vejo o motivo de uma camada totalmente conectada nas CNNs. Por que a camada anterior não está diretamente conectada à camada de saída?
A saída das camadas convolucionais representa recursos de alto nível nos dados. Embora essa saída possa ser achatada e conectada à camada de saída, adicionar uma camada totalmente conectada é uma maneira (geralmente) barata de aprender combinações não lineares desses recursos.
Essencialmente, as camadas convolucionais estão fornecendo um espaço de característica significativo, de baixa dimensão e de certa forma invariável, e a camada totalmente conectada está aprendendo uma função (possivelmente não linear) nesse espaço.
NOTA: É trivial converter de camadas FC para camadas Conv. A conversão dessas camadas superiores do FC em camadas Conv pode ser útil, conforme descrito nesta página.
Encontrei esta resposta de Anil-Sharma no Quora útil.
Podemos dividir toda a rede (para classificação) em duas partes:
Extração de recursos : nos algoritmos de classificação convencionais, como os SVMs, costumávamos extrair recursos dos dados para fazer a classificação funcionar. As camadas convolucionais estão servindo ao mesmo propósito de extração de recursos. As CNNs capturam uma melhor representação dos dados e, portanto, não precisamos fazer engenharia de recursos.
Classificação : Após a extração do recurso, precisamos classificar os dados em várias classes, isso pode ser feito usando uma rede neural totalmente conectada (FC). No lugar de camadas totalmente conectadas, também podemos usar um classificador convencional como o SVM. Mas geralmente acabamos adicionando camadas FC para tornar o modelo de ponta a ponta treinável.
fonte