Am 9. und 15. März dieses Jahres fand in Seoul, Südkorea, ein großes Ereignis in der Go-Welt statt, ein Kampf zwischen Menschen und Maschinen, der insgesamt fünf Runden umfasste. Das Ergebnis war eine Vernichtung der Menschen, die Weltmeisterin von Go-Go, Lee Seok-Soon, schließlich gegen AlphaGo, das künstliche Intelligenzprogramm von Google, schlug. Was ist AlphaGo und wo liegt der Schlüssel zum Gewinn? Hier werden wir über einen Algorithmus sprechen: den Monte Carlo Algorithmus.
Laut Xinhua ist das AlphaGo-Programm ein Go-Projekt, das von DeepMind, einem Team von Google, entwickelt wurde und von Chess-Fans in China als Alpha-Scheiße bezeichnet wird.
In einem letzten Artikel haben wir über die Neural-Network-Algorithmen, die Google entwickelt, um Autonomie zu ermöglichen, erwähnt. AlphaGo ist ein ähnliches Produkt.
Der stellvertretende Vorstandsvorsitzende und Generalsekretär der Automatisierungsgesellschaft Chinas, Wang Feiyu, sagte, dass Programmierer keine Kenntnis des Go-Spiels benötigen, sondern nur die grundlegenden Regeln des Go-Spiels. Hinter AlphaGo steckt eine Gruppe herausragender Computerwissenschaftler, genauer gesagt Experten im Bereich des maschinellen Lernens.
Was ist also der Schlüssel, um AlphaGo selbstständig zu machen?
Was ist der Monte Carlo Algorithmus?Die Algorithmen von Monte Carlo werden in der Regel so beschrieben: Wenn es 1000 Äpfel im Korb gibt, und du jedes Mal die Augen schließt, um den größten zu finden, kannst du die Anzahl der Auswahlzeiten unbegrenzt wählen. Also kannst du die Augen schließen, einen zufällig auswählen, dann einen zufällig auswählen, um den ersten zu vergleichen und einen großen zu lassen, dann einen zufällig auswählen, um den Vergleich zu dem zuvor zurückzuhalten, um einen großen zu lassen.
Das heißt, der Monte Carlo-Algorithmus ist, je mehr Proben es gibt, desto besser ist die Lösung, aber es ist nicht garantiert, dass es die beste ist, denn wenn es 10.000 Äpfel gibt, dann wird es wahrscheinlich noch größer sein.
Die Algorithmen von Las Vegas können mit ihm verglichen werden: Es ist üblich zu sagen, dass, wenn es ein Schloss gibt, es 1000 Schlüssel zur Auswahl gibt, aber nur einer richtig ist. Daher wird jedes Mal, wenn man zufällig einen Schlüssel ausprobiert und ihn nicht öffnen kann, ein anderer ausgetauscht. Je mehr Versuche, desto größer ist die Chance, den besten Schlüssel zu öffnen, aber bis zum Öffnen sind die falschen Schlüssel nutzlos.
Die Las Vegas-Algorithmen sind also die bestmögliche Lösung, aber nicht unbedingt zu finden. Angenommen, es gibt 1000 Schlüssel, von denen keiner das Schloss öffnen kann. Der wahre Schlüssel ist der 1001.
Der Monte Carlo-Algorithmus von AlphaGoDie Schwierigkeit des Go-Spiels ist für die KI besonders groß, da es so viele Abfälle gibt, dass es für den Computer schwierig ist, sie zu erkennen. Die Wahrscheinlichkeiten für Go sind zu groß. Bei jedem Schritt gibt es 19 x 19 = 361 Fallen. Bei 150 Runden gibt es bis zu 10 170 mögliche Situationen. Zweitens ist die Regel sehr subtil und die Fallenwahl beruht in gewissem Maße auf Erfahrung und Intuition.
AlphaGo ist nicht nur ein Monte-Carlo-Algorithmus, sondern ein Upgrade.
AlphaGo arbeitete mit einem Monte Carlo-Baum-Such-Algorithmus und zwei tiefen Netzwerken zusammen. Vor dem Kampf gegen Lichtenstein trainierte Google das AlphaGo-Schweinchen-Netzwerk zunächst mit den fast 30 Millionen Schritten von Menschen gegen Käfer, damit es lernt, wie ein menschlicher Profi spielen kann.
Ihre Aufgabe besteht darin, kooperativ diejenigen Schachschritte auszuwählen, die vielversprechender sind, offensichtliche Schachfehler zu verwerfen und so die Rechenmenge in den Bereichen zu kontrollieren, die von Computern durchgeführt werden können. Das ist im Wesentlichen das gleiche, was menschliche Schachspieler tun.
Ein wissenschaftlicher Mitarbeiter des Automatisierungsinstituts der Akademie der Wissenschaften Chinas, Yi Jianqiang, sagt, dass die traditionelle Schachsoftware, die in der Regel eine gewaltsame Suche, einschließlich der tiefblauen Computer, verwendet, eine Suchebaum für alle möglichen Ergebnisse ("jeder Ergebnis ist eine Frucht auf dem Baum") erstellt und nach Bedarf durchsucht. Diese Methode ist auch in Sachen Schach, Sprungschach usw. realisierbar, aber nicht für Go-Spiel, da das Go-Spiel alle 19 Linien umspannt, und die Wahrscheinlichkeit, dass der Sturz so groß ist, dass der Computer nicht in der Lage ist, die Frucht des Baumes zu konstruieren, um eine durchsuchende Suche zu realisieren.
Der Grundstück des tiefen Netzwerks ist ähnlich wie das unseres menschlichen Gehirns, und viele Schichten sind miteinander verbunden, als ob es ein menschliches Netzwerk wäre.
Das Strategie-Netzwerk wird hauptsächlich für die Erstellung von Fallstrategien verwendet. Im Rahmen des Schachspiels denkt es nicht darüber nach, wie es sich selbst entwickeln sollte, sondern darüber, wie es einem menschlichen Spitzel ergehen würde. Das heißt, es prognostiziert, wo die nächste Schachrunde der Mensch abläuft, basierend auf dem aktuellen Zustand des Schachplatzes, und schlägt ein paar praktikable Folgen vor, die am besten mit der menschlichen Denkweise übereinstimmen.
Das Strategie-Netzwerk weiß jedoch nicht, ob es gut oder schlecht ist, was es tun will, es weiß nur, ob es das gleiche ist wie bei Menschen, und dann muss es das Netzwerk bewerten, um zu spielen.
Der Ratings-Netzwerk bewertet die gesamte Platte für alle möglichen Möglichkeiten und gibt dann eine Gewinnrate-Rate an. Diese Werte werden an die Monte Carlo-Algorithmen zurückgegeben, die durch die Wiederholung des Vorgangs den Weg zur höchsten Gewinnrate-Rate ergeben. Der Monte Carlo-Algorithmus entscheidet, dass das Strategie-Netzwerk nur dort weiterläuft, wo die Gewinnrate-Rate höher ist, so dass bestimmte Routen abgelehnt werden können, ohne einen Weg zu schwarz zu ziehen.
AlphaGo nutzt diese beiden Tools, um die Situation zu analysieren und zu beurteilen, ob eine Strategie besser oder schlechter ist, so wie ein menschlicher Schachspieler die aktuelle Situation beurteilt und zukünftige Situationen abschätzt.
Aber es gibt keinen Zweifel daran, dass der Monte Carlo-Algorithmus ein Kernstück von AlphaGo ist.
Zwei kleine Experimente Zu guter Letzt sehen wir zwei kleine Experimente mit dem Monte Carlo Algorithmus.
Das Prinzip: Zeichne zuerst einen Quadrat, zeichne seine innere Kreislänge, und dann ein zufälliger Zeichnungspunkt in diesem Quadrat, der den Punkt in der Kreislänge annähernd p setzt, so dass P = Kreisfläche / Quadratfläche. P = ((Pi))RR) / ((2R*2R) = Pi/4, also Pi = 4P
Schritte: 1. Setzen wir den Kreis mit seinem Zentrum an den Anfangspunkt und bilden einen Kreis mit R als Radius, dann ist die Fläche des ersten Viertels Pi.RR/4 2. Machen wir dieses 1/4-Runde-Fernsequenz, die Koordinaten sind ((0,0) ((0,R) ((R,0) ((R,R), dann ist die Fläche dieses Quadrats RR 3. Zufällig nehmen Sie den Punkt ((X, Y)), so dass 0 <= X <= R und 0 <= Y <= R, also der Punkt im Quadrat ist 4. Durch die Formel XX+YYR entscheidet, ob der Punkt innerhalb der 1/4-Runde liegt. 5. Die Anzahl aller Punkte (d.h. der Versuchszahlen) ist N, und die Anzahl der Punkte (d.h. der Punkte, die Schritt 4 erfüllen) in der 1/4-Runde ist M.
Also ist Pi gleich 4 mal N/M.Bild 1
M_C ((10000) lief mit 3.1424
# Erstellen Sie eine Zahl auf dem Intervall [-2,2] zufällig, suchen Sie nach ihrem entsprechenden y und finden Sie heraus, ob der größte Wert der Funktion auf [-2,2] der größte istBild 2
Nach 1000 Simulationen wurde ein extrem hoher Wert von 185.12292832389875 gefunden (sehr genau).
Wenn man das hier sieht, dann versteht man das. Übertragen von WeChat