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
. Cada imagen está representada por dos valores:
Los elementos nuevos comienzan con un μ predeterminado (a menudo 25, pero aquí 0) y un σ alto (a menudo 8,33). Cuando se comparan dos elementos, sus valores μ y σ se utilizan para calcular el resultado esperado. El resultado real se compara con esta expectativa. La μ del ganador aumenta, la del perdedor disminuye. La σ de ambos elementos generalmente disminuye (lo que representa una mayor certeza). La magnitud de los cambios depende de:
Utiliza distribuciones gaussianas para modelar niveles de habilidad y emplea gráficos de factores y transmisión de mensajes para actualizaciones eficientes. Los elementos normalmente se clasifican por su μ - 3σ (una estimación conservadora).
Es importante destacar que el algoritmo actualiza todos los elementos clasificados previamente simultáneamente con cada comparación, en lugar de actualizar solo las imágenes nuevas. Esto significa que el algoritmo puede tener en cuenta toda la información disponible a partir de las comparaciones, en lugar de sólo las comparaciones por pares.
Por lo tanto, en general, este sistema permite una clasificación eficiente con datos de comparación incompletos, lo que lo hace muy adecuado para conjuntos grandes de elementos donde las comparaciones exhaustivas por pares no son prácticas.
Tienes la opción de habilitar la eliminación secuencial para clasificar
Puede mezclar manualmente pares de imágenes en cualquier momento haciendo clic en el botón de reproducción aleatoria o hacerlo automáticamente cada tres comparaciones. Esto es útil si desea minimizar la incertidumbre de la clasificación lo más rápido posible. Se priorizarán las imágenes que solo hayan sido clasificadas unas pocas veces y tengan una alta incertidumbre σ. De esta manera, no perderá más tiempo clasificando imágenes de las que ya está seguro, pero podrá obtener una clasificación más precisa de imágenes con puntuaciones muy similares con mayor rapidez.
Image Ranker es parte del esfuerzo general para permitir que cualquier persona cree sus propios modelos de base personalizados según sus necesidades específicas.
Los modelos básicos posteriores a la capacitación son lo que los hace realmente útiles. Por ejemplo, es posible que los modelos de lenguaje grandes ni siquiera charlen con usted sin una capacitación posterior. Lo mismo ocurre con las imágenes. Para hacerlo, una técnica común es RLHF, que utiliza un modelo de recompensa para recompensar o castigar el resultado del modelo de base generativa en función de las preferencias del usuario. Para crear este modelo de recompensa, necesitamos conocer las preferencias del usuario, lo que requiere un conjunto de datos, aquí imágenes. Entonces, ya sea para realizar algunos cambios radicales en un modelo ya existente como Stable Diffusion o Flux, o para entrenar su propio modelo, es importante poder clasificar las imágenes de alguna manera para saber qué imágenes son mejores. Aquí es donde entra esta aplicación.
Si tiene alguna pregunta, abra un problema en GitHub. Y siéntete libre de bifurcar este proyecto, sugerir o contribuir con nuevas funciones. El archivo OPEN_TODO.md
contiene una lista de funciones que se planea implementar. ¡Se agradece mucho la ayuda! Dicho esto, la forma más sencilla de respaldar el proyecto es darle a este repositorio un !
¡Gracias!