@Kuro Non.
Mais je suis intéressé.
Ckoi ?
@toodoo Et donc, comme j'ai fini de lire et de comprendre les 2/3 du bouquin que je t'avais conseillé, je me met à la pratique :p
@Kuro PFF.
R IS ALL I NEED
@myrrhashad @Kuro Il n'a plus accès aux licences matlab à 50€ et ne maitrise pas assez python pour faire du ML dessus parce qu'il doit taffer.
Le capitalisme l'as tuer T__T
@toodoo @Kuro @myrrhashad (Scilab ça le fait pas ?)
@Shiro @myrrhashad @Kuro
Connais pas. C'est fou comme depuis ma sortie des études, j'ai quasi plus rien fait en ML T__T
@toodoo @myrrhashad @Shiro En fait, je penses que tu es habitué au ML traditionnel (stats, problèmes linéaires, optimisation linéaire/convexe, etc.) et pas au deep learning (réseaux de neurones à rétroaction/convolutionnels/récurrents, descente de gradient, etc.) ^^
Le bouquin couvre l'ensemble en fait : la première partie parle du ML traditionnel, la seconde du deep learning moderne et la troisième des recherches actuelles (pas encore lu cette partie, j'attends de mieux maîtriser les outils).
Plus que jamais, je te conseilles de le lire : il est juste génial.
@toodoo Chacun sa came :p
Par contre, je veux bien te regarder réimplémenter des CNN dessus sans passer par les libs spécialisées. 🍿
@Kuro En fait je suis très très partagé sur la question.
Autant je comprends tout à fait la nécessité de passer par des libs et frameworks pour faire du ML élaboré et du deep learning, autant pour moi le vrai algo de ML c'est celui que tu fais toi même avec tes petits doigts sur les touches à 40°C de ton PC de m... Pardon, je digresse.
*va chercher un clavier usb*
Je suis très très mitigé face à la possibilité de créer un algo juste en cliquant sur des boutons sans avoir la nécessité de comprendre comment marche le bousin pour avoir des résultats qu'on ne saura pas vraiment évaluer.
@toodoo Ah mais c'est toujours le cas, hein, la lib elle te fournit des boîtes (algèbre linéaire, opérations sur les images, convolutions, descente de gradient) et des outils (calcul parallèle ou distribués, gestion des GPU), c'est toujours toi qui conçoit complètement ton algorithmes.
C'est juste que si tu dois réimplémenter tout ça de zéro, y a pleins d'aspects à gérer (c'est décrit dans le bouquin :p) qui font qu'au final tu passerais plus de temps à travailler sur des problèmes purement techniques.
@toodoo Pour moi, l'important c'est de comprendre les maths ; quand tu sais écrire ton algo sous forme mathématique pure, c'est que tu sais ce que tu fais.
Tout le reste, c'est des problèmes d'infos annexes (intéressant en eux mêmes, hein, mais pas pour le design de ton algo) : astuces de simplification, calcul sur GPU, gestion des très grands ou très petits nombres.
@toodoo On s'est peut être pas compris d'ailleurs, hein, TensorFlow c'est pas un outil graphique où tu cliques sur des boutons ^^
T'écris du code avec, en Python, Java ou C++.
@toodoo Cela dit, des outils graphiques pour le ML, ça pourrait aider plein de non-informaticiens qui ont besoin du ML pour leurs recherches ;)
@Kuro @Kuro @Kuro Oui et non.
Faut pouvoir évaluer les performances de ton algo, traiter les données, savoir sur quelles features tu vas travailler et pourquoi. Faut comprendre la pertinence des différentes méthodes d'évaluation des performances. Faut aussi que tu puisses comprendre et interpréter le résultat, savoir quelle est la marge d'erreur. Et j'en passe.
Donc quand tu utilises une lib', faut que tu puisses répondre à toutes ces questions mais sur le travail de la lib plutôt que le tien.
Et je sais, d'expérience pour avoir vu ça lors de projets, que trop de gens ne le font pas.
Et ça, c'est MAL !
@Kuro Après, tu incluais peut-être tout ça dans l'écriture de l'algo sous forme mathématiques :P
Mais pour moi ce sont des problématiques très importantes. L'implémentation elle même de l'algo ne doit pas être une boite noire.
Je pense bien que mon raisonnement ne peut pas s'appliquer aux gros algos de deep learning qui sont monstrueux et parfois incompréhensibles pour les pauvres humains que nous sommes.
Je suis donc mitigé : Je sais que mon paradigme à ses limites... Mais je l'aime trop <3 (Et il est pertinent dans mon domaine d'études.)
(J'avais dit que j'étais un vieux réac sur le sujet quand on a commencé :P )
@toodoo Ah mais c'est évident, tu as intérêt à avoir une bonne connaissance de ton problème pour sélectionner les features et les algorithmes qui ont du sens, même si dans certaines applications (sur les images ou la vidéo notamment), tu laisses le réseau apprendre les features.
En tout cas, toutes les libs connues te fournissent tout ce qu'il faut pour évaluer mesurer l'erreur d'entraînement et l'erreur de généralisation, assurer que ton dataset d'entraînement est bien distribué dans ton espace d'entrée, etc.
J'inclus effectivement tout ça dans la partie mathématique car ce n'est pas parce que tu écris ton algo de zéro que tu vas éviter ces écueils.
@toodoo "Je suis donc mitigé : Je sais que mon paradigme à ses limites... "
Tu touches du doigt la différence entre les objectifs des stats et les objectifs du deep learning ^^
Le bouquin en parle aussi :D
@toodoo Mais à l'heure actuelle, force est de reconnaître que laisser le réseau apprendre les features pertinentes marche mieux que de laisser un être humain les déterminer ^^
C'est même flagrant sur les données non structurées, comme les images, le son ou la vidéo.
Franchement, lis le bouquin, il est top. En plus, t'as l'air plus matheux que moi à la base, donc ce sera encore plus facile ^^
@Kuro Je pense que mon domaine de prédilection (dans lequel j'applique le ML), le vivant, ne peut pas se passer de ce paradigme, pas actuellement (mais ça reste mon avis personnel).
Mais je n'ai que des données structurées, je ne fais pas d'analyse d'image ni rien dans le genre. Le but du ML n'est pas uniquement de pondre un algo qui nous sort une réponse mais aussi de comprendre pourquoi il nous la sort.
Après je fais pas ma sélection de features à la main. Ca prendrai trop de temps quand j'en ai plusieurs milliers :P
J'ai en général un algo qui sélectionne les features, un autre qui apprend le modèle et un troisième qui évalue la performance du deuxième.
@toodoo Ah mais tout à fait, dans le médical (hors imagerie médicale) ce n'est pas la même chose. Les datasets sont structurés et, souvent, plus petits de toute façon.
"J'ai en général un algo qui sélectionne les features, un autre qui apprend le modèle et un troisième qui évalue la performance du deuxième."
Ben alors, c'est quoi le problème ? C'est exactement les outils que te fourniraient une librairie de ML :p
C'est pas très différent d'utiliser R et les libs ML pour R ^^
@toodoo TensorFlow ? C'est le framework de machine learning développé par Google ^^
Ça te fournit différents outils pour construire tes algorithmes d'apprentissage.