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

 
TheXpert:

Alors pourquoi le masque est-il attaché à la sortie et pas à nouveau aux neurones) ?

Et comment voulez-vous faire entrer la fonction d'activation dans le GPU ?

Imho, comme la dernière fois, vous allez bachoter ce que vous ne pouvez pas bachoter. Mais ceci est imho, donc vous pouvez vous allonger dessus en toute sécurité.

Je ne vous dérangerai plus, sauf si c'est pour le travail.

Ah, le cogitron. Quoi d'autre -- le réseau Hopfield -- où l'entrée est la sortie. Il y a aussi un peu de...

Répondre du bas vers le haut,

les entrées sont les sorties.

Le GPU est facile à mettre en œuvre puisque tout le traitement est parallèle.

Le changement d'activation ou tout autre processus peut être décrit par des chaînes dynamiques, MetaDriver en a l'expérience.

Le masque, les poids, les sorties, les données de synchronisation sont tous connectés de la même manière, bien qu'il soit possible de les dissocier via un tableau d'index qui peut être créé à partir du masque.

En général, le masque crée la topologie, et il est stocké avec les poids.


Le projet lui-même ressemble à ceci :

  • Norme de stockage en réseau XML (chargement/sauvegarde), bien que je gravite vers le stockage binaire (mais ce n'est pas crucial, les gens veulent du XML pour la clarté).
  • Interface graphique pour la création d'un nouveau réseau (créer/sauvegarder)
  • Interface de création de réseau logiciel (créer/sauvegarder)
  • Modèle d'un réseau universel (de base)
  • Classes étendant le modèle de réseau de base
  • Shell de formation (extensible)

Les deux derniers points relèvent de l'open source.

 

À propos des matrices clairsemées correctement remarqué, si la matrice est clairsemée alors le modèle n'est pas très efficace, mais ici vous pouvez appliquer un tableau d'indices, il fonctionnera un peu plus lentement que dans la mise en œuvre directe, mais encore à un niveau, et pour GPU il ne fait aucune différence si clairsemé ou entièrement couplé tous les mêmes ajouter des mouches.

Hopfield net pas de problème du tout, ce qui n'est pas clair comment l'implémenter demander (parce que je ne comprends pas comment un exemple aussi simple cause des difficultés).

Je n'ai rien manqué, n'est-ce pas ?

ZZZ généralement assez longtemps réfléchi, et cette mise en œuvre X sait quoi, réfléchi à ce qui serait impossible de mettre en œuvre ce modèle, quand je ne pouvais pas venir avec a décidé de demander de l'aide de la salle.

 
Urain:

Le changement d'activation ou tout autre processus peut être décrit par des chaînes dynamiques, MetaDriver en a l'expérience.

Confirmé : c'est le moindre des problèmes exposés.

Concernant l'éparpillement.

Si je comprends bien, au niveau de la description du réseau, c'est très bien et même très pratique.

Il faut juste un compresseur : un "emballeur" dans une description compacte, qui, à son tour, est déjà une "nourriture" pour une compilation ultérieure en source dans mql et/ou OpenCL.

// Eh bien, ou pour un configurateur dynamique de "maillage universel", s'il a encore des partisans...

 

En ce qui concerne la sparsité (j'ai écrit plus haut), vous pouvez créer un tableau d'index pour chaque neurone basé sur le masque, qui après comptage indiquera où placer les sorties. Et en général, nous pouvons en discuter en général. L'essentiel est maintenant d'adopter, de manière générale, le modèle de référence.

Ce modèle est simple à comprendre, c'est pourquoi il sera facile d'écrire des algorithmes d'apprentissage pour lui.

Pour les GPU, le modèle original est toujours meilleur (imho).

 
TheXpert:

Alors pourquoi le masque est-il attaché à la sortie et pas à nouveau aux neurones) ?

Et comment voulez-vous faire entrer la fonction d'activation dans le GPU ?

Imho, comme la dernière fois, vous allez bachoter ce que vous ne pouvez pas bachoter. Mais c'est imho, donc vous pouvez vous allonger dessus en toute sécurité.

Je ne vous dérangerai plus, sauf si c'est pour le travail.

Ah, le cogitron. Quoi d'autre -- le réseau Hopfield -- où l'entrée est la sortie. Ensuite, il y a le peu de...

Le codage épars est génial ! Je me suis amusé avec ça il y a six mois, en cherchant des modèles sur le marché. C'est le cas. Et il semble généraliser. Mais d'après mes expériences, il s'est avéré que les modèles de prix passés ne se répètent pas dans le futur. J'ai appliqué cette méthode à la recherche de motifs dans les images et les sons. Cela a bien fonctionné. J'ai fait un rapport à mes collègues qui essaient de faire la même chose depuis 3 ans, en utilisant des neurones à pointes. Tout le monde était ravi. Deux candidats au doctorat ont souhaité que je devienne leur conseiller (et, bien sûr, que je puisse utiliser mes résultats dans leurs thèses). L'un d'eux a proposé d'écrire un article de journal. Il ne m'a fallu que quelques semaines pour écrire le code, l'exécuter sur différentes données et rédiger le rapport. En bref, le codage raréfié a beaucoup de potentiel, mais probablement pas sur le marché, mais là où il y a une certaine structure.

À propos du modèle universel NS décrit ci-dessus, je n'ai pas encore grand-chose à dire, car je ne comprends pas comment les neurones sont répartis en couches, comment ils sont affectés au traitement des entrées et comment les connexions sont établies.

 
gpwr:

Le codage épars est génial ! Je me suis amusé avec ça il y a six mois, en cherchant des modèles sur le marché. C'est le cas. Et il semble généraliser. Mais d'après mes expériences, il s'est avéré que les modèles de prix passés ne se répètent pas dans le futur. J'ai appliqué cette méthode à la recherche de motifs dans les images et les sons. Cela a bien fonctionné. J'ai fait un rapport à mes collègues qui essaient de faire la même chose depuis 3 ans, en utilisant des neurones à pointes. Tout le monde était ravi. Deux candidats au doctorat ont souhaité que je devienne leur conseiller (et, bien sûr, que je puisse utiliser mes résultats dans leurs thèses). L'un d'eux a proposé d'écrire un article de journal. Il ne m'a fallu que quelques semaines pour écrire le code, l'exécuter sur différentes données et rédiger le rapport. En bref, le codage raréfié a beaucoup de potentiel, mais probablement pas sur le marché, mais là où il y a une certaine structure.

À propos du modèle universel NS décrit ci-dessus, je n'ai pas encore grand-chose à dire car je ne comprends pas comment les neurones sont divisés en couches, comment on leur attribue une fonction pour traiter les entrées et comment les connexions sont établies.

Dans le modèle proposé, les neurones ne sont pas du tout limités par des couches, c'est-à-dire que tout neurone précédent peut théoriquement envoyer un signal à un neurone suivant.

Mais il est possible d'introduire une restriction ! !!, de définir des couches du réseau, et en relation avec ces règles de couches de vérifier le masque (cela n'affectera pas l'algorithme, mais il y aura une vérification supplémentaire au chargement).

D'ailleurs, le GPU peut être alimenté non pas par des neurones individuels, mais par des paquets de neurones décrits comme une couche. Mais encore une fois, le modèle lui-même n'est pas contraint par les couches, et la question des couches est une règle limitative supplémentaire (comme l'arrêt à la demande), qui peut ou non l'être.

HI Avec la construction sans couche, le triangle supérieur du masque (derrière les entrées) est mis à zéro, ce qui décrit l'absence de rétroactions dans la matrice principale, lorsque des couches apparaissent, la mise à zéro est ajoutée avec une entrée en bas de la diagonale. C'est en fait le but de la vérification des masques.

 
Urain:
Dans le modèle proposé, les neurones ne sont pas du tout limités à des couches, c'est-à-dire que tout neurone précédent peut théoriquement envoyer un signal à un neurone suivant.

Mais il est possible d'introduire une restriction, de définir des couches du réseau et de vérifier le masque en fonction de ces règles de couches (cela n'affectera pas l'algorithme, mais il y aura une vérification supplémentaire au chargement).

Au passage, le GPU peut être alimenté non pas par des neurones individuels, mais par des paquets de neurones décrits comme une couche. Mais encore une fois, le modèle lui-même n'est pas limité par les couches, et la question des couches est une règle limitative supplémentaire (comme l'arrêt à la demande), peut être ou ne pas être.

Avec la construction sans couche, le triangle supérieur du masque (derrière les entrées) est mis à zéro, ce qui décrit l'absence de rétroactions dans la matrice principale. Lorsque des couches sont ajoutées, la mise à zéro est ajoutée avec une entrée en bas de la diagonale. C'est en fait le but du contrôle du masque.

Les couches sont nécessaires car, dans certains réseaux, les différentes couches traitent différemment les entrées et les connexions des neurones entre eux au sein de la couche. En fait, je ne comprends pas l'aspect pratique de l'objectif consistant à construire un réseau universel. Il existe de nombreux réseaux avec leurs nuances (fonctions des neurones dans les différentes couches, leur connexion, l'entraînement des poids, etc.) Les décrire tous dans un seul modèle me semble impossible ou inefficace. Pourquoi ne pas créer une bibliothèque de différents réseaux ?
 
gpwr:
Pourquoi ne pas créer une bibliothèque de différents réseaux ?
Wo. Un GPU pour une grille spécifique serait encore plus rapide.
 
LeXpert:
Wo. Un GPU pour un maillage particulier serait encore plus rapide.
Mais cette approche ne contient même pas le germe pour essayer de croiser génétiquement les topologies.
 
MetaDriver:
Mais cette approche ne contient même pas le germe pour essayer de croiser génétiquement les topologies.

Maintenant, vous avez tort. Tout d'abord, si les sorties du réseau ne peuvent pas être alimentées par les entrées d'un autre réseau, de quel type de réseau s'agit-il ?

Deuxièmement, pour la plupart, toutes les topologies peuvent être réalisées en mettant en œuvre des couches avec des fonctionnalités pour différents réseaux.

En connectant des couches avec des poids (masque et poids eux-mêmes), vous obtenez n'importe quel mélange de topologies que vous voulez. La conversion est effectuée par le neurone ; la synapse ne fait que transmettre le signal.

L'important est que le mélange ait un sens.

Pour la génétique, la seule condition nécessaire et suffisante est la capacité d'obtenir la sortie et le nuage de paramètres. J'y ai pensé à l'époque.