Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Convolutional Neural Networks (CNNs): Eine Einführung

Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Convolutional Neural Networks bieten eine besser skalierbare Möglichkeit zur Objekterkennung und Bildklassifizierung.

Es gibt viele Fortschritte in der Welt der Technologie. Künstliche Intelligenz u Maschinelles Lernen sind einige häufige, die Sie möglicherweise häufig hören.

Derzeit werden diese Technologien in fast allen Bereichen eingesetzt, von Marketing über E-Commerce bis hin zu Software-Entwicklung zu Banken, Finanzen und Medizin.

KI und ML sind riesige Felder, und es werden Anstrengungen unternommen, ihre Anwendungen zu erweitern, um viele Probleme der realen Welt zu lösen. Aus diesem Grund können Sie viele Zweige innerhalb dieser Technologien sehen; ML ist eine Teilmenge von KI selbst.

Convolutional Neural Networks sind einer der Zweige der KI, der heutzutage immer beliebter wird.

In diesem Artikel werde ich erörtern, was CNNs sind, wie sie funktionieren und wie nützlich sie in der modernen Welt sind.

Lass uns gleich tauchen!

What Is a Convolutional Neural Network?

Ein Convolutional Neural Network (ConvNet oder CNN) ist ein künstliches neuronales Netzwerk (ANN), das verwendet tiefe Lernen Algorithmen zum Analysieren von Bildern, Klassifizieren von Bildmaterial und Ausführen von Computer-Vision-Aufgaben.

Faltungs-Neuronales Netz

CNN nutzt Prinzipien der linearen Algebra, wie z. B. die Matrixmultiplikation, um Muster in einem Bild zu erkennen. Da diese Prozesse komplexe Berechnungen beinhalten, benötigen sie grafische Verarbeitungseinheiten (GPUs) zum Trainieren der Modelle.

Mit einfachen Worten, CNN verwendet Deep-Learning-Algorithmen, um Eingabedaten wie Bilder zu nehmen und verschiedenen Aspekten dieses Bildes Bedeutung in Form von Verzerrungen und lernbaren Gewichtungen zuzuweisen. Auf diese Weise kann CNN zwischen Bildern unterscheiden oder sie klassifizieren.

CNN’s: A Brief History

Da ein Convolutional Neural Network ein künstliches Neural Network ist, ist es wichtig, Neural Networks zu wiederholen.

In der Berechnung, a neuronale Netzwerk ist ein Teil des maschinellen Lernens (ML) unter Verwendung von Deep-Learning-Algorithmen. Es ist analog zu den Konnektivitätsmustern, denen Neuronen im menschlichen Gehirn folgen. Künstliche neuronale Netze lassen sich auch von der Anordnung des visuellen Kortex inspirieren.  

CNNs: Eine kurze Geschichte

Daher werden verschiedene Arten von neuronalen Netzen oder künstlichen neuronalen Netzen (KNN) für unterschiedliche Zwecke verwendet. Eines davon ist CNN, das für die Bilderkennung und -klassifizierung und mehr verwendet wird. Es wurde von einem Postdoktoranden eingeführt, Yann LeCun, in den 1980er Jahren.

Die frühe Version von CNN – LeNet, benannt nach LeCun, war in der Lage, handgeschriebene Ziffern zu erkennen. Dann wurde es in Bank- und Postdiensten zum Lesen von Ziffern auf Schecks und Postleitzahlen auf Umschlägen verwendet.

Dieser frühen Version fehlte jedoch die Skalierung; Daher wurden CNNs nicht viel in verwendet künstliche Intelligenz und Computervision. Außerdem waren erhebliche Rechenressourcen und Daten erforderlich, um bei größeren Bildern effizienter zu arbeiten. 

Darüber hinaus hat AlexNet im Jahr 2012 Deep Learning erneut aufgegriffen, das neuronale Netze verwendet, die aus mehreren Schichten bestehen. Um diese Zeit verbesserte sich die Technologie, und es standen große Datensätze und umfangreiche Computerressourcen zur Verfügung, um die Erstellung komplexer CNNs zu ermöglichen, die in der Lage sind, Computer-Vision-Aktivitäten effizient durchzuführen.

Layers in a CNN

Lassen Sie uns die verschiedenen Schichten in einem CNN verstehen. Die Erhöhung der Ebenen in einem CNN erhöht seine Komplexität und ermöglicht es ihm, mehr Aspekte oder Bereiche eines Bildes zu erkennen. Beginnend mit einem einfachen Merkmal ist es in der Lage, komplexe Merkmale wie die Form des Objekts und größere Elemente zu erkennen, bis es schließlich das Bild erkennen kann.

Faltungsschicht

Die erste Schicht eines CNN ist die Faltungsschicht. Es ist der Hauptbaustein von CNN, in dem die meisten Berechnungen stattfinden. Es benötigt weniger Komponenten wie Eingabedaten, eine Feature-Map und einen Filter.

Faltungsschicht

Ein CNN kann auch zusätzliche Faltungsschichten haben. Dies macht die CNN-Struktur hierarchisch, da die nachfolgenden Schichten Pixel innerhalb der rezeptiven Felder der vorherigen Schichten visualisieren können. Als nächstes wandeln die Faltungsschichten das gegebene Bild in numerische Werte um und ermöglichen es dem Netzwerk, wertvolle Muster zu verstehen und zu extrahieren.

Pooling von Schichten

Pooling-Layer werden verwendet, um Dimensionen zu reduzieren, und werden als Downsampling bezeichnet. Es reduziert die in der Eingabe verwendeten Parameter. Die Pooling-Operation kann wie die Faltungsschicht einen Filter über die gesamte Eingabe verschieben, es fehlen jedoch Gewichte. Hier wendet der Filter eine gemeinsame Funktion auf die numerischen Werte im rezeptiven Feld an, um das Ergebnisarray zu füllen.

Pooling hat zwei Arten:

  • Durchschnittliche Poolung: Der Durchschnittswert wird in dem Empfangsfeld berechnet, das der Filter über die Eingabe fegt, um sie an das Ausgabearray zu übertragen.
  • Max. Bündelung: Es wählt das Pixel mit dem maximalen Wert aus und sendet es an das Ausgangsarray, wenn der Filter über den Eingang streicht. Maximales Pooling wird häufiger als durchschnittliches Pooling verwendet.

Obwohl beim Pooling erhebliche Daten verloren gehen, bietet es dennoch viele Vorteile für CNN. Es trägt dazu bei, das Risiko einer Überanpassung und die Komplexität zu reduzieren und gleichzeitig die Effizienz zu verbessern. Es verbessert auch die Stabilität von CNN.

Vollständig verbundene (FC) Schicht

Vollständig verbundene (FC) Schicht

Wie der Name schon sagt, sind alle Knoten in einer Ausgabeschicht direkt mit dem Knoten der vorherigen Schicht in einer vollständig verbundenen Schicht verbunden. Es klassifiziert ein Bild basierend auf den extrahierten Merkmalen über vorherige Ebenen zusammen mit ihren Filtern.

Darüber hinaus verwenden FC-Schichten im Allgemeinen eine Softmax-Aktivierungsfunktion, um Eingaben korrekt zu klassifizieren, anstelle von ReLu-Funktionen (wie im Fall von Pooling- und Faltungsschichten). Dies hilft, eine Wahrscheinlichkeit von entweder 0 oder 1 zu erzeugen.

How Do CNNs Work?

Ein Convolutional Neural Network besteht aus vielen Schichten, sogar Hunderten davon. Diese Ebenen lernen, verschiedene Merkmale eines bestimmten Bildes zu identifizieren.

Obwohl CNNs neuronale Netze sind, unterscheidet sich ihre Architektur von einem normalen KNN.

Wie funktionieren CNNs?

Letzteres leitet eine Eingabe durch viele verborgene Schichten, um sie zu transformieren, wobei jede Schicht mit einem Satz künstlicher Neuronen erstellt wird und vollständig mit jedem Neuron in derselben Schicht verbunden ist. Endlich gibt es eine vollständig verbundene Schicht oder die Ausgabeschicht, um das Ergebnis anzuzeigen.

Auf der anderen Seite organisiert CNN die Schichten in drei Dimensionen – Breite, Tiefe und Höhe. Hier verbindet sich eine Schicht des Neurons nur mit Neuronen in einem kleinen Bereich, anstatt sich auf jedes einzelne von ihnen in der nächsten Schicht zu beziehen. Schließlich wird das Endergebnis durch einen einzelnen Vektor mit einem Wahrscheinlichkeitswert dargestellt und hat nur die Tiefendimension.

Nun fragen Sie sich vielleicht, was „Faltung“ in einem CNN ist.

Nun, Faltung bezieht sich auf eine mathematische Operation, um zwei Datensätze zusammenzuführen. Bei CNN wird das Faltungskonzept auf Eingabedaten angewendet, um eine Merkmalskarte auszugeben, indem die Informationen gefiltert werden.

Dies bringt uns zu einigen der wichtigen Konzepte und Terminologien, die in CNNs verwendet werden.

  • Filter: Auch als Merkmalsdetektor oder Kernel bekannt, kann ein Filter eine bestimmte Dimension haben, z. B. 3 × 3. Es geht über ein Eingangsbild, um eine Matrixmultiplikation für jedes Element durchzuführen, um eine Faltung anzuwenden. Das Anwenden von Filtern auf jedes Trainingsbild mit unterschiedlichen Auflösungen sowie die Ausgabe des gefalteten Bildes funktionieren als Eingabe für die nachfolgende Ebene.
  • Polsterung: Es wird verwendet, um eine Eingabematrix bis zu den Rändern der Matrix zu erweitern, indem gefälschte Pixel eingefügt werden. Es wird getan, um der Tatsache entgegenzuwirken, dass die Faltung die Matrixgröße reduziert. Beispielsweise kann eine 9×9-Matrix nach dem Filtern in eine 3×3-Matrix umgewandelt werden.
  • Schritt für Schritt: Wenn Sie eine Ausgabe erhalten möchten, die kleiner als Ihre Eingabe ist, können Sie Striding durchführen. Es ermöglicht das Überspringen bestimmter Bereiche, während der Filter über das Bild gleitet. Durch das Überspringen von zwei oder drei Pixeln können Sie ein effizienteres Netzwerk erstellen, indem Sie die räumliche Auflösung reduzieren.
  • Gewichtungen und Bias: CNNs haben Gewichte und Verzerrungen in ihren Neuronen. Ein Modell kann diese Werte während des Trainings lernen, und die Werte bleiben in einer bestimmten Schicht für alle Neuronen gleich. Dies impliziert, dass jedes verborgene Neuron dieselben Merkmale in verschiedenen Bereichen eines Bildes erkennt. Dadurch wird das Netzwerk beim Übersetzen von Objekten in ein bestimmtes Bild toleranter.
  • ReLU: Es steht für Rectified Linear Unit (ReLu) und wird für ein effektiveres und schnelleres Training verwendet. Negative Werte werden auf 0 abgebildet und positive Werte beibehalten. Es wird auch Aktivierung genannt, da das Netzwerk nur die aktivierten Bildmerkmale in die nachfolgende Schicht trägt.
  • Empfangsfeld: In einem neuronalen Netzwerk erhält jedes Neuron Eingaben von verschiedenen Stellen aus der vorherigen Schicht. Und in Faltungsschichten erhält jedes Neuron nur Eingaben von einem begrenzten Bereich der vorherigen Schicht, der als rezeptives Feld des Neurons bezeichnet wird. Im Fall der FC-Schicht ist die gesamte vorherige Schicht das rezeptive Feld.

Bei realen Berechnungsaufgaben wird die Faltung normalerweise in a durchgeführt Bild 3D einen 3D-Filter benötigen.

Zurück zu CNN, es besteht aus verschiedenen Teilen oder Knotenschichten. Jede Knotenschicht hat einen Schwellenwert und eine Gewichtung und ist mit einer anderen verbunden. Beim Überschreiten des Schwellenwerts werden Daten an die nächste Schicht in diesem Netzwerk gesendet.

Diese Schichten können Operationen ausführen, um die Daten zu ändern, um relevante Merkmale zu lernen. Außerdem wiederholen diese Operationen Hunderte verschiedener Ebenen, die ständig lernen, andere Merkmale eines Bildes zu erkennen.

Geschäftstätigkeit

Die Bestandteile eines CNN sind:

  • Eine Eingabeschicht: Hier wird die Eingabe vorgenommen, z. B. ein Bild. Es wird ein 3D-Objekt mit einer definierten Höhe, Breite und Tiefe sein.
  • Eine/mehrere verborgene Schichten oder Merkmalsextraktionsphase: Diese Schichten können eine Faltungsschicht, eine Pooling-Schicht und eine vollständig verbundene Schicht sein.
  • Eine Ausgabeschicht: Hier wird das Ergebnis angezeigt.

Das Passieren des Bildes durch die Faltungsschicht wird in eine Merkmalskarte oder Aktivierungskarte umgewandelt. Nach dem Falten der Eingabe falten die Ebenen das Bild und übergeben das Ergebnis an die nachfolgende Ebene.

Das CNN führt viele Faltungs- und Pooling-Techniken durch, um die Merkmale während der Merkmalsextraktionsphase zu erkennen. Wenn Sie beispielsweise das Bild einer Katze eingeben, erkennt CNN ihre vier Beine, Farbe, zwei Augen usw.

Als Nächstes fungieren vollständig verbundene Schichten in einem CNN als Klassifikator für die extrahierten Merkmale. Basierend auf dem, was der Deep-Learning-Algorithmus über das Bild vorhergesagt hat, würden die Schichten das Ergebnis liefern.   

Advantages of CNNs

Vorteile von CNNs

Höhere Genauigkeit

CNNs bieten eine höhere Genauigkeit als normale neuronale Netze, die keine Faltung verwenden. CNNs sind hilfreich, insbesondere wenn die Aufgabe viele Daten, Video- und Bilderkennung usw. beinhaltet. Sie liefern hochpräzise Ergebnisse und Vorhersagen; Daher nimmt ihre Verwendung in verschiedenen Sektoren zu. 

Recheneffizienz

Recheneffizienz

CNNs bieten eine höhere Recheneffizienz als andere reguläre neuronale Netze. Dies liegt an der Verwendung des Faltungsprozesses. Sie verwenden auch Dimensionsreduktion und Parameterfreigabe, um die Modelle schneller und einfacher bereitzustellen. Diese Techniken können auch optimiert werden, um auf verschiedenen Geräten zu funktionieren, sei es Ihr Smartphone oder Laptop. 

Merkmalsextraktion

CNN kann die Merkmale eines Bildes leicht lernen, ohne dass manuelles Engineering erforderlich ist. Sie können vortrainierte CNNs nutzen und die Gewichte verwalten, indem Sie ihnen Daten zuführen, wenn Sie an einer neuen Aufgabe arbeiten, und das CNN passt sich nahtlos daran an. 

Applications of CNN

CNNs werden in verschiedenen Branchen für viele Anwendungsfälle eingesetzt. Einige der realen Anwendungen von CNNs umfassen: 

Bildklassifizierung

Bildklassifizierung

CNNs werden häufig bei der Bildklassifizierung verwendet. Diese können wertvolle Merkmale erkennen und Objekte in einem bestimmten Bild identifizieren. Daher wird es in Bereichen wie dem Gesundheitswesen, insbesondere MRTs, eingesetzt. Darüber hinaus wird diese Technologie bei der handschriftlichen Ziffernerkennung verwendet, die zu den frühesten Anwendungsfällen von CNNs in der Computer Vision gehört.

Objekterkennung

CNN kann Objekte in Bildern in Echtzeit erkennen und diese auch kennzeichnen und klassifizieren. Daher wird diese Technik in automatisierten Fahrzeugen weit verbreitet verwendet. Es ermöglicht Smart Homes und Fußgängern auch, das Gesicht des Fahrzeugbesitzers zu erkennen. Es wird auch in KI-gestützten Überwachungssystemen verwendet, um Objekte zu erkennen und zu markieren.

Objekterkennung

Audiovisueller Abgleich

Die Hilfe von CNN beim audiovisuellen Abgleich trägt zur Verbesserung von Video-Streaming-Plattformen wie Netflix, YouTube usw. bei. Es hilft auch, Benutzeranfragen wie „Liebeslieder von Elton John“ zu erfüllen. 

Spracherkennung

Spracherkennung

Neben Bildern sind CNNs hilfreich bei der Verarbeitung natürlicher Sprache (NLP) und der Spracherkennung. Ein reales Beispiel dafür könnte Google sein, das CNNs in seinen eigenen verwendet Spracherkennung System funktionieren. 

Objektrekonstruktion

CNNs können in der verwendet werden 3D-Modellierung ein reales Objekt in einer digitalen Umgebung. Es ist auch möglich, dass CNN-Modelle ein 3D-Gesichtsmodell anhand eines Bildes erstellen. Darüber hinaus ist CNN beim Bauen nützlich digitale Zwillinge in Biotechnologie, Fertigung, Biotechnologie und Architektur. 

Die Nutzung von CNN in verschiedenen Sektoren umfasst:

  • Gesundheitswesen: Computer Vision kann in der Radiologie eingesetzt werden, um Ärzten zu helfen, Krebstumore bei einer Person effizienter zu erkennen. 
  • Landwirtschaft: Die Netzwerke können Bilder von künstlichen Satelliten wie LSAT verwenden und diese Daten nutzen, um fruchtbares Land zu klassifizieren. Dies hilft auch, die Fruchtbarkeit des Bodens vorherzusagen und eine effektive Strategie zur Maximierung des Ertrags zu entwickeln. 
  • Marketing: Social-Media-Anwendungen können eine Person in einem Bild vorschlagen, das im Profil einer Person gepostet wurde. Dies hilft Ihnen, Personen in Ihren Fotoalben zu markieren. 
  • Einzelhandel: E-Commerce-Plattformen können die visuelle Suche verwenden, um Marken dabei zu helfen, relevante Artikel zu empfehlen, die die Zielkunden kaufen möchten. 
  • Automobil: CNN findet Verwendung in Automobilen, um die Sicherheit von Passagieren und Fahrern zu verbessern. Dies geschieht mit Hilfe von Funktionen wie Spurlinienerkennung, Objekterkennung, Bildklassifizierung usw. Dies trägt auch dazu bei, dass sich die Welt der selbstfahrenden Autos weiter entwickelt.

Resources to Learn CNNs

Coursera:

Coursera hat das Kurs auf CNN die Sie in Betracht ziehen können. In diesem Kurs lernen Sie, wie sich Computer Vision im Laufe der Jahre entwickelt hat und einige Anwendungen von CNNs in der modernen Welt. 

Amazonas:

Sie können diese Bücher und Vorträge lesen, um mehr über CNN zu erfahren:

  • Neuronale Netze und Deep Learning: Es behandelt Modelle, Algorithmen und die Theorie von Deep Learning und neuronalen Netzen. 
Vorschau Produkt Rating Preis
Neuronale Netze und Deep Learning: Ein Lehrbuch Neuronale Netze und Deep Learning: Ein Lehrbuch Noch keine Bewertungen $ 55.07
  • Ein Leitfaden zu Convolutional Neural Networks für Computer Vision: Dieses Buch wird Ihnen die Anwendungen von CNNs und ihre Konzepte beibringen. 
  • Praktische Convolutional Neural Networks mit Tensorflow: Mit Hilfe dieses Buches können Sie verschiedene Probleme in der Computer Vision mit Python und TensorFlow lösen. 
  • Fortgeschrittenes angewandtes Deep Learning: Dieses Buch wird Ihnen helfen, CNNs, Deep Learning und ihre fortschrittlichen Anwendungen, einschließlich der Objekterkennung, zu verstehen. 
  • Convolutional Neural Networks und Recurrent Neural Networks: In diesem Buch erfahren Sie mehr über CNNs und RNNs und darüber, wie Sie diese Netzwerke aufbauen. 

Fazit

Convolutional Neural Networks sind eines der aufstrebenden Felder der künstlichen Intelligenz. Maschinelles Lernen, und tiefes Lernen. Es hat verschiedene Anwendungen in der heutigen Welt in fast allen Bereichen. Angesichts der zunehmenden Nutzung wird erwartet, dass es sich weiter ausdehnt und bei der Bewältigung realer Probleme nützlicher ist. 

Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Entwicklung
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder