In Entwicklung Letztes Updateated:
Teilen:
Cloudways bietet verwaltetes Cloud-Hosting für Unternehmen jeder Größe zum Hosten einer Website oder komplexer Webanwendungen.

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.

AI and ML are vast fields, and efforts are being made to widen their applications to solve many real-world problems. This is why you could see a lot of branches inside these technologies; ML is a subset of AI itself.

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!

Was ist ein Faltungs-Neuronales Netzwerk?

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.

CNN leverages principles of linear algebra, such as matrix multiplication, for detecting patterns in an image. As these processes involve complex computations, they require graphical processing units (GPUs) zum Trainieren der Modelle.

In simple words, CNN uses Deep Learning algorithms to take input data like images and assign importance in the form of biases and learnable weights to different aspects of that image. This way, CNN can differentiate between images or classify them.

CNNs: Eine kurze Geschichte

Since a Convolutional neural network is an artificial neural network, it’s important to reiterate Neuronale Netze.

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.  

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 wurde im Jahr 2012 AlexNet revisited Deep Learning, das neuronale Netze nutzt, die aus mehreren Schichten bestehen. Ungefähr zu dieser Zeit verbesserte sich die Technologie und es standen große Datensätze und umfangreiche Rechenressourcen zur Verfügung, um dies zu ermöglichen creation komplexer CNNs, die Computer-Vision-Aktivitäten effizient ausführen können.

Schichten in einem CNN

Let’s understand the different layers in a CNN. Increasing layers in a CNN will increase its complexity and enable it to detect more aspects or areas of an image. Starting with a simple feature, it becomes capable of detecting complex features like the object’s shape and larger elements until it can finally detect the image.

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.

A CNN can also have additional convolutional layers. This makes the CNNs structure hierarchical since the subsequent layers can visualize pixels within prior layers’ receptive fields. Next, the convolutional layers transform the given image into numerical values and allow the network to understand and extract valuable patterns.

Pooling von Schichten

Pooling layers are used to reduce dimensions and are called downsampling. It reduces the parameters used in the input. The pooling operation can move a filter over the complete input like the convolutional layer but lacks weights. Here, the filter applies a joint function to the numerical values in the receptive field to populate the result array.

Pooling hat zwei Arten:

  • Durchschnittliche Poolung: The average value is calculated in the receptive field the filer sweeps over the input to transmit to the output array.
  • 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

Wie der Name schon sagt, sind alle Knoten in einer Ausgabeschicht direkt mit dem p verbundenrevious layer’s node in a fully connected layer. It classifies an image based on the extracted features via previous Schichten zusammen mit ihren Filtern.

Furthermore, FC layers generally use a softmax activation function to classify inputs correctly instead of ReLu functions (as in the case of pooling and convolutional layers). This helps produce a probability of either 0 or 1.

Wie funktionieren CNNs?

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.

The latter puts an input through many hidden layers to transform it, where each layer is created with a set of artificial neurons and is fully connected to every neuron in the same layer. At last, there’s a fully-connected layer or the output layer to display the result.

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: If you want to get an output smaller than your input, you can perform striding. It allows skipping certain areas while the filter slides over the image. By skipping two or three pixels, you can produce a more efficient network by reducing spatial resolution.
  • 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: it stands for Rectified Linear Unit (ReLu) and is used for more effective and faster training. It maps negative values to 0 and maintains positive values. It’s also called activation, as the network carries only the activated image features into the subsequent layer.
  • Empfangsfeld: In einem neuronalen Netzwerk erhält jedes Neuron Eingaben von verschiedenen Orten vom previous Schicht. Und in Faltungsschichten empfängt jedes Neuron Eingaben nur aus einem eingeschränkten Bereich der vorherigen Schicht, dem sogenannten Empfangsfeld des Neurons. Im Fall der FC-Schicht ist das gesamte prevDie wichtigste Schicht ist das rezeptive Feld.

In real-world computation tasks, usually, convolution is performed in a Bild 3D einen 3D-Filter benötigen.

Coming back to CNN, it comprises different parts or node layers. Each node layer has a threshold and weight and is connected to another. Upon exceeding the threshold limit, data is sent to the next layer in this network.

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.

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.
  • One/multiple hidden layers or feature extraction phase: 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.

The CNN will perform many convolutions and pooling techniques to detect the features during the feature extraction phase. For example, if you input a cat’s image, the CNN will recognize its four legs, color, two eyes, etc.

Next, fully connected layers in a CNN will act as a classifier over the extracted features. Based on what the deep learning algorithm has predicted about the image, the layers would yield the result.   

Vorteile von CNNs

Höhere Genauigkeit

CNN’s offer higher accuracy than regular neural networks that don’t use convolution. CNN’s are helpful, especially when the task involves lots of data, video and image recognition, etc. They produce highly precise results and predictions; therefore, their usage is increasing in different sectors. 

Recheneffizienz

CNN’s offer a higher computational efficiency level than other regular neural networks. This is because of using the convolution process. They also use dimensionality reduction and parameter sharing to make the models quicker and easier to deploy. These techniques can also be optimized to work on different devices, be it your smartphone or laptop. 

Serienmäßige Funktionen Extraction

CNN can easily learn an image’s features without requiring manual engineering. You can leverage pre-trained CNNs and manage the weights by feeding data to them when working on a new task, and the CNN will adapt to it seamlessly. 

Anwendungen von CNN

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

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 can detect objects in images in real time and also label and classify them. Therefore, this technique is used widely in automated vehicles. It also enables smart homes and pedestrians to recognize the vehicle’s owner’s face. It’s also used in AI-powered surveillance systems to detect and mark objects.

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

Besides images, CNNs are helpful in natural language processing (NLP) and speech recognition. A real-world example of this could be Google using CNNs in its Spracherkennung System funktionieren. 

Objektrekonstruktion

CNNs können in der verwendet werden 3D-Modellierung a real object in a digital environment. It’s also possible for CNN models to create a 3D face model using an image. In addition, CNN is useful in constructing 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: The networks can utilize images from artificial satellites such as LSAT and leverage this data to classify fertile lands. This also helps predict the land fertility levels and develop an effective strategy to maximize the yield. 
  • Marketing: Social media applications can suggest a person in a picture posted on someone’s profile. This helps you tag people in your photo albums. 
  • 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 finds usage in automobiles to improve passenger and driver safety. It does so with the help of features such as lane line detection, object detection, image classification, etc. This also helps the world of self-driving cars to evolve more.

Ressourcen zum Erlernen von 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. 
  • 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. 

Schlussfolgerung

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. 

Teilen:
  • Amrita Pathak
    Autor
    Amrita ist eine leitende Autorin und Texterin für Technologieinhalte mit großem Interesse daran, sich eingehend mit Cybersicherheit, KI, ML, Cloud Computing, Webhosting, Projektmanagement, Softwareentwicklung und anderen Themen der sich entwickelnden Technologie zu befassen.

Danke an unsere Sponsoren

Weitere großartige Lektüre zum Thema Entwicklung

Treiben Sie Ihr Geschäft an

Einige der Tools und Services, die Ihrem Unternehmen helfen grow.