Deutschland - Kennzeichen Deutschland

Incoterms:DDP
Alle Preise sind inklusive Zoll und Gebühren bei der Auswahl der Versandart.

Bitte bestätigen Sie Ihre Währungsauswahl:

Euro
Versand ist kostenfrei bei den meisten Bestellungen über 50 € (EUR)

US Dollar
Versand ist kostenfrei bei den meisten Bestellungen über $60 (USD)

Bench Talk for Design Engineers

Mouser German Blog

rss

Mouser Electronics, Inc german language blogs


Die Grundlagen von Edge Impulse: Teil 3 Mike Parks

(Quelle: putilov_denis – stock.adobe.com)

 

Willkommen zurück zu unserer fortlaufenden Reihe über Edge Impulse, bei der wir aufzeigen, wie Entwickler Edge Impulse nutzen können, um Machine-Learning-Technologien in Embedded-Systeme einzubinden. Zur Erinnerung: Edge Impulse ist eine Plattform für die Erstellung, Bereitstellung und Verwaltung von Machine-Learning-Modellen für Edge-Bauelemente. Eines der wichtigsten Merkmale von Edge Impulse ist die Impulse-Design-Funktion, mit der Nutzer benutzerdefinierte Machine-Learning-Modelle für ihre spezifischen Anwendungsfälle erstellen können. In diesem dritten Teil befassen wir uns detailliert mit einem der wichtigsten Schritte des Edge-Impulse-Arbeitsablaufs: dem Entwurf des Impulses.

 

Aber lassen Sie uns zunächst definieren, was genau der Begriff „Impuls“ in Verbindung mit Edge Impulse bezeichnet. Bei Edge Impulse ist ein Impuls ein Machine-Learning-Modell, das für den Einsatz in Edge-Bauelementen entwickelt und optimiert wurde. Der Begriff „Impuls“ vermittelt die Vorstellung einer kleinen, in sich geschlossenen Einheit von Intelligenz, die in einem Bauelement eingesetzt und unabhängig ausgeführt werden kann. Ein Impuls in Edge Impulse besteht aus einer Vorverarbeitungspipeline, einem Machine-Learning-Modell und einem Bereitstellungscode. Die Vorverarbeitungspipeline umfasst eine Reihe von Verarbeitungsblöcken, die die rohen Eingabedaten in ein Format umwandeln, das das Machine-Learning-Modell verwenden kann. Dies wird der Schwerpunkt dieses Beitrags sein.

Im vorherigen Kapitel haben wir gezeigt, wie Benutzer ihre eigenen Datensätze aus der realen Welt in die Edge-Impulse-Plattform hochladen können. Sobald die Rohdaten in Edge Impulse hochgeladen, verfeinert und getaggt wurden, kann ein Entwickler mit dem „Impulse-Design“ beginnen oder seine eigene benutzerdefinierte Machine-Learning-Pipeline definieren. Der erste Schritt besteht darin, Edge Impulse mitzuteilen, welche Art von Daten hochgeladen wurde. Der Workflow bietet dem Benutzer drei vorkonfigurierte Optionen, darunter Beschleunigungsmesser-, Ton- oder Bilddaten. Darüber hinaus gibt es eine vierte generische Option mit dem Titel „Sonstige“, um andere Arten von Sensoren zu verarbeiten. Diese können von Temperatursensoren bis hin zu Lichtsensoren reichen.

Wenn es sich bei den Daten nicht um ein Bild handelt, sind es im Allgemeinen Zeitreihendaten (Abbildung 1). Mit anderen Worten: ein oder mehrere Sensorwerte werden sich im Laufe der Zeit als Reaktion auf Umweltreize ändern. Es ist wichtig zu bestimmen, ob die Veränderungen im Laufe der Zeit schnell (z. B. bei der Kfz-Aufpralldetektion) oder langsam (z. B. bei der Temperatur in bestimmten Fertigungsprozessen) erfolgen, da dies später ein wichtiger Aspekt sein wird.

Abbildung 1: Die beiden ersten Tools von Impulse Design sind 1) der Eingabeblock und 2) der Verarbeitungsblock. (Quelle: Green Shoe Garage)

 

Sobald der Datentyp ausgewählt wurde, werden dem Entwickler die ML-Pipeline und Optionen zur Anpassung des Eingabeblocks angezeigt (Abbildung 2). Der Inhalt des Eingabeblocks variiert je nach Datentyp. Um Embedded-Systeme besser zu verstehen, werden wir Beschleunigungsmesserdaten verwenden. Im Benutzerhandbuch von Edge Impulse finden Sie die folgenden Optionen, die Sie für Zeitreihendaten anpassen können:

 

  • Fenstergröße: Die Fenstergröße ist die Größe der Rohdaten, die für das Training verwendet werden.
  • Fenstervergrößerung: Die Fenstervergrößerung wird verwendet, um künstlich mehr Funktionen zu erzeugen und den Lernblock mit mehr Informationen zu füttern.
  • Frequenz: Die Frequenz wird automatisch auf der Grundlage Ihrer Trainingsmuster berechnet. Sie können diesen Wert ändern, aber derzeit keine Werte verwenden, die niedriger als 0,000016 sind (weniger als 1 Probe alle 60 Sekunden).
  • Zero-Pad: Ein Ja/Nein-Kontrollkästchen, das Nullwerte hinzufügt, wenn Rohdaten fehlen.

Abbildung 2: So können sich die Einstellungen des Eingabeblocks auf die Extraktion von Merkmalen aus den Rohdaten auswirken. (Quelle: Edge Impulse)

 

Die nächste Entscheidung des Arbeitsablaufs ist die Anwendung der verschiedenen „Verarbeitungsblöcke“. Die Aufgabe des Verarbeitungsblocks ist die Vorverarbeitung und Extraktion von Merkmalen aus den Rohdaten, die zum Anlernen des Modells verwendet werden. Edge Impulse bietet praktischerweise eine Bibliothek mit vordefinierten digitalen Signalverarbeitungsblöcken für verschiedene Anwendungen. Zu den gängigsten Blöcken gehören:

 

  • Spektralanalyse: Hervorragend geeignet für die Analyse sich wiederholender Bewegungen, z. B. Daten von Beschleunigungsmessern. Extrahiert die Frequenz- und Leistungsmerkmale eines Signals im Zeitverlauf.
  • Verflachen: Reduziert eine Achse auf einen einzigen Wert. Nützlich für sich langsam bewegende Durchschnittswerte wie Temperaturdaten, in Kombination mit anderen Blöcken.
  • Bild: Vorverarbeitet und normalisiert Bilddaten und reduziert optional die Farbtiefe.          
  • Audio (MFCC): Extrahiert Merkmale aus Audiosignalen mithilfe von Mel Frequency Cepstral Coefficients, die sich hervorragend für die menschliche Stimme eignen.
  • Audio (MFE): Extrahiert ein Spektrogramm aus Audiosignalen unter Verwendung von Mel-Filterbank-Energiemerkmalen, was sich hervorragend für nicht-sprachliche Audiodaten eignet.
  • Spektrogramm: Extrahiert ein Spektrogramm aus Audio- oder Sensordaten, ideal für nicht-sprachliches Audio oder Daten mit kontinuierlichen Frequenzen.
  • Rohdaten: Verwendet Daten ohne Vorverarbeitung. Nützlich, wenn Sie Deep Learning zum Lernen von Merkmalen verwenden möchten.

Natürlich kann es sein, dass Sie sehr spezielle Daten haben oder eigene Algorithmen zur digitalen Signalverarbeitung verwenden möchten. In diesem Fall bietet Edge Impulse einen Mechanismus, mit dem Endbenutzer benutzerdefinierte Verarbeitungsblöcke definieren und diese für das Modelltraining innerhalb des Studio-Workflows von Edge Impulse verwenden können. Wenn Sie mehr über die Verwendung von benutzerdefinierten Verarbeitungsblöcken erfahren möchten, lesen Sie bitte diesen Artikel (Abbildung 3).

Abbildung 3: Edge Impulse bietet viele Arten von Verarbeitungsblöcken für verschiedene Datentypen wie Bilder, Ton und Beschleunigungsmesser. (Quelle: Green Shoe Garage)

 

Außerdem können Verarbeitungsblöcke in einer Pipeline kombiniert werden, um einen benutzerdefinierten Workflow für die Datenvorverarbeitung zu erstellen. Die Ausgabe der Verarbeitungsblöcke wird dann in „Lernblöcke“ eingespeist. Ein Lernblock ist ein neuronales Netzwerk, das darauf trainiert ist, aus den verarbeiteten Daten zu lernen, die vom Workflow des Verarbeitungsblocks ausgegeben werden.

 

Den nächsten Beitrag in dieser Reihe werden wir dem Thema Lernblöcke widmen.



« Zurück


Michael Parks, P.E. ist der Eigentümer von Green Shoe Garage, einem Entwicklungsstudio für kundenspezifische Elektronik und Technologieberatung im Süden von Maryland. Er produziert den S.T.E.A.M. Power-Podcast (ein Podcast über MINT-Themen), mit dem er die Öffentlichkeit für technische und wissenschaftliche Fragen sensibilisieren möchte. Michael ist außerdem zugelassener Ingenieur im Bundesstaat Maryland und hat einen Master-Abschluss in Systemtechnik von der Johns Hopkins University.


Alle Autoren

Alle anzeigen Alle anzeigen
Blog nach Datum anzeigen