DE102019130930A1 - Mikroskop und Verfahren mit Ausführen eines faltenden neuronalen Netzes - Google Patents

Mikroskop und Verfahren mit Ausführen eines faltenden neuronalen Netzes Download PDF

Info

Publication number
DE102019130930A1
DE102019130930A1 DE102019130930.1A DE102019130930A DE102019130930A1 DE 102019130930 A1 DE102019130930 A1 DE 102019130930A1 DE 102019130930 A DE102019130930 A DE 102019130930A DE 102019130930 A1 DE102019130930 A1 DE 102019130930A1
Authority
DE
Germany
Prior art keywords
filter
weights
learned
matrix
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019130930.1A
Other languages
English (en)
Inventor
Manuel Amthor
Daniel Haase
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Carl Zeiss Microscopy GmbH
Original Assignee
Carl Zeiss Microscopy GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Carl Zeiss Microscopy GmbH filed Critical Carl Zeiss Microscopy GmbH
Priority to DE102019130930.1A priority Critical patent/DE102019130930A1/de
Priority to US17/775,768 priority patent/US20220382038A1/en
Priority to PCT/EP2020/082160 priority patent/WO2021094597A1/de
Priority to CN202080077686.8A priority patent/CN114846382B/zh
Publication of DE102019130930A1 publication Critical patent/DE102019130930A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B21/00Microscopes
    • G02B21/36Microscopes arranged for photographic purposes or projection purposes or digital imaging or video purposes including associated control and data processing arrangements
    • G02B21/365Control or image processing arrangements for digital or video microscopes
    • G02B21/367Control or image processing arrangements for digital or video microscopes providing an output produced by processing a plurality of individual source images, e.g. image tiling, montage, composite images, depth sectioning, image comparison
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B21/00Microscopes
    • G02B21/06Means for illuminating specimens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/69Microscopic objects, e.g. biological cells or cellular parts
    • G06V20/698Matching; Classification
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B21/00Microscopes
    • G02B21/06Means for illuminating specimens
    • G02B21/08Condensers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Optics & Photonics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Ein Verfahren mit Ausführen eines faltenden neuronalen Netzes, wobei aus einem Eingangstensor (10) mit Hilfe einer ersten Faltungsschicht (100) ein Ausgabetensor (20) berechnet wird. Die erste Faltungsschicht (100) umfasst einen oder mehrere Filterkernel (15A-15M). Mindestens einer der Filterkernel (15A-15M) ist darstellbar durch zumindest eine Filtermatrix (15A1 -15M1) mit Lernparametern (L1-L9, L11-L19) und abhängige Filtermatrizen (15A2-15AN, 15M2-15MN) mit impliziten Parametern, welche mittels der Lernparameter (L1-L9, L11-L19) und eines oder mehrerer zu lernender Gewichte (W) bestimmt sind. Zudem werden eine entsprechende Recheneinrichtung und ein Mikroskop beschrieben.

Description

  • Die vorliegende Offenbarung bezieht sich auf ein Verfahren, bei dem ein faltendes neuronales Netz ausgeführt wird. Außerdem betrifft die Erfindung ein maschinenlesbares Speichermedium und ein Mikroskop, welches zum Ausführen des Verfahrens eingerichtet ist.
  • Faltende neuronale Netze (englisch: Convolutional Neural Networks, CNN) werden für eine Vielzahl verschiedener Anwendungen eingesetzt. Beispiele sind die Bildverarbeitung, eine Segmentierung oder Klassifizierung von Bildern oder eine Objekterkennung in Bildern. Das neuronale Netz kann Teil eines Maschinenlernalgorithmus sein, insbesondere eines Deep-Learning-Algorithmus.
  • Eingabedaten für das neuronale Netz können Bilder sein oder aus Bildern gewonnen sein, welche mit einem Mikroskop von einer zu untersuchenden Probe aufgenommen wurden. Ein solches gattungsgemäßes Mikroskop umfasst: eine Lichtquelle zum Beleuchten einer zu untersuchenden Probe; ein Objektiv zum Weiterleiten von Detektionslicht von der Probe; eine Kamera zum Aufnehmen eines Mikroskopbildes mit Hilfe des Detektionslichts, das vom Objektiv kommt; und eine Recheneinrichtung, welche eingerichtet ist zum Verarbeiten des Mikroskopbildes und Ausgeben eines Bildverarbeitungsergebnisses.
  • Ein gattungsgemäßes Verfahren umfasst das Ausführen eines faltenden neuronalen Netzes, wobei aus einem Eingangstensor mit Hilfe einer ersten Filter- oder Faltungsschicht (englisch: Convolution Layer) ein Ausgabetensor berechnet wird. Die erste Faltungsschicht umfasst einen oder mehrere Filterkernel.
  • Im Sinne dieser Offenbarung wird unter einem Eingangstensor ein multidimensionales Array an Daten verstanden, auf welche eine Berechnung zum Erzeugen des Ausgabetensors angewandt wird. Im Fall eines dreidimensionalen Eingangstensors kann dieser beispielsweise einer Anzahl von N zweidimensionalen Matrizen an Eingabedaten entsprechen. Der Eingangstensor kann auch als Aktivierungskarte (englisch: Feature Map) bezeichnet werden. Er kann der von einer vorhergehenden Faltungsschicht erzeugte Ausgabetensor sein bzw. aus einem solchen Ausgabetensor abgeleitet sein, oder auch durch Rohdaten gebildet sein. Die Anzahl an Dimensionen des Eingangstensors kann prinzipiell beliebig oder größer/gleich drei sein. Dabei kann der Eingangstensor durch vorgegebene Eingangsdaten gebildet sein, welche in einer oder mehreren Listen vorliegen oder aus diesen gebildet werden. Eine Tiefe des Eingangstensors kann auch als Anzahl an Kanälen bezeichnet werden. Beispielsweise kann ein Eingangstensor ein Bild sein, bei dem die Kanäle verschiedenen Farben entsprechen, insbesondere können drei Kanäle für RGB-Farben vorliegen. In späteren Schichten eines CNN ist die Tiefe des Eingangstensors meist wesentlich höher, beispielsweise größer als 100 oder 1000.
  • Die obige Erläuterung des Eingangstensors gilt übertragen auch für den Ausgabetensor (englisch: Output Tensor), welcher häufig als Feature Map bezeichnet wird.
  • Der oder die Filterkernel können auch als Filter, Kernel, Filterkern oder im Fall eines 3D-Filterkernels als Faltungs-/Filtermatrix mit einer Tiefe N (das heißt eine Anzahl von N zweidimensionalen Filtermatrizen) bezeichnet werden. Der Begriff Faltungs-/Filtermatrix soll verdeutlichen, dass mathematisch eine Faltung (Convolution) mit dem Eingangstensor erfolgen soll, insbesondere eine diskrete Faltung. Hierbei kann ein inneres Produkt des Filterkernels mit einem aktuell unterliegenden Ausschnitt des Eingangstensors berechnet werden, um einen Wert des Ausgabetensors zu berechnen. Die Berechnungsweise der Faltung an sich kann in verschiedener Weise erfolgen, z.B. kann eine Matrix des Eingangstensors zunächst in einen Vektor umgewandelt werden, welcher mit einer aus dem Filterkernel gebildeten Matrix oder einem daraus gebildeten Vektor verrechnet wird.
  • Zum besseren Verständnis wird die Ausführung einer Faltungsschicht 100' eines faltenden neuronalen Netzes gemäß dem Stand der Technik mit Bezug auf 1 beschrieben.
  • 1 zeigt schematisch einen Eingangstensor 10', der mit einer Anzahl von M Filterkerneln 12A-12M gefaltet wird, wodurch der Ausgabetensor 20' berechnet wird.
  • Der Eingangstensor 10' hat die Dimensionen X×Y×N, das heißt eine Anzahl von Y Zeilen, X Spalten und in der Tiefe eine Größe von N, das heißt N verschiedene zweidimensionale X×Y-Lagen.
  • Jeder der M Filterkernel 12A-12M hat die Dimensionen KxKxN, also eine Anzahl von N Lagen aus zweidimensionalen KxK-Matrizen. Häufig wird eine 3×3-Matrix oder 5×5-Matrix verwendet, wobei N wesentlich größer als K sein kann, beispielsweise größer als 100 oder 1000.
  • Durch Faltung des Eingangstensors 10' mit den M Filterkerneln 12A-12M wird der Ausgabetensor 20' erzeugt, welcher im dargestellten Beispiel die Dimensionen X*Y*M hat. Die Tiefe des Ausgabetensors 20' wird dabei durch die Anzahl an Filterkerneln M bestimmt. Die Faltungsberechnung erfolgt in bekannter Weise, beispielsweise wie in 8-9 von DE 10 2017 113 733 A1 gezeigt und nachfolgend kurz beschrieben: Jede X×Y×1-Lage des Ausgabetensors wird durch einen der Filterkernel 12A-12M aus 1 berechnet. Jede der K×K×1-Filterlagen dieses Filterkernels (beziehungsweise deren Spiegelung) wird mit einem Ausschnitt der entsprechenden Lage des Eingangstensors multipliziert. Dies erfolgt für alle N Lagen und die jeweiligen Teilergebnisse werden zu einem Skalar addiert. Der verwendete Ausschnitt des Eingangstensors entspricht dabei in seiner Lage der Lage des ausgerechneten Werts im Ausgabetensor. Indem der Filterkernel über den Eingangstensor 10' geschoben wird, werden die verschiedenen Werte einer X×Y×1- Lage des Ausgabetensors 20' berechnet. Die Faltung des nächsten der M Filterkernel mit dem Eingangstensor 10' ergibt die nächste X×Y×1-Lage des Ausgabetensors 20'.
  • Die Gesamtanzahl an Werten / Einträgen der Filterkernel 12A-12M ist hier K*K*N*M. Diese Anzahl an Werten sind die Parameter, die an Hand von Trainingsdaten bei einem Maschinenlernalgorithmus ermittelt werden sollen. Ein angelernter Maschinenlernalgorithmus, bei dem die Werte der Filterkernel festgelegt wurden, kann sodann auf einen Eingangstensor angewandt werden, um diese Daten zu verarbeiten oder auszuwerten. Die Anzahl an zu lernenden Parametern K*K*N*M kann sehr hoch sein, beispielsweise größer als 100.000. Durch diese große Anzahl zu ermittelnder Parameter steigen die Rechen- und Hardwareerfordernisse. Auch wenn dedizierte Hardware für diese Berechnungen verwendet wird, bleibt der benötigte Zeitaufwand eine relevante Größe. Es wäre daher wünschenswert, eine möglichst effiziente Gestaltung von Filterkerneln bereitzustellen, welche die im Eingangstensor enthaltenen Informationen gut nutzen und die Gefahr einer Überanpassung an Trainingsdaten bei einem Maschinenlernalgorithmus reduzieren. Zudem sollten möglichst schnelle Berechnungen ermöglicht werden und eine Robustheit gegenüber Variationen der Daten des Eingangstensors bestehen.
  • Im Stand der Technik werden CNNs beispielsweise in der folgenden Literatur beschrieben:
    • [1]. KRIZHEVSKY, Alex; SUTSKEVER, Ilya; HINTON, Geoffrey E. Imagenet classification with deep convolutional neural networks. In: Advances in neural information processing systems. 2012. S. 1097-1105.
    • [2]. CHOLLET, Frangois. Xception: Deep learning with depthwise separable convolutions. In: Proceedings of the IEEE conference on computer vision and pattern recognition. 2017. S. 1251-1258.
    • [3]. IANDOLA, Forrest N., et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and< 0.5 MB model size. arXiv preprint arXiv:1602.07360, 2016.
    • [4]. HOWARD, Andrew G., et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861, 2017.
    • [5]. TAN, Mingxing; LE, Quoc V. EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks. arXiv preprint arXiv:1905.11946, 2019.
    • [6]. RASTEGARI, Mohammad, et al. Xnor-net: Imagenet classification using binary convolutional neural networks. In: European Conference on Computer Vision. Springer, Cham, 2016. S. 525-542.
    • [7]. IOFFE, Sergey; SZEGEDY, Christian. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv: 1502.03167, 2015.
    • [8]. ZOPH, Barret, et al. Learning transferable architectures for scalable image recognition. In: Proceedings of the IEEE conference on computer vision and pattern recognition. 2018. S. 8697-8710.
    • [9]. TAN, Mingxing, et al. Mnasnet: Platform-aware neural architecture search for mobile. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019. S. 2820-2828.
  • In den oben genannten Veröffentlichungen werden insbesondere die folgenden CNNs beschrieben, auf welche nachfolgend näher eingegangen wird:
    • • Xception [2]
    • • SqueezeNet [3]
    • • MobileNet [4]
    • • EfficientNet [5]
    • • NasNet / MNasNet [8, 9]
    • • XNOR-Net [6]
  • Diese Algorithmen nutzen verschiedene Techniken, um die Parameteranzahl sowie den Rechenaufwand für CNNs zu reduzieren. Diese Techniken lassen sich grob unterteilen in: Anpassungen in der Mikroarchitektur, wobei einzelne Bausteine von CNNs durch andere Bausteine ersetzt werden, z.B. der Einsatz von Depthwise Separable Convolutions [2, 4, 5]; Anpassungen in der Makroarchitektur, wobei die Gesamtarchitektur eines CNNs angepasst wird, z.B. bei einer automatisierten Suche nach neuen Architekturen [4, 5]; Mischungen aus einer Mikro- und Makroarchitekturanpassung [6]; Nachbearbeitungen eines trainiertes Modells, z.B. eine Kompression, in welcher Modellparameter quantisiert werden oder ein Pruning, in dem vernachlässigbare Bausteine eines CNNs entfernt werden.
  • Diese Techniken können folgende Nachteile haben:
    • • Anpassung Mikroarchitektur: Beim Einsatz von Depthwise Separable Convolutions [2, 4, 5] kommt es zu einer ineffektiven Nutzung der Kernel, da jeder nur einen anstatt aller Eingabekanäle faltet. Somit besteht die Gefahr, Redundanzen zu lernen und somit unnötig viele Parameter im Modell zu behalten.
    • • Anpassung Makroarchitektur: bei der automatisierten Suche nach neuen Architekturen [8, 9] kommt es zu einem extrem hohen Ressourcenverbrauch (beispielsweise von mehreren GPU-Monaten).
    • • Nachverarbeitung: Durch Pruning erzeugte Netze werden nicht besser als Architekturen vergleichbarer Größe. Darüber hinaus wird durch Pruning, Kompression oder einer Verkleinerung der Architektur meist Performance eingebüßt. Im Gegensatz dazu kann mit der vorliegenden Erfindung, wie sie nachfolgend beschrieben wird, eine Parameterreduzierung bei gleichbleibender oder sogar verbesserter Performance erzielt werden. Dies kann durch den positiven Regularisierungseffekt erklärt werden, welcher eine Überanpassung wie z.B. bei sehr tiefen Netzen [2, 8] verhindert. Dies ist besonders für kleine Datensätze von großem Vorteil.
  • Als eine Aufgabe der Erfindung kann angesehen werden, ein Verfahren, eine Recheneinrichtung und ein Mikroskop anzugeben, welche eine Filterschicht eines faltenden neuronalen Netzwerks bereitstellen, die bei möglichst hoher Robustheit zeiteffiziente Abläufe erlaubt.
  • Diese Aufgabe wird durch das Verfahren mit den Merkmalen des Anspruchs 1, die Recheneinrichtung nach Anspruch 14 und das Mikroskop mit den Merkmalen des Anspruchs 15 gelöst.
  • Vorteilhafte Varianten des Verfahrens, der Recheneinrichtung und des Mikroskops der Erfindung sind Gegenstand der abhängigen Ansprüche und werden außerdem in der folgenden Beschreibung erläutert.
  • Bei dem Verfahren der oben genannten Art ist erfindungsgemäß mindestens einer der Filterkernel darstellbar durch zumindest eine Filtermatrix mit Lernparametern und abhängige Filtermatrizen mit impliziten Parametern, welche mittels der Lernparameter (der Filtermatrix von diesem Filterkernel) und eines oder mehrerer zu lernender Gewichte bestimmt sind.
  • Auf einem maschinenlesbaren Speichermedium der Erfindung ist Programmcode gespeichert, der dazu eingerichtet ist, bei Ausführung durch eine Recheneinrichtung das Durchführen des erfindungsgemäßen Verfahrens zu veranlassen.
  • Bei dem eingangs genannte Mikroskop ist die Recheneinrichtung erfindungsgemäß dazu eingerichtet, aus einem aufgenommenen Mikroskopbild einen Eingangstensor zu berechnen und das erfindungsgemäße Verfahren durchzuführen.
  • Voruntersuchungen zur Erfindung wurden mit herkömmlichen Filterkerneln durchgeführt, in denen sämtliche Einträge frei lernbare Parameter sind. Konkrete Werte dieser Parameter wurden durch einen Trainingsschritt eines Maschinenlernalgorithmus ermittelt. Hierbei wurde eine hohe Korrelation zwischen den Parameterwerten verschiedener Lagen / Tiefe (N) ermittelt. Dies ist in 2 verdeutlicht, welche die N Lagen des Filterkernels 12M aus 1 zeigt. In diesem Beispiel ist der K×K×N-Filterkernel 12M ein 3x3x22-Filterkernel und verschiedene Graustufen stehen für verschiedene Zahlenwerte. Es ist erkennbar, dass die N Lagen 12M1 bis 12MN an KxKx1- Filtermatrizen des Filterkernels 12M eine hohe Korrelation zueinander haben. Dieser Zusammenhang konnte für verschiedene Trainingsdatensätze und Maschinenlernanwendungen beobachtet werden. Das Vorliegen einer Korrelation deutet darauf hin, dass die hohe Anzahl voneinander unabhängiger Parameter (bei dem Filterkernel 12M sind dies K*K*N, in 2 also 3*3*22=198) nicht notwendig sein muss. Vielmehr kann eine Abhängigkeit zwischen einer K×K×1- Filtermatrix und übrigen Filtermatrizen dieses Filterkernels vorgegeben werden, wodurch bei ähnlichen Resultaten die Anzahl zu lernender Parameter deutlich reduziert werden kann.
  • Es hat sich gezeigt, dass die reduzierte Anzahl zu lernender Parameter nicht nur schnellere Berechnungen ermöglicht, sondern gerade bei geringeren Trainingsdatenmengen auch die Robustheit eines Maschinenlernalgorithmus verbessern kann. Dies kann dadurch erklärt werden, dass die Parameterreduzierung als eine Art Regularisierung wirkt, welche einer Überanpassung des neuronalen Netzes an Trainingsdaten entgegenwirkt. Für effiziente Berechnungsmöglichkeiten können insbesondere 1x1-Grouped-Convolutions genutzt werden, welche im Vergleich zu Standard-Faltungsschichten immense Geschwindigkeitsvorteile bieten. Auch eine optionale Visualisierung tiefer neuronaler Netze wird aufgrund der reduzierten Parameteranzahl erleichtert.
  • Im Stand der Technik wird teilweise eine Parameterreduzierung durch Nachbearbeitung durchgeführt. Hierbei bleibt der benötigte Ressourcenaufwand für das Training (Speicher, Zeit, Energie) unverändert. Hingegen muss bei der vorliegenden Erfindung aber von Anfang an bloß eine kleinere Parameteranzahl gelernt werden, wodurch während der Trainingsphase nur ein Bruchteil an Rechenaufwand benötigt wird.
  • In der hier verwendeten Terminologie bezeichnet die Filtermatrix mit Lernparametern eine Matrix eines Filterkernels, beispielsweise eine 2D-Matrix eines 3D-Filterkernels. Auch höhere Dimensionen sind möglich, wobei eine Faltungs-/Filtermatrix in der hier verwendeten Benennung eine Lage eines Filterkernels ist. Die Lernparameter bezeichnen Parameter, deren Werte an Hand von Trainingsdaten durch einen Maschinenlernalgorithmus erlernt werden sollen. Die Anzahl an Parametern (Lernparametern) kann hierbei gerade gleich der Größe der Matrix sein, im Fall einer 3×3-Matrix kann es also neun Lernparameter geben. Andere Matrizen dieses Filterkernels sollen nun abhängig von dieser Filtermatrix mit Lernparametern sein und werden daher als „Filtermatrizen mit impliziten Parametern“ bezeichnet. Die Benennung „implizite Parameter“ soll verdeutlichen, dass diese Parameter nicht unabhängig / frei zueinander gelernt werden. Vielmehr werden die impliziten Parameter mit einer mathematischen Abhängigkeit von der Filtermatrix mit Lernparametern beschrieben, wobei zudem mindestens ein zu lernendes Gewicht eingeht. Beispielsweise kann die Filtermatrix mit Lernparametern mit einem zu lernenden Gewicht multipliziert werden, um eine der Filtermatrizen mit impliziten Parametern zu bilden. Im Fall von 3x3-Filtermatrizen bedeutet dieses Beispiel, dass eine Filtermatrix mit impliziten Parametern insgesamt 9 Werte/Einträge enthält, aber nur durch einen einzigen zu lernenden Gewichtswert sowie durch die 3×3-Filtermatrix mit Lernparametern definiert wird.
  • Die Multiplikation eines zu lernenden Gewichts mit der Filtermatrix mit Lernparametern soll lediglich als beispielhafte Ausführung verstanden werden. Andere mathematische Verknüpfungen sind ebenfalls möglich. Zudem werden Vorteile der Erfindung zumindest teilweise bereits bei einer nur geringeren Reduzierung der Anzahl zu lernender Parameter erreicht. Eine Obergrenze für die Anzahl an zu lernenden Gewichten kann daher so festgelegt sein, dass die Anzahl aller zu lernender Gewichte plus die Anzahl aller Lernparameter kleiner ist als die Größe des betroffenen oder aller Filterkernel. Die „Größe“ des Filterkernels soll hierbei die Anzahl seiner Einträge bezeichnen, im Beispiel von 1 hat ein Filterkernel somit eine Größe von K×K×N und die Größe aller M Filterkernel beträgt zusammen K×K×N×M.
  • Für eine stärkere Reduzierung der zu lernenden Parameteranzahl kann vorgesehen sein, dass nicht nur einer, sondern mehrere oder alle der Filterkernel einer Faltungsschicht in der beschriebenen Weise gebildet sind. Hierbei nutzt jeder dieser Filterkernel jeweils zumindest eine (oder genau eine) Filtermatrix mit Lernparametern, wobei die Filtermatrizen mit Lernparametern verschiedener Filterkernel voneinander unabhängig sein können. Bei M Filterkernel der Größe KxKxN kann es somit beispielsweise M Filtermatrizen mit K*K Lernparametern geben. Zu lernende Gewichte werden verwendet, um zusammen mit den Filtermatrizen mit Lernparametern die übrigen Filtermatrizen („abhängige Filtermatrizen“) zu bestimmen. Optional können hierbei dieselben Lernparameter für verschiedene Filtermatrizen verwendet werden, um die Anzahl zu lernender Parameter weiter zu reduzieren.
  • Im Sinne der Erfindung ist zumindest einer der Filterkernel in der beschriebenen Weise mit einer Filtermatrix mit Lernparametern und durch zu lernende Gewichte „darstellbar“. Hierunter werden verschiedene konkrete mathematische Formulierungen oder Berechnungsweisen verstanden, welche im Ergebnis dem beschriebenen Filterkernel gleich sind und daher auch durch einen solchen darstellbar sind. So kann einerseits einer der Filterkernel oder jeder Filterkernel durch jeweils einen mit dem Eingangstensor zu faltenden Körper gebildet sein, wobei der Körper durch die zumindest eine Filtermatrix mit Lernparametern und die zu lernenden Gewichte gebildet ist. Bei Kenntnis oder Vorgabe der Lernparameter und der Gewichte ist somit jeder Eintrag dieses Körpers vollständig definiert. Unter einem Körper wird hier ein mehrdimensionaler Zahlenblock verstanden. In einer alternativen Umsetzung wird einer der beschriebenen Filterkernel (oder jeder der Filterkernel jeweils) durch zumindest einen ersten Körper (Lernparameter-Körper) und einen zweiten Körper (Gewichte-Körper) implementiert, welche nacheinander mit dem Eingangstensor verrechnet, insbesondere gefaltet, werden. Dies kann durch eine Depthwise-Convolution (lagenweise Faltung) kombiniert mit einer punktweisen Faltung erfolgen. Der erste Körper umfasst oder wird gebildet durch die Filtermatrix mit Lernparametern und insbesondere keine der zu lernenden Gewichte. Bei einer Tiefe von N können hierbei alle Lagen gleich der genannten Filtermatrix mit den Lernparametern sein, bzw. wird stets dieselbe K×K×1 -Filtermatrix mit Lernparametern für die Faltungsberechnung verwendet. Der zweite Körper hingegen umfasst oder wird gebildet durch (allein) die zu lernenden Gewichte und eben nicht durch die Lernparameter. Bei einem X×Y×N-Eingangstensor kann somit der Gewichte-Körper ein Vektor der Form 1×1 ×N sein. Die beiden Körper können nun mit dem Eingangstensor gefaltet werden, wobei die Reihenfolge der zwei Faltungsberechnungen prinzipiell beliebig ist. Im Sinne dieser Erfindung wird die Nutzung zweier solcher Körper als eine mögliche Darstellung des vorgenannten Filterkernels angesehen. Insbesondere kann der zweite Körper, der die zu lernenden Gewichte enthält, mit dem Eingangstensor multipliziert werden (Faltung mit einem 1×1×N-Körper); hat der Eingangstensor die Größe XxYxN, so wird jede X×Y×1-Lage des Eingangstensors mit je einem Gewicht multipliziert, das heißt jeder Eintrag einer XxYx1-Lage wird mit demselben Gewicht multipliziert und verschiedene X×Y×1-Lagen können je nach Erfindungsvariante mit unterschiedlichen Gewichten oder auch (teilweise) dem gleichen Gewicht multipliziert werden. Sodann erfolgt eine Faltung mit dem ersten Körper, welcher prinzipiell durch allein eine K×K-Filtermatrix gebildet sein kann bzw. durch eine KxKxN-Filtermatrix, bei der jede K×K×1-Lage hieraus gleich ist. Für eine einfache Berechnungsweise können die mit den Gewichten multiplizierten N Lagen des Eingangstensors zunächst zu einem X×Y×1-Körper zusammenaddiert werden, womit leidglich noch eine Faltung mit einer K×K×1-Filtermatrix (welche die Lernparameter enthalten kann) zu berechnen ist. Bei umgekehrter Reihenfolge der Faltungsoperationen wird zunächst der X×Y×N-Eingangstensor mit der K×K×1-Filtermatrix mit Lernparametern bzw. mit der K×K×N-Filtermatrix, in welcher jede K×K×1-Lage gleich sein kann, lagenweise gefaltet, das heißt jede X×Y×1-Lage des Eingangstensors wird für sich betrachtet mit der K×K×1-Filtermatrix gefaltet, womit der resultierende Körper eine Tiefe von N hat; dieser wird sodann punktweise mit dem1×1×N-Gewichtskörper gefaltet, womit der hieraus resultierende Körper eine Tiefe von 1 hat und somit eine Lage des Ausgabetensors bildet.
  • Bei manchen Erfindungsvarianten wird eine der abhängigen Filtermatrizen durch Multiplikation eines der zu lernenden Gewichte mit der Filtermatrix mit Lernparametern gebildet. Für die verschiedenen impliziten Parameter derselben abhängigen Filtermatrix wird dabei dasselbe Gewicht mit jedem Lernparameter multipliziert. Bei anderen Varianten geht das Gewicht über eine Aktivierungsfunktion ein, das heißt über eine nicht lineare Funktion wie eine Sigmoidfunktion, z.B. eine Arkustangens-Funktion.
  • Das Gewicht kann das Argument der Aktivierungsfunktion sein und das Ergebnis hiervon wird mit einer Filtermatrix mit Lernparametern verrechnet, z.B. multipliziert, um eine abhängige Filtermatrix festzulegen. Alternativ kann das Argument der Aktivierungsfunktion aus Verrechnung, z.B. Multiplikation, eines Gewichts und eines Lernparameters gebildet sein und das Ergebnis der Aktivierungsfunktion ist ein Eintrag (impliziter Parameter) einer der abhängigen Filtermatrizen. In einer weiteren Gestaltung werden die Einträge des Ausgabetensors in die Aktivierungsfunktion eingegeben und ein hiermit berechneter Tensor wird als Ergebnis dieser Faltungsschicht ausgegeben.
  • Durch die zu lernenden Gewichte soll eine Korrelation zwischen den verschiedenen Lagen eines Filterkernels hergestellt werden. Es wird somit durch die Gewichte eine Abhängigkeit zwischen verschiedenen Lagen eines Filterkernels erzeugt. Dabei soll die Gesamtanzahl zu lernender Werte reduziert sein. Herkömmlicherweise ist diese Gesamtanzahl zu lernender Werte einer Filterschicht meist gleich der Gesamtzahl an Einträgen (=Elementen) aller Filterkernel dieser Filterschicht. Um eine Reduzierung der Anzahl zu lernender Werte zu erreichen, ist eine Anzahl zu lernender Gewichte aller Filterkernel plus eine Anzahl aller Lernparameter kleiner als eine Gesamtzahl an Elementen aller Filterkernel. Für eine stärkere Reduzierung der Anzahl zu lernender Werte kann die Anzahl zu lernender Gewichte pro Filterkernel kleiner oder gleich der Anzahl an abhängigen Filtermatrizen dieses Filterkernels gewählt sein. So kann pro abhängiger Filtermatrix von einem der Filterkernel genau ein zu lernendes Gewicht verwendet wird; alternativ wird z.B. für mehrere der abhängigen Filtermatrizen desselben Filterkernels dasselbe zu lernende Gewicht verwendet.
  • Nachstehend werden verschiedene Ausführungen beschrieben, die eine wesentliche Reduzierung der Anzahl zu lernender Werte/Parameter bereitstellen und gleichzeitig eine geeignete Abhängigkeit innerhalb der Filterkernel beschreiben, wodurch eine hohe Robustheit in Maschinenlernanwendungen erreicht wird:
    • Es kann vorgesehen sein, dass jeder Filterkernel nur eine einzige Filtermatrix mit Lernparametern oder auch zwei oder mehr Filtermatrizen mit Lernparametern umfasst. Alle übrigen abhängigen Filtermatrizen dieses Filterkernels können durch jeweils ein zu lernendes Gewicht und die Filtermatrix mit Lernparametern definiert sein bzw. durch mehrere Gewichte, die mit den Filtermatrizen mit Lernparametern verrechnet werden.
  • Es kann auch vorgesehen sein, für alle oder manche der abhängigen Filtermatrizen von einem der Filterkernel dasselbe zu lernende Gewicht zu verwenden.
  • Wenn zumindest einer der Filterkernel zwei oder mehr Filtermatrizen mit Lernparametern umfasst, können die abhängigen Filtermatrizen dieses Filterkernels durch eine mit den Gewichten verknüpfte Kombination der Filtermatrizen mit Lernparametern gebildet sein. Beispielsweise kann eine abhängige Filtermatrix als Linearkombination aus zwei oder mehr Filtermatrizen mit Lernparametern dargestellt werden, welche jeweils mit einem Gewicht multipliziert sind. Die übrigen Filterkernel können in gleicher Weise gebildet sein oder können sich in ihrer Anzahl an Filtermatrizen mit Lernparametern unterscheiden.
  • Die Filtermatrizen mit Lernparametern verschiedener Filterkernel derselben Faltungsschicht können voneinander verschieden bzw. unabhängig sein. Alternativ kann auch zumindest einer der Filterkernel keine eigene Filtermatrix mit Lernparametern aufweisen, sondern stattdessen abhängig von einer oder mehreren Filtermatrizen mit Lernparametern von einem oder mehreren der übrigen Filterkernel gebildet sein. Im Fall, dass Filterkernel zwei oder mehr Filtermatrizen mit Lernparametern umfassen, können verschiedene Filterkernel sich auch Filtermatrizen mit Lernparametern teilen und zusätzlich voneinander verschiedene Filtermatrizen mit Lernparametern umfassen.
  • Dasselbe zu lernende Gewicht kann optional für je eine abhängige Filtermatrix mehrerer oder aller Filterkernel verwendet werden. Hierdurch wird die Anzahl zu lernender Parameter weiter verringert und es kann die Robustheit bei Maschinenlernanwendungen weiter gesteigert werden.
  • In Varianten der Erfindung werden mehrere Faltungsschichten verwendet, insbesondere für Deep-Learning-Umsetzungen. Zumindest einige der Faltungsschichten werden wie zur ersten Faltungsschicht beschrieben gebildet. Dabei können für verschiedene Faltungsschichten verschiedene der hier beschriebenen Ausführungen gewählt werden. Aus dem Ausgabetensor der ersten Faltungsschicht wird ein zweiter Eingangstensor für eine zweite Faltungsschicht gebildet. Prinzipiell kann der Ausgabetensor direkt als zweiter Eingangstensor übernommen werden, wobei aber auch optionale Zwischenschichten genutzt werden können, beispielsweise eine Aktivierungsschicht und/oder eine Pooling-Layer. Wird die Pooling-Layer auf den Ausgabetensor oder einen hieraus gebildeten Tensor angewandt, so bildet sie aus mehreren benachbarten Werten jeweils einen Wert für einen neuen Tensor, welcher der zweite Eingangstensor sein kann oder aus dem der zweite Eingangstensor berechnet wird. Beispielsweise wird bei einem Average-Pooling ein Durchschnitt aus mehreren benachbarten Werten gebildet und in den neuen Tensor übernommen. Bei einem Max-Pooling wird ein jeweiliger Maximalwert aus mehreren benachbarten Werten in den neuen Tensor übernommen. In dieser Weise kann eine gewisse Translationsinvarianz hinsichtlich Merkmalen im Eingangstensor erreicht werden.
  • Die zweite Faltungsschicht umfasst mehrere Filterkernel, welche zur Unterscheidung von den Filterkerneln der ersten Faltungsschicht als zweite Filterkernel bezeichnet werden. Mit Hilfe der zweiten Filterkernel wird aus dem zweiten Eingangstensor ein zweiter Ausgabetensor berechnet. Zumindest einige der zu lernenden Gewichte der Filterkernel der ersten Faltungsschicht können gleichzeitig auch als Gewichte zur Bestimmung von abhängigen Filtermatrizen der zweiten Filterkernel verwendet werden. In dieser Weise ist eine weitere Parameterreduzierung möglich. Die Filterkernel der ersten und zweiten Faltungsschicht können allgemein verschiedene Tiefen haben. Um gemeinsame Gewichte zu nutzen, ist daher eine Anpassung der Gewichte der ersten Faltungsschicht an eine andere Tiefe der zweiten Faltungsschicht zweckmäßig. Hierfür können durch Linearkombinationen der Gewichte, die entlang einer Tiefe in der ersten Faltungsschicht verwendet werden, die Gewichte für einen zweiten Filterkernel der zweiten Faltungsschicht gebildet werden. Haben beispielsweise die Filterkernel der ersten Faltungsschicht die Tiefe N und die zweiten Filterkernel die Tiefe 2N, so kann zwischen zwei Gewichten jeweils ein Mittelwert aus diesen eingefügt werden, womit ein Gewichtsvektor der Tiefe oder Größe 2N erzeugt wird und die örtliche Reihenfolge der Gewichte für die zweite Filterschicht bewahrt bleibt.
  • Die Lernparameter können gerade die Einträge einer Filtermatrix mit Lernparametern sein, wobei alternativ aber auch die Einträge dieser Filtermatrix lediglich mit Hilfe der Lernparameter gebildet sein können. Beispielsweise können zwei Einträge dieser Filtermatrix durch denselben Lernparameter bestimmt sein oder Einträge dieser Filtermatrix können durch Linearkombinationen der Lernparameter gebildet sein.
  • Die Lernparameter und zu lernenden Gewichte müssen nicht direkt mit Hilfe von Trainingsdaten ermittelt werden. Vielmehr ist es auch möglich, Werte für die Lernparameter und zu lernenden Gewicht aus den Filterkerneln eines herkömmlichen, bereits trainierten Maschinenlernalgorithmus abzuleiten. Beispielsweise mittels einer Datenanpassung mit Hilfe einer Verlustfunktion oder einer Regressionsanpassung können Werte der Lernparameter und zu lernenden Gewichte ermittelt werden, mit denen die Filterkernel des bereits trainierten Maschinenlernalgorithmus möglichst authentisch nachgebildet werden.
  • Werden die Lernparameter und zu lernenden Gewichte an Hand von Trainingsdaten ermittelt, kann auch ein „Pruning“ genutzt werden: Hierbei werden zunächst ermittelte Werte der Gewichte ausgedünnt, das heißt möglichst viele Einträge der zugehörigen Gewichtsmatrix werden auf 0 gesetzt. Dadurch wird die Komplexität der Gewichtsmatrix reduziert und Geschwindigkeitsvorteile können erzielen werden.
  • Mögliche Anwendungen eines Maschinenlernalgorithmus, der das hier beschriebene Verfahren nutzt, umfassen die Bildanalyse oder auch Sprach-, Text- oder Audioverarbeitung. Im Rahmen der Bildanalyse kann der hier genannte Ausgabetensor zu einer oder mehreren tieferen Schichten des neuronalen Netzwerks weitergegeben werden, wobei als Endergebnis beispielsweise ein Ergebnisbild, eine Klassifizierung, Segmentierung, Objektidentifikation, Informationsmeldung an einen Nutzer oder ein Steuerbefehl ausgegeben wird. Der Steuerbefehl kann insbesondere ein Steuerbefehl für ein Messgerät sein, beispielsweise ein Mikroskop, mit dem das Bild aufgenommen wurde.
  • Weitere Vorteile und Merkmale der Erfindung werden nachstehend mit Bezug auf die beigefügten schematischen Figuren beschrieben.
    • 1 ist eine schematische Darstellung einer Faltungsschicht des Stands der Technik;
    • 2 ist eine schematische Darstellung eines Filterkernels der Faltungsschicht aus 1;
    • 3 ist eine schematische Darstellung eines Ausführungsbeispiels einer erfindungsgemäß verwendeten Faltungsschicht;
    • 4 ist eine schematische Darstellung eines Filterkernels aus 3;
    • 5-9 sind jeweils eine schematische Darstellung von Gewichten zur Bestimmung der Filterkernel aus 3;
    • 10 ist eine Tabelle zur Erläuterung der Anzahl zu lernender Parameter in Maschinenlernanwendungen; und
    • 11 ist eine schematische Darstellung eines Ausführungsbeispiels eines erfindungsgemäßen Mikroskops.
  • Gleiche und gleich wirkende Bestandteile sind in den Figuren in der Regel mit denselben Bezugszeichen gekennzeichnet.
  • 3 illustriert ein Ausführungsbeispiel eines erfindungsgemäßen Verfahrens, bei dem ein faltendes neuronales Netz ausgeführt wird. Das neuronale Netz kann Teil eines Maschinenlernalgorithmus sein. Schematisch dargestellt ist eine erste Faltungsschicht 100 des neuronalen Netzes, welche aus einem Eingangstensor 10 einen Ausgabetensor 20 berechnet. Die Bezeichnung erste Faltungsschicht 100 soll nicht definieren, dass es sich hierbei um die zu aller erst angewandte Faltungsschicht des neuronalen Netzes handelt, vielmehr können andere Faltungsschichten vor der dargestellten ersten Faltungsschicht 100 ausgeführt werden. Die erste Faltungsschicht 100 umfasst mehrere Filterkernel 15A bis 15M. Es wird eine Faltung aus jedem der Filterkernel 15A bis 15M mit dem Eingangstensor 10 berechnet, um so den Ausgabetensor 20 zu bilden.
  • Der Eingangstensor 10 kann gleich oder identisch zum Eingangstensor 10' aus 1 sein. Der Ausgabetensor 20 hat die Dimensionen Y1×X1×M, wobei Y1 und X1 gleich oder verschieden zu den Dimensionen Y und X des Eingabetensors 10 sein können. Die Größen von Y1 und X1 können beispielsweise von einem Padding oder Stride abhängen, wobei ein Padding ein Ergänzen von Zahlen (z.B. nullen) am Eingangstensor für die Faltungsberechnungen beschreibt und wobei ein Stride ein Springen / eine Schrittweite in der Faltungsberechnung beschreibt.
  • Die Filterkernel 15A bis 15M haben jeweils die Dimension K×K×N. Die hier beschriebenen Ausführungen können auch dahingehend verallgemeinert werden, dass die Filterkernel die Dimension K1×K2×N haben und K1 und K2 gleich oder unterschiedlich sein können. Zudem können prinzipiell die Filterkernel 15A bis 15M verschiedene Werte für K bzw. K1 und K2 haben.
  • Wie eingangs zu 2 beschrieben wurde, wurde in Vorarbeiten zur Erfindung erkannt, dass die verschiedenen KxKx1- Filtermatrizen eines herkömmlichen Filterkernels eine hohe Korrelation zueinander haben. Diese Erkenntnis kann genutzt werden, um die Anzahl zu lernender Parameter eines Filterkernels zu verringern, ohne die Menge an Informationen, die durch den Filterkernel aus dem Eingangstensor extrahiert wird, bedeutsam zu reduzieren. Dadurch kann auch die Robustheit des Filters bei Verwendung des neuronalen Netzes in einem Maschinenlernalgorithmus verbessert werden.
  • 4 illustriert die KxKxN Einträge / Elemente des Filterkernels 15A sowie die entsprechenden Einträge des Filterkernels 15M aus 3. Eine Filtermatrix oder Filterlage 15A1 des Filterkernels 15A wird aus Lernparametern L1-L9 gebildet. Werte für die Lernparameter L1-L9 werden in einem Trainingsschritt des Maschinenlernalgorithmus an Hand von Trainingsdaten gelernt. Die übrigen Filtermatrizen 15A2 bis 15AN stellen abhängige Filtermatrizen dar, welche aus impliziten Parametern P1-P9, P1'-P9', ..., P1"-P9" gebildet sind. Diese impliziten Parameter werden nicht als frei bestimmbare Werte durch einen Trainingsschritt des Maschinenlernalgorithmus gelernt. Vielmehr werden sie mit Hilfe der Lernparameter L1-L9 vorgegeben, indem diese mit Gewichten W = (W1,2, W1,3, ..., W1,N) verrechnet werden. Konkret werden in diesem Beispiel die Gewichte W mit der Filtermatrix 15A multipliziert, um so die abhängigen Filtermatrizen 15A2 bis 15AN zu bilden. Die Einträge der abhängigen Filtermatrix 15A2 sind demnach definiert als: P1=L1*W1,2, P2=L2*W1,2, ..., P9=L9*W1,2.
  • Jeder der Filterkernel 15A-15M kann somit dargestellt werden als: F y , x , n = W n G y , x
    Figure DE102019130930A1_0001
    wobei Fy,x,n einen der Filterkernel bezeichnet, WN die Gewichte für diesen Filterkernel angibt und Gy,x die Filtermatrix mit Lernparametern dieses Filterkernels angibt. Die Indizes x und y können hierbei von 1 bis K laufen, während n von 1 bis N läuft.
  • Die Gewichte W werden dabei in einem Trainingsschritt des Maschinenlernalgorithmus gelernt. Die Anzahl an Parametern, für welche Werte in einem Trainingsschritt zu lernen sind, betragen für den Filterkernel 15A somit bloß K*K+N, was erheblich unter der Anzahl seiner Elemente, d.h. K*K*N, liegt. Die obigen Beschreibungen können sinngemäß auch für die übrigen Filterkernel gelten, insbesondere für den in 4 dargestellten Filterkernel 15M mit den Lernparametern L11-L19 und den impliziten Parametern P11-P19, P11'-P19', ..., P11 „-P19“, welche über die Gewichte WM,2, WM,3, ..., WM,N definiert sind. Die erste Spalte an Gewichten (W1,1, ..., WM,1) kann auch entfallen oder auf einen konstanten Wert gesetzt werden, womit die Anzahl an zu lernenden Parametern pro Filterkernel nicht K*K+N sondern K*K+N-1 beträgt.
  • Welche der Lagen der Filterkernel 15A ... 15M eine Filtermatrix mit Lernparametern L1-L9 ist, kann prinzipiell beliebig gewählt sein, und es muss sich hierbei nicht um die erste Lage des Filterkernels handeln.
  • Klarstellend sei erwähnt, dass im Stand der Technik der Begriff „Gewichte“ in Bezug auf Filterkernel häufig für die Lernparameter L1-L9 verwendet wird. Die Gewichte sind beim Stand der Technik daher direkt die Einträge eines Filterkernels, womit die Anzahl solcher Gewichte beim Stand der Technik meist gleich der Anzahl der Elemente des Filterkernels ist, also K*K*N. Hingegen bilden die Gewichte W bei der Erfindung nicht die Einträge des Filterkernels 15A, sondern werden mit der Faltungsmatrix 15A1, die die Lernparameter L1-L9 enthält, verrechnet, um Einträge im Filterkernel 15A zu bilden.
  • Indem die Gewichte W zusammen mit einer Filtermatrix mit Lernparametern verwendet wird, kann der Filterkernel 15A aus 4 dem Filterkernel aus 2 ähneln, wobei aber die Anzahl voneinander unabhängiger Parameter des Filterkernels wesentlich verringert ist. Die übrigen Filterkernel der Faltungsschicht 100 können gleich wie der Filterkernel 15A gebildet sein. Somit kann für jeden der Filterkernel 15A-15M jeweils ein Vektor mit Gewichten vorliegen bzw. zusammengefasst eine Gewichtsmatrix W. Beispiele von Gewichtsmatrizen sind in den 5 bis 9 gezeigt.
  • 5 zeigt eine Gewichtsmatrix W mit den Dimensionen MxN. Die N-Einträge einer Zeile bilden somit die Gewichte für einen der Filterkernel 15A-15M, wobei die Gewichtsmatrix insgesamt M Zeilen hat, entsprechend der Anzahl an Filterkerneln 15A-15M. Im Beispiel von 5 sind alle Einträge der Gewichtsmatrix W frei lernbare Parameter. Die Filterkernel 15A-15M sind somit unabhängig voneinander. Die Anzahl zu lernender Gewichte für die Filterschicht 100 beträgt somit N*M, beziehungsweise (N-1)*M, wenn die Gewichte für beispielsweise den Filterkernel 15A, wie in 4 gezeigt, von W1,2 bis W1,N laufen. Die Gesamtanzahl zu lernender Parameter der Faltungsschicht 100 umfasst in diesem Beispiel die genannte Anzahl zu lernender Gewichte plus die Anzahl an Lernparametern, welche hier K2*M betragen kann.
  • 6 zeigt ein Beispiel der Gewichtsmatrix W, wobei alle Gewichte auf denselben Wert festgelegt sind. Diese Konstante kann ein zu lernender Parameter oder eine fest vorgegebene Zahl sein. Dadurch lassen sich viele Operationen vereinfachen, beschleunigen, oder fallen sogar gänzlich weg. Resultat ist eine extreme Parameter- und Zeiteinsparung. Die Parameteranzahl ist je nach CNN-Architektur ca. um den Faktor 75 oder mehr verringert. Durch die starke Parameterreduzierung ist ein Modell mit dieser Faltungsschicht zwar nicht mehr so leistungsfähig wie das Ursprungsmodell oder ein Modell gemäß 5. Dies kann jedoch für weniger komplexe Aufgabenstellungen von Vorteil sein, da hierbei auch anhand sehr kleiner Datensätze (wie sie z.B. typisch im Mikroskopieumfeld sind) eine gute und meist bessere Generalisierbarkeit erreicht wird.
  • Zwischen den Extremen der 5 und 6 sind Abstufungen möglich, bei denen die Parameteranzahl kleiner als bei 5 und größer als bei 6 ist. Im Fall von 7 wird eine Gewichtsmatrix W verwendet, deren Einträge gemäß Wm,n = Vn spaltenweise konstant sind, das heißt alle Einträge derselben Spalte haben den gleichen Wert. Ein bestimmter Kanal des Eingangstensors 10 wird dadurch für alle Filterkernel 15A-15M gleich gewichtet. Dies entspricht einer filterunabhängigen Gewichtung des Eingangstensors und kann wiederum speicher- und zeiteffizient, insbesondere mit 1x1-Faltungen in CNNs implementiert werden.
  • In ähnlicher Weise wird bei 8 eine Gewichtsmatrix W verwendet, deren Einträge Wm,n = Vm sind, das heißt alle Einträge in einer Zeile von W haben denselben zu lernenden Wert. Dies bedeutet, dass alle Kanäle des Eingangstensors 10 für einen der Filterkernel gleich gewichtet werden. Effektiv führt dies also zu einer Gewichtung der Kanäle im Ausgabetensor. Dies lässt sich wiederum sehr effizient in einem CNN umsetzen, womit neben der Parameterersparnis auch ein deutlicher Geschwindigkeitsvorteil erreicht werden kann.
  • Die Gewichtsmatrix oder der Gewichtsblock W kann auch durch eine Niedrigrang-Approximation (englisch: „low rank approximation“) dargestellt werden, im Beispiel von 9 durch ein Matrixprodukt W = AB, wobei W eine M×N-Matrix ist, A eine M×M'-Matrix ist und B eine M'×N-Matrix ist. Die Einträge der Matrizen A und B sind in einem Trainingsschritt zu lernende Gewichte / Gewichtsparameter. Die Einträge der Gewichtsmatrix W sind somit Linearkombinationen der Gewichtsparameter der Matrizen A und B. Motiviert ist diese Gestaltung der Gewichtsmatrix W durch die Beobachtung, dass im Fall einer Gewichtsmatrix W wie aus 5 die gelernten Gewichte stark über verschiedene Filterkernel hinweg korrelieren. M' ist kleiner als N, beispielsweise kleiner als 0,2*N oder kleiner als 0,1*N. Zudem kann M'<0,5M festgelegt werden, um die Parameteranzahl gegenüber der Gewichtsmatrix aus 5 zu reduzieren. In der Praxis wird für CNNs mit der Gewichtsmatrix aus 9 und einem Wert von M'=0,1M noch eine Leistungsfähigkeit erwartet, die zur Gewichtsmatrix aus 5 vergleichbar ist, wobei aber gegenüber der Gewichtsmatrix aus 5 eine Parameterreduzierung um etwa den Faktor 5 erzielt wird. Im Vergleich zu Standard-Faltungsschichten entspricht dies einer Parameterreduzierung um etwa den Faktor 50.
  • Um den Lernprozess im niedrigdimensionalen Raum zu regularisieren, können die Zeilen der Matrix B orthonormiert sein. Dies kann mit einer Regularisierungs-Verlustfunktion (Loss Function) L erreicht werden, L = || BBT - I ||F. Hierbei ist BT die transponierte Matrix von B, I ist die Einheitsmatrix und || ·||F die Frobenius-Norm. Die Regularisierungs-Verlustfunktion wird mit in die Optimierung des CNN-Trainings aufgenommen. Damit wird im Training eine Art Hauptkomponenten-Zerlegung (englisch: Principal Component Analysis, PCA) der Gewichtsmatrix W gelernt.
  • In Abwandlungen der Gewichtsmatrix aus 9 werden die Gewichte der Gewichtsmatrix W, wie bei 9, durch eine Kombination/Linearkombination aus Gewichtsparametern beschrieben. Hierbei sind die Gewichtsparameter in einem Trainingsschritt zu lernen. Im Unterschied zu 9 müssen die Einträge der Gewichtsmatrix W aber nicht als Matrixprodukt aus zwei Matrizen A und B darstellbar sein, sondern können in prinzipiell beliebiger anderer Weise verknüpft sein.
  • In 10 ist für verschiedene beispielhafte Gewichtsmatrizen W zusammengestellt, wie hoch die Anzahl zu lernender Parameter ist und wie stark die Parameterreduzierung gegenüber einer herkömmlichen Faltungsschicht (Standard CNN) ist, bei welcher die Anzahl K2*M*N beträgt. Der Faktor der Parameterreduzierung ist für den in der Praxis häufigen Fall geschätzt, dass K=3 und N>>K2 gilt.
  • Die Beispiele von Gewichtsmatrizen W der 5 bis 9 dienen dem leichteren Verständnis, wobei klar ist, das auch Abwandlungen hiervon möglich sind. Allgemeiner ausgedrückt können die Filterkernel definiert werden durch: pro Filterkernel genau eine jeweilige Filtermatrix mit Lernparametern oder auch jeweils mehrere Filtermatrizen mit Lernparametern; und einen Gewichtsblock / eine Gewichtsmatrix W mit den zu lernenden Gewichten. Die Anzahl der zu lernenden Gewichte kann insbesondere kleiner oder gleich der Gesamtanzahl abhängiger Filtermatrizen aller Filterkernel sein.
  • Ist die Größe (Anzahl an Einträgen) der Gewichtsmatrix W größer als die Anzahl zu lernender Gewichte, soll dies so verstanden werden, dass übrige Einträge der Gewichtsmatrizen durch Konstanten und/oder durch eine Abhängigkeit von einem oder mehreren der zu lernenden Gewichte definiert sind.
  • Werden zwei oder mehr Filterschichten verwendet, können sich diese auch Gewichte teilen. Das heißt, zumindest einige der oben beschriebenen Gewichte werden auch in einer oder mehreren anderen Filterschichten verwendet. Mit Bezug auf 9 können insbesondere die Gewichte der Matrix B für mehrere Filterschichten verwendet werden, während diese Filterschichten voneinander verschiedene/unabhängige Matrizen A umfassen.
  • Ausführungsbeispiel eines Mikroskops
  • 11 zeigt schematisch ein Ausführungsbeispiel eines Mikroskops 50 gemäß der Erfindung. Das Mikroskop 50 umfasst eine Lichtquelle 59 und einen Kondensor 60 zum Beleuchten einer Probe 58, die auf einem Probentisch 53 positioniert wird. Von der Probe 58 ausgehendes Detektionslicht wird entlang einer optischen Achse 52 mit einem Objektiv 51 zu einer Kamera 56 geleitet, zum Aufnehmen eines Probenbildes. Über ein Mikroskopstativ 54 kann optional auch eine Übersichtskamera 57 gehalten sein, mit welcher ein Übersichtsbild der Probe 58 aufgenommen werden kann. Eine Recheneinrichtung 55 ist dazu eingerichtet, ein aufgenommenes Mikroskopbild (das heißt ein Probenbild oder Übersichtsbild) zu verarbeiten und hieraus einen Eingangstensor zu bilden, welcher wie oben beschrieben in einem neuronalen Netz eines Maschinenlernalgorithmus verrechnet wird. Die Recheneinrichtung 55 ist dabei dazu eingerichtet, die in Bezug auf die 3 bis 10 beschriebenen Schritte durchzuführen. Der Maschinenlernalgorithmus kann insbesondere darauf trainiert sein, eine Klassifikation des Mikroskopbildes durchzuführen, wobei mögliche Klassen beispielsweise eine oder mehrere umfassen können aus: Probe, Hintergrund, Deckglas, Probengefäß, Deckglasrand, Probengefäßrand, Probenträgerbeschriftung. Alternativ oder zusätzlich kann der Maschinenlernalgorithmus darauf trainiert sein, eine Segmentierung oder Detektion durchzuführen, in welcher beispielsweise das Mikroskopbild in verschiedene Bereiche segmentiert wird und/oder bestimmte Objekte im Bild identifiziert und lokalisiert werden, beispielsweise Probenbereiche, Schatten oder Lichtreflexe. Auch kann der Maschinenlernalgorithmus für eine Bild-zu-Bild-Abbildung trainiert sein, in welcher das Ergebnis ein Ausgabebild ist.
  • Die Recheneinrichtung 55 kann auch in einem anderen Mikroskop verwendet werden, welches im Unterschied zum dargestellten Mikroskop beispielsweise nach einem anderen Messprinzip arbeitet oder ein Scan- oder Elektronenmikroskop ist. Auch in anderen Geräten als Mikroskopen kann zur Bildanalyse eine wie hier beschriebene Recheneinrichtung vorgesehen sein.
  • Mit Hilfe des beschriebenen neuronalen Netzes können in Maschinenlernanwendungen robuste Ergebnisse, die gegenüber Variationen der Eingabedaten sehr stabil sind, erzielt werden, wobei der benötige Rechenaufwand vorteilhafterweise verhältnismäßig gering ist. Dedizierte Hardware ist hierbei nicht erforderlich. Die Generalisierbarkeit eines auf diesem neuronalen Netz basierenden Maschinenlernalgorithmus ist hoch, das heißt, auch bei im Training nicht beobachteten Daten funktioniert der Algorithmus zuverlässig und ist datensparsam. Zudem ist mit den beschriebenen Filterkerneln ein Trainieren eines Maschinenlernalgorithmus „from scratch“ gut möglich, das heißt ein Trainieren ohne Vortraining an Referenzdaten. Aufgrund der speziellen hier beschriebenen Weise der Parameterreduzierung kann die Leistungsfähigkeit des Maschinenlernalgorithmus unter Umständen sogar erhöht sein.
  • Bezugszeichenliste
  • 10, 10'
    Eingangstensor
    12A-12M
    Filterkernel des Stands der Technik
    12M1-12MN
    Filtermatrizen des Filterkernels 12M
    15A-15M
    Filterkernel
    15A1-15AN
    Filtermatrizen des Filterkernels 15A
    15M1-15MN
    Filtermatrizen des Filterkernels 15M
    20, 20'
    Ausgabetensor
    50
    Mikroskop
    51
    Objektiv
    52
    optische Achse des Objektivs 51
    53
    Probentisch
    54
    Mikroskopstativ
    55
    Recheneinrichtung
    56
    Kamera
    57
    Übersichtskamera
    58
    Probe
    59
    Lichtquelle
    60
    Kondensor
    100
    Faltungsschicht
    100'
    Faltungsschicht des Stands der Technik
    A
    Matrix zur Bestimmung der Einträge der Gewichtsmatrix W
    B
    Matrix zur Bestimmung der Einträge der Gewichtsmatrix W
    K
    Höhe und Breite der Filterkernel
    M
    Tiefe des Ausgabetensors; Anzahl der Filterkernel, Zeilenanzahl/Höhe der Gewichtsmatrix W
    M'
    Spaltenanzahl der Matrix A; Zeilenanzahl der Matrix B
    N
    Tiefe des Eingangstensors und der Filterkernel, Spaltenanzahl/Breite der Gewichtsmatrix W
    L1-L9, L10-L19
    Lernparameter
    P1-P9, P1`-P9`, P1"-P9", P11-P19, P11-P19', P11"-P19"
    implizite Parameter
    X
    Breite/Spaltenanzahl des Eingangstensors
    Y
    Höhe/Zeilenanzahl des Eingangstensors
    Vn
    Zeile der Gewichtsmatrix W bzw. Vektor mit Gewichten
    Vm
    Spalte der Gewichtsmatrix W bzw. Vektor mit Gewichten
    W
    Gewichte, Gewichtsmatrix
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102017113733 A1 [0012]
  • Zitierte Nicht-Patentliteratur
    • KRIZHEVSKY, Alex; SUTSKEVER, Ilya; HINTON, Geoffrey E. Imagenet classification with deep convolutional neural networks. In: Advances in neural information processing systems. 2012. S. 1097-1105 [0014]
    • CHOLLET, Frangois. Xception: Deep learning with depthwise separable convolutions. In: Proceedings of the IEEE conference on computer vision and pattern recognition. 2017. S. 1251-1258 [0014]
    • IANDOLA, Forrest N., et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and< 0.5 MB model size. arXiv preprint arXiv:1602.07360, 2016 [0014]
    • HOWARD, Andrew G., et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861, 2017 [0014]
    • TAN, Mingxing; LE, Quoc V. EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks. arXiv preprint arXiv:1905.11946, 2019 [0014]
    • RASTEGARI, Mohammad, et al. Xnor-net: Imagenet classification using binary convolutional neural networks. In: European Conference on Computer Vision. Springer, Cham, 2016. S. 525-542 [0014]
    • IOFFE, Sergey; SZEGEDY, Christian. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv: 1502.03167, 2015 [0014]
    • ZOPH, Barret, et al. Learning transferable architectures for scalable image recognition. In: Proceedings of the IEEE conference on computer vision and pattern recognition. 2018. S. 8697-8710 [0014]
    • TAN, Mingxing, et al. Mnasnet: Platform-aware neural architecture search for mobile. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019. S. 2820-2828 [0014]

Claims (15)

  1. Verfahren, umfassend: Ausführen eines faltenden neuronalen Netzes, wobei aus einem Eingangstensor (10) mit Hilfe einer ersten Faltungsschicht (100) ein Ausgabetensor (20) berechnet wird, wobei die erste Faltungsschicht (100) einen oder mehrere Filterkernel (15A-15M) umfasst, dadurch gekennzeichnet, dass mindestens einer der Filterkernel (15A-15M) darstellbar ist durch: - zumindest eine Filtermatrix (15A1-15M1) mit Lernparametern (L1-L9, L11-L19) und - abhängige Filtermatrizen (15A2-15AN, 15M2-15MN) mit impliziten Parametern, welche mittels der Lernparameter (L1-L9, L11-L19) und eines oder mehrerer zu lernender Gewichte (W) bestimmt sind.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine der abhängigen Filtermatrizen (15A2-15AN, 15M2-15MN) einer der Filterkernel (15A-15M) durch Multiplikation eines der zu lernenden Gewichte (W) mit der Filtermatrix (15A1-15M1) mit Lernparametern (L1-L9, L11-L19) desselben Filterkernels (15A-15M) gebildet ist.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass eine Anzahl zu lernender Gewichte (W) aller Filterkernel (15A-15M) plus eine Anzahl aller Lernparameter (L1-L9, L11-L19) kleiner ist als eine Gesamtzahl an Elementen aller Filterkernel (15A-15M).
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass jeder Filterkernel (15A-15M) nur eine einzige Filtermatrix (15A1-15M1) mit Lernparametern (L1-L9, L11-L19) umfasst und im Übrigen ausschließlich abhängige Filtermatrizen (15A2-15AN, 15M2-15MN) umfasst, die durch jeweils ein zu lernendes Gewicht (W) und die Filtermatrix (15A1-15M1) mit Lernparametern (L1-L9, L11-L19) definiert sind.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass für alle abhängigen Filtermatrizen (15A2-15AN, 15M2-15MN) von einem der Filterkernel (15A-15M) dasselbe zu lernende Gewicht (W, vm) verwendet wird.
  6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass sich die Filterkernel (15A-15M) in ihrer jeweiligen Filtermatrix (15A1-15M1) mit Lernparametern (L1-L9, L11-L19) unterscheiden.
  7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass dasselbe zu lernende Gewicht (vn) für je eine abhängige Filtermatrix (15A2-15M2) mehrerer Filterkernel (15A-15M) verwendet wird.
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die Filterkernel (15A-15M) definiert werden durch: - pro Filterkernel (15A-15M) eine jeweilige Filtermatrix (15A1-15M1) mit Lernparametern (L1-L9, L11-L19) und - einen Gewichtsblock mit den zu lernenden Gewichten (W), wobei die Anzahl zu lernender Gewichte (W) kleiner oder gleich der Gesamtanzahl abhängiger Filtermatrizen (15A2-15AN, 15M2-15MN) aller Filterkernel (15A-15M) ist.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass der Gewichtsblock als Matrix der Dimension MxN darstellbar ist, welche gebildet ist als Matrixprodukt aus zwei Matrizen (A, B) mit Dimensionen M×M und M'×N, wobei diese zwei Matrizen (A, B) aus den zu lernenden Gewichten bestehen.
  10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass zumindest einer der Filterkernel (15A-15M) zwei oder mehr Filtermatrizen (15A1-15M1) mit Lernparametern (L1-L9, L11-L19) umfasst und die abhängigen Filtermatrizen (15A2-15AN, 15M2-15MN) dieses Filterkernels (15A-15M) durch eine mit den Gewichten (W) verknüpfte Kombination der Filtermatrizen (15A1-15M1) mit Lernparametern (L1-L9, L11-L19) gebildet sind.
  11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass jeder Filterkernel (15A-15M) durch einen mit dem Eingangstensor (10) zu faltenden Körper gebildet ist, wobei der Körper durch die zumindest eine Filtermatrix (15A1-15M1) mit Lernparametern (L1-L9, L11-L19) und die zu lernenden Gewichte (W) gebildet ist.
  12. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass einer der Filterkernel (15A-15M) einen Lernparameter-Körper und einen Gewichte-Körper umfasst, welche nacheinander mit dem Eingangstensor (10) gefaltet werden, um eine Lage des Ausgangstensors (20) zu berechnen, wobei der Lernparameter-Körper durch die zumindest eine Filtermatrix (15A1-15M1) mit Lernparametern (L1-L9, L11 -L19) gebildet ist, und wobei der Gewichte-Körper durch die zu lernenden Gewichte (W) gebildet wird.
  13. Verfahren nach einem der Ansprüche 1 bis 12, wobei aus dem Ausgabetensor (20) der ersten Faltungsschicht (100) ein zweiter Eingangstensor für eine zweite Faltungsschicht gebildet wird, wobei die zweite Faltungsschicht zweite Filterkernel umfasst, mit denen aus dem zweiten Eingangstensor ein zweiter Ausgabetensor berechnet wird, dadurch gekennzeichnet, dass zumindest einige der zu lernenden Gewichte (W) der Filterkernel (15A-15M) der ersten Faltungsschicht (100) gleichzeitig auch als Gewichte zur Bestimmung von abhängigen Filtermatrizen der zweiten Filterkernel der zweiten Faltungsschicht verwendet werden.
  14. Maschinenlesbares Speichermedium mit darauf gespeichertem Programmcode, der dazu eingerichtet ist, bei Ausführung durch eine Recheneinrichtung (55) das Durchführen des Verfahrens nach einem der Ansprüche 1 bis 13 zu veranlassen.
  15. Mikroskop zum Untersuchen einer Probe (58), umfassend eine Lichtquelle (59) zum Beleuchten der Probe (58), ein Objektiv (51) zum Weiterleiten von Detektionslicht von der Probe (58), eine Kamera (56) zum Aufnehmen eines Mikroskopbildes mit Hilfe des Detektionslichts, das vom Objektiv (51) kommt, und eine Recheneinrichtung (55), welche eingerichtet ist zum Verarbeiten des Mikroskopbildes und Ausgeben eines Bildverarbeitungsergebnisses, dadurch gekennzeichnet, dass die Recheneinrichtung (55) dazu eingerichtet ist, aus dem Mikroskopbild einen Eingangstensor (10) zu berechnen und das Verfahren nach einem der Ansprüche 1 bis 13 durchzuführen.
DE102019130930.1A 2019-11-15 2019-11-15 Mikroskop und Verfahren mit Ausführen eines faltenden neuronalen Netzes Pending DE102019130930A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102019130930.1A DE102019130930A1 (de) 2019-11-15 2019-11-15 Mikroskop und Verfahren mit Ausführen eines faltenden neuronalen Netzes
US17/775,768 US20220382038A1 (en) 2019-11-15 2020-11-13 Microscope and Method with Implementation of a Convolutional Neural Network
PCT/EP2020/082160 WO2021094597A1 (de) 2019-11-15 2020-11-13 Mikroskop und verfahren mit ausführen eines faltenden neuronalen netzes
CN202080077686.8A CN114846382B (zh) 2019-11-15 2020-11-13 具有卷积神经网络实现的显微镜和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019130930.1A DE102019130930A1 (de) 2019-11-15 2019-11-15 Mikroskop und Verfahren mit Ausführen eines faltenden neuronalen Netzes

Publications (1)

Publication Number Publication Date
DE102019130930A1 true DE102019130930A1 (de) 2021-05-20

Family

ID=73455687

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019130930.1A Pending DE102019130930A1 (de) 2019-11-15 2019-11-15 Mikroskop und Verfahren mit Ausführen eines faltenden neuronalen Netzes

Country Status (4)

Country Link
US (1) US20220382038A1 (de)
CN (1) CN114846382B (de)
DE (1) DE102019130930A1 (de)
WO (1) WO2021094597A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113609909A (zh) * 2021-07-05 2021-11-05 深圳数联天下智能科技有限公司 苹果肌下垂识别模型训练方法、识别方法及相关装置
DE102021114350A1 (de) 2021-06-02 2022-12-08 Carl Zeiss Microscopy Gmbh Verfahren und Vorrichtung zur faltungsfreien Bildverarbeitung

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190333199A1 (en) * 2018-04-26 2019-10-31 The Regents Of The University Of California Systems and methods for deep learning microscopy

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11055063B2 (en) * 2016-05-02 2021-07-06 Marvell Asia Pte, Ltd. Systems and methods for deep learning processor
US10546211B2 (en) 2016-07-01 2020-01-28 Google Llc Convolutional neural network on programmable two dimensional image processor
IE87469B1 (en) * 2016-10-06 2024-01-03 Google Llc Image processing neural networks with separable convolutional layers
CA2948499C (en) * 2016-11-16 2020-04-21 The Governing Council Of The University Of Toronto System and method for classifying and segmenting microscopy images with deep multiple instance learning
JP2021509713A (ja) * 2017-12-29 2021-04-01 ライカ バイオシステムズ イメージング インコーポレイテッドLeica Biosystems Imaging, Inc. 腫瘍を識別するための畳み込みニューラルネットワークを用いた組織像の処理
CN108427958B (zh) * 2018-02-02 2021-06-01 哈尔滨工程大学 基于深度学习的自适应权值卷积神经网络水下声纳图像分类方法
CN109086773B (zh) * 2018-08-29 2022-03-04 电子科技大学 基于全卷积神经网络的断层面识别方法
CN110428475B (zh) * 2019-06-21 2021-02-05 腾讯科技(深圳)有限公司 一种医学图像的分类方法、模型训练方法和服务器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190333199A1 (en) * 2018-04-26 2019-10-31 The Regents Of The University Of California Systems and methods for deep learning microscopy

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GUO, Yunhui, et al.: Depthwise Convolution is All You Need for Learning Multiple Visual Domains. In: arXiv preprint arXiv:1902.00927, 19.02.2019, 1-9. https://arxiv.org/abs/1902.00927 [abgerufen am 30.10.2020] *
SIFRE, Laurent; MALLAT, Stéphane: Rigid-motion scattering for image classification. In: Ph.D. thesis, 2014, 108-119. http://www.cmapx.polytechnique.fr/%7Esifre/research/phd_sifre.pdf [abgerufen am 30.10.2020] *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021114350A1 (de) 2021-06-02 2022-12-08 Carl Zeiss Microscopy Gmbh Verfahren und Vorrichtung zur faltungsfreien Bildverarbeitung
CN113609909A (zh) * 2021-07-05 2021-11-05 深圳数联天下智能科技有限公司 苹果肌下垂识别模型训练方法、识别方法及相关装置
CN113609909B (zh) * 2021-07-05 2024-05-31 深圳数联天下智能科技有限公司 苹果肌下垂识别模型训练方法、识别方法及相关装置

Also Published As

Publication number Publication date
US20220382038A1 (en) 2022-12-01
CN114846382A (zh) 2022-08-02
CN114846382B (zh) 2024-05-28
WO2021094597A1 (de) 2021-05-20

Similar Documents

Publication Publication Date Title
DE102018219867B4 (de) Lernender Autofokus
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
DE112017005651T5 (de) Vorrichtung zur Klassifizierung von Daten
DE602004008471T2 (de) Verfahren und anordnung zur bestimmung einer objektkontur
DE102018104616A1 (de) Verfahren zum Aufteilen eines oder mehrerer Bilder einer Probe in nach Farbstoffen aufgeteilte Bilddaten, Computerprogrammprodukt, computerlesbares Medium, auf dem das Computerprogrammprodukt gespeichert ist, und System zum Aufteilen eines oder mehrerer Bilder einer Probe in nach Farbstoffen aufgeteilte Bilddaten
WO2021094597A1 (de) Mikroskop und verfahren mit ausführen eines faltenden neuronalen netzes
WO2005122092A1 (de) Verfahren und vorrichtung zur segmentierung einer digitalen abbildung von zellen
DE4211904A1 (de) Verfahren und vorrichtung zum erstellen einer artenliste fuer eine fluessige probe
DE102007040070A1 (de) Bilddichteumwandlungsverfahren, Bildverbesserungsverarbeitungseinrichtung und dafür geeignetes Programm
EP2064672A2 (de) Verfahren und vorrichtung zur bildverarbeitung
EP1154369A2 (de) Verfahren zur zyklischen, interaktiven Bildanalyse sowie Computersystem und Computerprogramm zur Ausführung des Verfahrens
DE102018200534A1 (de) Verfahren zum Betreiben eines künstlichen neuronalen Netzes
DE102021114350A1 (de) Verfahren und Vorrichtung zur faltungsfreien Bildverarbeitung
DE112022001991T5 (de) Tumorzelen-isolinien
DE102013224382A1 (de) Beschleunigte Objekterkennung in einem Bild
EP2642749B1 (de) Vorrichtung und Verfahren zur Optimierung der Bestimmung von Aufnahmebereichen
DE112020006088T5 (de) Computerimplementiertes verfahren zum umwandeln eines eingangsbildes in ein ausgangsbild basierend auf einem referenzbild
DE102020116013A1 (de) Verfahren zum Bereitstellen eines komprimierten künstlichen neuronalen Netzes mittels eines Autoencoders
DE102020208765A1 (de) Bildklassifikator mit variablen rezeptiven Feldern in Faltungsschichten
DE102020207613A1 (de) Verfahren zur Bewertung einer Schnittkante eines Körpers
DE102010018142A1 (de) Verfahren zur Aufnahme eines Bildes
DE202021103700U1 (de) Vorrichtung zum Erzeugen eines künstlichen neuronalen Netzes
DE112020007372T5 (de) Verfahren und Einrichtung für ein auf gemeinsam genutzten Gewichten basierendes neuronales Netzwerk mit stochastischen Architekturen
DE102022206025A1 (de) Populationsklassifikation mittels Punktwolken-Merkmalen
DE202022104608U1 (de) Bildanalysemodell, das eine ganzzahlige Kopplungsschicht umfasst

Legal Events

Date Code Title Description
R163 Identified publications notified