Künstliche Intelligenz: Die Maschine lernt

22. Februar 2024

Core ML ist eine Bibliothek von Apple und erlaubt die Integration von Machine Learning in Programme. Das haben wir in bcAdmin 4 gemacht. Dafür haben wir unterschiedliche Modelle trainiert, die Messwerte von Rufen auf unterschiedlichen Niveaus klassifizieren. Beginnend mit einem Überblick auf Gattungs- und Gruppenniveau werden dann angepasste und speziell trainierte Modelle verwendet, um tiefergehende Bestimmungen zu erhalten. Diese Funktionen sind direkt im bcAdmin4 verankert, so dass kein extra Programm wie batIdent mehr nötig ist. Und Dank der flexiblen Methode von Apple, ist die Bestimmung auch noch bis zu 5x schneller. Dass das geht, wußten wir gar nicht.

Wie gut sind die neuen Modelle?

Die wichtigste Frage von Anwendern ist immer, wie gut und genau die automatische Bestimmung ist. Eine Frage, die sich nicht wirklich einfach beantworten lässt. Denn wie genau mißt man denn die Güte? Welche Aufnahmen verwendet man? Es gibt natürlich anerkannte Vorgehensweisen zur Ermittlung der Qualität eines Modells. Dazu wird eine Validierung im Zuge des Trainings durchgeführt. Wir haben das mit eigens dafür ausgewählten Aufnahmen gemacht, die auf dieser Seite auch zum Download zur Verfügung stehen. Die folgende Tabelle zeigt die Ergebnisse bei Rufweiser Betrachtung je Art (gute + schlechte Rufe).

Die Ergebnisse sprechen für sich. Beinahe immer sichere Bestimmung der Gattung oder Gruppe. Nun waren die Ergebnisse hierfür aber basierend auf einzelnen Rufen und ur mit einer Auswahl an Rufen durchgeführt worden. In den Aufnahmen lagen noch weitere Rufe vor, teils in sehr schlechter Qualität und teils von anderen Arten. Wie wirkt es sich auf das Ergebnis aus, wenn diese Rufe mit verwendet werden? Das haben wir ausprobiert und die Ergebnisse je Aufnahme geprüft. Zum Vergleich stellen wir die Ergebnisse gegenüber, die mit batIdent erhalten wurden.

Die selbe Analyse haben wir auch auf Artniveau durchgeführt. und wir haben uns schon sehr über das Ergebnis gefreut. Hier und dort vielleicht noch Verbesserungsbedarf, aber am Ende sind es beinahe 90% korrekte Ergebnisse auf Aufnahmeniveau.


Alles im bcAdmin4

Die Modelle, die für die obigen Tabellen verwendet wurden, sind bereits im bcAdmin4 implementiert. Die ganz aktuelle Umsetzung kommt mit bcAdmin4 1.4.1 und gibt die Ergebnisse der CoreML-Bestimmung nach wie vor im Kommentar aus. Sie erlaubt auch die Anpassung von Wahrscheinlichkeitsschwellen auf unterschiedlichem Niveau.

Für die Details gibt es batIdentCoreML

Die Modelle sind auch im kostenlosen Programm batIdentCoreML implementiert. Mit diesem Programm können Sie einen Ordner mit Aufnahmen wählen und dann für jede Aufnahme je gefundenem Ruf das Bestimmungsergebnis im Detail ansehen. Wurden Rufe bereits mittels bcAdmin gefunden, werden diese aus der Messwertdatei ausgelesen. Ansonsten werden die Rufe mittels Rufsuche gesucht und verwendet. batIdentCoreML herunterladen.