web-dev-qa-db-fra.com

Concevoir des réseaux de neurones

J'apprends des réseaux de neurones et de la propagation du dos. Je pense que je crois comprendre comment fonctionne le réseau, en termes d'entrée, de sortie, de couches cachées, de poids, de biais, etc. Cependant, je ne comprends toujours pas complètement comment concevoir un réseau pour poser un problème. IE: Dites que je voulais un filet neural apprenant à jouer des brouillons, comment puis-je traduire le problème en une conception nette de neurones? À votre santé :)

31
MrD

Il y a définitivement beaucoup de décisions à faire pour concevoir un filet neural et il n'y a pas de bonne réponse. Cependant, il existe quelques questions générales qui sont souvent utiles pour penser:

  1. Qu'essayez-vous de générer comme une sortie? Les brouillons semblent être un jeu stimulant de jouer avec un filet neural, car il y a beaucoup de mouvements potentiels et ceux disponibles à tour de rôle à tour de rôle, mais vous souhaiteriez probablement que la sortie soit le prochain mouvement.

  2. Quelles sont vos intrants? Cela devrait inclure tout ce que vous pensez être utile pour prendre la décision que vous souhaitez que le filet neural fit. Dans les brouillons, vous auriez probablement besoin de donner au Neural Net les emplacements de toutes les pièces du tableau.

  3. Récurrente ou avancée d'alimentation? Généralement, à moins d'une raison réellement saillante de donner aux informations informatiques sur ce qu'elle est fait dans le passé, il est préférable d'utiliser des aliments pour l'avant, car vous vous permet de former le filet avec la propagation du dos. Pour les brouillons, par exemple, vous voudrez probablement utiliser un réseau d'alimentation.

  4. Avez-vous besoin d'une couche cachée? C'est une question plus difficile à connaître la réponse, et peut exiger une certaine expérimentation, à moins que vous sachiez beaucoup sur l'espace supérieur de l'occupation de vos intrants. Les brouillons sont suffisamment complexes qu'il semble que cela nécessiterait une couche cachée, mais il est difficile d'être sûr.

De toute évidence, il y a beaucoup plus de décisions qui peuvent être faites/doivent être faites sur la mise en place du réseau neuronal, mais j'espère que cela vous fera aller.

21
seaotternerd

Eh bien, je pense que votre problème est le problème de tout autre concepteur NN ... une chose que vous devez toujours garder à l'esprit, NNS sont des modèles heuristiques. Par conséquent, ils apprennent par expérience, de la même manière que nous ne pouvons pas "insérer" des connaissances pures dans le NN (cela est possible dans d'autres SC algorithmes) mon approche de votre problème, ou tout problème général Je suis confronté, est de commencer par une question: "Comment j'apprendrais cela à quelqu'un?"

Vous devez connaître les règles du jeu et quelles variables vous pouvez jouer avec et ce que vous voulez. Que vous devez former le réseau (obtenir des données) dans le but de gagnez le jeu, comme si ce serait un enfant. Après suffisamment de données et de changements de poids, le NN devrait être capable de répondre à des jeux raisonnables pour gagner le jeu ... comme plus de données que vous obtenez, une réponse plus précise que vous pourriez avoir, et donc un meilleur joueur!

Ce n'est rien de concluant ni linéaire, mais est mon point de vue;) bonne chance!

6
diogoncalves

Modélisation du problème à l'aide d'un réseau de neurones (ou d'un autre type de modèle) est un problème difficile; Il n'y a pas de balle magique pour cela. Je recommanderais de lire sur les techniques d'autres personnes ont développé et voyez si vous pouvez l'appliquer à votre problème. Vous pourriez commencer par une référence comme,

https://fr.wikipedia.org/wiki/types_of_artificial_nneural_networks

Et recherchez via Google Scholar pour plus d'exemples.

4
hazydev