Ein Angebot von

Maschinelles Lernen mit FPGAs

| Autor / Redakteur: Bill Jenkins* / Sebastian Gerstl

(Bild: gemeinfrei / CC0)

Das Interesse am maschinellen Lernen wächst derzeit rasant. Obwohl in den vergangenen Jahren einige sehr erfolgreiche Ansätze entstanden sind, besteht noch viel Raum für Neuerungen. FPGAs bieten Entwicklern hier die Vorteile einer dedizierten Hardware und bieten einen flexiblen Weg hin zu effizienten systemischen Implementierungen

Maschinelles Lernen ist nicht neu: Informatiker entwickeln seit Jahrzehnten Algorithmen, die auf Modellen basieren, die dem menschlichen Gehirn entsprechen. Wenn man sich aber auf einem Foto in sozialen Medien wiederfindet, die von Anzeigen von E-Commerce-Webseiten übersät sind, oder wenn man sich fragt, wie autonome Fahrzeuge selbstständig fahren – wird man sich klar, dass maschinelles Lernen immer schneller vom Labor in die reale Welt übergeht.

Warum also dieses plötzliche Interesse? Dafür gibt es zwei wesentliche Gründe: Erstens, gibt es immer mehr Anwendungen, wie z.B. Objekterkennung und Klassifizierung, automatisierte Textanalyse und Big-Data-Verarbeitung, die von maschinellen Lerntechniken profitieren und einen Anreiz schaffen, Algorithmen und Ansätze zu aktualisieren, die bereits seit Jahrzehnten bestehen. Der zweite Grund ist praktisch veranlagt: vor zwei oder drei Jahrzehnten stand die Rechenleistung nicht zur Verfügung, die notwendig ist, um nicht-triviale Maschinen-Lernalgorithmen auszuführen oder die Rich-Data-Mengen zu erlangen, die erforderlich sind, um die Algorithmen zu trainieren, sodass nützliche Ergebnisse zur Verfügung stehen.

Die Zeiten haben sich geändert. Die Fortschritte hinsichtlich der Datenverarbeitungsleistung, die durch Moore’s Law möglich wurden, und die Bildung großer Datensätze dank der Digitalisierung zahlreicher Aspekte unseres sozialen, geschäftlichen und wissenschaftlichen Lebens, haben einen Kontext geschaffen, in dem Entwickler praktische maschinelle Lernstrategien implementieren können, die eine echte Differenzierung ermöglichen. Dazu zählt die Möglichkeit, Elemente automatisch in einem Bild zu klassifizieren oder Straßenschilder von einem fahrenden Fahrzeug aus zu identifizieren. Dies führt zu einer schnellen Weiterentwicklung des maschinellen Lernens, bei der feldprogrammierbare Gate-Arrays (FPGAs) eine wichtige Rolle spielen.

Grundlagen des maschinellen Lernens

Ein Ansatz für das maschinelle Lernen, der derzeit viel Aufmerksamkeit erregt, ist das faltungsneuronale Netzwerk (CNN; Convolutional Neural Network), das in Bildverarbeitungsanwendungen wie Objekterkennung und Klassifizierung zum Einsatz kommt.

Ein CNN basiert auf der Art und Weise, wie das menschliches Sehvermögen funktioniert und besteht aus künstlichen Neuronen mit mehreren Ein- und Ausgängen. Jedes Neuron nimmt seinen Eingangswert auf, wendet eine Transformation an und liefert einen Ausgangswert. Der Wert jedes Eingangssignals kann durch einen Gewichtungsfaktor modifiziert werden, und der Wert, den jedes Neuron erreichen muss, bevor es einen Ausgangswert bereitstellt, kann durch einen Biasing-Faktor verändert werden.

Die Neuronen sind in einer Reihe von Schichten angeordnet: eine Eingangsschicht, die die Rohdaten aufnimmt, eine Ausgabeschicht, die den Abschluss des Netzwerks bereitstellt und mehrere „versteckte“ Schichten dazwischen. Diese versteckten Schichten stellen Zwischenergebnisse bereit, die dem Netzwerk helfen, eine Schlussfolgerung auf die Frage zu formulieren, die es zu beantworten gilt, z.B. „Befindet sich eine Katze in diesem Bild?“

Ein untrainiertes neuronales Netzwerk beginnt mit zufälligen Werten für die Gewichtungs- und Bias-Faktoren, die jedem Neuron zugeschrieben werden und wird trainiert, die richtige Antwort zu geben, indem man viele Bilder zeigt, in denen beispielsweise Katzen markiert wurden. Jedes Neuron entscheidet entsprechend seiner Ausgangswerte auf der Grundlage des Eingangsbildes und gibt diese Werte als Eingänge an Neuronen in unteren Netzwerkschichten weiter. Die letzte Schicht des Netzwerks liefert das Ergebnis. Hier wird der Fehler zwischen der Entscheidung des Netzwerks und der richtigen Antwort berechnet und verwendet, um eine Reihe von Anpassungen an die Gewichtungs- und Bias-Faktoren für jedes Neuron zurück durch jede Netzwerkschicht vorzunehmen – von der Ausgabe bis hin zur Eingabe.

Inhalt des Artikels:

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Ausklappen
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Ausklappen
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44863347 / KI)