← Neueste Arbeiten
💻 computer science

UCSC-NLP at SemEval-2026 Task 13: Multi-View Generalization and Diagnostic Analysis of Machine-Generated Code Detection

Das UCSC-NLP-Team bewältigt die SemEval-2026-Aufgabe 13, indem es durch ein Multi-View-Fine-Tuning-Framework von UniXcoder-base eine starke binäre Erkennung maschinell generierten Codes erreicht, und zeigt gleichzeitig, dass ein klassengewichtetes Training unerlässlich ist, um ein katastrophales Versagen bei der Mehrklassenzuordnung infolge schwerwiegender Datenungleichgewichte zu überwinden.

Ursprüngliche Autoren: Kargi Chauhan, Sadiba Nusrat Nur

Veröffentlicht 2026-05-01
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Kargi Chauhan, Sadiba Nusrat Nur

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich vor, Sie sind eine Lehrkraft, die versucht, einen Stapel Hausaufgaben zu korrigieren. Sie haben zwei Hauptherausforderungen:

  1. Der „Wer hat es geschrieben?"-Test: Können Sie erkennen, ob ein Schüler den Aufsatz verfasst hat oder ob sie einen Roboter dafür eingesetzt haben?
  2. Der „Welcher Roboter?"-Test: Falls ein Roboter ihn verfasst hat, können Sie genau erkennen, welches Robotermodell (z. B. Roboter A, Roboter B, Roboter C) verwendet wurde?

Dieser Artikel beschreibt ein Team der UC Santa Cruz, das ein System entwickelt hat, um diese Probleme für Computercode zu lösen. Sie nahmen an einem Wettbewerb (SemEval-2026 Task 13) teil, um zu testen, wie gut ihr System dabei war, KI-generierten Code zu erkennen.

Hier ist, wie sie die beiden Herausforderungen angegangen sind, einfach erklärt:

Herausforderung 1: Der „Wer hat es geschrieben?"-Test (Binäre Erkennung)

Das Problem: Das Team trainierte ihr System mit Code, der in Python, C++ und Java geschrieben war. Doch als sie es testeten, gaben sie ihm Code in Sprachen, die es noch nie gesehen hatte (wie Go oder PHP), und in verschiedenen Stilen (wie Forschungsarbeiten oder Produktionssoftware). Normalerweise scheitern KI-Detektoren hier, weil sie spezifische Wörter oder Sprachen auswendig lernen, anstatt die „Stimmung" des Codes zu verstehen.

Die Lösung: Die „Drei-Objektiv"-Kamera
Anstatt den Code nur einmal zu betrachten, brachte das Team seinem System bei, jeden Codeabschnitt gleichzeitig durch drei verschiedene Objektive zu betrachten:

  1. Das Original-Objektiv: Betrachtung des Codes genau so, wie er ist.
  2. Das „Blinden"-Objektiv (Delexikalisierung): Stellen Sie sich vor, Sie nehmen einen Satz und ersetzen alle Namen von Personen, Orten und Zahlen durch generische Wörter wie „Person", „Ort" und „Zahl". Dies zwingt das System, spezifische Variablennamen zu ignorieren (die sich je nach Sprache ändern), und sich auf die Struktur der Logik zu konzentrieren.
  3. Das „Gemischte"-Objektiv: Sie mischten zufällig einfachen englischen Text in die Code-Schnipsel. Dies lehrte das System, mit unordentlichem, realweltlichem Code umzugehen, der nicht perfekt formatiert ist.

Die Analogie: Stellen Sie sich einen Sicherheitsbeamten vor, der eine Tasche überprüft.

  • Alter Weg: Der Beamte merkt sich: „Roter Koffer = Schlecht". Wenn Sie einen blauen Koffer mitbringen, übersehen sie ihn.
  • Neuer Weg: Der Beamte betrachtet den Koffer aus drei Perspektiven: von außen, von innen (ohne Markenlogo) und in einer Version, in der sie zufällige Gegenstände hineingemischt haben. Wenn die Struktur der Tasche in allen drei Ansichten verdächtig aussieht, markieren sie sie.

Das Ergebnis: Dies funktionierte erstaunlich gut. Selbst wenn der Code in einer neuen Sprache oder einem neuen Stil geschrieben war, identifizierte ihr System ihn zu etwa 84,5 % korrekt als „Mensch" oder „KI".


Herausforderung 2: Der „Welcher Roboter?"-Test (Multi-Klassen-Zuordnung)

Das Problem: Dies war viel schwieriger. Das Team musste identifizieren, welches von 10 verschiedenen KI-Modellen den Code geschrieben hatte.

  • Die Datenverzerrung: Stellen Sie sich einen Klassenraum mit 500 Schülern vor. 442 davon sind Menschen. Die anderen 58 sind Roboter, aber sie sind auf 10 verschiedene Robotertypen verteilt. Einige Robotertypen haben nur 2 Schüler in der Klasse.
  • Die Falle: Wenn Sie eine Lehrkraft auf diese Klasse trainieren, lernt sie einen sehr einfachen Trick: „Wenn ich einfach für alle ‚Mensch' rate, liege ich zu 88 % richtig!"
  • Das Scheitern: Als das Team dies versuchte, erreichte das System einen „Genauigkeits"-Score von 88 %, aber das war eine Lüge. Es ignorierte die Roboter vollständig. Es scheiterte fast zu 100 % daran, die Minderheiten-Roboter-Klassen zu identifizieren. Es war wie ein Metalldetektor, der bei allem piept, aber nur bei Münzen piept und alles Gold ignoriert.

Die Lösung: Der „Gewichtete Score"
Um dies zu beheben, änderten sie die Spielregeln. Sie sagten dem System: „Wenn Sie ‚Mensch' richtig raten, erhalten Sie 1 Punkt. Aber wenn Sie einen seltenen Roboter richtig erraten, erhalten Sie 200 Punkte."
Dies zwang das System, aufzuhören faul zu sein und tatsächlich zu lernen, die seltenen Roboter zu erkennen.

Das Ergebnis:

  • Vorher: Das System war ein „Mensch-Rater" mit einem Score von 0,08 (schrecklich darin, Roboter zu finden).
  • Nachher: Mit den neuen Regeln stieg die Fähigkeit des Systems, die spezifischen Roboter zu finden, um 301 %. Es wurde nicht perfekt, aber es begann endlich, die Minderheiten-Klassen zu sehen, anstatt sie zu ignorieren.

Was haben sie gelernt? (Das „Warum")

Das Team blickte in das „Gehirn" ihres Systems (mittels einer Visualisierung namens t-SNE) und fand etwas Interessantes:

  • Aufgabe 1 (Mensch vs. KI): Der „Menschliche" Code und der „KI"-Code bildeten zwei distincte, getrennte Inseln. Das System konnte sie leicht unterscheiden.
  • Aufgabe 2 (Welche KI?): Alle verschiedenen KI-Modelle (OpenAI, Meta, IBM usw.) waren in einem großen, chaotigen Haufen zusammengekauert, der sich mit dem menschlichen Code überlappte.

Warum?

  1. Gemeinsame Ernährung: Alle diese Roboter wurden auf denselben Internetdaten trainiert (GitHub, StackOverflow), sodass sie alle lernten, Code zu schreiben, der sich sehr ähnlich sieht.
  2. Gleiche Architektur: Sie alle verwenden ähnliche Gehirnstrukturen (Transformer), sodass ihre „Handschrift" nahezu identisch ist.
  3. Mathematik ist Mathematik: Oft gibt es nur wenige korrekte Wege, ein Programmierproblem zu lösen, sodass alle (Mensch oder Roboter) am Ende dieselbe Lösung schreiben.

Das Fazit

  • Können wir erkennen, ob Code von einer KI stammt? Ja, sehr gut, selbst wenn sich die Sprache ändert, vorausgesetzt, wir lehren dem System, auf die Struktur statt nur auf die Wörter zu achten.
  • Können wir erkennen, welche KI ihn geschrieben hat? Es ist extrem schwierig. Die verschiedenen KIs sind so ähnlich, und die Daten sind so unausgewogen, dass Standardmethoden versagen. Man muss spezielle „Gewichtungs"-Tricks verwenden, um das System zu zwingen, sich um die seltenen Fälle zu kümmern.

Eine Warnung: Die Autoren weisen darauf hin, dass ihr System nicht perfekt ist. Manchmal verwechselt es einen sehr prägnanten menschlichen Programmierer mit einer KI oder einen wortreichen KI-Code mit einem Menschen. Aus diesem Grund sagen sie, dass dieses Werkzeug niemals allein verwendet werden sollte, um lebensverändernde Entscheidungen zu treffen (wie jemanden zu feuern oder einen Schüler durchfallen zu lassen); ein Mensch muss die Ergebnisse immer überprüfen.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →