{"id":135476,"date":"2023-05-17T10:28:38","date_gmt":"2023-05-17T09:28:38","guid":{"rendered":"https:\/\/multi.liora.io\/?p=135476"},"modified":"2026-06-23T14:28:14","modified_gmt":"2026-06-23T12:28:14","slug":"convolutional-neural-network","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/convolutional-neural-network","title":{"rendered":"Convolutional Neural Network (CNN): Alles, was Du wissen solltest"},"content":{"rendered":"<h2>In diesem Artikel konzentrieren wir uns auf einen der leistungsst\u00e4rksten Algorithmen des Deep Learnings, das Convolutional Neural Network (CNN). Dabei handelt es sich um leistungsstarke Programmiermodelle, die eine Bilderkennung erm\u00f6glichen, indem sie jedem eingegebenen Bild automatisch eine seiner Klasse entsprechende Bezeichnung zuweisen.<\/h2>\n<p>Willkommen zur dritten Folge unseres Themas Deep Learning. Nachdem wir im ersten Teil Deep Learning und seine Anwendungen vorgestellt haben, haben wir uns im zweiten Teil mit der Struktur und Funktionsweise neuronaler Netze besch\u00e4ftigt.<\/p>\n<p>Los geht&#8217;s!&nbsp;<\/p>\n<p><strong>Inhaltsverzeichnis<\/strong><\/p>\n<ol>\n<li><a href=\"#architecturecnn\">CNN-Architektur<\/a><\/li>\n<li><a href=\"#partieconvolutive\">Convolutional Layer<\/a><\/li>\n<li><a href=\"#maxpooling\">Pooling Layer<\/a><\/li>\n<li><a href=\"#miseenapplicationcnn\">Implementierung eines CNN<\/a><\/li>\n<\/ol>\n<figure>\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/liora.io\/catalog\/module\/151-introduction-au-deeplearning-avec-le-framework-keras\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-1.png\" alt=\"modele cnn\" loading=\"lazy\" width=\"370\" height=\"264\">\t\t\t\t\t\t\t\t<\/a><figcaption>Erkennung eines Weihnachtsmanns durch ein CNN-Modell<\/figcaption><\/figure>\n<h3>CNN-Architektur<\/h3>\n<p>CNNs sind eine Unterkategorie der <a href=\"https:\/\/liora.io\/de\/neuronale-netze-einfach-erklaert\">neuronalen Netze<\/a> und geh\u00f6ren derzeit zu den <b>leistungsf\u00e4higsten Modellen f\u00fcr die Bildklassifizierung<\/b>.<\/p>\n<p>Ihre Funktionsweise ist auf den ersten Blick recht einfach: Benutzer geben ein <b>Bild in Form einer Pixelmatrix<\/b> ein.<\/p>\n<p>Diese hat 3 Dimensionen:<\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>Zwei Dimensionen<\/b> f\u00fcr ein Graustufenbild.<\/li>\n<li style=\"font-weight: 400\">Eine <b>dritte Dimension <\/b>um die Grundfarben (Rot, Gr\u00fcn, Blau) darzustellen.<\/li>\n<\/ul>\n<p>Im Gegensatz zu einem klassischen<b> MLP-Modell<\/b> (Multi Layers Perceptron), das nur eine Klassifizierungsschicht enth\u00e4lt, hat die Architektur des Convolutional Neural Network schon einen Convolutive Layer und besteht daher aus zwei verschiedenen Teilen:<\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>einem Konvolutionsteil<\/b>: Damit werden spezifische Merkmale eines jeden Bildes extrahiert, indem sie komprimiert werden&nbsp;um die urspr\u00fcngliche Gr\u00f6\u00dfe zu reduzieren. Das Eingangsbild wird durch eine Reihe von Filtern geleitet, wodurch neue Bilder entstehen, die Convolutional Layers genannt werden. Schlie\u00dflich werden die resultierenden Layers zu Matrizen definierter Gr\u00f6\u00dfe.<\/li>\n<li style=\"font-weight: 400\"><b>einem Klassifizierungsteil <\/b>: Die Matrizen definierter Gr\u00f6\u00dfe werden dann als Eingabe in eine zweite Schicht bereitgestellt, die aus vollst\u00e4ndig verkn\u00fcpften Schichten besteht, die Multi Layers Perceptron (MLP f\u00fcr Mehrlagige Perzeptronen) genannt werden. So werden Merkmale der Matrizen kombiniert, um das Bild zu klassifizieren.<\/li>\n<\/ul>\n<figure>\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/blog.octo.com\/classification-dimages-les-reseaux-de-neurones-convolutifs-en-toute-simplicite\/\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-2.png\" alt=\"convolutional neural network\" loading=\"lazy\" width=\"512\" height=\"125\">\t\t\t\t\t\t\t\t<\/a><figcaption>Darstellung der Architektur eines CNN <\/figcaption><\/figure>\n<p><a href=\"https:\/\/liora.io\/de\/weiterbildung-data-scientist\" role=\"button\"><br \/>\nMehr \u00fcber CNNs erfahren<br \/>\n<\/a><\/p>\n<h3>Convolutional Layer<\/h3>\n<h4>Wozu gibt es Convolutional Layers?<\/h4>\n<p>Die <b>Konvolution<\/b> (engl. <i>convolution<\/i>) ist eine einfache mathematische Operation, die in der Regel f\u00fcr die <b>Bildverarbeitung und -erkennung<\/b> verwendet wird. Durch Konvolutionen wird ein Bild wie folgt gefiltert:<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/www.natural-solutions.eu\/blog\/la-reconnaissance-dimage-avec-les-rseaux-de-neurones-convolutifs#:~:text=Qu'est%2Dce%20que%20la,%C3%A0%20la%20reconnaissance%20d'image.\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-3.png\" alt=\"neural network\" loading=\"lazy\" width=\"471\" height=\"302\">\t\t\t\t\t\t\t\t<\/a><figcaption>Darstellung des Verlaufs der Filterung bzw. des Filterfensters auf dem Bild.<\/figcaption><\/figure>\n<ol>\n<li style=\"font-weight: 400\">Zun\u00e4chst wird <b>die Gr\u00f6\u00dfe des Filterfensters<\/b>, das sich oben links befindet, <b>festgelegt<\/b>.<\/li>\n<li style=\"font-weight: 400\">Das Filterfenster das das Feature darstellt,<b> bewegt sich schrittweise von links nach rechts<\/b> um eine zuvor festgelegte Anzahl von Einheiten, bis es am Ende des Bildes angelangt ist.<\/li>\n<li style=\"font-weight: 400\">Bei jedem erreichten Bildausschnitt wird eine Konvolution berechnet, die eine <b>Merkmalskarte<\/b> (<b>Feature Map<\/b>) ergibt, um zu wissen, wo sich die Features im Bild befinden: Je h\u00f6her die Feature Map ist, desto pr\u00e4ziser \u00e4hnelt der gefilterte Bildausschnitt dem Feature.<\/li>\n<\/ol>\n<p><a href=\"https:\/\/liora.io\/de\/weiterbildung-data-scientist\" role=\"button\"><br \/>\nMehr \u00fcber Konvolution erfahren<br \/>\n<\/a><\/p>\n<h3>Beispiel f\u00fcr klassische Faltungsmatrizen<\/h3>\n<p>Im Conventional Layer eines Convolutional Neural Network durchl\u00e4uft das eingegebene Bild eine <b>Reihe von Faltungsmatrizen<\/b>. So gibt es beispielsweise h\u00e4ufig verwendete Faltungsmatrizen, mit denen sich relevantere Merkmale als Pixel extrahieren lassen, wie die Kantendetektion (Kantenfilter) oder die Erkennung von geometrischen Formen. Die Auswahl und Anwendung der Faltungsmatrizen erfolgt automatisch durch das Modell.<\/p>\n<p>Zu den bekanntesten <b>Faltungsmatrizen<\/b> geh\u00f6ren der <b>Mittelwertfilter<\/b> (berechnet f\u00fcr jedes Pixel den Mittelwert des Pixels mit seinen acht n\u00e4chsten Nachbarn) oder auch der <b>Gau\u00df-Filter<\/b>, um das Bildrauschen zu vermindern:<\/p>\n<p>Hier ein Beispiel f\u00fcr die Auswirkungen dieser beiden unterschiedlichen Filter auf ein Bild mit starkem Rauschen (z. B. ein Foto, das wenig belichtet wurde). Allerdings wird das Bildrauschen oft zusammen mit der Bildsch\u00e4rfe reduziert:<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-4.png\" alt=\"CNN Deep learning\" loading=\"lazy\" width=\"512\" height=\"306\"><figcaption>Effekt der Mittelwert- und Gau\u00dffilter &#8211; Liora.<\/figcaption><\/figure>\n<p>Wie man sehen kann, reduziert der Gau\u00dffilter im Gegensatz zum Mittelwertfilter das Rauschen, ohne dass die Sch\u00e4rfe dabei wesentlich verringert wird.<\/p>\n<p>Neben der Filterfunktion ist der<b> Convolutional<\/b> Layer<b> eines CNN <\/b>auch interessant, weil man die M\u00f6glichkeit hat,&nbsp;<b>einzigartige Merkmale zu extrahieren<\/b>: Die Bilder werden so komprimiert, dass ihre urspr\u00fcngliche Gr\u00f6\u00dfe durch Methoden der Unterabtastung wie Max-Pooling reduziert wird.<\/p>\n<h3>Methode der Unterabtastung: Max-Pooling<\/h3>\n<p>Max-Pooling ist ein Diskretisierungsprozess, das auf Beispiele basiert. Das Ziel? Die Unterabtastung der Eingabedarstellung (Bild, Hidden-Layer-Ausgabematrix, usw.) und die Reduzierung ihrer Dimension. Der Vorteil? Der Rechenaufwand wird durch die<b> Verringerung der Anzahl der zu erlernenden Parameter<\/b> reduziert und die <b>Invarianz durch kleine Translationen gesichert<\/b> (wenn eine kleine Translation das Maximum des abgetasteten Feldes nicht ver\u00e4ndert, bleibt das Maximum jedes Feldes gleich und somit auch die neu erstellte Matrix).<\/p>\n<p>Hier ein konkretes Beispiel f\u00fcr Max-Pooling: Stellen wir uns vor, wir haben eine 4\u00d74-Matrix, die unsere urspr\u00fcngliche Eingabe darstellt, und einen Filter eines Fensters der Gr\u00f6\u00dfe 2\u00d72, den wir auf unsere Eingabe anwenden. F\u00fcr jedes Feld, das der Filter abtastet, nimmt Max-Pooling das Maximum an. Dadurch entsteht gleichzeitig eine neue Ausgabematrix, in der jedes Element dem Maximum jedes abgetasteten Feldes entspricht.<\/p>\n<p>So der Prozess:<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/cs231n.github.io\/convolutional-networks\/\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-5.png\" alt=\"convolutional neural network\" loading=\"lazy\" width=\"512\" height=\"236\">\t\t\t\t\t\t\t\t<\/a><figcaption> Max-Polling-Prozess<\/figcaption><\/figure>\n<p>Das Filterfenster bewegt sich um zwei Pixel nach rechts (Stride\/Schritt = 2). Bei jedem Schritt wird den Operator arg max berechnet, der dem gr\u00f6\u00dften Wert der vier Pixelwerte entspricht.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/cs231n.github.io\/convolutional-networks\/\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-6.png\" alt=\"reseau de neurones convolutif\" loading=\"lazy\" width=\"512\" height=\"386\">\t\t\t\t\t\t\t\t<\/a><figcaption>Beispiel f\u00fcr einen Max-Pooling-Effekt.<\/figcaption><\/figure>\n<p>So der<b> Vorteil eines Convolutive Layer eines CNN<\/b>: Im Gegensatz zu einem klassischen MLP-Modell erh\u00e4lt man durch den Convolutive Layer eine <b>\u201eMerkmalskarte<\/b>&#8220; (<b>Feature Map) <\/b>oder <b>Faltungsmatrizen<\/b> (<b>Pixelmatrix rechts im Beispiel<\/b>), die <b>kleiner<\/b> sind als das Eingangsbild. Die Anzahl der <b>im Modell zu berechnenden Parameter<\/b> wird stark <b>reduziert<\/b>.<\/p>\n<p><a href=\"https:\/\/liora.io\/de\/weiterbildung-data-scientist\" role=\"button\"><br \/>\nMax-Pooling lernen<br \/>\n<\/a><\/p>\n<h3>Beispiel einer CNN-Architektur und ihr Ergebnis<\/h3>\n<p>Nach dem Convolutional Layer eines CNN folgt der Fully-connected Layer. Dies wird bei der Klassifizierung angewendet, die allen Modellen von neuronalen Netzen gemein ist. <a href=\"https:\/\/liora.io\/de\/deep-learning-oder-tiefes-lernen-was-ist-das-denn\" target=\"_blank\" rel=\"noopener\">Der Fully-connected Layer entspricht einem mehrlagigen Perzeptron-Modell (MLP)<\/a>.<\/p>\n<p>Seine Aufgabe: jedes Datenbeispiel nach Klassenzugeh\u00f6rigkeit zu sortieren.<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/www.natural-solutions.eu\/blog\/histoire-du-deep-learning#:~:text=Les%20perceptrons%20multicouches%3A%20MLP%20(1986)&amp;text=Les%20perceptrons%20multicouches%20ont%20pour,mieux%20cette%20base%20de%20donn%C3%A9es.\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-7.png\" alt=\"reseau de neurones\" loading=\"lazy\" width=\"445\" height=\"310\">\t\t\t\t\t\t\t\t<\/a><figcaption>Darstellung eines mehrlagigen Perzeptrons <\/figcaption><\/figure>\n<p>Ein Algorithmus wird von den Perzeptronen verwendet, um ihre Gewichte (oder Netzwerkkoeffizienten) zu aktualisieren, n\u00e4mlich der <b>Backpropagation-Algorithmus<\/b>, den wir sp\u00e4ter noch genauer betrachten werden.&nbsp;<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/dspace.univ-tlemcen.dz\/bitstream\/112\/12235\/1\/Classification-des-images-avec-les-reseaux-de-neurones.pdf\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-8.png\" alt=\"reseau de neurones\" loading=\"lazy\" width=\"512\" height=\"131\">\t\t\t\t\t\t\t\t<\/a><figcaption>Beispiel einer CNN-Architektur <\/figcaption><\/figure>\n<p>Allgemein ist die <b>Architektur eines Convolutional Neural Network<\/b> wesentlich die gleiche:<\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>Convolutional Layer<\/b> (CONV): Diese erste Schicht <b>analysiert die eingegebenen Bilder<\/b> analysieren und erkennt das <b>Vorhandensein einer Reihe von Merkmalen<\/b>. So erh\u00e4lt man eine Reihe von Feature Maps (siehe oben: Wozu gibt es Convolutional Layers denn?).<\/li>\n<li style=\"font-weight: 400\"><b>Pooling Layer <\/b>(POOL): Der Pooling Layer ist eine Operation, die normalerweise zwischen zwei Convolutional Layers angewandt wird. Sie erh\u00e4lt als Eingabe die Feature Maps, die als Ausgabe der Convolutional Layers gebildet werden. <b>Sie reduziert die Gr\u00f6\u00dfe der Bilder und erh\u00e4lt gleichzeitig ihre wesentlichsten Merkmale<\/b>. Zu den am h\u00e4ufigsten verwendeten Methoden geh\u00f6ren das bereits erw\u00e4hnte Max-Pooling und das Average Pooling, bei dem der Durchschnittswert des Filterfensters in jedem Schritt beibehalten wird.<\/li>\n<\/ul>\n<blockquote><p>Schlie\u00dflich erh\u00e4lt man am Ende dieses Pooling Layers die gleiche Anzahl von Feature Maps wie am Eingang, jedoch deutlich komprimiert.<\/p><\/blockquote>\n<ul>\n<li style=\"font-weight: 400\"><b>Die Aktivierungsfunktion ReLU (Rectified Linear Units)<\/b>: Dadurch werden <b>alle negativen Werte, die als Eingaben empfangen werden, durch Nullen ersetzt<\/b>. So bleibt das Modell nicht linear, sondern wird damit komplexer.<\/li>\n<\/ul>\n<figure>\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ml4a.github.io\/ml4a\/fr\/neural_networks\/\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-9.png\" alt=\"ReLU Rectified Linear Units\" loading=\"lazy\" width=\"274\" height=\"228\">\t\t\t\t\t\t\t\t<\/a><figcaption> Aktivierungsfunktion ReLU<\/figcaption><\/figure>\n<ul>\n<li style=\"font-weight: 400\"><b>Fully Connected (FC) Layer: <\/b>Diese Layer befinden sich am Ende der CNN-Architektur und sind <b>vollst\u00e4ndig mit allen Outputs verbunden <\/b>(daher der Begriff \u201efully-connected\u201d).<b><br \/>\n<\/b>Der Fully Connected Layer erh\u00e4lt einen Vektor als Eingabe und wendet nacheinander eine <b>Linearkombination<\/b> und dann eine <b>Aktivierungsfunktion<\/b> an, um das <b>Input-Bild<\/b> zu <b>klassifizieren<\/b> (siehe folgendes Schema). Schlie\u00dflich<b> ergibt sich ein Vektor der Gr\u00f6\u00dfe d, der der Anzahl der Klassen entspricht<\/b>, wobei jede Komponente die Wahrscheinlichkeit darstellt, dass das Input-Bild zu einer Klasse geh\u00f6rt.<\/li>\n<\/ul>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-10.png\" alt=\"couche fully connected\" loading=\"lazy\" width=\"512\" height=\"295\"><figcaption>Neuronales Netzwerk mit zwei hidden Layers<\/figcaption><\/figure>\n<p><a href=\"https:\/\/liora.io\/de\/weiterbildung-data-scientist\" role=\"button\"><br \/>\nLernen, CNN-Architektur zu erstellen<br \/>\n<\/a><\/p>\n<h3>Implementierung eines mit Python vorab trainierten CNN:<\/h3>\n<p>F\u00fcr praktische Anwendungen und angesichts der Komplexit\u00e4t, <b>leistungsf\u00e4hige<\/b> \u201ehandgemachte\u201d CNNs zu erstellen, werden wir vorab trainierte Netzwerke verwenden, die im Modul <a href=\"https:\/\/pytorch.org\/\">Torchvision<\/a> verf\u00fcgbar sind. Wir werden sehen, wie dieses in Python implementiert werden kann:<\/p>\n<h3>Anwendung eines CNN: Identifizierung beliebiger Bilder aus dem ImageNet-Dataset: zehn Millionen sortierte Bilder.<\/h3>\n<p>ImageNet ist eine Datenbank mit \u00fcber zehn Millionen sortierten Bildern, die von der gleichnamigen Organisation f\u00fcr Forschungsarbeiten im Bereich Computer Vision produziert wird.<\/p>\n<p>Hier ein Auszug aus diesem umfangreichen Dataset :<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/machinelearningmastery.com\/use-pre-trained-vgg-model-classify-objects-photographs\/\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-11.png\" alt=\"Extrait de la base de donn\u00e9es ImageNet\" loading=\"lazy\" width=\"442\" height=\"272\">\t\t\t\t\t\t\t\t<\/a><figcaption>Auszug aus der Datenbank ImageNet <\/figcaption><\/figure>\n<p><b>Vorbereitung:<\/b> Als Erstes importieren wir jede Bibliothek, die wir sp\u00e4ter brauchen werden.<\/p>\n<p><b>1. Schritt:<\/b> Trainieren des vortrainierten Modells VGG16<\/p>\n<p><b>2. Schritt: <\/b>Importieren der 3 Bilder, die sortiert werden sollen<\/p>\n<p><a href=\"https:\/\/www.amazon.fr\/Ballon-football-Taille-standard-blanc\/dp\/B018URJZPK\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-12.png\" alt=\"\" loading=\"lazy\" width=\"275\" height=\"183\">\t\t\t\t\t\t\t\t<\/a><br \/>\n<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Canis_lupus\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-13.png\" alt=\"\" loading=\"lazy\" width=\"290\" height=\"193\">\t\t\t\t\t\t\t\t<\/a><br \/>\n<a href=\"https:\/\/fr.wikipedia.org\/wiki\/General_Atomics_MQ-9_Reaper\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-14-150x150.png\" alt=\"\" loading=\"lazy\" width=\"150\" height=\"150\">\t\t\t\t\t\t\t\t<\/a><\/p>\n<p><b>3. Schritt: <\/b>Preprocessing der Bilder<\/p>\n<p><b>4. Schritt: <\/b>Vorhersage des Modells<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/cnn.png\" alt=\"prediction algorithme\" loading=\"lazy\" width=\"592\" height=\"60\"><figcaption>Darstellung der Vorhersage des Modells VGG16<\/figcaption><\/figure>\n<p>Man kann sich auch die f\u00fcnf Labels anzeigen lassen, die von dem Modell VGG16 als am wahrscheinlichsten eingestuft wurden:<\/p>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2020\/06\/CNN-15-.png\" alt=\"prediction algorithme\" loading=\"lazy\" width=\"226\" height=\"168\"><figcaption>die f\u00fcnf wahrscheinlichsten Labels vom Modell VGG16<\/figcaption><\/figure>\n<p>\u2192<b> VGG16 konnte also mit gro\u00dfer Sicherheit (95,6%) vorhersagen, dass es sich bei dem eingegebenen Bild nicht nur um einen Wolf handelte, sondern gab sogar die Rasse an, n\u00e4mlich hier die eines grauen Ostwolfs (timber wolf). Beeindruckend, nicht wahr?<\/b><\/p>\n<p>Das Funktionsprinzip eines CNN ist einfach zu verstehen, aber paradoxerweise bleibt die Implementierung eines solchen Verfahrens zur Klassifizierung von Bildern sehr komplex, da eine betr\u00e4chtliche Anzahl von Parametern definiert werden muss: Anzahl, Gr\u00f6\u00dfe, Verschiebung der Filter, Wahl der Pooling-Methode, Wahl der Anzahl der Layers, Anzahl der Neuronen pro Layer usw. Die meisten dieser Parameter sind jedoch nicht in der Lage, die Bilder zu klassifizieren.<\/p>\n<p>Daher bietet Python \u00fcber das Modul Torchvision die M\u00f6glichkeit, leistungsf\u00e4hige, vorab trainierte CNN-Modelle wie VGG16, Resnet101 usw. zu nutzen.<\/p>\n<p>In diesem Artikel haben wir die Funktionsweise und die Architektur von Convolutional Neural Networks beschrieben und uns dabei auf ihre Besonderheit, den Convolutive Layer, konzentriert.<\/p>\n<p>Nun m\u00fcssen wir noch diese Klassifizierung weiter verstehen: die R\u00fcckverbreitung des <b>Backpropagation<\/b>-Algorithmus. Keine Sorge, ein n\u00e4chster Artikel zu diesem Thema kommt bald!<\/p>\n<h3>Ist ein Convolutional Neural Network Machine Learning oder Deep Learning ?<\/h3>\n<p>Ein <strong>Convolutional Neural Network (CNN) geh\u00f6rt<\/strong> zur Familie der k\u00fcnstlichen neuronalen Netzwerke und wird in der Regel dem Bereich des Deep Learning zugeordnet.<\/p>\n<p><a href=\"https:\/\/liora.io\/de\/machine-learning-definition-funktionsweise-anwendungen\">Machine Learning<\/a> ist ein Oberbegriff, der sich mit Algorithmen und Techniken befasst, die es Computern erm\u00f6glichen, aus Daten zu lernen und Vorhersagen oder Entscheidungen zu treffen, ohne explizit programmiert zu werden. Es gibt verschiedene Ans\u00e4tze im Machine Learning, darunter \u00fcberwachtes Lernen, un\u00fcberwachtes Lernen und verst\u00e4rkendes Lernen.<\/p>\n<p><a href=\"https:\/\/liora.io\/de\/deep-learning-vs-machine-learning\">Deep Learning<\/a> ist eine spezifische Methode des Machine Learnings, die auf k\u00fcnstlichen neuronalen Netzwerken mit vielen Schichten (daher der Begriff &#8222;tief&#8220;) basiert.<\/p>\n<p>Diese Netzwerke k\u00f6nnen komplexe Muster und Zusammenh\u00e4nge in Daten erkennen und lernen, indem sie hierarchische Darstellungen der Daten erzeugen.<\/p>\n<p><strong>Convolutional Neural Networks<\/strong> sind eine spezielle Art von k\u00fcnstlichen neuronalen Netzwerken, die besonders gut f\u00fcr die Verarbeitung von Daten mit r\u00e4umlicher Struktur geeignet sind, wie zum Beispiel Bilder. <strong>CNNs verwenden Convolutional Layers, Pooling Layers und Fully Connected Layers,<\/strong> um Merkmale in den Daten zu extrahieren und Klassifizierungen oder Vorhersagen zu treffen.<\/p>\n<p>Insgesamt kann man sagen, dass Convolutional Neural Networks eine Technik des Deep Learning sind, das wiederum ein Teilbereich des Machine Learnings ist.<\/p>\n<p style=\"padding-left: 40px\"><strong>Artikel 1 :<\/strong> <a href=\"https:\/\/liora.io\/de\/deep-learning-oder-tiefes-lernen-was-ist-das-denn\">Einf\u00fchrung in das Deep Learning<\/a><\/p>\n<p style=\"padding-left: 40px\"><strong>Artikel 2 :<\/strong> <a href=\"https:\/\/liora.io\/de\/neuronale-netze-einfach-erklaert\">Neuronale Netze<\/a><\/p>\n<p style=\"padding-left: 40px\"><strong>Artikel 3 :<\/strong> <a href=\"https:\/\/liora.io\/de\/kuenstliche-intelligenz\">Alles rund um K\u00fcnstliche Intelligenz<\/a><\/p>\n<p>\t\t\t<a href=\"https:\/\/liora.io\/de\/blog-de\" role=\"button\"><br \/>\nWeiterlesen<br \/>\n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Artikel konzentrieren wir uns auf einen der leistungsst\u00e4rksten Algorithmen des Deep Learnings, das Convolutional Neural Network (CNN). Dabei handelt es sich um leistungsstarke Programmiermodelle, die eine Bilderkennung erm\u00f6glichen, indem sie jedem eingegebenen Bild automatisch eine seiner Klasse entsprechende Bezeichnung zuweisen. Willkommen zur dritten Folge unseres Themas Deep Learning. Nachdem wir im ersten Teil [&hellip;]<\/p>\n","protected":false},"author":45,"featured_media":23759,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2454],"class_list":["post-135476","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-science"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/135476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/45"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=135476"}],"version-history":[{"count":1,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/135476\/revisions"}],"predecessor-version":[{"id":216289,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/135476\/revisions\/216289"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/23759"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=135476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=135476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}