Les réseaux de neurones rêvent-ils d'argent électrique?

TL; DR: Non



Dans l'immensité du Web, il regorge de matériaux, de manuels, de solutions prêtes à l'emploi, d'assemblages et d'autres éléments dédiés à la prévision des prix des crypto-monnaies et des actifs d'échange traditionnels, qui sentent les revenus rapides et faciles avec un minimum d'effort. Et bien que différentes personnes les écrivent, avec différentes approches, sur différentes plates-formes et avec différents paradigmes, ils ont tous un attribut commun immuable - ils ne fonctionnent pas .

Pourquoi? Faisons les choses correctement.

introduction


Faisons connaissance, je m'appelle Denis et, pendant mon temps libre, je fais des recherches dans le domaine de l'intelligence artificielle et, en particulier, des réseaux de neurones artificiels.


Dans cet article, je vais essayer de décrire les problèmes rencontrés qui vous créent des chercheurs novices des réseaux de neurones artificiels dans la poursuite de l'indépendance financière, en passant un temps précieux avec une efficacité presque nulle.

J'espère que, dans le cadre de cet article, il sera possible de maintenir un équilibre suffisant entre la complexité du matériau et la facilité de perception, de sorte que le texte soit modérément simple, compréhensible et intéressant à la fois pour les personnes qui ne sont pas liées à ce domaine et pour celles qui se consacrent depuis longtemps à la recherche de problèmes dans cette industrie. Je dois dire tout de suite qu'il n'y aura pas de formule ici, la terminologie spécifique est également minimisée.

Je ne travaille pas pour Google. Je n'ai pas vingt degrés. Je n'ai pas fait de stage à la NASA. Je n'ai pas étudié à Stanford et je le regrette amèrement. Cependant, j'espère toujours comprendre de quoi je parle en ce qui concerne les systèmes de prévision et, en même temps, je suis assez étroitement lié au monde de la crypto-monnaie en général et au projet Cardano en particulier.

Bien sûr, moi, en tant que passionné de cryptographie engagé dans les réseaux de neurones, je ne pouvais tout simplement pas m'empêcher d'entrer dans le champ d'application brumeux de l'IA concernant les crypto-monnaies.


L'essence du problème


Comme mentionné précédemment, il y a tellement de documents qui semblent avoir été élaborés et apparemment profonds, avec des exemples, sur ce sujet, tellement que vos yeux s'écarquillent. Et les auteurs sont si sûrs que leur expérience, contrairement aux centaines précédentes, est réussie, que l'on se demande pourquoi le prochain article ne se termine pas avec des photos avec un «agneau» sur une île personnelle, et une liste d'auteurs de «kaggle kernels» liés à la prévision des prix en bitcoins, ne duplique pas les listes Forbes.

Il est prévu que des articles sur Habré soient consacrés à ces questions. Et, fait intéressant, quels que soient le lieu et la langue de publication, tous ces articles se terminent approximativement par le même texte: "Eh bien, le résultat est assez bon, tout fonctionne presque , il suffit de resserrer quelques hyperparamètres et tout ira bien."

Et, bien sûr, les graphiques sur lesquels le réseau de neurones indique idéalement le prix, tels que:








.

Et, pour ne pas être infondé, voici des exemples de tels articles: un , deux , trois .

Comment tout a commencé


L'idée de prédire les nouveaux prix à l'ancienne est loin d'être nouvelle. En fait, cela ne s'applique pas seulement aux crypto-monnaies. Il se trouve qu'ils sont plus proches de moi personnellement, mais la patrie de ce qu'on appelle «l'analyse technique» est, après tout, des échanges traditionnels. Ce sont ceux où, selon les films, ils sont tous dans des costumes chers, mais en même temps ils crient comme des filles lors d'un concert de leur groupe préféré.

En essayant de voir l'avenir selon le passé, les gens ont inventé un grand nombre de toutes sortes d'oscillateurs, d'indicateurs, de dispositifs de signalisation délicats basés sur des statistiques mathématiques, la théorie des probabilités et, parfois, la franche paréidolie .

La recherche de chiffres est peut-être la plus populaire. Quinze minutes de lecture sur Internet, et même maintenant à Wall Street! C'est si simple - il vous suffit de trouver «tête de Bart Simpson», «papillon», «drapeau (à ne pas confondre avec un coin! 11)», «azur tombant dans un vide vertico-tail» sur un graphique, construisez de nombreuses lignes et, assez ouvertement , interprétez-le à votre avantage!


Presque toutes ces solutions ont un petit, mais très dense et grave inconvénient - elles captent parfaitement les tendances ... après coup . Et si quelque chose est déclaré non fixant, mais prédictif, alors il est interprété si librement que dix personnes, en regardant le même graphique avec le même indicateur, donneront dix prévisions indépendantes. Et, ce qui est caractéristique, au moins l'un d'entre eux aura très probablement raison!

Mais il sera également établi après coup. Et le reste dira simplement "ah, eh bien, nous lisons les signaux de manière inattentive de manière incorrecte."

Ne vous méprenez pas. Il est tout à fait possible qu'un vrai trader de Wall Street, qui a 20 cris et 200 tentatives de suicide au fil des ans, soit susceptible de se superposer une pile d'indicateurs et d'oscillateurs et, comme l'opérateur du film "The Matrix", lire utile ici données aromatisées avec un tapis suffisamment haut en attente d'une transaction réussie. J'avoue même que spécifiquement vous, le lecteur, savez aussi comment. Sans une goutte de sarcasme, je l'avoue. En fin de compte, pour une raison quelconque, ils sont en train d'être inventés, améliorés, ces indicateurs ...

Les problèmes modernes nécessitent des solutions modernes!


En 2015, tout le monde avait déjà entendu les réseaux de neurones. Rosenblatt n'imaginait même pas à quel point ils seraient entendus. Grâce à des gens responsables, professionnels et avertis des médias, l'humanité a appris que les réseaux de neurones sont la version la plus électronique du cerveau humain qui peut résoudre n'importe quelle tâche plus rapidement et mieux, avec un potentiel illimité et en général, ici, nous sautons directement dans la lumière grâce à une singularité avenir sombre. Ici, c'est la chance.

Mais il y avait un «mais». Pour le moment, les réseaux de neurones ne vivaient que dans des packages mathématiques réservés, sous une forme très très basique, soutenant les mathématiciens et les scientifiques avec des graphiques dans MatLabs.

Mais la vulgarisation a fait son travail et a attiré beaucoup l'attention des développeurs de divers degrés d'indépendance sur l'industrie. Ces mêmes développeurs, étant, contrairement aux mathématiciens ordinaires, des gens doués d'une noble paresse, ont commencé à chercher des moyens de jeter plusieurs niveaux d'abstraction sur cette question, ce qui rend la vie plus facile pour eux et pour tout le monde, montrant au monde un outil de haut niveau très pratique et de haute qualité comme Keras ou FANN. Dans ce zèle, ils ont tellement réussi qu'ils ont amené le travail avec les réseaux de neurones au niveau «juste une fois et fonctionne», ouvrant la voie à tous les arrivants dans le monde des miracles et de la magie.

Ce sont des miracles et de la magie, pas des mathématiques et des faits.


La naissance d'une légende


Les réseaux de neurones sont devenus disponibles, proches et faciles à utiliser pour tout le monde. Sérieusement, l'implémentation FANN est même pour PHP. De plus, il est inclus dans la liste des extensions de base .

Et Keras? En 10 lignes, vous pouvez collecter un réseau à convolution récurrente, sans comprendre comment fonctionnent les convolutions, ou comment LSTM diffère de GRU! L'intelligence artificielle pour tous et pour tous! Et ne laissez personne s'en offusquer!

Je pense, en partie, que la terminologie a joué la blague la plus cruelle. Comment s'appellent les sorties du réseau neuronal? Ouais. Prédictions. Prédictions. Un réseau neuronal prédit une donnée sur une autre. Cela ressemble à ce dont vous avez besoin .

Les manuels des bibliothèques de haut niveau protègent l'utilisateur des termes complexes, des matrices, des vecteurs, des transformations, du calcul différentiel, des significations mathématiques de ces gradients, des régressions et des pertes de régularisation.

Et, plus important encore, ils protègent l'image romantique du «modèle électronique du cerveau humain capable de tout» de la dure réalité, dans laquelle les réseaux de neurones ne sont qu'un approximateur, ce qui, en gros, n'est rien de plus qu'une étape évolutive d'un cran par rapport au classificateur linéaire ordinaire.

Mais cela n'a pas d'importance lorsque vous assemblez votre premier solveur pour CIFAR-10 à partir des listes de la documentation, sans faire aucun effort, sans même vraiment comprendre ce qui se passe. Il n'y a qu'une seule pensée en tête:


Que puis-je dire, que puis-je dire, les gens sont ainsi disposés ...


Le voici, un miracle technologique! Vous lui donnez simplement quelques données à l'entrée, d'autres à la sortie, mais il trouve lui-même une connexion et apprend à prédire les sorties par les entrées. Combien de problèmes peuvent être résolus! Combien de tâches peuvent être nivelées!

Tant à prévoir ! Fait intéressant, d'autres personnes le savent-elles en général? Avec cette boîte à outils, mes possibilités sont infinies! ILLIMITÉ!


Mais que se passe-t-il si vous alimentez le réseau neuronal avec des bougies de la crypto-échange / bourse / forex, en lui donnant une bougie de la prochaine période de temps pour sortir? Elle apprendra alors à prédire de nouvelles valeurs par rapport aux précédentes! Après tout, c'est pour ça qu'il était fait! Un réseau de neurones peut tout prédire, il y aurait des données, et les données sur l'historique des citations sont un centime! Oh, l'inspiration, seulement un instant, mais si belle!

Pourquoi pas?


Parce que dans un monde réel différent du monde créé par les médias, cela ne fonctionne pas comme ça. Les réseaux de neurones ne sont pas une machine à prédire. Les réseaux de neurones sont des approximateurs. Très bons approximateurs. On pense que les réseaux de neurones peuvent se rapprocher de presque tout. Avec une seule condition - si c'est "quelque chose" se prête à l'approximation .

Et puis un chercheur novice tombe dans le crochet de la distorsion cognitive. La première et principale erreur est que les données de cotation historiques semblent être plus que de simples statistiques. Sur eux, vous pouvez dessiner autant de triangles et de flèches après le fait que seule une personne aveugle en la regardant ne sera pas évident que tout cela a une certaine logique qui ne pouvait tout simplement pas être comptée dans le temps. Mais que la Machine peut connaître.

En regardant les statistiques , une personne voit une fonction . Le piège claque.
Quelle est la deuxième erreur / biais cognitif? Mais voici le truc.

Et ça marche avec la météo!


C'est un argument très fréquent que j'entends dans les communautés cryptographiques, dans les dialogues sur les possibilités de prédire quelque chose à partir de données historiques à l'aide de méthodes d'analyse statistique. Cela fonctionne avec le temps. L'essence de la distorsion est que "si A fonctionne pour B, mais il me semble que B est identique à C, alors A devrait également fonctionner pour C". Une sorte de pseudo-transitivité, qui repose sur une compréhension insuffisante des processus qui sous-tendent les différences entre B et C.

Avec le même succès, on peut supposer, par exemple, que les pédales dans le cockpit de l'avion sont freinées et à gaz lors d'une transmission automatique, et pas du tout un volant horizontal. Malheureusement, la perception intuitive de certaines choses n'est pas toujours correcte, car elle ne repose pas toujours sur un ensemble assez complet de données sur la situation / le système / l'objet. Salut Bayes! Comment ça va?

Allons un peu plus loin dans la théorie.

Le chaos et la loi


Il se trouve que tous les processus et événements de notre réalité peuvent être classés en deux groupes: stochastiques et déterministes. Alors que je m'efforce d'éviter une terminologie morne, remplaçons-les par des termes plus simples: imprévisibles et prévisibles.


Comme Obi-Wan nous le dit à juste titre, ce n'est pas si simple. Le fait est que, dans le monde réel, pas théorique, tout est un peu plus compliqué et les processus complètement prévisibles et complètement imprévisibles n'existent tout simplement pas. Au maximum, il y en a des quasi-prévisibles et quasi-imprévisibles. Eh bien, c'est-à-dire qu'ils sont presque imprévisibles et presque prévisibles. Presque presque, mais non.

Par exemple, la neige tombe de façon quasi-prévisible de haut en bas. Dans près de 100% des cas observés. Mais pas dans ma fenêtre de cuisine! Là, il neige de bas en haut en raison des caractéristiques du flux d'air et de la forme de la maison. Mais pas toujours! Aussi dans presque 100% des cas, mais pas toujours. Parfois, dans ma fenêtre de cuisine, il tombe également. Il semblerait qu'une chose aussi simple, mais pour le même observateur dans deux cas différents, se comporte complètement différemment, et les deux comportements sont normaux et quasi-prévisibles avec une probabilité de presque 100%, bien qu'ils se contredisent complètement . Pas mal? L'événement quasi-prévisible s'est avéré ... quasi-imprévisible? En outre.

En ce moment, notre ami Bayes se met à rire. Qu'en est-il des événements imprévisibles? Je n'utiliserai pas le préfixe "quasi", d'accord? Tout le monde comprend déjà que je le pense. Alors voilà. Prenez quelque chose de complètement imprévisible. Mouvement brownien? Un excellent exemple d'un système complètement imprévisible. Il en est ainsi? Demandons aux physiciens quantiques:


Le fait est que, théoriquement, même un système aussi complexe que le mouvement brownien à une échelle réelle, en théorie, peut être simulé et prédire l'état de ce système à tout moment dans le futur ou dans le passé. En théorie. À propos de combien de calculs, de capacités, de temps et de sacrifices pour les Dieux Noirs sont nécessaires pour cela, nous gardons le silence avec tact.

Et un système prévisible, dans le cas général, qui devient imprévisible si vous réduisez l'échelle au niveau de cas particuliers, est en fait tout à fait prévisible si vous élargissez le champ d'observation d'un cas particulier pour inclure des facteurs externes, en obtenant une description plus complète du système dans ce cas très particulier.

Eh bien, la vérité est que, connaissant les spécificités des flux d'air dans un endroit particulier, vous pouvez facilement prédire la direction du vol de neige. Connaissant les spécificités du «relief» d'un lieu particulier, on peut prédire la direction du flux d'air. Connaissant les spécificités du terrain, on peut prédire les spécificités du terrain. Et ainsi de suite. Dans ce cas, nous avons de nouveau commencé à zoomer, mais maintenant pour un événement spécifique. Le séparer de la définition «générale» du comportement de cet événement. Quelqu'un, arrêtez Bayes, il a une attaque!

Alors qu'obtenons-nous? Tout système est à la fois prévisible et imprévisible à un degré ou à un autre, la différence ne réside que dans l'échelle des observations et l' exhaustivité des données initiales le décrivant.

Qu'est-ce que les prévisions météorologiques et les échanges ont à voir avec cela?


Comme nous l'avons découvert plus tôt, la frontière entre un système prévisible et imprévisible est extrêmement mince. Mais assez fort pour tracer une ligne divisant les prévisions météorologiques et les échanges.

Comme nous le savons déjà, même le système le plus imprévisible consiste en fait en fragments complètement prévisibles. Pour le modéliser, il suffit de descendre à l'échelle de ces fragments, d'élargir le champ d'observation, de comprendre les schémas et de les rapprocher, par exemple à l'aide d'un réseau neuronal. Ou dérivez une formule assez spécifique qui vous permet de calculer les paramètres souhaités.

Et c'est là que réside la principale différence entre les prévisions météorologiques et les prévisions de prix - l'échelle de la plus grande composante simulée prévisible. Pour les prévisions météorologiques, l'échelle de ces composants est telle qu'ils sont bien ... ils peuvent être vus depuis l'orbite de la Terre à l'œil nu. Et ce qui n'est pas visible, par exemple la température et l'humidité, peut être, grâce aux stations météorologiques, mesuré en temps réel également sur toute la planète. Pour le commerce, cette échelle ... plus sur cela plus tard.

Le cyclone ne dira pas "Je suis fatigué, je pars", disparaissant à l'improviste à un moment imprévisible. La quantité de chaleur reçue du Soleil par un hémisphère particulier de la planète varie selon le même schéma. Le mouvement des masses d'air à l'échelle planétaire ne nécessite pas de simulation atomique et est assez simulé au niveau macro. Un système appelé «météo», qui est un événement aléatoire à l'échelle d'un point spécifique de la Terre, est tout à fait prévisible à des échelles plus globales. Et pourtant, la précision de ces prédictions laisse beaucoup à désirer à des distances de plus de quelques jours. Le système, bien que prévisible, est très complexe de sorte qu'il peut être modélisé avec une précision raisonnable à tout moment.

Et nous arrivons ici à une autre propriété importante des modèles prédictifs.

Autosuffisance ou autonomie des prévisions


Cette propriété, en général, est assez simple - un système de prévision autosuffisant, ou un système de prévision idéal , peut se passer de données externes, sans compter l'état initial.

Elle est parfaitement précise. Pour prédire les propriétés du système à l'état N, il lui suffit d'obtenir les données calculées à l'état N-1. Et connaissant l'état de N, vous pouvez obtenir N + 1, +2, + m.

De tels systèmes incluent, par exemple, toute progression mathématique. Connaissant l'état au point de référence et le nombre de ce point dans une série d'événements, on peut facilement calculer l'état à tout autre point. Cool!


Et c'est aussi la réponse à la question de savoir pourquoi la précision des prévisions météorologiques diminue considérablement sur une longue distance dans le temps. En regardant vers l'avenir, nous construisons une prévision basée non pas sur l'état réel du système, mais sur celui prévu. De plus, pas avec une précision de 100%, malheureusement. En conséquence, nous obtenons l'effet d' accumuler des erreurs de prévision . Mais ceci malgré le fait que nous connaissons presque toutes les "variables" significatives et que la description du système peut être qualifiée de presque "complète".

Et les citations?


Et avec des citations, les choses sont bien pires. Le fait est que dans les prévisions météorologiques, presque toutes les données reçues et prévues sont à la fois la cause et l'effet des événements. La conséquence des événements de l'étape précédente, la cause des événements de l'étape suivante. De plus, ces données et événements importants qui ne sont pas à la fois cause et effet sont très probablement simplement à l'origine et portent une charge utile puissante. Par exemple, la quantité de chaleur reçue du soleil à un moment donné. Et c'est invariable. C'est cela qui augmente l'indicateur d'autosuffisance de telles prévisions. La conséquence se répercute sur la raison des événements de l'étape suivante. Il s'agit d'un processus complètement non-Markovien qui peut être décrit par des équations différentielles.

Alors que les statistiques de cotations sont principalement soit uniquement des conséquences, soit 50 \ 50 . La croissance des devis peut déclencher une nouvelle augmentation des devis et devenir une cause. Et cela peut ne pas provoquer ni provoquer. Et cela peut provoquer des prises de bénéfices et, par conséquent, une baisse des prix. Les données historiques sur les échanges semblent solides. Volumes, prix, "verres", autant de chiffres! La grande majorité d'entre elles ne valent rien, n'étant que le résultat, l'écho d'événements et de causes, bien au-delà du plan de ces statistiques . À une échelle complètement différente. Dans une portée complètement différente.

Lors de la modélisation des devis futurs, nous nous appuyons uniquement sur les conséquences d' événements qui sont beaucoup plus complexes que le simple écart en pourcentage du volume d'achat.Le prix ne se forme pas . Il ne peut pas être différencié par lui-même. Si le marché est exprimé comme un lac métaphorique, le graphique boursier n'est que des ondulations sur l'eau. Peut-être que ce vent a soufflé, peut-être qu'ils ont jeté une pierre dans l'eau, peut-être que le poisson a éclaboussé, peut-être que Godzilla a sauté 200 kilomètres sur un trampoline. Nous ne voyons que des ondulations. Mais dans cette ondulation, nous essayons de prédire la force du vent en 4 jours, le nombre de pierres qui seront jetées à l'eau dans un mois, l'humeur du poisson après-demain, ou peut-être la direction que Godzilla prendra quand il sera fatigué de sauter. Il se rapprochera et déploiera à nouveau le trampoline - les ondulations deviendront plus fortes! Attrapez la tendance, hop hop hop!



C'est un point très important:
, , , .
En d'autres termes, vous ne pouvez pas modéliser le système suffisamment bien sans en avoir une description suffisamment complète.

Malheureusement, l'échelle de la composante simulée maximale possible du système, dans le cas du marché, revient à l'homme. Pas même à une personne, mais à son état psychophysique, dont dépend la réaction au comportement du marché et qui, par cette réaction même, influencera elle-même le marché. La raison même qui en découle! Seules des milliers, sinon des millions de personnes individuelles uniques devront être modélisées. Avec des problèmes personnels, des sentiments, des antécédents hormonaux, des interactions, des activités quotidiennes.

Et il ne s'agit pas seulement des commerçants sur le marché à l'échelle mondiale. Il s'agit également des personnes derrière des projets spécifiques. Il s'agit des problèmes et des succès des projets dans le futur. Il s'agit d'événements importants dans le même avenir. Événements, parfois extrêmement imprévisibles. Il s'avère que pour prédire l'avenir, nous devons connaître l'avenir.


Au total, nous avons besoin d'une sphère de conditions observées, qui nous est complètement inaccessible. L'ampleur de la simulation, qui pour nous est totalement inaccessible.

Eh bien, cela est, en théorie, bien sûr réalisable. Le mouvement brownien, en théorie, est également un système très simulé et prévisible, vous vous en souvenez? Rappelez-vous ensuite le prix de la mise en œuvre pratique d'une telle simulation. Ce prix est considérablement plus élevé que le processus d'alimentation d'un réseau de neurones avec des bougies d'échange. Au moins au moment de la rédaction de cet article.

Mais qu'en est-il des graphismes?


Vraiment. Au tout début de cet article, nous avons présenté des cartes avec une précision de prévision extrêmement élevée, avoisinant les lieux à 100%.

Regardons-les à nouveau:








Que vois-tu? Regarde plus attentivement. Grande coïncidence, non? Parfait, juste parfait. Et sur les premier et deuxième graphiques, le réseau de neurones devance naturellement une longueur d'avance!

Rappelez-vous, j'ai mentionné des bibliothèques de haut niveau pour travailler avec des réseaux de neurones, et cela n'a pas été développé dans le texte de l'article? Maintenant, prenez-le. La disponibilité généralisée de tout, réduit certainement la barre de formation de l'utilisateur moyen. La même chose se produit avec les réseaux de neurones. "Kaggle kernels" est un record. Toute section non étroite est simplement enfouie dans des tonnes de solutions, dont les auteurs, dans la grande majorité, n'ont aucune idée de ce qu'ils font du tout. Et d'en bas, chaque décision est appuyée par des piliers de commentaires élogieux de personnes qui comprennent encore moins le problème. "Excellent travail, ce dont vous avez besoin!", "Je cherche depuis si longtemps un noyau adapté à mes tâches, le voici! Et comment l'utiliser? " etc.

Trouver parmi ce quelque chose de vraiment intéressant et beau est très, très difficile.
<snobisme frénétique>
En conséquence, nous avons un phénomène tel que des personnes qui opèrent facilement avec un appareil mathématique plutôt compliqué, mais qui ne sont pas capables de lire des graphiques .
</ snobisme enragé>

Après tout, le temps sur l'échelle X se déplace vers la droite, et une prévision, idéalement, devrait être obtenue avant l'événement.

Les hyperparamètres ne sont tout simplement pas encore tordus


Nous sommes tous heureux lorsque notre réseau de neurones montre des signes de convergence. Mais il y a des nuances. Dans la programmation en tant que telle, il existe une règle «commencer ne signifie pas gagner». Lorsque nous commençons à peine à apprendre la programmation, nous sommes extrêmement satisfaits du fait que le compilateur / interprète a pu comprendre ce que nous y avons glissé et ne nous a pas jeté d'erreurs. A ce niveau de formation, nous pensons que les erreurs dans un programme ne sont que syntaxiques.

Dans la conception des réseaux de neurones, tout est pareil. Ce n'est qu'au lieu de la compilation qu'il y a convergence. Cela a fonctionné - cela ne signifie pas d’apprendre exactement ce dont nous avons besoin. Alors qu'est-ce qu'il a appris?

Un chercheur inexpérimenté, regardant de si beaux graphismes, est susceptible de sortir. Mais plus ou moins expérimenté, alerte, car il n'y a pas tant d'options:

  1. Le réseau est explicitement recyclé (dans le sens de «redondant» plutôt que de «réutiliser»)
  2. Le réseau exploite une faille dans les méthodes d'enseignement
  3. Le réseau a approché le Graal de l'échange et est capable de prédire l'état du marché à tout moment, «étalant» un graphique sans fin à partir d'une seule bougie

Que pensez-vous, quelle option est plus proche de la réalité? Malheureusement, pas le troisième . Oui, le réseau a vraiment appris. Elle donne des résultats vraiment incroyablement précis, mais pourquoi?

Bien que les réseaux de neurones artificiels ne soient pas un «modèle électronique du cerveau humain», ils présentent encore certaines propriétés de «l'esprit». Fondamentalement, c'est «paresse» et «truc». Et en même temps. Et ce ne sont pas là les conséquences de l'émergence de quelques centaines de «neurones» de conscience de soi. Ce sont les conséquences du fait que le terme «optimisation» est en réalité caché derrière le terme populiste «éducation».

Un réseau de neurones n'est pas un étudiant qui étudie, essayant de comprendre ce que nous lui expliquons, du moins au moment de la rédaction de cet article. Un réseau neuronal est un ensemble de poids dont les valeurs doivent être ajustées ou optimisées de manière à minimiser l'erreur du résultat du réseau neuronal par rapport au résultat de référence.

Nous confions une tâche au réseau neuronal, puis nous lui demandons de «réussir l'examen». Selon les résultats de l '«examen», nous décidons de son succès, estimant à juste titre que dans le processus de préparation à «l'examen», notre réseau a acquis suffisamment de connaissances, de compétences et d'expérience.

Vous voyez le hic? Non? Oui, ça y est, en surface! Bien que votre objectif soit d'enseigner à votre réseau des compétences utiles, à votre avis, son objectif est de réussir l'examen .


À tout prix. N'importe comment. Peut-être, néanmoins, avec certains étudiants, elle a plus en commun que ce qui était indiqué dans les deux paragraphes précédents ...

Alors, comment réussissez-vous l'examen notoire?

Mémoriser


La première option sur la liste des raisons possibles d'une telle précision incroyable. Presque tous les chercheurs novices en réseaux de neurones artificiels savent certainement que plus il y a de neurones, mieux c'est. Et, mieux encore, lorsqu'il contient de nombreuses couches.

Mais il ne prend pas en compte le fait que le nombre de neurones et de couches augmente non seulement le potentiel de réseau dans le domaine de la "pensée abstraite", mais aussi la quantité de sa mémoire. Cela est particulièrement vrai pour les réseaux récurrents, car leur capacité de mémoire est vraiment monstrueuse.

En conséquence, au cours du processus d'optimisation, il s'avère que le plus optimall'option de réussir l'examen est ... le bourrage régulier ou "surapprentissage", "surapprentissage". Le réseau apprendra simplement par cœur toutes les «bonnes réponses». Absolument pas comprendre les principes par lesquels ils sont formés. Par conséquent, lors du test du réseau sur un échantillon de données qu'il n'avait jamais vu auparavant, le réseau commence à porter un non-sens.

Pour cette raison, pour former des réseaux profonds / larges, vous avez besoin de beaucoup plus de données, vous avez besoin de régularisation, vous avez besoin de contrôler le seuil d'erreur minimum, qui devrait être petit, mais pas trop. Et, mieux encore, trouvez le bon équilibre entre la taille du réseau et la qualité de la solution.

Bien. Nous allons le prendre en compte. Nous allons jeter les couches supplémentaires. L'architecture est simplifiée. Nous mettrons en œuvre toutes sortes de trucs différents. Cela fonctionnera-t-il maintenant? Ce n'est pas un fait. Après tout, numéro deux sur la liste des options d'examen faciles:

Déjouez l'enseignant


Étant donné que la classification d'un réseau neuronal n'obtient pas pour le processus, mais pour le résultat, le processus par lequel il atteint ce résultat peut différer légèrement de ce que le développeur souhaitait. C'est l'un des moments les plus vils de travailler avec ces beaux animaux - lorsque le réseau a appris, mais pas cela.

Lorsque vous voyez des graphiques avec des prédictions de cours qui répètent parfaitement le vrai cours, pensez à ce que vous avez enseigné au réseau neuronal? Super précis pour prévoir les prix? Ou peut-être simplement les répéter comme un perroquet?

Assurez-vous que le réseau, qui a une précision de près de 100% sur l'ensemble d'entraînement et la même chose sur l'ensemble de test, répète simplement tout ce qu'il voit. Les réseaux dans lesquels le graphique de prédiction est décalé d'une étape dans le temps vers la droite (exemples des graphiques 1 et 2) répètent simplement la valeur de prix de l'étape précédente, qui leur est transmise dans une nouvelle. Les graphiques, bien sûr, semblent très encourageants et correspondent presque parfaitement, mais ils n'ont aucun pouvoir prédictif. Vous pouvez annoncer vous-même le prix d'hier aujourd'hui, pour cela, vous n'avez pas besoin d'étudier à Poudlard ou de polir Palantir, non?

Mais c'est si vous leur donnez les valeurs de l'étape précédente, en les comparant avec la valeur de l'étape actuelle. Parfois, les gens donnent simplement une valeur à l'étape actuelle, en la comparant à l'étape suivante. Dans ce cas, nous obtenons de beaux graphiques qui correspondent presque parfaitement aux originaux (exemples des graphiques 3 et 4).

Parfois, vous pouvez voir des graphiques qui ne correspondent pas parfaitement, plus doux, comme lissés, interpolés . Il s'agit généralement d'un signe clair d'un réseau récursif qui essaie de lier un nouveau résultat à un précédent (graphique exemple 3).

Tous ces résultats n'ont qu'une chose en commun: le réseau neuronal a appris à passer l'examen 5+. Mais elle n'a pas appris à résoudre la tâche qui lui était confiée de la manière qui lui était demandée et ne présente aucun avantage pratique pour le chercheur. Tout comme un étudiant, mais avec une feuille de triche, non?

Pourquoi le réseau répète-t-il les valeurs précédentes sans essayer d'en générer de nouvelles? Oui, tout simplement pendant la formation, elle arrive à la conclusion raisonnable que, généralement, le point le plus proche du point suivant sur le graphique est le précédent. Oui, la magnitude de l'erreur dans ce cas flotte, mais elle, sur un grand échantillon, est stablement plus petite que la magnitude de l'erreur lorsque vous essayez de prédire l'état suivant dans un processus quasi-aléatoire .

Les réseaux de neurones peuvent parfaitement généraliser. Une telle généralisation est une excellente solution au problème.

Hélas, peu importe la façon dont vous tordez les hyperparamètres, l'avenir ne s'ouvrira pas pour elle. Le graphique ne reculera pas d'un pas dans le temps. Oui, le Graal est si proche, mais si loin.


Arrêtez. Non non Non. Mais qu'en est-il du trading algorithmique? Elle existe!


Exactement. Bien sûr que ça existe. Mais le point clé est que ce trading algorithmique n'est pas la même chose que la divination algorithmique . Le trading algorithmique est basé sur le fait que le système de trading analyse le marché à l'heure actuelle, prenant la décision d'ouvrir et de fermer une transaction sur la base d'un grand nombre de paramètres objectifs et de signes indirects.

Oui, techniquement, c'est aussi une tentative de prédire le comportement du marché, mais, contrairement aux prévisions pour les jours et les mois à l'avance, le système commercial essaie de fonctionner aux plus petits intervalles de temps les plus admissibles.

Rappelez-vous les prévisions météorologiques? Rappelez-vous que sa précision diminue considérablement sur de longues distances? Cela fonctionne dans les deux sens. Plus la distance est courte, plus la précision est élevée. Vous, en regardant par la fenêtre, même sans être météorologue, pouvez prédire quelle température de l'air sera dans une seconde, non?

Mais comment ça fonctionne? N'est-ce pas contraire à tout ce qui a été dit? Mais qu'en est-il des ondulations sur l'eau, que diriez-vous du manque de données? Et Godzilla, après tout!?

Mais non, il n'y a pas de contradictions. Tant que le bot de trading fonctionne à de très petits intervalles, vraiment petits, d'une minute à des fractions de seconde, selon le type, il n'a pas besoin de connaître l'avenir et n'a pas besoin d'avoir une image complète du marché. Il lui suffit de comprendre comment fonctionne le système qui l'entoure. Dans quelles circonstances, il est préférable d'ouvrir un accord, dans lequel conclure. Un bot de trading fonctionne à une échelle si petite que son champ de vision est capable de couvrir suffisamment de facteurs pour prendre une décision réussie sur une courte distance acceptable. Et pour ce faire, il n'a absolument pas besoin de connaître l' état global du système.

Conclusion


L'article s'est avéré être gros. Plus que ce à quoi je m'attendais. J'espère que cela sera utile à quelqu'un et aidera à gagner du temps pour quelqu'un qui a décidé de tenter sa chance à la recherche du Saint Graal du commerce.

Soulignons les points principaux:

  1. Godzilla a un trampoline
  2. Vous devez comprendre comment les outils avec lesquels vous résolvez le problème
  3. Il est nécessaire de comprendre les limites d'applicabilité et d'évaluer correctement la solvabilité du problème en tant que tel.
  4. Il est important de pouvoir interpréter correctement les résultats de la boîte à outils
  5. Les réseaux de neurones sont des approximateurs de fonctions, pas des prédicteurs de l'avenir
  6. F(X)=Xet F(Xn)=Xn-1- ce sont aussi des fonctions
  7. Pour simuler l'état d'un système, vous devez avoir une description complète ou proche de cette description de ce système
  8. Statistiques - seulement une description partielle et sélective des conséquences du système
  9. Un bon système de prévision devrait être modérément autosuffisant
  10. Les réseaux de neurones ne peuvent pas être pris pour un mot, ils sont insidieux, rusés et paresseux
  11. Vous voulez que l'IA vous aide à trader? Apprenez-lui à échanger

Merci à tous ceux qui ont lu jusqu'au bout!

PS Non, ce n'est pas un article sur "l'analyse fondamentale des VS techniques". Cet article porte sur "il n'y a pas de miracles".

All Articles