Warum ist die Suche in der KI wichtig?

9

Warum ist die Suche in der KI wichtig? Welche Arten von Suchalgorithmen werden in AI verwendet? Wie verbessern sie das Ergebnis einer KI?

Zoltán Schmidt
quelle

Antworten:

6

Die Zustandsraumsuche ist eine allgemeine und allgegenwärtige KI-Aktivität, die als Sonderfall eine numerische Optimierung (z. B. über Gradientenabstieg in einem Suchraum mit realem Wert) umfasst.

Die Zustandsraumsuche ist eine Abstraktion, die über drei Bestandteile an ein bestimmtes Problem angepasst werden kann:

  1. Einige Darstellungen für mögliche Lösungen für das Problem (z. B. Permutation von Städten zur Darstellung einer TSP-Tour (Travelling Salesman Problem), Vektor realer Werte für numerische Probleme).

  2. Ein Lösungsqualitätsmaß: dh ein Mittel, um zu entscheiden, welche von zwei Lösungen die bessere ist. Dies wird typischerweise (bei Problemen mit einem Ziel) erreicht, indem über eine ganzzahlige oder reelle Funktion eine Lösung (z. B. die für eine TSP-Tour zurückgelegte Gesamtstrecke) verfügt.

  3. Einige Mittel, um sich im Raum möglicher Lösungen heuristisch informiert zu bewegen. Derivate können verwendet werden, falls verfügbar, oder (z. B. für Black-Box-Probleme oder diskrete Lösungsdarstellungen) die Art von Mutations- oder Crossover-Methoden, die durch genetische Algorithmen / evolutionäre Berechnungen bevorzugt werden.

Die ersten Kapitel der frei verfügbaren "Grundlagen der Metaheuristik" geben einen hervorragenden Überblick, und Michalewicz und Fogels "Wie man es löst - moderne Heuristik" erklären ausführlicher, wie die numerische Optimierung im Hinblick auf den Zustandsraum betrachtet werden kann.

Wie soll die "Suche nach möglichen Plänen" erfolgen? Die Idee ist, alle drei oben genannten Punkte für das Planungsproblem auszuwählen und dann eine Metaheuristik anzuwenden (z. B. simuliertes Tempern, Tabu-Suche, genetische Algorithmen usw.). Bei nicht trivialen Problemen wird natürlich nur ein kleiner Teil des Raums "aller möglichen Pläne" tatsächlich untersucht.

CAVEAT: Tatsächlich ist die Planung (im Gegensatz zu den meisten anderen Problemen, die für die Suche im Statusraum geeignet sind, wie z. B. Planung, Packen, Routing usw.) ein Sonderfall, da es manchmal möglich ist, Planungsprobleme einfach mithilfe von zu lösen Eine * Suche, anstatt mit einer stochastischen Metaheuristik zu suchen.

NietzscheanAI
quelle
1
Bei realwertigen Lösungen geht es natürlich darum, welches Delta-Inkrement der aktuellen Lösung verwendet werden sollte, um eine benachbarte Lösung zu erhalten. Eine leistungsstarke evolutionäre Metaheuristik für die Realwertoptimierung (wenn keine Derivate verfügbar sind) ist CMA-ES ( en.wikipedia.org/wiki/CMA-ES ), das dieses Problem durch Beibehaltung adaptiver Werte für Delta behebt.
NietzscheanAI
2

Die Suche war in mehrfacher Hinsicht immer ein entscheidendes Element der KI. Erstens ist das, was viele Leute als "Suche" bezeichnen, ein Spiegelbild dessen, wie das, was wir "Intelligenz" nennen, häufig die Suche nach etwas beinhaltet: einem physischen Bereich, einem "Zustandsraum" möglicher Lösungen, einem "Wissensraum", in dem Ideen / Fakten / Konzepte / etc. sind als Graphstruktur usw. verwandt.

Wenn Sie einige alte Artikel über Computerschach nachschlagen, werden Sie feststellen, dass ein Großteil davon die Suche in einem "Zustandsraum" umfasst. Daher waren Suchalgorithmen, die effizient sind (in Bezug auf Zeitkomplexität und / oder Raumkomplexität), immer wichtig, um dort Fortschritte zu erzielen. Und während Computerschach nur ein Beispiel ist, verallgemeinert sich das Prinzip auf viele andere Arten von Problemlösungs- und Zielsuchaktivitäten.

Hier ist eine Referenz , die mehr über einige dieser Ideen erklärt.

Beachten Sie auch, dass "Suche" in wichtiger Weise eng mit der Idee der "Heuristik" verbunden ist. Viele Suchprobleme in der realen Welt sind viel zu komplex, um durch eine umfassende Brute-Force-Suche gelöst zu werden. Daher greifen Menschen (und KIs) auf Heuristiken zurück, um den durchsuchten Zustandsraum einzugrenzen. Die Verwendung von Heuristiken kann zu Suchalgorithmen führen, die vernünftige Lösungen in einem realistischen Zeitrahmen ermöglichen, in dem es keinen einfachen deterministischen Algorithmus gibt, der dies ebenfalls tun könnte.

Für weitere Hintergrundinformationen sollten Sie sich über die A * -Suche informieren , bei der es sich um einen weit verbreiteten Algorithmus mit vielen Anwendungen handelt - und zwar nicht nur in der KI.

Die andere wichtige Überlegung, in der etwas, das man als "Suche" bezeichnen könnte, in der KI gilt, ist die Verwendung von Algorithmen, die oft auch als "Optimierungstechniken" bezeichnet werden. Dies wären Dinge wie Bergsteigen, Gradientenabstieg, simuliertes Tempern und vielleicht sogar genetische Algorithmen. Diese werden verwendet, um die Werte einiger Funktionen zu maximieren oder zu minimieren. Eine der kanonischen Anwendungen in der KI besteht darin, neuronale Netze mithilfe der Rückausbreitung zu trainieren, wobei Sie versuchen, das Delta zwischen der "richtigen" Antwort (aus den Trainingsdaten) zu minimieren ) und die generierte Antwort, damit Sie die richtigen Gewichte innerhalb des Netzwerks lernen können.

Geisteskriminalität
quelle
Leider denke ich, dass der Fragesteller nach der Suche nach Gradientenabstieg fragt, im Gegensatz zum Durchsuchen verschiedener Räume von Zuständen / Antworten usw.
Avik Mohan
Interessant, das habe ich von der Frage überhaupt nicht verstanden. Und ich denke, umgangssprachlich bedeutet "Suche" häufiger "Durchsuchen eines Zustandsraums", in dem die Verwendung von Gradientenabstieg als "Optimierung" bezeichnet wird.
Gedankenverbrechen
Ja, ich stimme zu, ich habe in den Kommentaren um Klarstellung gebeten und erst dann die genaue Frage erkannt. Ich denke, Sie werden zu dem gleichen Schluss kommen, wenn Sie sich die Frage ansehen, auf die er verweist.
Avik Mohan
Das ist in Ordnung, ich glaube, das OP wusste sowieso nicht wirklich, was es fragen sollte, daher ist diese Antwort für die allgemeinere Formulierung von "Warum ist Suche in der KI wichtig?" Relevant. Vielleicht könnte die Frage bearbeitet werden, um sie auch ein bisschen besser zu machen.
Gedankenverbrechen
Ja, dem stimme ich auch zu. Ich werde sehen, ob ich den Titel bearbeiten kann, wenn ich vom Fragesteller eine Bestätigung bekomme, nach der er gesucht hat.
Avik Mohan
1

In Bezug auf die von Ihnen erwähnte Frage (in den Kommentaren des OP) beziehen sich diese Suchanfragen auf die Optimierung. Ich bin mir Ihres Hintergrunds nicht sicher, also lassen Sie mich ihn kurz von Grund auf beschreiben:

Erinnerst du dich an die Ableitung? Die Grundidee besteht darin, darüber zu sprechen, wie sich die Funktion in Bezug auf Änderungen in der Eingabe ändert. Jetzt haben wir die High School verlassen und bauen neuronale Netze. Wir haben die grundlegende Codierung durchgeführt und möchten sehen, wie unser Modell funktioniert. Zurück aus unserer Statistikklasse erinnern wir uns, dass wir ein bestimmtes Fehlermaß (z. B. kleinste Quadrate) verwenden, um die Wirksamkeit der Modelle aus dieser Klasse zu bestimmen. Deshalb entscheiden wir uns, dieses hier zu verwenden. Wir bekommen diesen Fehler und er ist etwas zu groß für unseren Geschmack. Deshalb entscheiden wir uns, an unserem Modell herumzuspielen und die Gewichte anzupassen, um diesen Fehler zu beheben. Aber wie?

Hier kommt die "Suche" ins Spiel. Es ist wirklich eine Suche nach den besten Gewichten, die an den Rändern unseres Netzes angebracht werden können, um es zu optimieren. Wir verwenden die Ableitung (in gewisser Weise unter Verwendung der 'Stochasitc' (Think Random Sampling) und auf andere Weise, wie in der Frage erwähnt), um zu suchen, welcher Weg im hochdimensionalen Raum unserer Gewichte 'unten' ist. Mit anderen Worten, wir suchen nach Minima oder Maxima, um unser neuronales Netz zu optimieren, und wir "suchen" danach, indem wir eine Ableitung durchführen, die uns sagt, welchen Weg wir gehen sollen, uns ein wenig in diese Richtung bewegen und dies dann erneut tun und wieder iterativ, um (hoffentlich) die besten Gewichte zu finden.

Dieses Video hier geht auf alle Details ein, die Sie möchten, und ich empfehle die gesamte Serie als robustes, aber verständliches Intro für neuronale Netze: Demystifying Neural Networks

Suchen Sie nach "Gradientenabstieg", um verwandtes Material zu erhalten. (Beachten Sie, dass der Gradient hier der Richtung der mehrdimensionalen Ableitung entspricht und der Abstieg nur nach den Minima sucht.)

Avik Mohan
quelle
1

Die Suche ist aus mindestens zwei Gründen wichtig.

Erstens ist die Suche einer der frühen und Hauptkonsumenten des fortgeschrittenen maschinellen Lernens, da das Finden des richtigen Ergebnisses für eine Suchabfrage darauf hinausläuft, die Klickrate für Kombinationen von Abfrageergebnissen vorherzusagen. Relevantere Ergebnisse bedeuten mehr Klicks, mehr Verkehr und mehr Umsatz.

Zweitens können viele Planungs- und Optimierungsprobleme als Suchprobleme neu formuliert werden. Eine KI, die sich für einen Plan zur Weiterleitung von Paketen durch ein Netzwerk entscheidet, durchsucht den Raum möglicher Pläne nach einem guten.

Matthew Graves
quelle
Dies ist auf dem richtigen Weg, aber ich denke, wir könnten weitere Erläuterungen gebrauchen. Als wissenschaftlich fundierte SE ist es gut, konkrete Beispiele zu nennen oder zu klären, wie die Suche nach möglichen Plänen erfolgen könnte (dies ist sicherlich keine Brute-Force-Suche?). Bitte fügen Sie das Obige hinzu. Auch ich bin an dieser Ansicht interessiert und möchte sehen, was Sie hinzufügen können.
Avik Mohan
EDIT: Leider denke ich, dass der Fragesteller nach der Suche nach Gradientenabstieg fragt, im Gegensatz zum Durchsuchen verschiedener Räume von Zuständen / Antworten usw.
Avik Mohan
0

Das Ziel einer KI ist es, die eine oder andere Aufgabe zu erfüllen, beispielsweise die Aufgabe angemessen zu lösen. Aber es gibt Ergebnisse, die überhaupt keine Lösungen sind, und es gibt Ergebnisse, die die Aufgabe erfüllen und daher als Lösungen akzeptiert werden. Da es im Allgemeinen mehr Ergebnisse gibt, die keine Lösungen sind, ist die Menge aller möglichen Lösungen nur eine Teilmenge aller Ergebnisse. Dies bedeutet jedoch, dass die Aufgabe darin besteht, nach geeigneten Lösungen zu suchen.

BobbyPi
quelle
0

Jedes Problem kann auf die Suche reduziert werden. Jedes Problem hat eine Eingabe in einem bestimmten Bereich (der Domäne) und eine Ausgabe in einem anderen Bereich (Codomäne). Das heißt, jedes Problem kann als eine Art Karte von einem Raum zum anderen formuliert werden, wobei die Quelle die Gegebenheiten des Problems sind und das Ziel die Lösung des Problems ist.

"Brute Force" ist der Algorithmus, der jedes Problem löst, indem er jeden Punkt in der Codomäne untersucht und fragt: "Ist dies die Lösung?" Jeder andere Algorithmus ist ein Versuch, die Brute Force zu verbessern, indem nicht die gesamte Codomäne möglicher Lösungen durchsucht wird.

Typische Softwareentwicklungsprobleme können durch Algorithmen gelöst werden, die sehr schnell zur richtigen Lösung gelangen (Sortierung, Arithmetik, Partitionierung usw.). KI-Probleme sind im Allgemeinen solche, für die ein starker Polynomalgorithmus nicht bekannt ist, und daher müssen wir uns mit Annäherungen zufrieden geben. Grundsätzlich fällt jedes häufige Problem, das das menschliche Gehirn lösen muss, in diese Kategorie.

Betrachten Sie das Problem, einen mehrgelenkigen Roboterarm zu bewegen, um ein Objekt aufzunehmen. Die umgekehrte Kinematik bietet keine eindeutigen Lösungen: Es gibt mehrere Möglichkeiten, Ihre Hand von einer Startposition zu einer Zielposition zu bewegen. Dies liegt an den übermäßigen Freiheitsgraden in Ihren Gelenken. Wenn Sie den Energieverbrauch minimieren möchten, gibt es eine einzigartige Lösung (aufgrund der Asymmetrie von Gelenken und Muskeln).

Was aber, wenn der Weg der Lösung mit minimaler Energie ein Hindernis darstellt? Es gibt viele Wege, die das Hindernis umgehen, aber auch hier haben viele ähnliche Kosten. Selbst wenn es eine einzigartige Lösung mit minimaler Energie gibt, ist die Berechnung möglicherweise nicht die praktischste. Das Gehirn ist das metabolisch teuerste Organ im Körper, daher ist es nicht immer am besten, eine optimale Lösung zu finden. Somit kommen Heuristiken ins Spiel.

In allen Fällen ist das Problem jedoch nicht: "Bewegen Sie Ihre Hand" oder "Bewegen Sie den Roboterarm". Das Problem ist: "Durchsuchen Sie den Raum der gemeinsamen Rotationssequenzen, der das Ziel am besten erreicht." Und obwohl es eine geschlossene Lösung für den einfachen Fall minimaler Energie ohne Hindernisse gibt, ist es zu teuer, genau zu berechnen, wann eine Reihe billiger Heuristiken Sie mit einem kleinen Bruchteil des Rechenaufwands sehr nahe bringt.

Wenn die Berechnung frei wäre, wäre KI bloße Mathematik, und wir würden immer die beste Antwort auf jede Frage mit Logik, Kalkül, Physik und im schlimmsten Fall mit numerischen Methoden berechnen, wenn wir keine Lösungen in geschlossener Form haben. In Wirklichkeit ist Zeit Geld, und die Zeit und der Aufwand, um eine Antwort zu erhalten, sind ebenso Teil der Kosten wie die Qualität der Lösung. Es ist also ein technischer Kompromiss, zu entscheiden, wie viel Aufwand auf welche Weise aufgewendet werden sollte, um angesichts des Werts der Antwort die beste Antwort zu erhalten.

Mit anderen Worten, bei KI-Problemen geht es darum, den Raum der Lösungen so schnell wie möglich zu durchsuchen, um eine Antwort zu erhalten, die "gut genug" ist.

Ich könnte neugierig erscheinen, dass so weit entfernte Probleme wie das Erkennen natürlicher Sprachen und das Beweisen von Theoremen Suchprobleme sind. Sprachparser bemühen sich jedoch, die Bedeutung von Aussagen durch Teil-der-Sprache-Kennzeichnung zu bestimmen. Eine bestimmte Phrase kann auf viele verschiedene Arten analysiert werden, was viele verschiedene Interpretationen ergibt, und der Raum von Analysebäumen ist ein weiteres Suchproblem bei der Entscheidung, welcher Analysebaum die wahrscheinlichste beabsichtigte Bedeutung für den Sprecher ist.

Ein Satzbeweis ist ein Graph, der mit Axiomen beginnt, durch Lemmas geht und die Verfahrensregeln anwendet, bis der Satz abgeleitet oder widerlegt wird (indem seine Negation bewiesen wird). Es gibt viele Möglichkeiten, diese Sequenz darzustellen, aber am Ende des Tages sprechen wir über einen Prozess, bei dem der Zwischenbeweisraum erkundet und die Ableitung gefunden wird, die Ihr Ziel erreicht. Am Ende ist alles Suche.

Rasenmäher Mann
quelle
0

Bewusstsein ist ein Mechanismus zur Auswahl der Aufmerksamkeit, der nach wichtigen Eingaben sucht . Die Robotersakkaden Ihrer Augäpfel zeigen Ihnen aus erster Hand, wie algorithmisch der bewusste Aufmerksamkeitsmechanismus Ihres Gehirns ist, während er nach hervorstechenden Eingaben sucht.

Ein intelligenter Suchalgorithmus kann bei der Reduzierung der Dimensionalität helfen.

Doxosophoi
quelle
0

Typische Lernalgorithmen können als Suchproblem angegeben werden, bei dem wir die bestmögliche Lösung finden möchten, die eine bestimmte Aufgabe unter allen verfügbaren Kandidatenlösungen im Lösungsbereich erfolgreich löst.

Es ist oft der Fall, dass wir das beste nicht finden können oder es zu schwer ist, es zu finden, und daher gehen wir Kompromisse mit einer nicht optimalen Lösung ein.

AlexPnt
quelle