7
votes

Comment déterminer les neurones à connecter entre couches dans un réseau neuronal artificiel?

Dites pour ma première couche d'entrée, j'ai 10 nœuds / neurones d'entrée. Disons que ma couche cachée a 10 neurones aussi. Ma troisième et la dernière couche est un neurone de sortie.

Comment puis-je connecter les couches? Existe-t-il une technique permettant de déterminer la meilleure façon de le faire ou de connecter n'importe quelle entrée neurone à chacun des neurones de la couche cachée pour un total de 100 bords entre les deux couches?

C'est probablement une question vraiment fondamentale, mais je n'ai pas vu trop d'exemples concrets. Les exemples que j'ai trouvés semblent connecter tous les neurones ou que les connexions semblent randomisées.


0 commentaires

3 Réponses :


1
votes

Ma compréhension est que tous les nœuds de couches adjacentes doivent être connectés. Donc, les 10 nœuds d'entrée doivent donc se connecter à tous les 10 nœuds de la couche cachée (100 connexions). Ensuite, les 10 nœuds de la couche cachée doivent se connecter au nœud de sortie (10 connexions).

Dans votre cas, je pense que le nombre total de connexions devrait être de 110.


0 commentaires

2
votes

Si quelque chose, cela est basé sur l'intuition et les résultats empiriques. J'ai vu des gens utiliser des réseaux de neurones récursifs.

avec un réseau de neurones , il est logique de connecter tous les neurones à partir de la couche n à tous les neurones de couche n + 1 . < / p>

Voici un exemple de ma dernière utilisation (pour démontrer l'énorme quantité de bords):

réseau neural


4 commentaires

Avez-vous décidé combien de couches à utiliser et combien de neurones à avoir dans chaque couche cachée à travers des tests et de l'intuition aussi? S'agit-il d'un réseau de neurones en avant pour que vous obteniez des ensembles d'entraînement et que vous devez soutenir se propager pour ajuster les erreurs?


J'ai testé plusieurs arrangements et la configuration actuelle a fonctionné le mieux pour mon cas d'utilisation. Les réseaux avantageux utilisent l'algorithme de propagation du dos (avec, dire, descente de gradient ou Newton-Raphson) pour ajuster les poids.


Dans votre diagramme, il y a des nœuds qui ne sont pas connectés à la couche d'entrée (ni directement ni indirectement) mais sont connectés (directement ou indirectement) à la couche de sortie. Est-ce que ça a du sens? Comment? (Exemple: 1ère couche cachée, nœud supérieur)


Ce sont appelés les nœuds de biais. Leur valeur d'entrée est toujours fixée à une valeur constante, mais le poids de la connexion est formé conformément à l'habitude. Certaines littératures semblent indiquer que c'est une bonne idée, d'autres semblent être en désaccord. En substance, il permet une couche ou un neurone de devenir «soudainement» plus dominant.



2
votes

Je pense que si vous coupez des liens entre des nœuds d'entrée et une couche cachée, vous affectez artificiellement la phase de formation. Fondamentalement vous donnez plus d'importance aux liens restants .

Même si vous connectez un neurone avec une seule fraction des neurones dans la couche suivante, c'est comme les avoir tous connectés mais le poids de la communication est 0 pour les neurones non connectés . L'algorithme de formation peut réellement atteindre cette situation.

Ce qu'il compte vraiment est l'architecture du réseau neuronal et les poids affectés à chaque liaison d'entrée / sortie du neuron.

Donc, connectez chacun des 10 nœuds d'entrée de la couche d'entrée à tous les 10 nœuds de la couche cachée et laissez l'algorithme de formation faire son travail . Si vous avez suffisamment de données de formation et de test, cela produira des résultats attendus.


0 commentaires