"[Représentations multimodales conjointes pour la recherche de catalogue de commerce électronique basée sur des attributs visuels](https://kddfashion2016.mybluemix.net/kddfashion_finalSubmissions/Joint%20multi-modal%] d'IBM Research, Inde à l'atelier KDD2016 20representations% 20for% 20e-commerce% 20catalog% 20search% 20driven% 20by% 20visual% 20attributes.pdf) »doit être mis en œuvre par le chainer.
L'article original de la méthode papier est ici. La cette implémentation de cet article est écrite en Theano.
Le contenu de l'article ressemble à une lecture approximative, et lorsque le texte et les images sont donnés par paire, l'espace commun est recherché à l'aide de Neural Net (le nom de la méthode est "Correlational Neural Net, abrégé en Corr Net") et est utile pour les moteurs de recherche C'est quelque chose comme ça.
Je pense qu'il est courant d'utiliser CCA lors de la recherche d'un espace commun de deux modaux différents, mais en pratique, le CCA de Scikit-learn prend du temps à s'entraîner dès que la taille des données augmente et il peut ne pas être utilisable en raison d'une erreur de mémoire. Il y en a, et cette fois j'ai essayé de l'implémenter rapidement avec chainer.
Le code écrit dans jupyter notebook en python3 est ** here **.
Il semble que l'intérêt soit de former le coefficient de corrélation pour qu'il devienne grand dans l'espace commun.
Diagramme d'image
La fonction de perte consiste en la perte de restauration à la fois lorsque deux modaux sont donnés, la perte de restauration à la fois lorsqu'un modal est donné et la perte qui rend la corrélation dans la couche cachée élevée. Je suis.
Je voulais l'essayer facilement, j'ai donc utilisé MNIST pour trouver un espace commun pour les images 28x28 et les informations d'étiquettes au format one-hot-vector.
J'essaierai différentes données à l'avenir.
Il semble qu'il puisse être restauré avec succès
Une image qui ressemble au milieu entre 0 et 8 est générée correctement.
Total
Detail
L'apprentissage progresse pour que la corrélation soit correctement élevée dans la couche cachée!
Il semble qu'il puisse être restauré uniquement à partir des informations de l'étiquette!
Dans tous les cas, le chainer est beaucoup plus facile à écrire que Theano et peut générer des logs, ce qui est pratique ^^
Recommended Posts