Et puis aussi il faut penser à tester tout les learning rates possible !
Et tout les algos d’optimisations, évidamment, si ça marche pas en SGD (méthode qui est souvent naze anyway), il faut essayer Adam, puis Adadelta, Adamax et pleins d’autre trucs, les possibilités sont infinies, mais ça devrait bien finir par marcher en temps fini ![]()
Les vrais entraînent leurs algos de RL à faire du Neural Architecture Search pour optimiser tout ça. Le metalearning ce n’est plus le turfu c’est juste le présent, on n’est plus en 2017 quoi ![]()
« Learning to learn by gradient descent by gradient descent » ![]()
leyone : Tu as des points de mesure (Xi,Yi).
Interpoler c’est trouver une courbe continue qui passe par tous points de mesure et dont on espère qu’elle fera qqch de raisonnable entre ces points.
Fitter (ou « ajuster une loi… ») c’est différent : tu as tes (Xi,Yi). Tu as aussi un modèle, par exemple y=ax²+bx+c et tu cherches la valeurs des paramètres de ce modèle (a,b et c dans ce cas) pour que ça colle au mieux avec tes points. Tout dépend alors de ce que tu appelles « au mieux ». On se donne donc un critère et on essaye de le minimiser. Ce critère c’est une « distance » entre la solution « parfaite » et la la solution courante à chaque étape de l’optimisation. On appelle ça la fonction de coût.
Un exemple simple est la régression linéaire. Ca minimise quoi une régression linéaire? Essaye de répondre ![]()
La régression linéaire est « tellement simple » qu’on dispose d’une formule explicite pour calculer la valeur des paramètres du modèle. Dans d’autres cas, on fait appel à un algo qui tente, étape par étape de minimiser cette fonction de coût. Ca peut vite devenir très complexe.
Vous êtes vraiment en train de suggérer un réseau de neurones pour décrire un graphe 1D ? x)
Vous savez qu’une interpolation avec des polynômes de Lagrange va marcher aussi bien, voire mieux ?
Quitte à faire de l’overtraining, autant le faire explicitement
Tompouce67 : reste à espérer qu’ils ne soient pas sérieux mais il est certains qu’on va voir de plus en plus de gens proposer des réseaux de neurones pour faire des choses triviales ![]()
À quoi bon parler de régression linéaire lorsqu’il suffit d’évoquer un réseau neuronal à un neurone sans non-linéarité avec pour fonction de perte la somme des erreurs au carré ?
Parce qu’avec une régression linéaire, tu n’as pas besoin d’optimisation ![]()
Bah si quand même, la régression linéaire c’est tout de même l’optimisation des paramètres d’un modèle (linéaire). C’est pas parce qu’on a des résultats mathématiques d’existences et d’unicité et de très bons algos pour le faire que c’est plus de l’optimisation ![]()
Oui, certes. Tu n’as pas de descente de gradient alors ![]()
La méthode du gradient est une très mauvaise méthode d’optimisation (dans le cadre déterministe). Cela peut se voir en 2D en dessinant des courbes de niveaux ayant la forme d’ellipses concentriques et en remarquant que la méthode du gradient prend à chaque itération une direction de descente orthogonale aux lignes de niveau et s’arrête là où elle est tangente à une autre ligne de niveau. Si la fonction est convexe et que les lignes de niveaux sont des ellipses allongés, la suite des itérées va se rapprocher du minimum mais en zigzaguant.
Pour faire de l’optimisation non linéaire, il vaut mieux employer une méthode de Quasi-Newton. Les méthodes de gradient (non stochastiques) sont enseignés pour des raisons pédagogiques: il vaut mieux illustrer les méthodes de descente en donnant un choix de direction simple, et il n’y a pas plus intuitif comme choix de direction que le gradient. Mais cela n’en fait pas une bonne méthode. Une fois qu’on a compris les méthodes de gradient, il est plus facile de comprendre les méthodes de Quasi-Newton.
Je n’ai pas d’opinion sur l’efficacité des méthodes de gradient stochastique. Je ne parle que du cas déterministe.
Coup dur pour Nesterov ![]()
Hereusement en pratique on utilise que le gradient stochastique, et malheureusement les problèmes ne sont pas convexes.
Mais même en Nesterov ça marche pas non plus (toujours) de ouf.
Enfin pour des problèmes sur lesquelles j’ai bosser récemment, la SGD et ses variantes (Nesterov) étaient d’une instabilité incroyable, très souvent des infinis apparaissaient au bout d’à peine une poignée d’itérations.
Adam faisait très bien le boulot, par contre.
Les gars vous êtes trop chaud ahah je suis revenu juste par principe et je vois 2 pages de topic supplémentaires
Au fait si, je sais coder en c++ enfin j’ai les bases (héritage surcharge etc… + je viens du C et je commence le visual basic depuis peu) d’ailleurs j’ai partiel de c++ le 9 septembre x)
Après vous m’avez largement tout donné j’ai pas besoin d’être aussi précis. Le polynôme c’est déjà large mais comme mon électronique embarqué est faible un degré 2 c’est déjà trop.
Donc je fais plein de fois les même tests avec des jauges différentes pour juste appliquer un coeff correcteur selon la température ambiante, c’est moins précis mais suffisant et extrêmement moins coûteux ![]()
Le polynôme c’est déjà large mais comme mon électronique embarqué est faible un degré 2 c’est déjà trop.
gni?? qu’est ce que tu embarques? Combien de fois pas secondes penses tu devoir évaluer ce polynomes de degree 2?
Je suis chargé que de la partie physique du capteur pas de l’électronique. Quand j’ai demandé à la personne qui se charge de l’embarqué si on pouvait implanter un 2nd ordre elle m’a dit non, donc j’en suis à créer des tables pour trouver le coeff de correction à appliquer selon la température (ex : si 30 degrés mesuré => retirer 5pF)
Ok, donc finalement après 3 pages de discusssions philosophiques et de trolls c’est maintenant que tu nous dis qu’en fait tu ne peux faire qu’un modèle linéaire ![]()
Bref excel ou une calculatrice TI/Casio fait ça très bien ![]()
C’est bien, plus c’est simple plus ça a de chances de marcher.
C’est ce que je dis depuis le début
Ceci dit on n’a toujours pas vu le graphe température vs capacité.
Je postule qu’en très bonne approximation, on peut représenter la fonction Capacité(Température) par un polynôme de degré 0