Topic de HunterChasseur :

Un khey CALÉ en DEEP LEARNING? quelques questions

Le 27 avril 2022 à 23:22:08 Banclistologue a écrit :

Le 27 avril 2022 à 23:15:20 :

Le 27 avril 2022 à 23:10:21 :

Le 27 avril 2022 à 23:04:57 Banclistologue a écrit :

Le 27 avril 2022 à 22:31:25 :

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Penalise s'il est sous performant?

pénaliser un modèle pour sa sous-performance ça s'appelle juste faire de l'optimisation en fait :rire:

mais comme a dit le khey c'est pas le cas des termes additifs dans la loss type régularisation L2

le but c'est de forcer tes poids à rester sur des petites valeurs de sorte à restreindre un peu l'espace des états de ton modèle (plus tu pénalises moins ton modèle overfit)

l'idée intuitive c'est qu'en utilisant beaucoup, beaucoup de poids, mais en régularisant pour compenser, on laisse au modèle la possibilité de voir les exemples sous plein d'angles différents et de construire de très nombreuses caractérisations intermédiaires de l'exemple pour nourrir une réflexion riche sans pour autant qu'il se mette à apprendre par coeur

(enfin quand je dis nourrir une réflexion riche c'est une métaphore hein,comme disent les kheys en ML y'a pas vraiment d'intelligence ... à part en reinforcement peut-être)

Je viens de lire un article à propos des vanishing gradient, ya des méthodes connues pour stop ce problème?
Mon réseau sera assez profond du coup je vais forcément me manger ce phénomène https://image.noelshack.com/fichiers/2022/17/2/1650981471-karen17.png

bah typiquement les residual dont on parlait tout à l'heure ça aide
comme je disais ça diminue la profondeur apparente de ton réseau

mais en fait je vois pas trop comment tu pourrais te manger ce phénomène vu que tu vas probablement juste prendre une architecture déjà disponible comme un resnet, qui contient déjà une solution au problème :hap:
à moins que tu veuilles vraiment bosser sur les architectures nn mais dans ce cas c'est de la recherche pure en ML, pas du ML appliqué à la finance

si je voulais faire une analogie, c'est comme si tu voulais coder un petit jeu opensource qui tourne sur ubuntu mais que tu te sentais limité par des problèmes qui ont historiquement été rencontré lors du développement du noyau linux

Si c'est disponible c'est que ça marche pas kheyou, surtout dans la finance https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Pourquoi t aurais besoin de 8 couches Exactement ?

Le 27 avril 2022 à 23:27:27 idrms a écrit :
Pourquoi t aurais besoin de 8 couches Exactement ?

C'est pas 8 couches exact, c'est environ faut que je regarde plus précisément mais dans tous les cas yena beaucoup https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
Et je peux pas trop en dire là par contre https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Le 27 avril 2022 à 23:25:37 :

Le 27 avril 2022 à 23:22:08 Banclistologue a écrit :

Le 27 avril 2022 à 23:15:20 :

Le 27 avril 2022 à 23:10:21 :

Le 27 avril 2022 à 23:04:57 Banclistologue a écrit :

Le 27 avril 2022 à 22:31:25 :

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Penalise s'il est sous performant?

pénaliser un modèle pour sa sous-performance ça s'appelle juste faire de l'optimisation en fait :rire:

mais comme a dit le khey c'est pas le cas des termes additifs dans la loss type régularisation L2

le but c'est de forcer tes poids à rester sur des petites valeurs de sorte à restreindre un peu l'espace des états de ton modèle (plus tu pénalises moins ton modèle overfit)

l'idée intuitive c'est qu'en utilisant beaucoup, beaucoup de poids, mais en régularisant pour compenser, on laisse au modèle la possibilité de voir les exemples sous plein d'angles différents et de construire de très nombreuses caractérisations intermédiaires de l'exemple pour nourrir une réflexion riche sans pour autant qu'il se mette à apprendre par coeur

(enfin quand je dis nourrir une réflexion riche c'est une métaphore hein,comme disent les kheys en ML y'a pas vraiment d'intelligence ... à part en reinforcement peut-être)

Je viens de lire un article à propos des vanishing gradient, ya des méthodes connues pour stop ce problème?
Mon réseau sera assez profond du coup je vais forcément me manger ce phénomène https://image.noelshack.com/fichiers/2022/17/2/1650981471-karen17.png

bah typiquement les residual dont on parlait tout à l'heure ça aide
comme je disais ça diminue la profondeur apparente de ton réseau

mais en fait je vois pas trop comment tu pourrais te manger ce phénomène vu que tu vas probablement juste prendre une architecture déjà disponible comme un resnet, qui contient déjà une solution au problème :hap:
à moins que tu veuilles vraiment bosser sur les architectures nn mais dans ce cas c'est de la recherche pure en ML, pas du ML appliqué à la finance

si je voulais faire une analogie, c'est comme si tu voulais coder un petit jeu opensource qui tourne sur ubuntu mais que tu te sentais limité par des problèmes qui ont historiquement été rencontré lors du développement du noyau linux

Bah mon architecture fait qu'elle aura 8-10 couches environs du coup je vais me manger le problème des gradients https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
8 dérivées d'affilées ça donne plus rien non? si je me trompe tant mieux je vais juste utiliser une sigmoid https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

tu n'as aucune raison de connaître le nombre de couches à l'avance
pour faire les choses proprement tu dois laisser la possibilité à ton optimiseur d'hyperparamètres de "choisir" entre plusieurs architectures

Au fait disons que j'ai ce problème
On prend le prix à l'heure X
Puis x-1
et x-2 etc

Et on les fout en entrée, ça fait que je vais avoir autant de neurone que de n ? https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
Ou je peux les mettre tous dans un seul neurone sous l'étiquette "prix" https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Faut bien que t es conscience que plus t as de couches plus tu cherches une relation complexe et ultra implicite entre ton entrée et ta sortie. Donc plus tu vas profond, plus t as de chance de ne pas généraliser

Le 27 avril 2022 à 23:30:54 Banclistologue a écrit :

Le 27 avril 2022 à 23:25:37 :

Le 27 avril 2022 à 23:22:08 Banclistologue a écrit :

Le 27 avril 2022 à 23:15:20 :

Le 27 avril 2022 à 23:10:21 :

Le 27 avril 2022 à 23:04:57 Banclistologue a écrit :

Le 27 avril 2022 à 22:31:25 :

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Penalise s'il est sous performant?

pénaliser un modèle pour sa sous-performance ça s'appelle juste faire de l'optimisation en fait :rire:

mais comme a dit le khey c'est pas le cas des termes additifs dans la loss type régularisation L2

le but c'est de forcer tes poids à rester sur des petites valeurs de sorte à restreindre un peu l'espace des états de ton modèle (plus tu pénalises moins ton modèle overfit)

l'idée intuitive c'est qu'en utilisant beaucoup, beaucoup de poids, mais en régularisant pour compenser, on laisse au modèle la possibilité de voir les exemples sous plein d'angles différents et de construire de très nombreuses caractérisations intermédiaires de l'exemple pour nourrir une réflexion riche sans pour autant qu'il se mette à apprendre par coeur

(enfin quand je dis nourrir une réflexion riche c'est une métaphore hein,comme disent les kheys en ML y'a pas vraiment d'intelligence ... à part en reinforcement peut-être)

Je viens de lire un article à propos des vanishing gradient, ya des méthodes connues pour stop ce problème?
Mon réseau sera assez profond du coup je vais forcément me manger ce phénomène https://image.noelshack.com/fichiers/2022/17/2/1650981471-karen17.png

bah typiquement les residual dont on parlait tout à l'heure ça aide
comme je disais ça diminue la profondeur apparente de ton réseau

mais en fait je vois pas trop comment tu pourrais te manger ce phénomène vu que tu vas probablement juste prendre une architecture déjà disponible comme un resnet, qui contient déjà une solution au problème :hap:
à moins que tu veuilles vraiment bosser sur les architectures nn mais dans ce cas c'est de la recherche pure en ML, pas du ML appliqué à la finance

si je voulais faire une analogie, c'est comme si tu voulais coder un petit jeu opensource qui tourne sur ubuntu mais que tu te sentais limité par des problèmes qui ont historiquement été rencontré lors du développement du noyau linux

Bah mon architecture fait qu'elle aura 8-10 couches environs du coup je vais me manger le problème des gradients https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
8 dérivées d'affilées ça donne plus rien non? si je me trompe tant mieux je vais juste utiliser une sigmoid https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

tu n'as aucune raison de connaître le nombre de couches à l'avance
pour faire les choses proprement tu dois laisser la possibilité à ton optimiseur d'hyperparamètres de "choisir" entre plusieurs architectures

bah ya une raison mais franchement j'aimerais me délester de toute complexité possible car ça commence à faire trop https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
grâce au dropout c'est ça? il modifie la structure https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Le 27 avril 2022 à 23:32:13 idrms a écrit :
Faut bien que t es conscience que plus t as de couches plus tu cherches une relation complexe et ultra implicite entre ton entrée et ta sortie. Donc plus tu vas profond, plus t as de chance de ne pas généraliser

et si les données d'entrainement sont nombreuses ça compense?

Le 27 avril 2022 à 23:26:51 :

Le 27 avril 2022 à 23:22:08 Banclistologue a écrit :

Le 27 avril 2022 à 23:15:20 :

Le 27 avril 2022 à 23:10:21 :

Le 27 avril 2022 à 23:04:57 Banclistologue a écrit :

Le 27 avril 2022 à 22:31:25 :

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Penalise s'il est sous performant?

pénaliser un modèle pour sa sous-performance ça s'appelle juste faire de l'optimisation en fait :rire:

mais comme a dit le khey c'est pas le cas des termes additifs dans la loss type régularisation L2

le but c'est de forcer tes poids à rester sur des petites valeurs de sorte à restreindre un peu l'espace des états de ton modèle (plus tu pénalises moins ton modèle overfit)

l'idée intuitive c'est qu'en utilisant beaucoup, beaucoup de poids, mais en régularisant pour compenser, on laisse au modèle la possibilité de voir les exemples sous plein d'angles différents et de construire de très nombreuses caractérisations intermédiaires de l'exemple pour nourrir une réflexion riche sans pour autant qu'il se mette à apprendre par coeur

(enfin quand je dis nourrir une réflexion riche c'est une métaphore hein,comme disent les kheys en ML y'a pas vraiment d'intelligence ... à part en reinforcement peut-être)

Je viens de lire un article à propos des vanishing gradient, ya des méthodes connues pour stop ce problème?
Mon réseau sera assez profond du coup je vais forcément me manger ce phénomène https://image.noelshack.com/fichiers/2022/17/2/1650981471-karen17.png

bah typiquement les residual dont on parlait tout à l'heure ça aide
comme je disais ça diminue la profondeur apparente de ton réseau

mais en fait je vois pas trop comment tu pourrais te manger ce phénomène vu que tu vas probablement juste prendre une architecture déjà disponible comme un resnet, qui contient déjà une solution au problème :hap:
à moins que tu veuilles vraiment bosser sur les architectures nn mais dans ce cas c'est de la recherche pure en ML, pas du ML appliqué à la finance

si je voulais faire une analogie, c'est comme si tu voulais coder un petit jeu opensource qui tourne sur ubuntu mais que tu te sentais limité par des problèmes qui ont historiquement été rencontré lors du développement du noyau linux

Si c'est disponible c'est que ça marche pas kheyou, surtout dans la finance https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

je parle de la techno sous-jacente
tu as une infinité de façon de l'utiliser ensuite

et honnêtement si tu veux un modèle original tu as plus intérêt à jouer sur l'originalité de ton dataset, ou de la méthode de training utilisée, plus que sur l'originalité de ton architecture

(et by the way, les marchés ne sont pas rationnels sur les assets avec très peu de liquidité)

Le 27 avril 2022 à 23:33:40 :

Le 27 avril 2022 à 23:30:54 Banclistologue a écrit :

Le 27 avril 2022 à 23:25:37 :

Le 27 avril 2022 à 23:22:08 Banclistologue a écrit :

Le 27 avril 2022 à 23:15:20 :

Le 27 avril 2022 à 23:10:21 :

Le 27 avril 2022 à 23:04:57 Banclistologue a écrit :

Le 27 avril 2022 à 22:31:25 :

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Penalise s'il est sous performant?

pénaliser un modèle pour sa sous-performance ça s'appelle juste faire de l'optimisation en fait :rire:

mais comme a dit le khey c'est pas le cas des termes additifs dans la loss type régularisation L2

le but c'est de forcer tes poids à rester sur des petites valeurs de sorte à restreindre un peu l'espace des états de ton modèle (plus tu pénalises moins ton modèle overfit)

l'idée intuitive c'est qu'en utilisant beaucoup, beaucoup de poids, mais en régularisant pour compenser, on laisse au modèle la possibilité de voir les exemples sous plein d'angles différents et de construire de très nombreuses caractérisations intermédiaires de l'exemple pour nourrir une réflexion riche sans pour autant qu'il se mette à apprendre par coeur

(enfin quand je dis nourrir une réflexion riche c'est une métaphore hein,comme disent les kheys en ML y'a pas vraiment d'intelligence ... à part en reinforcement peut-être)

Je viens de lire un article à propos des vanishing gradient, ya des méthodes connues pour stop ce problème?
Mon réseau sera assez profond du coup je vais forcément me manger ce phénomène https://image.noelshack.com/fichiers/2022/17/2/1650981471-karen17.png

bah typiquement les residual dont on parlait tout à l'heure ça aide
comme je disais ça diminue la profondeur apparente de ton réseau

mais en fait je vois pas trop comment tu pourrais te manger ce phénomène vu que tu vas probablement juste prendre une architecture déjà disponible comme un resnet, qui contient déjà une solution au problème :hap:
à moins que tu veuilles vraiment bosser sur les architectures nn mais dans ce cas c'est de la recherche pure en ML, pas du ML appliqué à la finance

si je voulais faire une analogie, c'est comme si tu voulais coder un petit jeu opensource qui tourne sur ubuntu mais que tu te sentais limité par des problèmes qui ont historiquement été rencontré lors du développement du noyau linux

Bah mon architecture fait qu'elle aura 8-10 couches environs du coup je vais me manger le problème des gradients https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
8 dérivées d'affilées ça donne plus rien non? si je me trompe tant mieux je vais juste utiliser une sigmoid https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

tu n'as aucune raison de connaître le nombre de couches à l'avance
pour faire les choses proprement tu dois laisser la possibilité à ton optimiseur d'hyperparamètres de "choisir" entre plusieurs architectures

bah ya une raison mais franchement j'aimerais me délester de toute complexité possible car ça commence à faire trop https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
grâce au dropout c'est ça? il modifie la structure https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

le dropout ne modifie pas la structure, tu ne l'actives que pendant la phase de training, ensuite tous tes poids sont utilisés
(en fait tu parles plutôt d'approches sparse, ou de régularisation L0 j'ai l'impression ... j'ai mis un lien sur la régularisation L0 plus haut tu peux jeter un oeil)

Le 27 avril 2022 à 23:35:33 Banclistologue a écrit :

Le 27 avril 2022 à 23:26:51 :

Le 27 avril 2022 à 23:22:08 Banclistologue a écrit :

Le 27 avril 2022 à 23:15:20 :

Le 27 avril 2022 à 23:10:21 :

Le 27 avril 2022 à 23:04:57 Banclistologue a écrit :

Le 27 avril 2022 à 22:31:25 :

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Penalise s'il est sous performant?

pénaliser un modèle pour sa sous-performance ça s'appelle juste faire de l'optimisation en fait :rire:

mais comme a dit le khey c'est pas le cas des termes additifs dans la loss type régularisation L2

le but c'est de forcer tes poids à rester sur des petites valeurs de sorte à restreindre un peu l'espace des états de ton modèle (plus tu pénalises moins ton modèle overfit)

l'idée intuitive c'est qu'en utilisant beaucoup, beaucoup de poids, mais en régularisant pour compenser, on laisse au modèle la possibilité de voir les exemples sous plein d'angles différents et de construire de très nombreuses caractérisations intermédiaires de l'exemple pour nourrir une réflexion riche sans pour autant qu'il se mette à apprendre par coeur

(enfin quand je dis nourrir une réflexion riche c'est une métaphore hein,comme disent les kheys en ML y'a pas vraiment d'intelligence ... à part en reinforcement peut-être)

Je viens de lire un article à propos des vanishing gradient, ya des méthodes connues pour stop ce problème?
Mon réseau sera assez profond du coup je vais forcément me manger ce phénomène https://image.noelshack.com/fichiers/2022/17/2/1650981471-karen17.png

bah typiquement les residual dont on parlait tout à l'heure ça aide
comme je disais ça diminue la profondeur apparente de ton réseau

mais en fait je vois pas trop comment tu pourrais te manger ce phénomène vu que tu vas probablement juste prendre une architecture déjà disponible comme un resnet, qui contient déjà une solution au problème :hap:
à moins que tu veuilles vraiment bosser sur les architectures nn mais dans ce cas c'est de la recherche pure en ML, pas du ML appliqué à la finance

si je voulais faire une analogie, c'est comme si tu voulais coder un petit jeu opensource qui tourne sur ubuntu mais que tu te sentais limité par des problèmes qui ont historiquement été rencontré lors du développement du noyau linux

Si c'est disponible c'est que ça marche pas kheyou, surtout dans la finance https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

je parle de la techno sous-jacente
tu as une infinité de façon de l'utiliser ensuite

et honnêtement si tu veux un modèle original tu as plus intérêt à jouer sur l'originalité de ton dataset, ou de la méthode de training utilisée, plus que sur l'originalité de ton architecture

(et by the way, les marchés ne sont pas rationnels sur les assets avec très peu de liquidité)

Donc limite je peux copier coller un modèle puis lui faire avaler mes données c'est ce que tu dis? https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
Oui les shitcoins c'est du casino ayaaa https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Le 27 avril 2022 à 23:34:37 :

Le 27 avril 2022 à 23:32:13 idrms a écrit :
Faut bien que t es conscience que plus t as de couches plus tu cherches une relation complexe et ultra implicite entre ton entrée et ta sortie. Donc plus tu vas profond, plus t as de chance de ne pas généraliser

et si les données d'entrainement sont nombreuses ça compense?

oui, plus le dataset est grand, moins vite tu overfit
par contre ça devient vite gourmand en ressource

Le 27 avril 2022 à 23:37:45 Banclistologue a écrit :

Le 27 avril 2022 à 23:33:40 :

Le 27 avril 2022 à 23:30:54 Banclistologue a écrit :

Le 27 avril 2022 à 23:25:37 :

Le 27 avril 2022 à 23:22:08 Banclistologue a écrit :

Le 27 avril 2022 à 23:15:20 :

Le 27 avril 2022 à 23:10:21 :

Le 27 avril 2022 à 23:04:57 Banclistologue a écrit :

Le 27 avril 2022 à 22:31:25 :

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Penalise s'il est sous performant?

pénaliser un modèle pour sa sous-performance ça s'appelle juste faire de l'optimisation en fait :rire:

mais comme a dit le khey c'est pas le cas des termes additifs dans la loss type régularisation L2

le but c'est de forcer tes poids à rester sur des petites valeurs de sorte à restreindre un peu l'espace des états de ton modèle (plus tu pénalises moins ton modèle overfit)

l'idée intuitive c'est qu'en utilisant beaucoup, beaucoup de poids, mais en régularisant pour compenser, on laisse au modèle la possibilité de voir les exemples sous plein d'angles différents et de construire de très nombreuses caractérisations intermédiaires de l'exemple pour nourrir une réflexion riche sans pour autant qu'il se mette à apprendre par coeur

(enfin quand je dis nourrir une réflexion riche c'est une métaphore hein,comme disent les kheys en ML y'a pas vraiment d'intelligence ... à part en reinforcement peut-être)

Je viens de lire un article à propos des vanishing gradient, ya des méthodes connues pour stop ce problème?
Mon réseau sera assez profond du coup je vais forcément me manger ce phénomène https://image.noelshack.com/fichiers/2022/17/2/1650981471-karen17.png

bah typiquement les residual dont on parlait tout à l'heure ça aide
comme je disais ça diminue la profondeur apparente de ton réseau

mais en fait je vois pas trop comment tu pourrais te manger ce phénomène vu que tu vas probablement juste prendre une architecture déjà disponible comme un resnet, qui contient déjà une solution au problème :hap:
à moins que tu veuilles vraiment bosser sur les architectures nn mais dans ce cas c'est de la recherche pure en ML, pas du ML appliqué à la finance

si je voulais faire une analogie, c'est comme si tu voulais coder un petit jeu opensource qui tourne sur ubuntu mais que tu te sentais limité par des problèmes qui ont historiquement été rencontré lors du développement du noyau linux

Bah mon architecture fait qu'elle aura 8-10 couches environs du coup je vais me manger le problème des gradients https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
8 dérivées d'affilées ça donne plus rien non? si je me trompe tant mieux je vais juste utiliser une sigmoid https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

tu n'as aucune raison de connaître le nombre de couches à l'avance
pour faire les choses proprement tu dois laisser la possibilité à ton optimiseur d'hyperparamètres de "choisir" entre plusieurs architectures

bah ya une raison mais franchement j'aimerais me délester de toute complexité possible car ça commence à faire trop https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
grâce au dropout c'est ça? il modifie la structure https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

le dropout ne modifie pas la structure, tu ne l'actives que pendant la phase de training, ensuite tous tes poids sont utilisés
(en fait tu parles plutôt d'approches sparse, ou de régularisation L0 j'ai l'impression ... j'ai mis un lien sur la régularisation L0 plus haut tu peux jeter un oeil)

Je comprends pas à quoi ça sert de les utiliser s'ils ont été drop en training? je croyais que ça les supprimait pour gagner en ressources sans perdre trop d'efficacité https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Le 27 avril 2022 à 23:38:53 Banclistologue a écrit :

Le 27 avril 2022 à 23:34:37 :

Le 27 avril 2022 à 23:32:13 idrms a écrit :
Faut bien que t es conscience que plus t as de couches plus tu cherches une relation complexe et ultra implicite entre ton entrée et ta sortie. Donc plus tu vas profond, plus t as de chance de ne pas généraliser

et si les données d'entrainement sont nombreuses ça compense?

oui, plus le dataset est grand, moins vite tu overfit
par contre ça devient vite gourmand en ressource

Ouais franchement c'est le seul vrai problème que j'ai actuellement je crois que mon pc va exploser https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Le 27 avril 2022 à 23:38:09 :

Le 27 avril 2022 à 23:35:33 Banclistologue a écrit :

Le 27 avril 2022 à 23:26:51 :

Le 27 avril 2022 à 23:22:08 Banclistologue a écrit :

Le 27 avril 2022 à 23:15:20 :

Le 27 avril 2022 à 23:10:21 :

Le 27 avril 2022 à 23:04:57 Banclistologue a écrit :

Le 27 avril 2022 à 22:31:25 :

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Penalise s'il est sous performant?

pénaliser un modèle pour sa sous-performance ça s'appelle juste faire de l'optimisation en fait :rire:

mais comme a dit le khey c'est pas le cas des termes additifs dans la loss type régularisation L2

le but c'est de forcer tes poids à rester sur des petites valeurs de sorte à restreindre un peu l'espace des états de ton modèle (plus tu pénalises moins ton modèle overfit)

l'idée intuitive c'est qu'en utilisant beaucoup, beaucoup de poids, mais en régularisant pour compenser, on laisse au modèle la possibilité de voir les exemples sous plein d'angles différents et de construire de très nombreuses caractérisations intermédiaires de l'exemple pour nourrir une réflexion riche sans pour autant qu'il se mette à apprendre par coeur

(enfin quand je dis nourrir une réflexion riche c'est une métaphore hein,comme disent les kheys en ML y'a pas vraiment d'intelligence ... à part en reinforcement peut-être)

Je viens de lire un article à propos des vanishing gradient, ya des méthodes connues pour stop ce problème?
Mon réseau sera assez profond du coup je vais forcément me manger ce phénomène https://image.noelshack.com/fichiers/2022/17/2/1650981471-karen17.png

bah typiquement les residual dont on parlait tout à l'heure ça aide
comme je disais ça diminue la profondeur apparente de ton réseau

mais en fait je vois pas trop comment tu pourrais te manger ce phénomène vu que tu vas probablement juste prendre une architecture déjà disponible comme un resnet, qui contient déjà une solution au problème :hap:
à moins que tu veuilles vraiment bosser sur les architectures nn mais dans ce cas c'est de la recherche pure en ML, pas du ML appliqué à la finance

si je voulais faire une analogie, c'est comme si tu voulais coder un petit jeu opensource qui tourne sur ubuntu mais que tu te sentais limité par des problèmes qui ont historiquement été rencontré lors du développement du noyau linux

Si c'est disponible c'est que ça marche pas kheyou, surtout dans la finance https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

je parle de la techno sous-jacente
tu as une infinité de façon de l'utiliser ensuite

et honnêtement si tu veux un modèle original tu as plus intérêt à jouer sur l'originalité de ton dataset, ou de la méthode de training utilisée, plus que sur l'originalité de ton architecture

(et by the way, les marchés ne sont pas rationnels sur les assets avec très peu de liquidité)

Donc limite je peux copier coller un modèle puis lui faire avaler mes données c'est ce que tu dis? https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

franchement, c'est un peu ça :rire:

après quelles sont tes données

quels sont tes inputs, est-ce que tu travailles en multi-modal et si oui comment tu vas gérer ça. est-ce que tu vas aussi t'appuyer sur des données d'actualités avec google trend, etc.

quels sont tes labels (lui faire deviner seulement le prix à t + delta t n'est pas forcément le meilleur moyen d'entraîner un premier gros modèle ou de chauffer ton modèle définitif, même si in fine c'est la tâche qui t'intéresse)

est-ce que tu vas faire du transfer learning, si oui tu te bases sur quel modèle

etc.

il y a mille façons de poser le problème

Le 27 avril 2022 à 23:39:43 :

Le 27 avril 2022 à 23:37:45 Banclistologue a écrit :

Le 27 avril 2022 à 23:33:40 :

Le 27 avril 2022 à 23:30:54 Banclistologue a écrit :

Le 27 avril 2022 à 23:25:37 :

Le 27 avril 2022 à 23:22:08 Banclistologue a écrit :

Le 27 avril 2022 à 23:15:20 :

Le 27 avril 2022 à 23:10:21 :

Le 27 avril 2022 à 23:04:57 Banclistologue a écrit :

Le 27 avril 2022 à 22:31:25 :

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Penalise s'il est sous performant?

pénaliser un modèle pour sa sous-performance ça s'appelle juste faire de l'optimisation en fait :rire:

mais comme a dit le khey c'est pas le cas des termes additifs dans la loss type régularisation L2

le but c'est de forcer tes poids à rester sur des petites valeurs de sorte à restreindre un peu l'espace des états de ton modèle (plus tu pénalises moins ton modèle overfit)

l'idée intuitive c'est qu'en utilisant beaucoup, beaucoup de poids, mais en régularisant pour compenser, on laisse au modèle la possibilité de voir les exemples sous plein d'angles différents et de construire de très nombreuses caractérisations intermédiaires de l'exemple pour nourrir une réflexion riche sans pour autant qu'il se mette à apprendre par coeur

(enfin quand je dis nourrir une réflexion riche c'est une métaphore hein,comme disent les kheys en ML y'a pas vraiment d'intelligence ... à part en reinforcement peut-être)

Je viens de lire un article à propos des vanishing gradient, ya des méthodes connues pour stop ce problème?
Mon réseau sera assez profond du coup je vais forcément me manger ce phénomène https://image.noelshack.com/fichiers/2022/17/2/1650981471-karen17.png

bah typiquement les residual dont on parlait tout à l'heure ça aide
comme je disais ça diminue la profondeur apparente de ton réseau

mais en fait je vois pas trop comment tu pourrais te manger ce phénomène vu que tu vas probablement juste prendre une architecture déjà disponible comme un resnet, qui contient déjà une solution au problème :hap:
à moins que tu veuilles vraiment bosser sur les architectures nn mais dans ce cas c'est de la recherche pure en ML, pas du ML appliqué à la finance

si je voulais faire une analogie, c'est comme si tu voulais coder un petit jeu opensource qui tourne sur ubuntu mais que tu te sentais limité par des problèmes qui ont historiquement été rencontré lors du développement du noyau linux

Bah mon architecture fait qu'elle aura 8-10 couches environs du coup je vais me manger le problème des gradients https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
8 dérivées d'affilées ça donne plus rien non? si je me trompe tant mieux je vais juste utiliser une sigmoid https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

tu n'as aucune raison de connaître le nombre de couches à l'avance
pour faire les choses proprement tu dois laisser la possibilité à ton optimiseur d'hyperparamètres de "choisir" entre plusieurs architectures

bah ya une raison mais franchement j'aimerais me délester de toute complexité possible car ça commence à faire trop https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
grâce au dropout c'est ça? il modifie la structure https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

le dropout ne modifie pas la structure, tu ne l'actives que pendant la phase de training, ensuite tous tes poids sont utilisés
(en fait tu parles plutôt d'approches sparse, ou de régularisation L0 j'ai l'impression ... j'ai mis un lien sur la régularisation L0 plus haut tu peux jeter un oeil)

Je comprends pas à quoi ça sert de les utiliser s'ils ont été drop en training? je croyais que ça les supprimait pour gagner en ressources sans perdre trop d'efficacité https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

elles sont pas tout le temps drop pendant le training en fait
à chaque itération tu en drop un certain nombre au pif mais pas toujours les mêmes
intuitivement ça permet de forcer ton modèle à être résilient / à savoir se débrouiller de plusieurs façons différentes pour trouver la solution
mais à la fin quand l'entraînement est fini il vaut mieux qu'il ait toutes ses capacités à disposition

Le 27 avril 2022 à 23:45:29 Banclistologue a écrit :

Le 27 avril 2022 à 23:38:09 :

Le 27 avril 2022 à 23:35:33 Banclistologue a écrit :

Le 27 avril 2022 à 23:26:51 :

Le 27 avril 2022 à 23:22:08 Banclistologue a écrit :

Le 27 avril 2022 à 23:15:20 :

Le 27 avril 2022 à 23:10:21 :

Le 27 avril 2022 à 23:04:57 Banclistologue a écrit :

Le 27 avril 2022 à 22:31:25 :

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Penalise s'il est sous performant?

pénaliser un modèle pour sa sous-performance ça s'appelle juste faire de l'optimisation en fait :rire:

mais comme a dit le khey c'est pas le cas des termes additifs dans la loss type régularisation L2

le but c'est de forcer tes poids à rester sur des petites valeurs de sorte à restreindre un peu l'espace des états de ton modèle (plus tu pénalises moins ton modèle overfit)

l'idée intuitive c'est qu'en utilisant beaucoup, beaucoup de poids, mais en régularisant pour compenser, on laisse au modèle la possibilité de voir les exemples sous plein d'angles différents et de construire de très nombreuses caractérisations intermédiaires de l'exemple pour nourrir une réflexion riche sans pour autant qu'il se mette à apprendre par coeur

(enfin quand je dis nourrir une réflexion riche c'est une métaphore hein,comme disent les kheys en ML y'a pas vraiment d'intelligence ... à part en reinforcement peut-être)

Je viens de lire un article à propos des vanishing gradient, ya des méthodes connues pour stop ce problème?
Mon réseau sera assez profond du coup je vais forcément me manger ce phénomène https://image.noelshack.com/fichiers/2022/17/2/1650981471-karen17.png

bah typiquement les residual dont on parlait tout à l'heure ça aide
comme je disais ça diminue la profondeur apparente de ton réseau

mais en fait je vois pas trop comment tu pourrais te manger ce phénomène vu que tu vas probablement juste prendre une architecture déjà disponible comme un resnet, qui contient déjà une solution au problème :hap:
à moins que tu veuilles vraiment bosser sur les architectures nn mais dans ce cas c'est de la recherche pure en ML, pas du ML appliqué à la finance

si je voulais faire une analogie, c'est comme si tu voulais coder un petit jeu opensource qui tourne sur ubuntu mais que tu te sentais limité par des problèmes qui ont historiquement été rencontré lors du développement du noyau linux

Si c'est disponible c'est que ça marche pas kheyou, surtout dans la finance https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

je parle de la techno sous-jacente
tu as une infinité de façon de l'utiliser ensuite

et honnêtement si tu veux un modèle original tu as plus intérêt à jouer sur l'originalité de ton dataset, ou de la méthode de training utilisée, plus que sur l'originalité de ton architecture

(et by the way, les marchés ne sont pas rationnels sur les assets avec très peu de liquidité)

Donc limite je peux copier coller un modèle puis lui faire avaler mes données c'est ce que tu dis? https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

franchement, c'est un peu ça :rire:

après quelles sont tes données

quels sont tes inputs, est-ce que tu travailles en multi-modal et si oui comment tu vas gérer ça. est-ce que tu vas aussi t'appuyer sur des données d'actualités avec google trend, etc.

quels sont tes labels (lui faire deviner seulement le prix à t + delta t n'est pas forcément le meilleur moyen d'entraîner un premier gros modèle ou de chauffer ton modèle définitif, même si in fine c'est la tâche qui t'intéresse)

est-ce que tu vas faire du transfer learning, si oui tu te bases sur quel modèle

etc.

il y a mille façons de poser le problème

ah ouais dur https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
franchement google trend non je veux faire un truc indépendant https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Ah merde je pensais faire exactement ça :rire:
Genre il fait une prédiction à +5periodes on va dire, puis il regarde s'il a juste (enfin quel taux d'erreur) , et après bah il fait son apprentissage tout seul https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Le 27 avril 2022 à 23:48:21 Banclistologue a écrit :

Le 27 avril 2022 à 23:39:43 :

Le 27 avril 2022 à 23:37:45 Banclistologue a écrit :

Le 27 avril 2022 à 23:33:40 :

Le 27 avril 2022 à 23:30:54 Banclistologue a écrit :

Le 27 avril 2022 à 23:25:37 :

Le 27 avril 2022 à 23:22:08 Banclistologue a écrit :

Le 27 avril 2022 à 23:15:20 :

Le 27 avril 2022 à 23:10:21 :

Le 27 avril 2022 à 23:04:57 Banclistologue a écrit :

Le 27 avril 2022 à 22:31:25 :

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Penalise s'il est sous performant?

pénaliser un modèle pour sa sous-performance ça s'appelle juste faire de l'optimisation en fait :rire:

mais comme a dit le khey c'est pas le cas des termes additifs dans la loss type régularisation L2

le but c'est de forcer tes poids à rester sur des petites valeurs de sorte à restreindre un peu l'espace des états de ton modèle (plus tu pénalises moins ton modèle overfit)

l'idée intuitive c'est qu'en utilisant beaucoup, beaucoup de poids, mais en régularisant pour compenser, on laisse au modèle la possibilité de voir les exemples sous plein d'angles différents et de construire de très nombreuses caractérisations intermédiaires de l'exemple pour nourrir une réflexion riche sans pour autant qu'il se mette à apprendre par coeur

(enfin quand je dis nourrir une réflexion riche c'est une métaphore hein,comme disent les kheys en ML y'a pas vraiment d'intelligence ... à part en reinforcement peut-être)

Je viens de lire un article à propos des vanishing gradient, ya des méthodes connues pour stop ce problème?
Mon réseau sera assez profond du coup je vais forcément me manger ce phénomène https://image.noelshack.com/fichiers/2022/17/2/1650981471-karen17.png

bah typiquement les residual dont on parlait tout à l'heure ça aide
comme je disais ça diminue la profondeur apparente de ton réseau

mais en fait je vois pas trop comment tu pourrais te manger ce phénomène vu que tu vas probablement juste prendre une architecture déjà disponible comme un resnet, qui contient déjà une solution au problème :hap:
à moins que tu veuilles vraiment bosser sur les architectures nn mais dans ce cas c'est de la recherche pure en ML, pas du ML appliqué à la finance

si je voulais faire une analogie, c'est comme si tu voulais coder un petit jeu opensource qui tourne sur ubuntu mais que tu te sentais limité par des problèmes qui ont historiquement été rencontré lors du développement du noyau linux

Bah mon architecture fait qu'elle aura 8-10 couches environs du coup je vais me manger le problème des gradients https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
8 dérivées d'affilées ça donne plus rien non? si je me trompe tant mieux je vais juste utiliser une sigmoid https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

tu n'as aucune raison de connaître le nombre de couches à l'avance
pour faire les choses proprement tu dois laisser la possibilité à ton optimiseur d'hyperparamètres de "choisir" entre plusieurs architectures

bah ya une raison mais franchement j'aimerais me délester de toute complexité possible car ça commence à faire trop https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
grâce au dropout c'est ça? il modifie la structure https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

le dropout ne modifie pas la structure, tu ne l'actives que pendant la phase de training, ensuite tous tes poids sont utilisés
(en fait tu parles plutôt d'approches sparse, ou de régularisation L0 j'ai l'impression ... j'ai mis un lien sur la régularisation L0 plus haut tu peux jeter un oeil)

Je comprends pas à quoi ça sert de les utiliser s'ils ont été drop en training? je croyais que ça les supprimait pour gagner en ressources sans perdre trop d'efficacité https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

elles sont pas tout le temps drop pendant le training en fait
à chaque itération tu en drop un certain nombre au pif mais pas toujours les mêmes
intuitivement ça permet de forcer ton modèle à être résilient / à savoir se débrouiller de plusieurs façons différentes pour trouver la solution
mais à la fin quand l'entraînement est fini il vaut mieux qu'il ait toutes ses capacités à disposition

Ahhhhhhhhhhhhhhhhhhhh
Là ça devient intéressant je comprends mieux https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
Ouais du coup je suis 100% d'accord avec ça https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Bon du coup je vias commencer à bosser, je uperais le topic quand j'aurais réussi àf aire quelque chose https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Le 27 avril 2022 à 23:45:29 :

Le 27 avril 2022 à 23:38:09 :

Le 27 avril 2022 à 23:35:33 Banclistologue a écrit :

Le 27 avril 2022 à 23:26:51 :

Le 27 avril 2022 à 23:22:08 Banclistologue a écrit :

Le 27 avril 2022 à 23:15:20 :

Le 27 avril 2022 à 23:10:21 :

Le 27 avril 2022 à 23:04:57 Banclistologue a écrit :

Le 27 avril 2022 à 22:31:25 :

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Le 27 avril 2022 à 22:29:11 RMSProp a écrit :

Le 27 avril 2022 à 22:10:52 :

Le 27 avril 2022 à 22:07:23 :

Le 27 avril 2022 à 22:01:31 :
-Dropout, ca sert surtout a regulariser le reseau. Tu peux aussi mettre un cout de regularization (L1 ou L2 penalite) afin de rendre le reseau "sparse" ca a certain avantage theorique en plus de reduire l'overfitting

-Ca existe, ca s'appel les "Skip connections", tu peux lire le paper sur RestNet ou DenseNet. De nos jours on met meme des coeff alpha et beta sur les connections pour eviter d'avoir a utiliser batch norm (lire le papier NFNets)

- Aucune idee, mais en ce moment tout le monde utiliser des Transformer-like donc ca doit marcher la bas aussi

-JAX ou Pytorch

Met plus de termes anglais pour aider un débutant je pense, sinon il va pas t'écouter :fou:
Et relis sa question, sauter une couche pour ne se connecter qu'à une couche antérieure, ça s'appelle juste une couche parallèle.
JAX ou pytorch :rire:

Par contre, je suis interessé par le "cout de régularisation" je connais pas.

Les termes en francais sont bidons et il trouvera rien sur Google

Les skips connections c'est pas que d'une couche à l'autre, ça peut se faire par blocks, de mémoire c'est le cas dans resnet avec une 1x1 conv pour gérer la différence de dimension
Les couches parallèle c'est plus dans le style Inception/googlelenet

Pourquoi :rire:? Mes potes chez Google dev avec JAX et Pytorch est le framework dominant dans la recherche :(

L1 et L2 sont des "coûts" dans le sens où ça penalize ton réseau

Penalise s'il est sous performant?

pénaliser un modèle pour sa sous-performance ça s'appelle juste faire de l'optimisation en fait :rire:

mais comme a dit le khey c'est pas le cas des termes additifs dans la loss type régularisation L2

le but c'est de forcer tes poids à rester sur des petites valeurs de sorte à restreindre un peu l'espace des états de ton modèle (plus tu pénalises moins ton modèle overfit)

l'idée intuitive c'est qu'en utilisant beaucoup, beaucoup de poids, mais en régularisant pour compenser, on laisse au modèle la possibilité de voir les exemples sous plein d'angles différents et de construire de très nombreuses caractérisations intermédiaires de l'exemple pour nourrir une réflexion riche sans pour autant qu'il se mette à apprendre par coeur

(enfin quand je dis nourrir une réflexion riche c'est une métaphore hein,comme disent les kheys en ML y'a pas vraiment d'intelligence ... à part en reinforcement peut-être)

Je viens de lire un article à propos des vanishing gradient, ya des méthodes connues pour stop ce problème?
Mon réseau sera assez profond du coup je vais forcément me manger ce phénomène https://image.noelshack.com/fichiers/2022/17/2/1650981471-karen17.png

bah typiquement les residual dont on parlait tout à l'heure ça aide
comme je disais ça diminue la profondeur apparente de ton réseau

mais en fait je vois pas trop comment tu pourrais te manger ce phénomène vu que tu vas probablement juste prendre une architecture déjà disponible comme un resnet, qui contient déjà une solution au problème :hap:
à moins que tu veuilles vraiment bosser sur les architectures nn mais dans ce cas c'est de la recherche pure en ML, pas du ML appliqué à la finance

si je voulais faire une analogie, c'est comme si tu voulais coder un petit jeu opensource qui tourne sur ubuntu mais que tu te sentais limité par des problèmes qui ont historiquement été rencontré lors du développement du noyau linux

Si c'est disponible c'est que ça marche pas kheyou, surtout dans la finance https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

je parle de la techno sous-jacente
tu as une infinité de façon de l'utiliser ensuite

et honnêtement si tu veux un modèle original tu as plus intérêt à jouer sur l'originalité de ton dataset, ou de la méthode de training utilisée, plus que sur l'originalité de ton architecture

(et by the way, les marchés ne sont pas rationnels sur les assets avec très peu de liquidité)

Donc limite je peux copier coller un modèle puis lui faire avaler mes données c'est ce que tu dis? https://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

franchement, c'est un peu ça :rire:

après quelles sont tes données

quels sont tes inputs, est-ce que tu travailles en multi-modal et si oui comment tu vas gérer ça. est-ce que tu vas aussi t'appuyer sur des données d'actualités avec google trend, etc.

quels sont tes labels (lui faire deviner seulement le prix à t + delta t n'est pas forcément le meilleur moyen d'entraîner un premier gros modèle ou de chauffer ton modèle définitif, même si in fine c'est la tâche qui t'intéresse)

est-ce que tu vas faire du transfer learning, si oui tu te bases sur quel modèle

etc.

il y a mille façons de poser le problème

Tu as une base de données centralisée des modèles déjà trouvés? avec le contexte de son utilisation et les variantes?

Données du topic

Auteur
HunterChasseur
Date de création
27 avril 2022 à 20:54:28
Nb. messages archivés
257
Nb. messages JVC
245
En ligne sur JvArchive 336