PLATFORM

Die Sprache der Vögel – Singvögel entdecken mit KI

Wann kamt ihr das letzte Mal in den Genuss, eines der schönsten Konzerte, das die Natur zu bieten hat, zu hören? Wenn ich der Geräuschkulisse lausche, die aus einfachem Piepsen und Zwitschern bis hin zu tatsächlich komplexen Vogelgesängen besteht, wünsche ich mir manchmal, diese Unterhaltungen entschlüsseln und verstehen zu können. In den frühen Morgenstunden ist dann vielleicht ein „Hallo, guten Morgen, wie geht es dir heute?“ zu vernehmen, und zwar teilweise so laut, dass man von all diesem Zwitschern aufgeweckt wird. Doch leider sind wir weit davon entfernt, die Vogelsprache zu verstehen. Aber, wäre es nicht toll, wenn wir mit einem KI-System die Vögel in unserer Umgebung anhand ihres Gesangs bestimmen könnten?

Splunk-Dashboard mit Vögeln und KI

Auf zur Vogelbestimmung mit KI

Bei meinen Recherchen stieß ich auf das erstaunliche Projekt BirdNET vom Cornell Lab of Ornithology und der TU Chemnitz zur Bestimmung von Vögeln anhand von Tonaufnahmen ihres Gesangs. Bei diesem Projekt kommt ein neuronales Netz zum Einsatz, das so trainiert wurde, dass 984 Vogelarten bestimmt werden können. Glücklicherweise haben die Forscher BirdNET auf GitHub veröffentlicht, sodass man dieses Bestimmungssystem ganz leicht abrufen und einrichten kann. Man braucht dazu nur ein paar Minuten Zeit, um drei einfache Schritte durchzuführen:

  1. Klonen des Repositorys
  2. Erstellen eines Docker-Containers
  3. Ausführen von BirdNET für eine aufgezeichnete Tondatei und Speichern der Ergebnisse 

Aber Moment: Wie lassen sich die Ergebnisse sowohl in Echtzeit als auch über einen längeren Zeitraum hinweg problemlos analysieren? Hier ermöglicht euch Splunks Data-to-Everything Plattform, Antworten auf alle möglichen Fragen zu finden und sehr schnell Einblicke zu gewinnen. Auch dazu sind nur drei einfache Schritte nötig:

  1. Definieren einer Dateneingabe in Splunk und Verweisen auf die von BirdNET erzeugten TSV-Dateien
  2. Schreiben einiger Suchen, um ein Dashboard, wie das oben gezeigte, zu füllen
  3. Definieren eines Drilldowns, um ein Miniaturbild und Hyperlinks für den Zugriff auf weitere Informationen über eine bestimmte Vogelart anzuzeigen (dieser Schritt macht richtig Spaß!)

Lasst uns zuerst eine typische Frage beantworten: „Welche Vögel singen wann und wie lange?“ Mit der folgenden Suche erstellt ihr ein einfaches Zeitdiagramm, das zeigt, welche Vögel am eifrigsten singen:

index="birds" sourcetype="birds-tsv" Confidence>0.8 NOT "Common Name"="Human"
| rename "Begin Time _s" as time_start, "Common Name" as name, Confidence as confidence 
| eval _time=('_time' + time_start) 
| timechart limit=20 useother=f span=30s sum(confidence) by name

Anschließend stellen wir dies als Zeitdiagramm dar, um festzustellen, welche Vögel im Sommer nachmittags singen:

Zeitdiagramm zur Aktivität pro Vogelart

Gleich und Gleich gesellt sich gern .... und singt zusammen?

Natürlich sind auch anspruchsvollere Analysen möglich. Ihr kennt wahrscheinlich das Sprichwort „Gleich und Gleich gesellt sich gern“ und stellt euch vielleicht die Frage, „Welche Vögel singen zusammen?“. Sehen wir uns daher eine Suche an, mit der sich diese Frage beantworten lässt:

index="birds" sourcetype="birds-tsv" 
| rename "Begin Time _s" as time_start, "End Time _s" as time_end,"Common Name" as name, "Confidence" as confidence, "Species Code" as code 
| eval _time=_time+time_start 
| eval duration=time_end-time_start 
| search confidence>0.9 NOT name="Human" 
| sort 0 _time 
| streamstats dc(name) as dc_names first(name) as src last(name) as dest time_window=10 
| table _time src dest dc_names 
| where dc_names==2 
| stats count by src dest

Mit einem Sankey-Diagramm können wir darstellen, welche Vögel tendenziell zusammen singen:

Sankey-Diagramm

Wenn euch dieses Diagramm zu schwierig zu lesen ist, können wir eine stärker abstrahierte Darstellung generieren und mit dem integrierten Diagrammanalyse-Framework 3D Graph Network Topology Visualization ein „BirdNET“ erstellen. Leser mit Adleraugen sollten den kleinen Meta-Vogel in diesem Diagramm erspähen können: 

3D Graph Network Topology Vizualization

Wem glauben wir – der KI oder dem Vogel?

Bevor wir nun zum Ende dieses Artikels kommen, sollte man eventuell noch die ein oder andere kritische Frage zu KI-Systemen stellen. Widmen wir uns beispielsweise einer Frage, die ihr euch vielleicht schon selbst gestellt habt: Können wir den Prognosen von BirdNET vertrauen und, wie wissen wir, dass die Ergebnisse zu 100% korrekt sind? Um ehrlich zu sein...wir wissen es nicht. Und ganz allgemein ist es auch enorm schwer, bei KI-Systemen eine Genauigkeit von 100% zu erzielen. Vielleicht ist euch oben im Dashboard die Einstellmöglichkeit „Confidence Level“ aufgefallen.

Was wir tun können, ist das bereits trainierte Modell zu verwenden – welches in diesem Fall von einem Team aus erfahrenen Ornithologen erstellt wurde – und seine Ergebnisse bewerten. Als BirdNET bei meinem Experiment hier in Mitteleuropa eine amerikanische Wanderdrossel zu erkennen glaubte, kamen mir Zweifel an der Richtigkeit dieses Ergebnisses. Ich stellte dann fest, dass ich viel bessere Ergebnisse erhalte, wenn ich meine Standortinformationen hinzufüge. Dadurch kann BirdNET weiteres „Wissen“ über Vogelarten in bestimmten Regionen anwenden. Nach der Feinjustierung der Parameter entsprachen die meisten Ergebnisse der erwarteten und beobachteten Realität. Ich konnte zum Beispiel leicht das Ergebnis für Amseln überprüfen, da ich sie sehr gut kenne. Ich habe sie immer beobachtet, wenn sie in der Nähe in einem Baum oder nach dem Regen auf der Jagd nach Würmern sangen. Ich war allerdings total überrascht, wie viele andere Vogelarten es in meiner Umgebung gibt. Ich hatte beispielsweise noch nie zuvor eine Nachtigall in meiner Gegend gesehen, als ich jedoch mehr über ihren komplexen und wunderschönen Gesang lernte, konnte ich sie leicht erkennen und somit die Ergebnisse des Dashboards bestätigen.

Was ist euer Vogel?

Wenn ihr euch fragt, was KI und all diese Vögel mit Splunk zu tun haben, solltet ihr euch anschauen, wie offen und flexibel die Data-to-Everything Plattform sein kann, um schnell Mehrwert zu bieten. So konnte ich zum Beispiel schon wenige Tage nachdem ich damit begann, die Vogelarten in meiner Umgebung zu erforschen, entsprechende Schlussfolgerungen ziehen. Dies lässt sich analog auf jede Entität übertragen, zu der ihr Daten sammeln könnt. Die Daten können dabei aus einem KI-System stammen oder mit einer klassischen Datenerfassungsmethode wie Protokollen, Metriken und Ereignissen aus einem beliebigen System gesammelt werden. Mein Kollege Greg schrieb neulich einen Artikel über die Zusammenarbeit mit dem Weltwirtschaftsforum, in dem er weitere Möglichkeiten beschreibt, wie man das volle Potenzial von KI ausschöpfen kann.

Was in meinem Vogelbeispiel mit der Klanganalyse funktioniert hat, kann auf dieselbe Weise auch bei Bilderkennungssystemen oder anderen KI-Systemen funktionieren. Ihr könnt schnell analysieren, was im Zeitverlauf geschieht, und die Ergebnisse ganz konkret nutzen. Natürlich könnt ihr diese Systeme auch ganz leicht mit dem Machine Learning Toolkit von Splunk kombinieren, um neben den Daten eine weitere Intelligence-Ebene anzuwenden. Und, last but not least, könntet ihr mit dem Deep Learning Toolkit for Splunk sogar euer eigenes, domänenspezifisches KI-System aufbauen. Jetzt seid ihr am Zug:Was wird euer nächstes KI-Abenteuer sein?

Happy Splunking!

Philipp


Vielen Dank an Mina, Jessica und Emma für die laufende Unterstützung und Hilfe – nicht nur bei diesem Beitrag, sondern auch bei meinen anderen Artikeln in diesem Blog!

*Dieser Artikel wurde aus dem Englischen übersetzt und editiert. Den Originalblogpost findet ihr hier: The Words of the Birds - Leveraging AI to Detect Songbirds

Philipp Drieger
Posted by

Philipp Drieger

Philipp Drieger arbeitet als Principal Machine Learning Architect bei Splunk. Er begleitet Splunk Kunden und Partner in verschiedenen Branchen bei deren digitaler Transformation durch den Einsatz von Datenanalyse, maschinellem Lernen und künstlicher Intelligenz. Damit unterstützt er Unternehmen bei der Realisierung von herausfordernden Anwendungsfällen im Bereich von IT Sicherheit, Operations, IoT und Geschäftsanwendungen. Vor Splunk arbeitete Philipp als freiberuflicher Softwareentwickler und Berater im Bereich 3D Echtzeit Graphik und Visualisierung. In der Forschung hat er Artikel zum Thema Textanalyse und semantischer Netzwerkanalyse veröffentlicht.

TAGS
Show All Tags
Show Less Tags