Eu sei que uma arquitetura de rede neural é baseada principalmente no problema em si e nos tipos de entrada / saída, mas ainda assim - sempre existe um "quadrado" ao começar a construir um. Portanto, minha pergunta é - dado um conjunto de dados de entrada MxN (M é o número de registros, N é o número de recursos) e uma possível classe de saída C - existe uma regra geral para quantas camadas / unidades devemos começar?
neural-network
abalado
fonte
fonte
Respostas:
Esta pergunta foi respondida em detalhes no CrossValidated: Como escolher o número de camadas e nós ocultos em uma rede neural feedforward?
No entanto, deixe-me adicionar meus próprios dois centavos:
Não existe uma regra mágica para escolher a melhor arquitetura de rede neural, mas se você puder encontrar uma arquitetura usada por alguém para resolver um problema semelhante, esse é geralmente um excelente ponto de partida.
Os melhores lugares para procurar são exemplos oficiais ou não oficiais usando bibliotecas de redes neurais populares, como Keras, PyTorch ou Tensorflow, e arquiteturas descritas na literatura acadêmica. keras / examples no github é um ótimo recurso.
Essas arquiteturas provavelmente foram escolhidas após várias tentativas e erros; portanto, a maior parte do trabalho será realizada por você.
fonte
Li um artigo explorando a idéia de usar redes neurais para projetar outras redes neurais, explorando qual configuração de nós e camadas era a mais eficiente. Aqui está a página onde você pode baixar um PDF https://arxiv.org/abs/1611.02120
fonte
Após a resposta de @ Imran, encontrei este artigo em um dos comentários do post CrossValidated ao qual ele vinculou. Além de uma tentativa de encontrar a arquitetura correta usando Modelos Genéticos (em vez de usar uma regra de ouro), a seção 2.1 fornece alguns limites teóricos para quantas unidades ocultas devem estar em um sistema de uma / duas camadas ocultas.
Edição: Eu testei esse teorema e descobri que usar modelos genéticos é tão bom quanto selecionar uma arquitetura aleatória.
fonte