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
. Jedes Bild wird durch zwei Werte dargestellt:
Neue Elemente beginnen mit einem Standard-μ (oft 25, hier aber 0) und einem hohen σ (oft 8,33). Wenn zwei Elemente verglichen werden, werden ihre μ- und σ-Werte zur Berechnung des erwarteten Ergebnisses verwendet. Das tatsächliche Ergebnis wird mit dieser Erwartung verglichen. Der μ des Gewinners steigt, der des Verlierers sinkt. Der σ beider Elemente nimmt typischerweise ab (was eine erhöhte Sicherheit darstellt). Das Ausmaß der Änderungen hängt ab von:
Es verwendet Gaußsche Verteilungen zur Modellierung von Fähigkeitsniveaus und nutzt Faktordiagramme und Nachrichtenübermittlung für effiziente Aktualisierungen. Elemente werden normalerweise nach ihrem μ - 3σ (eine konservative Schätzung) eingestuft.
Wichtig ist, dass der Algorithmus bei jedem Vergleich alle zuvor bewerteten Elemente gleichzeitig aktualisiert und nicht nur die neuen Bilder. Dies bedeutet, dass der Algorithmus alle aus den Vergleichen verfügbaren Informationen berücksichtigen kann und nicht nur die paarweisen Vergleiche.
Insgesamt ermöglicht dieses System also eine effiziente Rangfolge bei unvollständigen Vergleichsdaten und eignet sich daher gut für große Mengen von Elementen, bei denen umfassende paarweise Vergleiche unpraktisch sind!
Sie haben die Möglichkeit, die sequenzielle Eliminierung für die Rangfolge zu aktivieren
Sie können Bildpaare jederzeit manuell mischen, indem Sie auf die Schaltfläche „Zuordnen“ klicken, oder alle drei Vergleiche automatisch mischen. Dies ist nützlich, wenn Sie die Unsicherheit des Rankings so schnell wie möglich minimieren möchten. Bilder, die nur wenige Male gerankt wurden und eine hohe Unsicherheit σ aufweisen, werden priorisiert. Auf diese Weise verbringen Sie nicht mehr Zeit damit, Bilder zu bewerten, bei denen Sie sich bereits sicher sind, sondern können schneller eine genauere Rangfolge von Bildern mit sehr ähnlichen Bewertungen erhalten.
Image Ranker ist Teil der Gesamtbemühungen, es jedem zu ermöglichen, seine eigenen Fundamentmodelle zu erstellen, die individuell auf seine spezifischen Bedürfnisse zugeschnitten sind.
Post-Training-Grundlagenmodelle machen sie tatsächlich nützlich. Beispielsweise kann es sein, dass große Sprachmodelle ohne vorheriges Training nicht einmal mit Ihnen chatten. Dasselbe gilt auch für Bilder. Zu diesem Zweck ist RLHF eine gängige Technik, die ein Belohnungsmodell verwendet, um die Ausgabe des generativen Grundlagenmodells basierend auf Benutzerpräferenzen zu belohnen oder zu bestrafen. Um dieses Belohnungsmodell zu erstellen, müssen wir die Benutzerpräferenzen kennen, wofür ein Datensatz, hier Bilder, erforderlich ist. Unabhängig davon, ob Sie radikale Änderungen an einem bereits vorhandenen Modell wie Stable Diffusion oder Flux vornehmen oder Ihr eigenes Modell trainieren möchten, ist es wichtig, die Bilder irgendwie einordnen zu können, um zu wissen, welche Bilder besser sind. Hier kommt diese App ins Spiel.
Wenn Sie Fragen haben, öffnen Sie bitte ein Issue auf GitHub! Und zögern Sie nicht, dieses Projekt zu forken, um neue Funktionen vorzuschlagen oder beizutragen. Die Datei OPEN_TODO.md
enthält eine Liste der Funktionen, deren Implementierung geplant ist. Hilfe wird sehr geschätzt! Der einfachste Weg, das Projekt zu unterstützen, besteht jedoch darin , diesem Repo ein !
Danke schön!