Un khey CALÉ en DEEP LEARNING? quelques questions

HunterChasseur
2022-04-27 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ènehttps://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 financehttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

idrms
2022-04-27 23:27:27

Pourquoi t aurais besoin de 8 couches Exactement ?

HunterChasseur
2022-04-27 23:30:06

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 beaucouphttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
Et je peux pas trop en dire là par contrehttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Banclistologue
2022-04-27 23:30:54

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ènehttps://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 gradientshttps://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 sigmoidhttps://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

HunterChasseur
2022-04-27 23:31:51

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

idrms
2022-04-27 23:32:13

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

HunterChasseur
2022-04-27 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ènehttps://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 gradientshttps://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 sigmoidhttps://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 trophttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
grâce au dropout c'est ça? il modifie la structurehttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

HunterChasseur
2022-04-27 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?

Banclistologue
2022-04-27 23:35:33

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ènehttps://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 financehttps://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é)

Banclistologue
2022-04-27 23:37:45

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ènehttps://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 gradientshttps://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 sigmoidhttps://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 trophttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
grâce au dropout c'est ça? il modifie la structurehttps://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)

HunterChasseur
2022-04-27 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ènehttps://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 financehttps://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 ayaaahttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Banclistologue
2022-04-27 23:38:53

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

HunterChasseur
2022-04-27 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ènehttps://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 gradientshttps://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 sigmoidhttps://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 trophttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
grâce au dropout c'est ça? il modifie la structurehttps://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

HunterChasseur
2022-04-27 23:40:52

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 exploserhttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

Banclistologue
2022-04-27 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ènehttps://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 financehttps://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

Banclistologue
2022-04-27 23:48:21

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ènehttps://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 gradientshttps://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 sigmoidhttps://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 trophttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
grâce au dropout c'est ça? il modifie la structurehttps://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

HunterChasseur
2022-04-27 23:51:30

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ènehttps://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 financehttps://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 durhttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
franchement google trend non je veux faire un truc indépendanthttps://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 seulhttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

HunterChasseur
2022-04-27 23:52:51

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ènehttps://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 gradientshttps://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 sigmoidhttps://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 trophttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
grâce au dropout c'est ça? il modifie la structurehttps://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 mieuxhttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png
Ouais du coup je suis 100% d'accord avec çahttps://image.noelshack.com/fichiers/2022/17/1/1650876612-karen12.png

HunterChasseur
2022-04-27 23:59:44

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

Citranus
2022-04-28 00:08:25

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ènehttps://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 financehttps://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?

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    Partenaire: JVFlux
    Ce site n'est pas associé à Jeuxvideo.com ou Webedia. Nous utilisons seulement des archives publiques.
    Il est inutile de me spammer par e-mail pour supprimer un topic. Au contraire, en conséquence, je mettrais votre topic dans le bloc ci-dessous.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.