Zero-Shot Learning (englisch, auf Deutsch Nullschusslernen) bezeichnet ein Verfahrenskonzept des maschinellen Lernens, bei welchem ein Automat bestimmte Objekte verschiedenen Klassen zuordnen soll, ohne dass er für diese Klassen im zuvor abgeschlossenen Training vergleichbare Beispiele (gelabelte Daten) gesehen hat. Das Gegenstück stellen Few-Shot Learning und One-Shot Learning dar, bei welchen der Automat im Rahmen des Trainings mehrere bzw. ein vergleichbares Klassenbeispiel erhält und anschließend Objekte in diese Klassen einordnen soll. Beim Zero-Shot Learning muss der Automat zusätzliches Wissen über die Klassen aus der Trainingsphase einsetzen, zum Beispiel Attribute oder Textbeschreibungen, um Objekte auch in ihm unbekannte Klassen einzuordnen, die ebenfalls solche Attribute oder Textbeschreibungen haben.
Beim Nullschusslernen werden die Klassen für Training und Test absichtlich getrennt. Der Automat soll im Test also auch Klassen erkennen, zu denen er zuvor keine Trainingsbeispiele gesehen hat. Die zentrale Annahme ist dabei, dass es für jede Klasse eine Beschreibung gibt (etwa Eigenschaften oder semantische Codes) und dass diese Beschreibungen auch für bisher ungesehene Klassen verfügbar sind, sodass sich auch für fremde Klassen Rückschlüsse zur korrekten Einordnung der Objekte durch den Automaten ziehen lassen.
Viele Nullschusslernen-Methoden bringen Beobachtungen (z. B. Merkmale aus Bildern) und Klassenbeschreibungen in einen gemeinsamen Bedeutungsraum (einen Raum, in dem Ähnlichkeit semantische Nähe ausdrückt). Bei der Bewältigung der Aufgabe nach dem Training vergleicht der Automat dann eine Beobachtung mit den verfügbaren Klassenbeschreibungen und wählt die am besten passende Beschreibung als Lösung. In der Praxis werden dafür entweder von Menschen festgelegte Attribute verwendet (also bestimmte, definierte Eigenschaften einer Klasse, wie „hat Streifen“) oder automatisch gewonnene Sprachrepräsentationen, die aus Klassenbegriffen und Texten abgeleitet werden.
Beim generalisierten Nullschusslernen enthält die Aufgabe nach dem Training sowohl von dem Automaten gesehene (also bereits aus dem Training bekannte) als auch ungesehene Klassen, was dazu führen kann, dass der Automat im Rahmen der Aufgabe stark dazu tendiert, Objekte überwiegend in die bereits gesehenen Klassen einzuordnen. Für faire Vergleiche zwischen Nullschusslernen-Verfahren sind außerdem standardisierte Datensplits und klare Auswertungsprotokolle wichtig. Andernfalls können Ergebnisse künstlich besser wirken, etwas durch ungeeignete Einstellungen oder weil Informationen über die Testklassen indirekt ins Training „durchsickern“ (Informationsleck).