Infopulse ist Teilnehmer am Kaggle Data Science Bowl 2017
Wie Infopulse am Kaggle Data Science Bowl 2017 teilgenommen hat - Banner
Zurück

Wie Infopulse am Kaggle Data Science Bowl 2017 teilgenommen hat

Vor kurzem hat das Infopulse-Team für Cognitive Computing am

Über die Kaggle-Plattform

Kaggle ist die größte Plattform für Datenwissenschaftler, die eine Reihe von Online-Wettbewerben mit offen zugänglichen Daten durchführt. Gesponsert und organisiert von weltweit größten Unternehmen wie Google, Intel, Mercedes-Benz, Mastercard, Amazon, NVidia und anderen, ist Kaggle zu einer Art Olympischer Spiele für die weltweit besten Data-Science-Teams geworden. Die Hauptaufgabe der Kaggle-Challenge ist die Entwicklung funktionierender Software-Modelle anhand realer Daten. Die Modellcodes können später für die Produktion übernommen werden, um bestehende Lösungen zu verbessern oder neue zu entwickeln. Da die Preise im Wettbewerb mit Hunderttausenden US-Dollar bemessen werden können, ist die Teilnahme allein ein großer Erfolg für jedes Team.

Organisiert von der Nationalen Wissenschaftsakademie, hat sich Kaggle Data Science Bowl 2017 mit dem Gesamtpreisgeld von einer Million US-Dollar zu einem der größten Wettbewerbe in der Geschichte der Kaggle-Meisterschaften entwickelt. Während der 90-tägigen Veranstaltung mussten die Teilnehmer erforderliche Arbeitsmodelle entwerfen, die Thorax-CT auf maligne Läsionen überprüfen sollen. Das ultimative Ziel des Wettbewerbs war, Algorithmen für die Krebsvorsorge und die Prävention zu erstellen, die die Genauigkeit der Krebsfrüherkennung erhöhen und die Patientenbehandlung verbessern würden.

Wie Infopulse am Kaggle Data Science Bowl 2017 teilgenommen hat - Infopulse - 593069

Oleg Nalyvaiko, Leiter der Abteilung für Cognitive Computing bei Infopulse, hat ein Team aus Experten für Data Science und maschinelles Lernen gebildet, um an der Veranstaltung teilzunehmen. Das Infopulse-Team gehörte zu den wenigen Teams aus der Ukraine, die beim Wettbewerb dabei waren.

Über die Herausforderung

Kaggle Daten Wissenschaft Bowl 2017 bestand aus zwei Etappen. Während der ersten Phase haben wir den Zugriff auf die AWS-Trainingsplattform und riesige Datenmengen erhalten, die 150 GB an CT-Bildern von über 1.500 Patienten beinhaltet haben. Während alle Teams während der ersten Phase genügend Zeit hatten, ihre Modelle zu entwerfen und zu testen, haben die Wettbewerbsorganisatoren gegen das Ende die zweite Phase eingeleitet, um sicherzustellen, dass die Teilnehmenden nicht betrügen. Ein neuer Testdatensatz für die Modellevaluierung wurde veröffentlicht, mit dem die Gesamtdatenmenge auf fast 2.000 Patienten erweitert wurde. Nur noch 5 Tage waren für die Verarbeitung des zweiten Teils der Daten gegeben. So blieben bis zum Ende nur reale Modelle. Außer der Lösungen für die Herausforderung wurden die Teams aufgefordert, den Quellcode ihrer Modelle für die zusätzliche Überprüfung seitens Kaggle hochzuladen.

Obwohl ein Biologe oder ein hochqualifizierter Mediziner in unserem Team gefehlt hat, war das Infopulse-Team bereit, die Herausforderung anzunehmen. So haben wir gearbeitet.

Datenverarbeitung und Lernmodell

Laut der Aufgabe mussten wir die Bewertung der Daten in unserem Modell und ihre Genauigkeit im Rahmen der logarithmischen Abweichung zeigen. Wir mussten viele Diskussionen über die Mittel und die Prinzipien der Datenverarbeitung und -analyse führen, da die eingehenden Daten im DICOM-Format waren, das bei den CT- und MRT-Bildn verwendet wird. Ein Patientenfall enthielt etwa zweihundert 2D-Bilder, auf denen potentiell Krebs erkannt werden konnte.

Am Anfang mussten wir dieses Datenformat konvertieren, sodass wir mit ihm arbeiten konnten. Wir haben mehrere Ansätze ausprobiert, um den besten zu finden.

Die ursprüngliche Idee war, ein „faltendes“ neuronales 3D-Netzwerk aufzubauen und es mit Hilfe der zur Verfügung gestellter Daten zu testen. Was ist mit dem Scannen? Die Maßeinheiten bei den CT-Aufnahmen sind die Hounsfield-Einheiten (HU, die Messungseinheiten für Röntgendichte). CT-Scanner sind fein eingestellt, um diese sorgfältig und genau zu messen. Wir haben alle redundanten Informationen (Luft-, Knochenstrukturen etc.) aus den Bildern nach der Hounsfield-Skala herausgefiltert. Dann haben wir den gesamten Datensatz in einer bestimmten isotropen Auflösung dargestellt.

Schließlich, als unser Netzwerk einfache 3D-CNN verarbeiten und ihre Genauigkeit anhand der CV-Daten überprüfen konnte, haben wir festgestellt, dass die Ergebnisse fast den naiven Eingaben gleichen, die mit 0,5-Werten gefüllt sind. Wir haben uns entschieden, den 3D-Ansatz zu verwerfen, da es keine gute Praxis bei dieser Aufgabe war, zumindest aufgrund der begrenzten verfügbaren Datenmenge.

Als Nächstes haben wir einen anderen Ansatz ausprobiert, der von den anderen Teilnehmenden empfohlen wurde. Dabei wird ein vortrainiertes ResNet50-Modell als Extraktor verwendet. Wir haben die Dimensionalität der erhaltenen Daten mit Hilfe von PCA reduziert und diese dann im XGB-Klassifizierer hinzugefügt. Das Ergebnis war viel besser, und wir sind mit diesem Ansatz in die ersten 10% der Vorreiter in der ersten Phase des Wettbewerbs eingestiegen. Vor dem Anfang der 2. Phase waren wir auf dem 2. Platz. Doch nachdem alle ihre endgültigen Vorlagen eingereicht hatten, rutschten wir auf den 79. Platz. Das Kaggle-Ranking-System ist tückisch, nach der Veröffentlichung der endgültigen Ergebnisse waren wir die 278. Platzierten von knapp 2000 Einreichungen mit diesem Modell, was zeigte, dass häufig verwendet es ist.

Unser letzter Ansatz basiert auf den Ergebnissen des Wettbewerbs LUNA16 2016. Bei diesem Wettbewerb wurde die Lungen-Knoten-Analyse genutzt (Lungs Nodule Analysis, daher LUNA) und es wurden Thorax-Bilder mit markierten Knoten produziert. Wir haben diese Daten für unser Modell verwendet, um danach die gewünschten Zonen auf unseren Bildern lokalisieren zu können. Das neuronale Netz U-net-CNN war die beste Lösung für diese Aufgabe, da es speziell für die biomedizinische Bildsegmentierung erstellt wurde. Nach dem Austesten des Segmentierungsmodells haben wir den DSB-Datensatz angewandt. Die erzielten Ergebnisse wurden zu dem XGB-Klassifizierer hinzugefügt. Damit konnten wir die Kreuzvalidierung von etwa 0,4 erhalten. Leider haben wir nicht genug Zeit gehabt, um die abschließenden Berechnungen durchzuführen und den endgültige Eintrag mit diesem neuesten Modell rechtzeitig zu bestätigen. Wir haben mit der Umsetzung dieser Idee gegen das Ende des Wettbewerbs begonnen und haben nicht damit gerechtet, dass die Bildvorverarbeitung (LUNA16 und DSB 2017) dermaßen zeitaufwendig ausfallen wird. Ca. 70 Stunden waren für die Bildvorverarbeitung notwendig, zusätzliche 2 Tage gingen für das Einstellen im U-net drauf. Wir sprechen hier über die reine Rechnerzeit, ohne das Codeschreiben oder das Debuggen. Dennoch betrachten wir diesen Ansatz als unseren besten und gut durchdachten.

Wie Infopulse am Kaggle Data Science Bowl 2017 teilgenommen hat - Infopulse - 327498

Wir haben unseren Code auf Python geschrieben und Keras mit TensorFlow-Backend verwendet, um das Deep-Learning-Framework zu entwickeln.

Alle Berechnungen wurden auf einem lokalen Rechner ausgeführt:

  • Intel Core i7-6700k (übertaktet auf 4.5 GHz)
  • 16 GB RAM (2666 MHz)
  • NVidia GeForce GTX 980 Ti (mit Frequenzenverstärkung)
  • Ubuntu 16.04, Python 3, TensorFlow 1.0

Was kommt als Nächstes?

Der Wettbewerb war wirklich hart! Obwohl wir zwischendurch auch auf dem zweiten Platz waren, landeten wir am Ende auf dem 278. Platz von insgesamt fast 2.000 Teams. Wir haben immerhin großartige Erfahrungen und Kompetenzen dazugewonnen und uns selber bewiesen, dass nichts unmöglich ist. Der Quellcode unseres Projekts wurde in einer vereinfachten Form in unserem GitHub-Repository hochgeladen.

Unser Team ist inzwischen superbegeistert, was die Teilnahme an anderen Events in der Zukunft und neue datenwissenschaftliche Projekte angeht.

Zur Erinnerung: Vor kurzem hat Infopulse eine eigene Abteilung für Cognitive Computing ins Leben gerufen, die sich auf Data Science und die damit verbundenen Bereiche konzentriert. Momentan arbeiten wir an Chatbots für ITSM.

Wenn Sie ein neues datenwissenschaftliches Projekt haben oder nur an diesem Thema interessiert sind, zögern Sie nicht, uns zu kontaktieren!

Weitere Artikel

Wir haben eine Lösung für Ihre Anforderungen. Senden Sie uns einfach eine Nachricht, und unsere Experten werden sich so schnell wie möglich mit Ihnen in Verbindung setzen.

Vielen Dank!

Wir haben Ihre Anfrage erhalten und werden Sie in Kürze kontaktieren.