SPSA auf dem Prüfstand: kein belegt besseres Verfahren
Diesen Beitrag anhören10 Min.
Von KI aus dem Text dieses Beitrags erstellt und von der synthetischen Stimme „Sulafat“ gelesen; keine wörtliche Fassung, Fehler sind möglich.
Wird geladen …
Von KI aus dem Text dieses Beitrags erstellt und von der synthetischen Stimme „Sulafat“ gelesen; keine wörtliche Fassung, Fehler sind möglich.Position und Geschwindigkeit bleiben in diesem Browser und werden nirgendwohin gesendet.
Die Aufnahme konnte nicht abgespielt werden. Audiodatei öffnen
Coherent stellt Zahlenwerte seiner Suche, etwa Schnittränder, Reduktionen und Verlängerungen, mit SPSA ein. Auf Auftrag des Betreibers haben am 26.10.2026 drei Modellfamilien unabhängig geprüft, ob es ein besseres Abstimmverfahren gibt. Dazu kommt eine Modellrechnung zur Frage, welche Werte nach einer Abstimmung übernommen werden sollten. Alle Elo Stärkeabstand zum Gegner, aus den Partien geschätzt, mit 95-Prozent-Halbbreite, wo das Orakel eine berichtet hat. Nie eine absolute Wertung.-Zahlen in diesem Beitrag sind Modell-Elo aus einer Simulation, keine Messung der Spielstärke.
So arbeitet SPSA
- SPSA steht für „Simultaneous Perturbation Stochastic Approximation“: Alle Parameter werden in jedem Schritt gleichzeitig verändert.
- Stören: Jeder Parameter bekommt zufällig ein Vorzeichen. Eine Fassung der Engine verschiebt jeden Parameter um den Störradius in diese Richtung, die andere gleich weit in die Gegenrichtung.
- Duell: Die beiden Fassungen spielen Partiepaare mit vertauschten Farben gegeneinander. Gezählt werden Siege minus Niederlagen.
- Schritt: Jedes Duell liefert für alle Parameter einen Beitrag in Richtung der Fassung, die in diesem Duell besser abschnitt, umso größer, je deutlicher das Ergebnis. Die Beiträge mehrerer Duelle werden gesammelt und dann gemeinsam angewendet. Störradius und Lernfaktor nehmen im Lauf der Abstimmung ab. Den Störradius am Ende nennt dieser Beitrag
c; er dient unten als Maßeinheit für die Parameter. - Unsere Umsetzung rechnet in der Form von Fishtest, der Testplattform von Stockfish. Ein Gutachten hat sie mit dem Fishtest-Code verglichen und keinen Rechenfehler gefunden; ein zweites bestätigt die Zählung von Siegen minus Niederlagen.
Gibt es ein besseres Verfahren?
Gesucht war ein Verfahren, das bei gleicher Partienzahl mehr Spielstärke liefert oder dieselbe Stärke mit deutlich weniger Partien. Bedingung des Betreibers: Ein Ersatz muss beweisbar mindestens so zuverlässig sein wie SPSA. Zwei Familien arbeiteten mit Websuche, eine ohne Netz.
- Ergebnis aller drei: Kein geprüftes Ersatzverfahren ist für
30bis90Parameter bei unserem Partierauschen bewiesen oder im Schach belegt überlegen. - Geprüft wurden CMA-ES, Bayes'sche Optimierung, CLOP, 2SPSA, Bandit-Verfahren und Abstimmung ohne Partien.
| Verfahren | Partienbedarf gegenüber unserer SPSA-Form | Grundlage |
|---|---|---|
| CMA-ES | 1,25- bis 5-fach | Schätzung eines Gutachtens |
| Bayes'sche Optimierung | mindestens 15-fach; mehr als 200.000 Partien | Faustregel aus der Dokumentation eines Abstimmwerkzeugs für Schach, in einem Gutachten; Schätzung eines zweiten |
| CLOP | deutlich mehr; sein quadratisches Modell hat bei 30 Parametern 496 Koeffizienten | Schätzung eines Gutachtens |
| 2SPSA | mindestens 2-fach | Schätzung eines Gutachtens |
| koordinatenweise oder als Bandit | 30- bis 89-fach | Schätzung eines Gutachtens |
Die Werte der Tabelle sind Schätzungen aus den Gutachten, keine Messungen.
Grenze des Beweisbaren
Der Auftrag fragte auch, was „zu 100 % verlässlich“ hieße und was davon beweisbar ist.
- Zwei Gutachten halten fest: Wenn sich die Ergebnisverteilungen von besserer und schlechterer Fassung überlappen, kann dieselbe Beobachtung unter beiden auftreten. Dann kann kein nichttriviales Verfahren mit endlich vielen Partien fehlerfrei entscheiden, auch SPSA nicht.
- „Zu
100% verlässlich“ ist in diesem Sinn nicht beweisbar. Beweisbar sind asymptotische Sätze unter Annahmen, exakte Modellrechnungen und die Fehlerraten vorab festgelegter Tests unter deren statistischen Annahmen. - Gegen Rückschritte der Engine prüfen die festen Messstufen und das Orakel jeden Kandidaten, gleich mit welchem Verfahren er entstand. Unter ihren statistischen Annahmen begrenzen sie das Risiko einer fehlerhaften Übernahme; ausschließen können sie es nicht.
Welche Werte nach der Abstimmung übernehmen?
Im Modell läuft jede Abstimmung zweimal unabhängig, von derselben Ausgangslage aus und mit getrennten Zufallsziehungen. Danach entscheidet je Parameter eine von drei Endregeln:
- Filter: Beide Läufe verschieben den Parameter in dieselbe Richtung, jeder um mindestens
0,5·c. Dann gilt das Mittel beider Läufe, sonst bleibt der Startwert. - Saatmittel: immer das Mittel beider Läufe.
- Saatmittel mit |T| ≥
1: das Mittel, wenn die TeststatistikTdes Parameters über beide Läufe mindestens1im Betrag erreicht, sonst der Startwert.Tist die Summe seiner Einzelsignale aus allen Duellen, geteilt durch die Wurzel ihrer Quadratsumme. Ein Einzelsignal ist der vorzeichenbehaftete Abstand der beiden Werte des Parameters im Duell, in Einheiten vonc, mal dem simulierten Duellergebnis.
Das Modell:
30Parameter, jeder mit eigenem quadratischem Verlust. Steht ein Parameter umx·cneben seinem Optimum, kostet dasL·x² Modell-Elo;List je Parameter log-gleichverteilt zwischen0,05und2.- Jeder Parameter steht mit Wahrscheinlichkeit
fschon am Optimum, im Mittel also ein Anteilf. Sonst ist sein Startfehler normalverteilt mit Standardabweichungs·c, mits=0,5oder1,0. - SPSA wie in unserer Umsetzung: je Lauf
500Duelle zu je30Partiepaaren; aktualisiert wird nach Bündeln von15Duellen, das letzte Bündel hat5; der Lernfaktor endet bei0,002·c². - Die Duellergebnisse sind keine echten Partien, sondern ein linearisiertes Gaußsignal mit fester Varianz
1je Partiepaar. Das ist eine Modellannahme. 300Wiederholungen je Zeile. „Verfügbar“ ist der Modellgewinn, wenn alle Parameter genau auf ihr Optimum kämen.
Je mehr Parameter schon richtig stehen, desto kleiner der Gewinn; bei f = 0,9 liegt der Filter vor dem ungefilterten Saatmittel. verfügbar (alle Parameter am Optimum): 0 15,24, 0,3 11,2, 0,5 7,87, 0,7 5,25, 0,9 1,71; Filter: 0 9,42, 0,3 7,21, 0,5 4,98, 0,7 3,46, 0,9 1,07; Saatmittel: 0 11,76, 0,3 8,66, 0,5 5,9, 0,7 3,84, 0,9 0,93; Saatmittel mit |T| ≥ 1: 0 11,41, 0,3 8,51, 0,5 5,86, 0,7 3,9, 0,9 1,09.
s | f | verfügbar | Filter | Saatmittel | Saatmittel mit |T| ≥ 1 |
|---|---|---|---|---|---|
0,5 | 0 | 3,81 | 1,23 (0,03) | 2,58 (0,00) | 2,29 (0,00) |
0,5 | 0,3 | 2,80 | 0,97 (0,07) | 1,83 (0,03) | 1,71 (0,03) |
0,5 | 0,5 | 1,97 | 0,66 (0,08) | 1,12 (0,12) | 1,10 (0,10) |
0,5 | 0,7 | 1,31 | 0,46 (0,11) | 0,62 (0,30) | 0,68 (0,27) |
0,5 | 0,9 | 0,43 | 0,14 (0,13) | −0,12 (0,74) | 0,04 (0,67) |
1,0 | 0 | 15,24 | 9,42 (0,00) | 11,76 (0,00) | 11,41 (0,00) |
1,0 | 0,3 | 11,20 | 7,21 (0,01) | 8,66 (0,00) | 8,51 (0,00) |
1,0 | 0,5 | 7,87 | 4,98 (0,01) | 5,90 (0,00) | 5,86 (0,00) |
1,0 | 0,7 | 5,25 | 3,46 (0,05) | 3,84 (0,06) | 3,90 (0,07) |
1,0 | 0,9 | 1,71 | 1,07 (0,10) | 0,93 (0,46) | 1,09 (0,38) |
Mittlerer Modellgewinn in Modell-Elo; in Klammern der Anteil der Läufe, die mit Verlust enden. Die Standardfehler der Mittelwerte liegen zwischen 0,02 und 0,34.
Bei f = 0,9 endet das Saatmittel in 46 % der Läufe mit Verlust, der Filter in 10 %. Filter: 0 0, 0,3 1, 0,5 1, 0,7 5, 0,9 10; Saatmittel: 0 0, 0,3 0, 0,5 0, 0,7 6, 0,9 46; Saatmittel mit |T| ≥ 1: 0 0, 0,3 0, 0,5 0, 0,7 7, 0,9 38.
Was die Tabelle zeigt:
- Bei
f≤0,5bringt das Saatmittel bei beiden Werten vonsmehr Modellgewinn als der Filter. - Bei
f=0,9bringt der Filter gleich viel oder mehr als das ungefilterte Saatmittel. Das Saatmittel endet dann in46% (s=1,0) und74% (s=0,5) der Läufe mit Verlust. - Keine Regel erreicht den verfügbaren Gewinn. Bei
s=1,0undf=0erreicht das Saatmittel11,76von15,24Modell-Elo. - Welche Endregel mehr bringt, hängt im Modell also vom Anteil
fab.
Was das Modell nicht enthält
- den Unterschied zwischen Abstimmung mit festen Knoten und Spiel auf Zeit;
- Rundung auf ganze Zahlen, Grenzen der Parameter, die Verteilung der Ergebnisse von Partiepaaren und ausgefallene Duelle;
- echte Partieergebnisse.
Was offen ist
- Der Anteil
fund die Verteilung der VerlusteLsind für die Engine nicht gemessen. - Die Gutachten schlagen Änderungen an der Endregel und Varianten von SPSA vor. Gemessen ist keiner dieser Vorschläge, beschlossen ebenfalls keiner.
Wie das geprüft wurde
- Quellen: die drei Gutachten, ihre Zusammenfassung mit Nachtrag, beide Simulationsskripte mit ihren Ausgaben.
- Modell ohne
f: Die Modelltabelle eines Gutachtens wurde mit eigenem Code nachgerechnet. Beis=1,0ergab sich für den Filter9,27und für das Saatmittel11,45Modell-Elo, gegen9,4und12,3im Gutachten. - Modell mit
f: Diese Erweiterung hat nur eine Modellfamilie gerechnet. Die Faktenprüfung einer zweiten Familie hat beide Simulationsausgaben mit denselben Skripten bytegleich erzeugt und die Modellparameter gegen unseren Code geprüft. Für diesen Beitrag wurde die Ausgabe der Erweiterung noch einmal bytegleich erzeugt; jede Zahl der Tabelle und der Diagramme wurde per Skript gegen sie geprüft. - Grenzen der Prüfung: Den Vergleich mit dem Fishtest-Code konnte die Faktenprüfung nicht selbst wiederholen. Die Tabelle der Ersatzverfahren ist als Inhalt der Gutachten geprüft, nicht als Messung.
- Unabhängige Prüfung: Ein Agent einer anderen Modellfamilie prüfte Text, Tabellen und Grafiken in
2Runden gegen dieselben Quellen und gegen unseren SPSA-Code. Er verglich alle10Tabellenzeilen und beide Diagramme mit der Simulationsausgabe und fand sie richtig. Er benannte Korrekturen an der Beschreibung von SPSA, des Modells, der Endregeln und der Grenzen der Messstufen; sie sind eingearbeitet.