"New Neural" est un projet de moteur de réseau neuronal Open Source pour la plateforme MetaTrader 5.

 

Salutations.

Je me propose ici d'exposer les buts et les objectifs du projet. Discutez des détails et des nuances.

Vous êtes les bienvenus !

 
LeXpert:

La première chose à faire est d'avoir un nouveau forum simple pour le projet.

Je pense que nous devons créer un projet sur sorsforge et y déplacer la discussion immédiatement.

La première chose à faire est de faire un brainstorming, nous avons besoin d'une base de données d'idées, aussi surréalistes soient-elles, et le fil de discussion du forum (en raison de son ouverture) est le meilleur moyen d'y parvenir.

Tout le monde peut prendre d'assaut les forums, même les non-spécialistes. Les suggestions de tempêtes sont mieux mises en évidence en couleur par rapport au reste du texte.

Par exemple : faire un moteur graphique pour créer une grille, avant de démarrer le moteur, définir le nombre de couches, puis la fenêtre d'entrée pour chaque couche par le nombre de neurones, puis des lignes de tendance que l'utilisateur ajoute pour définir les connexions.

 
LeXpert:

Andrei, ça te dérange si on fait de ce fil de discussion une session de brainstorming ?

Bien sûr que oui. C'est à ça que sert ce fil de discussion.
 

Thèmes de l'agression :

-- Type de projet (la façon dont l'utilisateur interagit avec le projet)

-- Réseaux à mettre en œuvre dans le cadre du projet

-- Le prétraitement et tout ce qu'il implique

-- Architecture, interfaces

-- Mise en œuvre, connectivité.

-- Test, débogage.

Interdit: critiquer toute idée, même la plus délirante, inonder. Le niveau de compétence n'a pas d'importance. Si vous êtes intéressés et avez des idées, parlez-en !

Elle est la bienvenue: pour proposer de nouvelles idées, pour développer des idées déjà existantes.

 
LeXpert:
...

Je devrais peut-être ajouter :

-- Post-traitement

À mon avis, une attention particulière devrait être accordée aux interfaces des différents modules, dans une perspective d'évolutivité (connexion/déconnexion de différents signaux, possibilité de créer des comités de réseaux, etc.) D'où la nécessité de séparer le réseau lui-même (le réseau lui-même, par exemple MLP avec deux couches cachées ne prend que quelques dizaines de lignes, exemple dans l'atacha) de l'algorithme d'apprentissage.

Dossiers :
F_MLP.mqh  5 kb
 

normalisation des vecteurs, visualisation des données d'entrée et de sortie,

utiliser le constructeur externe Neurosolutions, utiliser la DLL avec Neurosolutions, niterface ...

interfaces pour charger et décharger des données : vecteurs, poids,

EDNA Architecture de réseau à conception évolutive

La possibilité de sélectionner et de personnaliser les fonctions d'activation et les algorithmes d'apprentissage,

 
njel:
L'un des éléments est probablement qu'il n'y aura pas de dlloc.
 

...ça ressemble à ça :

Type de projet: bibliothèque de classe,

1) méthode d'interaction - utilisation de l'API (largement documentée) dans le code de leurs systèmes .

Je suppose que l'application pratique de la bibliothèque sera.. :

  1. Écriture rapide de vos propres utilitaires (comment l'appeler) - spécifier le type de réseau requis, former sa configuration, prescrire ce avec quoi nous allons l'alimenter (échantillon d'entraînement), etc.
    Chacun de ces utilitaires peut servir d'application distincte avec des paramètres d'entrée. Exécutez-le dans le testeur et obtenez un réseau entraîné dans un fichier(FILE_COMMON).

  2. Comment écrire des EA qui peuvent utiliserdes fichiers de réseaux formés ?

2) deuxième mode d'interaction. application GUI pour simplifier la création d'un utilitaire de création/formation de réseau - en ce qui concerne les paramètres du type, etc. c'est facile. mais les différents types ont des paramètres différents ? + comment définir dans l'interface utilisateur ce qui doit alimenter le réseau ? il est plus facile de le définir dans le code. Est-il possible d'intégrer la création d'un modèle d'utilitaire de génération de réseau dans le méta-éditeur, comme un assistant de création de réseau neuronal ? La sortie est le code fini, la seule chose que vous devez spécifier est ce qui est alimenté à l'entrée du réseau ?


P.S. ci-dessus joo a été suggéré d'utiliser "les interfaces des modules individuels avec l'attente de l'évolutivité", ils ont juste besoin d'être générés dans le méta-éditeur basé sur l'assistant, et l'algorithme d'apprentissage devrait être terminé.

 
joo:

Je suggère ici de présenter les buts et les objectifs du projet. Discutez des détails et des nuances.

Si j'ai bien compris, l'idée est quelque chose comme FANN, mais beaucoup plus large et plus générale ? Même savoir comment évaluer les perspectives d'un tel monstre, c'est une couche tellement énorme d'immensité) Tellement de détails et de nuances. Même dans le petit morceau de code posté par joo, on ne s'est pas passé de l'affinage à une implémentation particulière (le chiffre 7 dans la fonction d'activation est vraisemblablement issu de cet opus). Les réseaux neuronaux sont entièrement constitués de tels détails. Avec intérêt, je suivrai le projet et j'essaierai de ne pas me mettre en travers, mais jusqu'à présent, je n'ai aucune idée - est-ce possible en principe par quelques enthousiastes .....

 

Réseaux neuronaux modulaires

Il est possible d'ajouter la possibilité d'entraîner un grand réseau en plusieurs parties. Il s'agit en fait d'un entraînement en comité, mais sans les problèmes liés à la combinaison des réseaux en un seul système.
Модулярні нейронні мережі — Вікіпедія
  • uk.wikipedia.org
Модулярна нейронна мережа (англ. ) — група нейронних мереж (які в даному випадку називаються модулями), що керуються певним посередником. Кожна нейронна мережа слугує модулем і оперує окремими входами для вирішення певних підзавдань із групи завдань, які повинна виконати модулярна нейронна мережа. [1] Посередник приймає вихідні сигнали кожного...
 
Figar0:

Si je comprends bien, l'idée est quelque chose comme FANN, mais plus large et plus générale ?

Beaucoup plus "large" et "général". :)

Pourquoi s'embêter autrement ?

Figar0:

Tant de détails et de nuances. Même dans le petit morceau de code posté par joo, on ne s'est pas passé de l'affinage à une implémentation particulière (le chiffre 7 dans la fonction d'activation est vraisemblablement issu de cet opus). Les réseaux neuronaux sont entièrement constitués de ces éléments.

C'est exactement là où ça ne l'est pas. Le chiffre 7 dans la fonction d'activation est le facteur d'échelle, de sorte que le tracé de la courbure sigmoïde se situe dans la plage [-1,0;1,0].

Je suggère en outre d'utiliser cette plage pour les entrées et les sorties de tous les types de grille afin d'éviter toute confusion et de garantir la même interface. C'est pourquoi j'ai mis 7 ici - en prévision de mes futures créations.

Cependant, ce coefficient peut être formé comme une variable, il devient alors possible d'ajuster la courbure de la sigmoïde dans tous les neurones ayant un FA (de la commutation logique, à la simple mise à l'échelle linéaire, en passant par une section intermédiaire avec une transformation S non linéaire)