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
. Каждое изображение представлено двумя значениями:
Новые элементы начинаются со стандартного значения µ (часто 25, но здесь 0) и высокого σ (часто 8,33). Когда сравниваются два элемента, их значения μ и σ используются для расчета ожидаемого результата. Фактический результат сравнивается с этим ожиданием. μ победителя увеличивается, а проигравшего уменьшается. σ обоих пунктов обычно уменьшается (что означает повышенную уверенность). Масштаб изменений зависит от:
Он использует распределение Гаусса для моделирования уровней навыков и использует графики факторов и передачу сообщений для эффективного обновления. Элементы обычно ранжируются по их значению μ – 3σ (консервативная оценка).
Важно отметить, что алгоритм обновляет все ранее ранжированные элементы одновременно при каждом сравнении, а не обновляет только новые изображения. Это означает, что алгоритм может учитывать всю информацию, доступную в результате сравнений, а не только парные сравнения.
Таким образом, в целом эта система позволяет эффективно ранжировать неполные сравнительные данные, что делает ее хорошо подходящей для больших наборов элементов, где исчерпывающие парные сравнения непрактичны!
У вас есть возможность включить последовательное исключение для ранжирования.
Вы можете вручную перетасовать пары изображений в любое время, нажав кнопку «Перемешать», или автоматически перетасовать каждые три сравнения. Это полезно, если вы хотите как можно быстрее минимизировать неопределенность рейтинга. Изображения, которые ранжировались всего несколько раз и имеют высокую неопределенность σ, будут иметь приоритет. Таким образом, вы не тратите больше времени на ранжирование изображений, в которых вы уже уверены, но можете быстрее получить более точную оценку изображений с очень похожими оценками.
Image Ranker является частью общих усилий, направленных на то, чтобы каждый мог создавать свои собственные модели фундамента, адаптированные к его конкретным потребностям.
Базовые модели после обучения — вот что делает их действительно полезными. Например, большие языковые модели могут даже не общаться с вами без постобучения. То же самое справедливо и для изображений. Для этого широко распространен метод RLHF, который использует модель вознаграждения для вознаграждения или наказания за результаты модели генеративного фонда на основе предпочтений пользователя. Чтобы создать эту модель вознаграждения, нам нужно знать предпочтения пользователя, для которого требуется набор данных, в данном случае изображений. Поэтому, будь то внесение радикальных изменений в уже существующую модель, такую как Stable Diffusion или Flux, или обучение собственной модели, важно иметь возможность каким-то образом ранжировать изображения, чтобы знать, какие изображения лучше. Вот здесь и появляется это приложение.
Если у вас есть какие-либо вопросы, откройте проблему на GitHub! И не стесняйтесь создавать форки этого проекта, предлагать или вносить новые функции. Файл OPEN_TODO.md
содержит список функций, которые планируется реализовать. Помощь очень ценится! Тем не менее, самый простой способ поддержать проект — предоставить этому репозиторию статус !
Спасибо!