git clone https://github.com/QuentinWach/image-ranker.git
cd image-ranker
python -m venv venv
source venv/bin/activate # On Windows, use `venvScriptsactivate`
pip install flask trueskill
python app.py
.http://localhost:5000
. Chaque image est représentée par deux valeurs :
Les nouveaux éléments commencent par un μ par défaut (souvent 25 mais 0 ici) et un σ élevé (souvent 8,33). Lorsque deux éléments sont comparés, leurs valeurs μ et σ sont utilisées pour calculer le résultat attendu. Le résultat réel est comparé à cette attente. Le μ du gagnant augmente, celui du perdant diminue. Le σ des deux éléments diminue généralement (représentant une certitude accrue). L’ampleur des changements dépend :
Il utilise des distributions gaussiennes pour modéliser les niveaux de compétence et utilise des graphiques factoriels et la transmission de messages pour des mises à jour efficaces. Les éléments sont généralement classés selon leur μ - 3σ (une estimation prudente).
Il est important de noter que l’algorithme met à jour tous les éléments précédemment classés simultanément à chaque comparaison, plutôt que de mettre à jour uniquement les nouvelles images. Cela signifie que l’algorithme peut prendre en compte toutes les informations disponibles à partir des comparaisons, plutôt que uniquement les comparaisons par paires.
Ainsi, dans l’ensemble, ce système permet un classement efficace avec des données de comparaison incomplètes, ce qui le rend bien adapté aux grands ensembles d’éléments pour lesquels des comparaisons exhaustives par paires ne sont pas pratiques !
Vous avez la possibilité d'activer l'élimination séquentielle pour classer
Vous pouvez mélanger manuellement les paires d'images à tout moment en cliquant sur le bouton de lecture aléatoire ou mélanger automatiquement toutes les trois comparaisons. Ceci est utile si vous souhaitez minimiser l'incertitude du classement le plus rapidement possible. Les images qui n'ont été classées que quelques fois et qui présentent une incertitude σ élevée seront priorisées. De cette façon, vous ne passez pas plus de temps à classer des images dont vous êtes déjà certain, mais vous pouvez obtenir plus rapidement un classement plus précis d'images avec des scores très similaires.
Image Ranker fait partie de l'effort global visant à permettre à chacun de créer ses propres modèles de base personnalisés en fonction de ses besoins spécifiques.
Les modèles de base post-formation sont ce qui les rend réellement utiles. Par exemple, les grands modèles linguistiques peuvent même ne pas discuter avec vous sans post-formation. Il en va de même pour les images. Pour ce faire, une technique courante est le RLHF, qui utilise un modèle de récompense pour récompenser ou punir le résultat du modèle de fondation génératif en fonction des préférences de l'utilisateur. Afin de créer ce modèle de récompense, nous devons connaître les préférences de l'utilisateur, ce qui nécessite un ensemble de données, ici des images. Ainsi, qu'il s'agisse d'apporter des modifications radicales à un modèle déjà existant comme Stable Diffusion ou Flux, ou d'entraîner votre propre modèle, il est important de pouvoir classer les images d'une manière ou d'une autre pour savoir quelles images sont les meilleures. C'est là qu'intervient cette application.
Si vous avez des questions, veuillez ouvrir un ticket sur GitHub ! Et n'hésitez pas à lancer ce projet, à suggérer ou à apporter de nouvelles fonctionnalités. Le fichier OPEN_TODO.md
contient une liste de fonctionnalités dont la mise en œuvre est prévue. L'aide est très appréciée ! Cela dit, le moyen le plus simple de soutenir le projet est de donner un !
Merci!