Différence entre le réseau neuronal et l'algorithme évolutif

j'ai une bonne base sur les algorithmes évolutifs, donc maintenant j'ai commencé à lire sur les réseaux neuronaux artificiels. Je viens à travers ce tutoriel sur http://www.ai-junkie.com/ann/evolved/nnt2.html, montrer comment utiliser une ANN pour faire évoluer les chars qui recueillent des mines. Il utilise un AG pour faire évoluer les poids d'entrée sur chaque neurone.

je sais que je pourrais utiliser GA (sans les ANN) pour résoudre le même problème. J'ai déjà créé un Tetris Bot en utilisant seulement GA pour optimiser les poids dans la grille fonction d'évaluation (consultez mon blog http://www.bitsrandomicos.blogspot.com.br/).

ma question Est: qu'est-ce que le conceptuel/pratique différence entre L'utilisation D'un ANN + GA dans une situation où je pourrais utiliser GA seul? Je veux dire, Est-ce que mon Tetris Bot est une ANN?(Je ne le pense pas).

Il y a plusieurs questions à ce sujet, mais je ne pouvais pas trouver une réponse:

sont des algorithmes évolutifs et des réseaux neuronaux utilisés dans le même les domaines?

Quand à l'utilisation des Algorithmes Génétiques contre lors de l'utilisation de Réseaux de Neurones?

Merci!

14
demandé sur Community 2012-03-25 09:29:48

4 réponses

algorithme génétique est un algorithme d'optimisation.

réseau neuronal artificiel est un approximateur de fonction. Afin d'approximer une fonction, vous avez besoin d'un algorithme d'optimisation pour ajuster les poids. Une ANN peut être utilisée pour l'apprentissage supervisé (classification, régression) ou l'apprentissage de renforcement et certaines peuvent même être utilisées pour l'apprentissage non supervisé.

dans l'apprentissage supervisé un dérivé libre algorithme d'optimisation comme un algorithme génétique est plus lent que la plupart des algorithmes d'optimisation qui utilisent l'information de gradient. Par conséquent, il n'est que logique de faire évoluer les réseaux neuronaux avec des algorithmes génétiques dans l'apprentissage du renforcement. C'est ce qu'on appelle la "neuroévolution". L'avantage des réseaux neuronaux comme les perceptrons multicouches dans cette configuration est qu'ils peuvent approcher n'importe quelle fonction avec une précision arbitraire quand ils ont un nombre suffisant de noeuds cachés.

Lorsque vous créez un tetris bot vous ne devez pas nécessairement utiliser un ANN comme approximateur de fonction. Mais vous avez besoin d'une sorte d'approximateur de fonction pour représenter la Politique de votre bot. Je suppose que c'était juste plus simple qu'un ANN. Mais quand vous voulez créer une politique non linéaire complexe, vous pouvez le faire E. G. avec une ANN.

18
répondu alfa 2012-03-25 10:34:53

la réponse d'alfa est parfaite. Ici est juste une image pour illustrer ce qu'il dit:

enter image description here Méta-Optimiseur = Aucun (mais qui pourraient l'être)

Optimiseur = Algorithme Génétique

Problem = Tetris Bot (e.g. ANN)

6
répondu Franck Dernoncourt 2012-03-25 11:45:38

Vous utilisez l'algorithme évolutionnaire si vous avez encore ne sais pas la réponse mais vous êtes en mesure d'évaluer les candidats d'une façon ou d'une autre et de fournir des mutations significatives.

le réseau neuronal est génial si vous déjà avoir des réponses (et inputs) et vous voulez "former l'ordinateur" pour qu'il puisse "deviner" les réponses pour des inputs inconnus. De plus, vous n'avez pas à penser beaucoup au problème, le réseau le résoudra par lui-même.

cochez cet exemple "game AI" : https://synaptic.juancazala.com/#/

(notez comme c'est simple, tout ce que vous avez à faire est de leur donner assez de formation, vous n'avez pas à savoir une chose au sujet du jeu AI - et une fois qu'il est assez bon tout ce que vous avez à faire est de "télécharger" la mémoire et l'exécuter lorsque nécessaire)

2
répondu Kamil Tomšík 2017-01-27 16:33:22

Je ne suis pas un expert, mais basé sur ce que je sais sur le terrain..

un réseau de neurones artificiels repose sur les neurosciences. Il tente de simuler/modéliser son comportement en construisant des structures de type neurone dans l'algorithme. L'accent est mis sur la nature académique du problème plutôt que sur le résultat. D'après ce que j'ai compris, C'est pour cette raison que les ANN's ne sont pas très populaires du point de vue de l'ingénierie. Base statistique de l'apprentissage machine (HMM et les réseaux bayésiens) donnent de meilleurs résultats.

en bref, aussi longtemps qu'il a un clin d'œil vers un sujet sous-jacent de neuroscience, il peut être une ANN, même si elle utilise une certaine forme de GA.

si vous utilisez une GA, ce N'est pas nécessairement une ANN.

0
répondu badunk 2012-03-25 05:40:35