30 jours dans la vie d'un chercheur en apprentissage machine

Si vous envisagez de faire un doctorat, il y a beaucoup d'excellents guides que je vous recommande de lire. Cependant, la plupart des guides que j'ai lus se concentrent sur le portrait de haut niveau de la poursuite d'un doctorat, et non sur ce que l'on ressent quotidiennement au laboratoire, dans ses recherches.

Lorsque j'ai commencé mon doctorat à Stanford il y a trois ans, je ne savais pas combien de temps je me cognerais la tête contre un problème difficile et regarderais dans un moniteur sans solution apparente en vue. Je ne pouvais pas non plus me rendre compte à quel point il serait incroyable de ressentir une épiphanie inattendue alors que je traversais le campus en vélo en rentrant chez moi. Je voulais partager certaines de mes expériences brutes avec des personnes qui décident si elles souhaitent ou non se lancer dans la recherche, en particulier dans mon domaine de l'apprentissage automatique.

Ainsi, chaque jour du mois de janvier 2019, je prenais des notes sur les tâches techniques principales (en gras dans l’article) que je travaillais ce jour-là, ainsi que sur mon état émotionnel (en italique en gras), pour vous donner une fenêtre sur la cœur et esprit d’un étudiant au doctorat en apprentissage automatique.

Le mois de janvier a été une montagne russe psychologique: d’un côté, j’ai commencé nuit et jour à préparer deux nouveaux documents à soumettre à la conférence de la CIML. D'autre part, j'ai terminé le mois en assistant à la conférence AAAI à Hawaii, où j'ai rédigé des parties de cet article assis au soleil sur la magnifique baie de Hanauma. Dans les semaines qui ont suivi, j’ai assisté à une excellente conférence dans un club de journalisation, conseillé un étudiant turc de premier cycle et essayé d’empêcher notre cluster informatique d’échouer la veille de la date limite fixée par la CIML.

Mais laissez-moi commencer à partir du début du mois…

En tant que doctorant, vous aurez du mal à ne pas vous préoccuper des problèmes de recherche, même lorsque vous vous trouvez dans l’un des plus beaux endroits du monde.

2 janvier: départ de la famille et retour à Stanford

J'avais passé la majeure partie des vacances d'hiver avec ma famille dans l'Arkansas, mais le 2 du mois, je suis retourné à Stanford. Techniquement, il y avait une autre semaine de vacances dans le calendrier académique de Stanford, mais les étudiants au doctorat ne suivent pas le calendrier académique habituel - les pauses sont décidées entre vous et votre conseiller.

Cela signifie que votre conseiller vous laissera peut-être prendre une semaine à la mi-octobre si vous vous sentez épuisé; mais cela signifiait aussi que, comme la date limite de la CIML était fixée à la mi-janvier, je pensais que je devrais retourner à Stanford et commencer à travailler sur mes soumissions à la conférence. C'était une décision nostalgique, mais certainement sage, comme je l'avais compris quand j'ai commencé à travailler sur mes soumissions pour ICML…

3 au 4 janvier: Implémentation d'un VAE pour le papier 1

Ma première tâche consistait à définir clairement le problème sur lequel je travaillais par bribes avant la pause hivernale, ainsi qu'à coder une base de référence que je pourrais utiliser pour comparer mon algorithme proposé.

Pour mon premier article, je travaillais sur une nouvelle façon d'apprendre les caractéristiques latentes dans les données. Les caractéristiques latentes sont un moyen de représenter des données complexes en identifiant les variables de bas niveau importantes qui expliquent la variation de haut niveau dans les données. Par exemple, si vous avez plusieurs images de visages de célébrités, chacune d’elles semblera très différente des autres. Mais vous pourrez peut-être approximer les images en modifiant simplement quelques «dimensions», telles que la couleur de la peau, l'angle du visage et la longueur des cheveux.

Un algorithme très courant pour identifier de telles dimensions ou caractéristiques latentes est connu sous le nom d'auto-codeur variationnel (VAE). Voici un exemple de VAE formé pour identifier 2 éléments latents dans des images de célébrités (extraits du jeu de données CelebA). J'ai utilisé VAE pour générer de nouvelles images, en modifiant la valeur d'exactement une caractéristique latente à la fois lorsque vous vous déplacez le long de cette grille d'images horizontalement ou verticalement:

Ici, un VAE formé aux images de célébrités est utilisé pour générer de nouvelles images de célébrités, en faisant varier une dimension à la fois. La dimension allant du bas-gauche au haut-droit semble représenter la longueur du cheveu (ou la couleur de fond), tandis que la dimension allant du haut-gauche au bas-droite semble représenter la couleur de la peau. Comme nous n'autorisons que 2 variables latentes, les images générées ne sont pas très réalistes.

Vous remarquerez que le VAE semble modifier principalement deux choses: la couleur de la peau et la couleur de l’arrière-plan / la longueur des cheveux sur les images. Il est important de mentionner que la VAE n’est pas supervisée: je n’ai pas demandé à l’algorithme de rechercher spécifiquement la longueur des cheveux ou la couleur de la peau. Vous vous demandez peut-être pourquoi le VAE a identifié ces deux caractéristiques latentes.

La raison en est que l'ajustement de ces deux fonctionnalités a permis à VAE de reconstruire les images de célébrités dans le jeu de données d'origine avec un minimum d'erreur. En d’autres termes, si vous ne deviez choisir que deux facteurs que vous pourriez changer de visage générique pour obtenir approximativement une célébrité arbitraire, ces deux facteurs vous mèneraient bien loin.

Je voulais développer un nouvel algorithme qui permettrait à l'utilisateur de mieux contrôler les caractéristiques latentes apprises. Dans certains cas, vous voudrez peut-être découvrir et modifier un ensemble différent de caractéristiques latentes: la quantité de rouge à lèvres ou la couleur du bonnet de la célébrité, par exemple. Pour des raisons que je vais aborder plus tard, j’ai appelé mon algorithme l’auto-codage variationnel contrastif (cVA).

Mais si je voulais montrer que mon cVAE fonctionnait, il me fallait une base de référence avec laquelle le comparer. Le choix naturel serait le VAE standard. J'ai donc passé quelques jours à travailler sur ce qui suit:

  • Téléchargement et prétraitement du jeu de données d'image CelebA
  • Rédaction du code d'une VAE dans TensorFlow (Keras) et formation de la VAE sur le jeu de données d'image CelebA.

J'ai trouvé l'expérience assez simple et amusante, car je suivais principalement les tutoriels et le code existants, ne modifiant que certains hyperparamètres liés à l'architecture du réseau de neurones. Et cela a semblé très satisfaisant lorsque le VAE formé a été capable de produire les images ci-dessus.

5 au 6 janvier: Travailler le week-end

Je me suis dit à maintes reprises que je ne travaillerais pas les samedis et les dimanches et que je devais découvrir un équilibre entre leur vie professionnelle et personnelle. Mais lorsque les choses se compliquent, je passe immédiatement au laboratoire les fins de semaine. Réalisant qu'il me restait environ trois semaines avant l'ICML, et avec une réunion avec mon conseiller mardi prochain, j'ai surmonté ma frustration et passé la majeure partie du week-end dans mon bureau, sautant un voyage de ski que mes amis avaient planifié pour Tahoe.

Qu'est-ce que j'ai fait sur le wekeend? Comme je l'ai mentionné précédemment, je travaillais sur une méthode d'identification des facteurs latents plus spécifiques que ceux qui étaient simplement dominants dans les données. L'idée était d'utiliser une analyse contrastive (d'où le nom contrastive VAE), une méthode dans laquelle un jeu de données de fond secondaire est introduit, qui ne contient pas les fonctionnalités d'intérêt. J'ai conçu le VAE contrastif pour modéliser explicitement les entités latentes présentes à la fois dans le jeu de données primaire et dans le jeu de données en arrière-plan, ainsi que celles qui n'étaient présentes que dans le jeu de données primaire.

Voici un exemple pour illustrer l’idée. Supposons que vous avez un tas d’images composées à la main sur un fond complexe, comme sur une image de gazon. Nous appellerons cela le jeu de données cible. Vous avez également des images composées uniquement d'herbe (pas nécessairement les mêmes que celles utilisées dans le jeu de données cible, mais à peu près similaires). Nous appellerons cela le jeu de données d’arrière-plan. Des exemples de chaque type d'image sont ci-dessous:

Exemples d'images dans le jeu de données cible (à gauche) et le jeu de données en arrière-plan (à droite).

Vous souhaitez former une VAE sur le jeu de données cible pour identifier les entités latentes liées aux chiffres manuscrits: les images de 0, 1 et 2 doivent être éloignées les unes des autres dans un tel espace latent. Cependant, une VAE standard formée sur les données cibles identifierait les sources de variation dominantes dans un tel jeu de données, comme la texture et la densité, car elles dominent l'image (dans le sens où davantage de pixels sont liées aux caractéristiques de l'herbe que des caractéristiques de chiffres manuscrites) et ignorent complètement les caractéristiques liées aux chiffres.

Et si nous incitions plutôt la VAE à identifier les caractéristiques présentes dans le jeu de données cible, mais pas en arrière-plan? On peut espérer que ce contraste sera suffisant pour encourager l'algorithme à apprendre les caractéristiques relatives aux chiffres. J'ai passé les samedi et presque toute la journée de dimanche à essayer diverses manières d'adapter la fonction de perte d'un VAE afin d'obtenir le bon type de résultats sur des données synthétiques. Pour que les résultats soient significatifs, je devais les afficher sur un jeu de données réel, tel que celui des images de célébrités. J'ai donc commencé une simulation à partir de mon bureau, puis je suis rentré à la maison à vélo.

Je me suis dit à plusieurs reprises que je ne travaillerais pas les samedis et les dimanches… mais lorsque les choses se compliquent, je ne retourne pas immédiatement au laboratoire les week-ends.

7 janvier 2019: Dépannage de notre cluster GPU, Babbage 3

Le lendemain matin, je suis revenu pour constater que ma simulation n’avait pas donné de bons résultats - en fait, elle n’avait pas produit de résultats du tout! Peu de temps après le début de la simulation, le groupe de laboratoires utilisé pour exécuter nos simulations, Babbage 3, s'était écrasé, me laissant regarder la trace de la pile:

ResourceExhaustedError: MOO lors de l'attribution d'un tenseur

Normalement, je voyais cette erreur lorsque plusieurs scripts d’entraînement étaient exécutés sur un même GPU - c’était la façon dont le GPU se plaignait du fait que je fournissais trop de données dans sa mémoire, mais je savais que cela n’aurait pas dû être le cas ce jour-là. exécutait un seul script avec une taille de jeu de données gérable. J'ai passé du temps à déboguer mon code, à redémarrer divers scripts, puis finalement, à l’ensemble de la machine, mais sans succès.

J'étais un peu irrité, car je n'avais pas une longue période de temps pour déboguer, car c'était aussi le début du trimestre et que je faisais quelques cours. J'ai passé la journée à entrer et à sortir des cours pendant le débogage de Babbage 3. Après un redémarrage plus tard dans la soirée, le cluster a spontanément recommencé à fonctionner. J'espérais et priais pour le mieux, redémarrai la simulation, attendais une demi-heure pour surveiller l'évolution du script. Quand il semblait fonctionner sans aucun signe d'abandon, je suis rentré à la maison.

8 janvier: réunion avec mon conseiller, Richard

Le lendemain matin, j'ai finalement obtenu quelques résultats en utilisant l'architecture VAE contrastive sur le jeu de données d'image de célébrités. Avec les modèles génératifs, l'évaluation des résultats peut être délicate, car la qualité de l'image et la sélection des caractéristiques latentes peuvent être subjectives. Il m'a semblé que les résultats n'étaient pas excellents, mais constituaient une nette amélioration par rapport à la VAE standard. J'ai rapidement copié et collé les figures dans une série de diapositives afin de les avoir prêtes à présenter à mon conseiller, Richard.

Richard a examiné mes chiffres de près, avec intérêt, en posant des questions sur la manière dont j'avais défini la perte. Après un certain temps, il m'a demandé s'il était possible d'améliorer les résultats en encourageant l'indépendance entre les variables latentes dominantes (que j'essayais de supprimer) et les variables latentes pertinentes (que j'essayais explicitement d'apprendre). Je pensais que c'était une bonne idée et j'étais particulièrement enthousiasmé par la lecture récente d'un article proposant une méthode pour encourager l'indépendance entre les caractéristiques latentes. Je pensais que je pourrais utiliser une méthode similaire pour mon VAE contrastive.

Richard m'a également donné le feu vert pour commencer le papier contrastif VAE. Il a dit qu'avec quelques expériences supplémentaires, j'aurais assez de résultats pour un papier et que si je pouvais les avoir à temps pour la date limite de la CIML, ce serait un bon endroit pour envoyer le papier.

À l'époque, j'étais également mentor d'un étudiant talentueux de premier cycle, Melih, qui vivait en Turquie. Melih était un ami d'un ami qui avait demandé l'aide d'un candidat au programme de doctorat aux États-Unis en septembre de l'année précédente. Melih était un brillant étudiant de premier cycle qui avait participé à des concours internationaux en informatique. Mais quand je lui ai posé des questions sur son expérience en matière de recherche, il a confié qu’il n’en avait pas vraiment. Étant donné que l’expérience en matière de recherche est le facteur le plus important lors de la candidature à des programmes de doctorat compétitifs, je lui avais dit qu’il devait faire certaines recherches avant la date limite de candidature. Il m'a ensuite audacieusement demandé si je pouvais le guider. J'ai donc accepté et suggéré une collaboration sur un projet lié à la sélection de fonctionnalités non supervisées. L'idée était de déterminer quelles caractéristiques (les pixels d'une image, les gènes d'un jeu de données transcriptomiques, etc.) étaient les plus importantes, par rapport à celles qui étaient redondantes. Dans les ensembles de données biologiques en particulier, les caractéristiques ont souvent tendance à être corrélées, de sorte qu'il est souvent possible

Les matices d'expression génique montrent souvent des degrés élevés de corrélation. Avons-nous vraiment besoin de mesurer tous les gènes, ou pouvons-nous simplement en mesurer quelques-uns (économiser temps et coûts d'expérimentation) et ensuite imputer le reste?

pour sélectionner un petit sous-ensemble d'entités indépendantes et reconstruire le reste avec une grande précision. Si nous pouvions le faire de manière systématique, cela économiserait des coûts expérimentaux et du temps, car tous les gènes ne devraient pas être mesurés - ils pourraient simplement être prédits (ou imputés) à partir d'un petit sous-ensemble de gènes mesurés. Après avoir examiné la littérature sur la sélection des fonctionnalités et constaté que la plupart des techniques étaient assez anciennes, j'ai suggéré une technique de sélection des fonctionnalités basée sur l'apprentissage en profondeur, que nous avons appelée le «béton auto-encodeur».

Notre collaboration se passait bien. J'ai trouvé l'expérience de mentor de Melih très enrichissante et j'ai particulièrement apprécié d'examiner ses résultats et de lui suggérer de nouvelles approches. Nous avions récemment obtenu des résultats positifs, et mon conseiller Richard a suggéré que s’il était possible d’obtenir plus de résultats d’ici à la date limite fixée par la CIML, ce serait une bonne idée de rédiger un deuxième document et de le soumettre également à la CIML. Je déglutis en réalisant tout le travail que nous devions faire au cours des deux prochaines semaines.

9 janvier: Chiffres pour le papier 1

La première chose que je fais lorsque je prépare un document à soumettre à une conférence est de préparer les chiffres. Les figures fournissent la structure autour de laquelle j'écris le reste du papier. Alors mercredi, le lendemain de ma rencontre avec Richard, j'ai commencé à préparer les figures pour mon article contrastif VAE. Selon Zachary Lipton, j’ai lu un excellent conseil: «Un lecteur doit comprendre votre document en regardant les chiffres ou sans regarder les chiffres.»

Pour le document VAE contrastive, je cherchais toujours à obtenir de meilleurs résultats. Ainsi, plutôt que de créer une figure de résultats, j'ai commencé par une figure décrivant la méthodologie, en particulier l'architecture, de la VAE contrastive. La figure ressemblait à quelque chose comme à gauche ci-dessous:

Figure illustrant la méthodologie du papier contrastif VAE. La première version est montrée à gauche, tandis que la version finale, qui est apparue dans le journal, est montrée à droite.

Lorsque j'ai créé la figure, je n'avais plus à m'inquiéter de la rendre parfaite. Il s’agissait d’une version préliminaire de la figure, qui servait principalement de paramètre fictif que mon conseiller pourrait examiner et utiliser pour me donner des informations de fond. J'ai probablement passé inutilement beaucoup de temps sur la figure - mais j'aime personnellement beaucoup faire des figures (je ne le sais pas tous les étudiants diplômés), et lorsque je commence à dessiner des diagrammes (généralement dans Powerpoint, mais parfois dans LaTeX avec le package tikz), Je m'y mets vraiment. J'ai conçu la figure en haut à gauche comme version préliminaire et une en haut à droite pour la dernière figure figurant dans le document. J'ai également créé une figure pour le deuxième article illustrant l'architecture de l'auto-codeur en béton, dont j'étais particulièrement fière, car elle était entièrement en LaTeX:

Architecture simplifiée de l'auto-codeur en béton. La figure est entièrement générée à partir de LaTeX.
«Un lecteur devrait comprendre votre papier simplement en regardant les chiffres ou sans regarder les chiffres» - Zachary Lipton

10 janvier: Travailler avec un étudiant de premier cycle sur le papier 2

Après avoir créé ma figure illustrant l’architecture de l’auto-codeur en béton, je l’ai envoyée à Melih, en guise de motivation, avec un message disant que nous devrions commencer à générer des chiffres pour les auto-encodeurs en béton. J'ai également donné quelques conseils (c'est gratifiant de donner des conseils, j'ai appris!) Que mon conseiller m'a donnés: le premier chiffre d'un article devrait être un graphique qui montre les résultats de la méthode sur une ensemble de données pour démontrer la puissance de la méthode - et pour inciter le lecteur à lire l’ensemble du document, car de nombreux lecteurs ne lisent que les premières pages d’un article ou parcourent jusqu’à la première figure.

Comme première figure, nous avons décidé de montrer les résultats de l’utilisation de l’auto-codeur concret sur le jeu de données numériques à la main du MNIST. L'ensemble de données est bien connu dans la communauté d'apprentissage automatique. Bien que cela n’ait pas vraiment de sens de faire une sélection d’entités sur le jeu de données, nous avons pensé que si nous pouvions illustrer les 10 ou 20 pixels les plus «importants» sur un total de 784 pixels de chaque image, ainsi que les reconstructions que ces pixels seuls permettrait, cela communiquerait immédiatement le pouvoir de la méthode. Nous avons créé une image qui ressemblait à ceci:

(a) Illustration des 20 pixels les plus importants (sur un total de 784) (b) Exemples d'images du jeu de données MNIST (c) Affichage des 20 pixels sélectionnés à partir de chaque exemple d'image dans le panneau précédent. (d) Les images reconstruites en utilisant uniquement les 20 pixels sélectionnés, ce qui correspond assez bien aux images d'origine. Merci Melih d'avoir fait ce chiffre et de ne pas être frustré par mes commentaires!

Au cours de ma communication avec Melih, j'ai réalisé que je suis plus un microgestionnaire que je ne le pensais. Sur le plan intellectuel, je savais qu'il serait préférable pour la croissance de Melih et pour ma santé mentale que de ne pas préciser, jusqu'au moindre détail stylistique, à quoi devraient ressembler les chiffres, mais je ne pouvais pas m'en empêcher, quand Melih enverrait moi une version du graphique, pour commenter et suggérer un jeu de couleurs différent ou un arrangement des figures. Les figures ci-dessus ont été produites après beaucoup d’échanges entre Melih et moi.

11 janvier: Journal Club

C'était encore vendredi, jour où notre laboratoire organisait notre club de journal hebdomadaire. J'aime beaucoup le club de lecture, car cela me force à lire au moins un article par semaine: le sujet qui fait l’objet des discussions du club de lecture. En général, en tant que doctorant, il est important de suivre la recherche sur le terrain, mais j’oublie souvent de lire des articles.

Cela est en partie dû au grand nombre de papiers produits chaque jour. Sur ArXiv, le serveur de pré-impression des papiers, environ 100 papiers sont publiés chaque jour, il est donc impossible de tous les conserver. Dans notre laboratoire, nous avons un système dans lequel chaque personne lit, pour un jour de la semaine, les résumés de tous les papiers ML de cette journée et partage ceux qui sont pertinents pour le reste du groupe. Même dans ce cas, il est difficile de suivre, il est donc utile de créer un club de lecture pour vous obliger à lire des articles.

Dans notre club de lecture, nous avons discuté d'un article que j'ai trouvé très intéressant, «Neurones ordonnés: Intégration des structures d'arbres dans des réseaux de neurones récurrents». Le document proposait une modification mineure de l'architecture LSTM, largement utilisée, pour encourager le réseau à apprendre différents niveaux de dépendances imbriquées. Alors que l'architecture générique de LSTM permettait au réseau de neurones d'apprendre des types de dépendances arbitraires dans des données séquentielles, le document proposait un ajustement simple qui obligeait le LSTM à apprendre une hiérarchie de dépendances. Si les dépendances externes étaient terminées, les dépendances internes seraient également finies. Ce réglage a été conçu pour modéliser les caractéristiques hiérarchiques communes des langues parlées et écrites (par exemple, lorsqu'une phrase prépositionnelle se termine, elle indique généralement qu'une clause plus grande s'est également terminée).

J'ai trouvé le document intéressant, car il permettait de manière simple de coder les informations de domaine précédent (le domaine étant ici le langage naturel), tout en réduisant au minimum toute ingénierie de fonctionnalités. Ce qui était particulièrement impressionnant, c’est que les auteurs sont revenus en arrière et ont constaté que les différents niveaux de dépendances appris par les états de cellules correspondaient à la structure arborescente réellement présente en anglais, comme illustré dans le schéma de leur document ci-dessous.

Figure adaptée de Neurones ordonnés: Intégration de structures arborescentes dans des réseaux de neurones récurrents

Je prends personnellement plaisir à lire ces papiers avec des idées simples et originales - parfois plus que de faire de la recherche moi-même!

12-13 janvier: Ne pas travailler pendant le week-end

Avec une ferme résolution, je me suis encore une fois dit que je ne ferais pas de recherches pendant le week-end. Ce week-end, j'ai surtout pu retirer ça. Samedi, j'ai fait de la randonnée avec quelques-uns de mes amis de mon université de premier cycle qui s'étaient installés dans la Silicon Valley. Dimanche, je suis allé à Fremont pour étudier l'arabe, car je suivais un cours hebdomadaire en personne pour apprendre la langue arabe.

14 janvier: Enseigner moi-même le tour de passe-passe

Je suis revenu à la question du démêlage, que mon conseiller Richard avait soulevée lors de notre dernière réunion. Il y avait deux approches populaires du démêlage que j'avais lues dans la littérature: celle du FactorVAE et celle du TCVAE. Au départ, j'avais prévu d'utiliser TCVAE, car FactorVAE nécessitait un réseau de neurones discriminateur distinct, mais après avoir examiné l'algorithme présenté dans l'article de TCVAE, il m'était difficile de comprendre ce que les auteurs faisaient exactement. Je ne pensais pas non plus que leur approche fonctionnerait bien dans mon contexte; En fait, les auteurs du papier FactorVAE ont affirmé avoir essayé l’algorithme TCVAE dans le cadre original pour lequel il avait été proposé, mais ne pouvaient pas reproduire les bons résultats. Je ne savais pas trop si je pouvais croire les affirmations d’un journal rival ou s’il s’agissait d’un cas de politique universitaire, mais comme les auteurs de FactorVAE avaient décrit plus clairement leur méthode, j’ai donc pensé que j’essayerais cela en premier.

Pour utiliser la technique FactorVAE, il me fallait comprendre quelque chose appelé «l'astuce du rapport densité / densité». Étonnamment, je n'ai pas pu trouver un bon article scientifique expliquant l'astuce, mais j'ai eu la chance de trouver un blog très lisible de Shakir. Mohamed, qui a expliqué le stratagème en langage clair et en mathématiques LaTeX précises (la clarté fait vraiment toute la différence!). J'ai lu attentivement l'article, en apprenant moi-même les mathématiques afin de comprendre le fonctionnement de la méthode.

J'apprécie vraiment les calculs pour mieux comprendre les méthodes d'apprentissage automatique. En fait, il est généralement plus intéressant pour moi de comprendre les mathématiques qui sous-tendent les méthodes existantes et de coder des prototypes simples que de faire des expériences à grande échelle avec mes propres méthodes expérimentales. J'aimerais avoir plus de temps pour lire des articles, faire des mathématiques et comprendre les choses à partir des premiers principes. Mais le rythme rapide de la recherche en apprentissage automatique ne vous donne généralement pas le luxe du temps.

15 janvier: présentation à Richard, encore

Et puis c'était mardi et ma réunion hebdomadaire avec Richard était cet après-midi. J'ai mis en œuvre une VAE contrastive avec démêlage en utilisant l'astuce du ratio de densité, rassemblé les résultats de mes expériences et les ai mises dans une série de diapositives. J'ai regardé les chiffres - ils avaient l'air assez décents, en fait, je me suis dit. Voici un exemple où j'avais formé un VAE contrastif sur des célébrités avec des chapeaux, par opposition à un jeu de données de base de célébrités sans chapeaux:

Ici, un VAE contrastif formé sur des images de célébrités avec des chapeaux (cible) et sans chapeaux (arrière-plan) est utilisé pour générer de nouvelles images de célébrités, en faisant varier une dimension à la fois. La dimension verticale semble impliquer la couleur du chapeau, tandis que la dimension horizontale semble impliquer la forme du chapeau. Comme nous n'autorisons que 2 variables latentes, les images générées ne sont pas très réalistes.

Un VAE standard aurait appris la couleur de peau ou la couleur d'arrière-plan comme caractéristiques latentes intéressantes, mais le VAE contrastif semblait en fait apprendre les caractéristiques latentes liées aux chapeaux, telles que la couleur et la forme du chapeau.

Heureusement, Richard était également satisfait des résultats et il a mentionné qu'il serait heureux de jeter un coup d'œil sur le papier une fois le brouillon préparé. La date limite de la CIML étant proche dans une semaine, j'ai doublé et commencé à écrire.

Et c'était les deux premières semaines de janvier! J'espère que cela vous a donné une idée de ce à quoi ressemble une recherche en apprentissage automatique en tant que doctorant. Je vais terminer la première partie ici, étant donné que je suis déjà assez long. Mais si vous souhaitez savoir à quoi ressemble le reste de mon mois, y compris le reste des étapes que j’ai suivies pour écrire le journal, faites-le-moi savoir dans les commentaires et je serais heureux de rédiger une partie 2!

Note de l’auteur: les événements ont été légèrement modifiés et réorganisés pour plus de cohérence. Les noms de personnes et les clusters informatiques ont été modifiés. Mise en garde: ces expériences ne sont que les miennes et peuvent ne pas représenter les expériences d'autres doctorants, en particulier ceux qui ont un meilleur équilibre travail-vie personnelle!

Cet article a été inspiré par une question de mon cher ami Ali Abdalla.