Kapitel 18. CNN-Auswertung mit CAM

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Da wir nun wissen, wie wir so ziemlich alles von Grund auf aufbauen können, wollen wir dieses Wissen nutzen, um eine völlig neue (und sehr nützliche!) Funktion zu entwickeln: die Klassenaktivierungskarte. Sie gibt uns Aufschluss darüber, warum ein CNN die Vorhersagen gemacht hat, die es gemacht hat.

Dabei lernen wir eine praktische Funktion von PyTorch kennen, die wir bisher noch nicht kannten, den Hook, und wir werden viele der Konzepte anwenden, die im Rest des Buches vorgestellt werden. Wenn du wirklich testen willst, wie gut du die Inhalte dieses Buches verstehst, kannst du es nach diesem Kapitel beiseite legen und die Ideen aus dem Buch selbst nachbauen (nicht gucken!).

CAM und Haken

Die Klassenaktivierungskarte (CAM) wurde von Bolei Zhou et al. in"Learning Deep Features for Discriminative Localization" vorgestellt. Sie verwendet die Ausgabe der letzten Faltungsschicht (kurz vor der durchschnittlichen Pooling-Schicht) zusammen mit den Vorhersagen, um uns eine Heatmap zu zeigen, warum das Modell seine Entscheidung getroffen hat. Dies ist ein nützliches Werkzeug für die Interpretation.

Genauer gesagt, haben wir an jeder Position unserer letzten Faltungsschicht so viele Filter wie in der letzten linearen Schicht. Wir können also das Punktprodukt dieser Aktivierungen mit den endgültigen Gewichten berechnen, ...

Get Deep Learning für Programmierer mit fastai und PyTorch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.