Der Artikel besteht aus zwei Teilen:
- Eine kurze Beschreibung einiger Architekturen von Netzwerken zur Objekterkennung in Bildern und zur Segmentierung von Bildern, versehen mit den verständlichsten für mich verfügbaren Links zu Ressourcen. Ich habe versucht, erklärende Videos auszuwählen, vorzugsweise in deutscher Sprache.
- Der zweite Teil besteht darin, die Richtung der Entwicklung von Architekturen neuronaler Netzwerke und der darauf basierenden Technologien zu verstehen.

Abbildung 1 – Die Architekturen neuronaler Netzwerke zu verstehen, ist nicht einfach.
Alles begann damit, dass ich zwei Demoprogramme zur Klassifizierung und Objekterkennung auf einem Android-Smartphone erstellt habe:
- , bei der die Daten auf einem Server verarbeitet und dann auf das Telefon übertragen werden. Die Klassifizierung von Bildern (image classification) von drei Bärenarten: Braunbär, Schwarzbär und Plüschbär.
- , bei der die Daten direkt auf dem Smartphone verarbeitet werden. Objekterkennung (object detection) von drei Arten: Haselnuss, Feige und Dattel.
Es gibt einen Unterschied zwischen den Aufgaben der Bildklassifizierung, der Objekterkennung in Bildern und . Daher wurde die Notwendigkeit erkannt, welche Architekturen von neuronalen Netzen Objekte in Bildern erkennen und welche segmentieren können. Ich habe die folgenden Beispiele für Architekturen gefunden, mit den für mich verständlichsten Links zu Ressourcen:
- Eine Reihe von Architekturen basierend auf R-CNN (RRegionen mit CKonvolution Nneuronalen NNetzwerkfeatures): R-CNN, Fast R-CNN, , . Für die Objekterkennung in einem Bild werden mittels des Region Proposal Network (RPN) begrenzte Regionen (Bounding Boxes) ausgewählt. Zuvor wurde ein langsamerer Mechanismus namens Selective Search verwendet. Die ausgewählten Regionen werden dann einem normalen neuronalen Netzwerk zur Klassifizierung zugeführt. In der R-CNN-Architektur gibt es explizite „for“-Schleifen, die über die begrenzten Regionen iterieren, insgesamt bis zu 2000 Durchläufe durch das interne Netzwerk AlexNet. Aufgrund der expliziten „for“-Schleifen wird die Verarbeitungsgeschwindigkeit der Bilder verlangsamt. Die Anzahl der expliziten Schleifen, die Durchläufe durch das interne neuronale Netzwerk, nimmt mit jeder neuen Version der Architektur ab, und es werden zahlreiche andere Änderungen vorgenommen, um die Geschwindigkeit zu erhöhen und die Aufgabe der Objekterkennung in der Mask R-CNN in die Segmentierung von Objekten zu ersetzen.
- (Ynur Dschaut LBuch Dnce) – das erste neuronale Netzwerk, das Objekte in Echtzeit auf mobilen Geräten erkennt. Das Besondere: die Unterscheidung von Objekten in einem Durchgang (es genügt, einmal hinzuschauen). Das bedeutet, dass es in der YOLO-Architektur keine expliziten „for“-Schleifen gibt, was das Netzwerk schnell macht. Ein passender Vergleich: In NumPy gibt es bei Matrixoperationen ebenfalls keine expliziten „for“-Schleifen, diese werden in NumPy auf niedrigeren Architektur-Ebenen über die Programmiersprache C realisiert. YOLO verwendet ein Gitter aus vordefinierten Fenstern. Um zu verhindern, dass dasselbe Objekt mehrfach erkannt wird, wird ein Überlappungsfaktor der Fenster (IoU, ISchnittmenge oüber UVereinigung). Diese Architektur funktioniert in einem breiten Spektrum und bietet hohe : Das Modell kann auf Fotografien trainiert werden, funktioniert jedoch auch gut bei Zeichnungen.
- (Oeinzelne OMultiBox OS-Angriffenetector) – die erfolgreichsten «Hacks» der YOLO-Architektur (zum Beispiel Non-Maximum Suppression) werden verwendet und neue hinzugefügt, damit das neuronale Netzwerk schneller und präziser arbeitet. Ein hervorstechendes Merkmal: Die Unterscheidung von Objekten in einem Durchlauf mithilfe eines vordefinierten Fensterrasters (default box) auf einer Bildpyramide. Die Bildpyramide wird in konvolutionalen Tensoren kodiert, die bei aufeinanderfolgenden Faltung- und Pooling-Operationen (wobei die räumliche Dimension bei Max-Pooling abnimmt) bearbeitet werden. Auf diese Weise werden sowohl große als auch kleine Objekte in einem Durchlauf des Netzwerks festgestellt.
- MobileSSD (MobilNetV2 + SSD) – eine Kombination aus zwei Architekturtypen neuronaler Netzwerke. Das erste Netzwerk arbeitet schnell und erhöht die Genauigkeit der Erkennung. MobileNetV2 wird anstelle von VGG-16 verwendet, das ursprünglich in . Das zweite Netzwerk SSD bestimmt die Position von Objekten im Bild.
- – ein sehr kleines, aber präzises neuronales Netzwerk. Es alleine löst das Problem der Objekterkennung nicht. Allerdings kann es in Kombination mit verschiedenen Architekturen verwendet werden und findet Anwendung in mobilen Geräten. Ein hervorstechendes Merkmal ist, dass die Daten zuerst auf vier 1×1-Faltungsfilter komprimiert und dann auf vier 1×1- und vier 3×3-Faltungsfilter erweitert werden. Eine solche Iteration der Datenkompression und -erweiterung wird als „Fire Module“ bezeichnet.
- (Semantic Image Segmentation with Deep Convolutional Nets) – die Segmentierung von Objekten auf einem Bild. Ein besonderes Merkmal der Architektur ist die dilatierte Faltung, die die räumliche Auflösung beibehält. Danach folgt eine Nachbearbeitungsphase mit einem grafischen Wahrscheinlichkeitsmodell, was es ermöglicht, kleine Störungen in der Segmentierung zu beseitigen und die Qualität des segmentierten Bildes zu verbessern. Hinter dem eindrucksvollen Namen „grafisches Wahrscheinlichkeitsmodell“ verbirgt sich ein normaler Gaussfilter, der an fünf Punkten approximiert ist.
- Ich habe versucht, das Gerät zu verstehen (Single-Shot Refinement Neural Network for Object DetIch habe mir die Sektion angeschaut, aber wenig verstanden.
- Ich habe mir auch angesehen, wie die Technologie "Aufmerksamkeit" (attention) funktioniert: , , . Ein hervorstechendes Merkmal der Architektur "Aufmerksamkeit" ist die automatische Identifizierung von Bereichen mit hoher Aufmerksamkeit im Bild (RoI, RRegions of Iinterest) durch ein neuronales Netzwerk, das als Attention Unit bezeichnet wird. Bereiche mit hoher Aufmerksamkeit ähneln begrenzten Regionen (bounding boxes), sind jedoch im Gegensatz dazu nicht fixiert und können unscharfe Grenzen haben. Dann werden aus den Bereichen mit hoher Aufmerksamkeit Merkmale (Features) extrahiert, die in rekurrenten neuronalen Netzen mit Architekturen verarbeitet werden. Rekurrente neuronale Netze sind in der Lage, Beziehungen zwischen Merkmalen in einer Sequenz zu analysieren. Sie wurden ursprünglich für die Übersetzung von Texten in andere Sprachen verwendet und nun auch zur Übersetzung und .
Während ich diese Architekturen studierte, wurde mir klar, dass ich nichts verstehe.. Das Problem liegt nicht daran, dass mein neuronales Netzwerk Schwierigkeiten mit dem Aufmerksamkeitsmechanismus hat. Die Erstellung all dieser Architekturen erinnert an einen riesigen Hackathon, bei dem die Entwickler in ihren Hacks konkurrieren. Ein Hack ist eine schnelle Lösung für ein schwieriges Softwareproblem. Es gibt also zwischen all diesen Architekturen keine sichtbare und nachvollziehbare logische Verbindung. Was sie verbindet, ist eine Sammlung der besten Hacks, die sie sich gegenseitig entleihen, plus ein gemeinsames Thema. (Fehler-Rückpropagation, backpropagation). Es fehlt ! Unklar bleibt, was geändert werden muss und wie man die bestehenden Errungenschaften optimieren kann.
Aufgrund des Mangels an logischen Verbindungen zwischen den Hacks ist es äußerst schwierig, diese zu merken und in der Praxis anzuwenden. Es handelt sich um fragmentiertes Wissen. Bestenfalls bleiben ein paar interessante und überraschende Punkte im Gedächtnis, während der Großteil des Verstandenen und Unverstandenen bereits nach wenigen Tagen aus dem Gedächtnis verschwindet. Es wäre schon gut, wenn man nach einer Woche wenigstens den Namen einer Architektur wiedererkennen könnte. Und man hat schließlich mehrere Stunden und sogar Tage Arbeitszeit in das Lesen von Artikeln und das Ansehen von Überblicksvideos investiert!

Abbildung 2 –
Meiner Ansicht nach bemühen sich die meisten Autoren wissenschaftlicher Artikel, selbst die fragmentierten Erkenntnisse für die Leser unverständlich zu machen. Aber Partizipialkonstruktionen in zehnzeiligen Sätzen mit aus „der Luft gegriffenen“ Formeln – das ist ein Thema für einen eigenen Artikel (Problem ).
Aus diesem Grund besteht die Notwendigkeit, Informationen über neuronale Netzwerke zu systematisieren, um das Verständnis und die Behaltensleistung zu erhöhen. Daher wurde die Hauptthematik der Analyse einzelner Technologien und Architekturen künstlicher neuronaler Netzwerke zur folgenden Aufgabe: herauszufinden, wohin das alles führt, und nicht nur die Struktur eines bestimmten neuronalen Netzwerks zu betrachten.
Wohin führt das alles? Wesentliche Ergebnisse:
- Die Zahl der Startups im Bereich des maschinellen Lernens ist in den letzten zwei Jahren . Mögliche Ursache: „Neuronale Netzwerke sind nicht mehr etwas Neues“.
- Jeder kann ein funktionierendes neuronales Netzwerk für eine einfache Aufgabe erstellen. Dazu nimmt er ein fertiges Modell aus dem „Modell-Zoo“ und trainiert die letzte Schicht des neuronalen Netzwerks () aus vorhandenen Daten von , wird es in das VPN eingegeben. Das bedeutet, dass dieses Paket zusätzlich verschlüsselt und zwischen in der kostenlosen .
- Große Anbieter von KI-Tools haben begonnen, „Modellzoos“ (model zoo). Damit können Sie schnell eine kommerzielle Anwendung erstellen: für TensorFlow, für PyTorch, für Caffe2, für Chainer und .
- Neuronen-Netze, die in Echtzeit (real-time) auf mobilen Geräten arbeiten. Von 10 bis 50 Bildern pro Sekunde.
- Einsatz von Neuronen-Netzen in Handys (TF Lite), in Browsern (TF.js) und in (IoT, IInternet of Tof Things). Besonders in Handys, die bereits KI auf Hardware-Ebene unterstützen (Neuro-Beschleuniger).
- „Jedes Gerät, Kleidungsstück und möglicherweise sogar Lebensmittel werden eine IP-v6-Adresse haben und miteinander kommunizieren“ – .
- Die Anzahl der Veröffentlichungen im Bereich maschinelles Lernen hat begonnen, (Verdopplung alle zwei Jahre) seit 2015. Offensichtlich werden Neuronen-Netze zur Analyse von Artikeln benötigt.
- Die folgenden Technologien gewinnen an Popularität:
- PyTorch – die Popularität steigt schnell und scheint TensorFlow zu überholen.
- Automatische Hyperparameter-Optimierung AutoML – die Popularität steigt allmählich.
- Allmähliche Reduzierung der Genauigkeit und Erhöhung der Berechnungsgeschwindigkeit: , Algorithmen , ungenaue (approximierte) Berechnungen, Quantisierung (bei der die Gewichte des neuronalen Netzwerks in ganze Zahlen umgewandelt und quantisiert werden), Neuro-Beschleuniger.
- Die Übersetzung und .
- Erstellung , jetzt bereits in Echtzeit.
- Das Wesentliche in DL sind viele Daten, doch deren Sammlung und Annotation ist nicht einfach. Daher entwickelt sich die Automatisierung der Annotation () für neuronale Netze mithilfe neuronaler Netze.
- Mit neuronalen Netzen wurde die Informatik plötzlich zu einer experimentellen Wissenschaft und es entstand ein .
- IT-Geld und die Popularität von neuronalen Netzen entstanden gleichzeitig, als Berechnungen einen Marktwert erhielten. Die Wirtschaft transformiert sich von einer gold- und währungsbasierten zu einer gold-währungs- und berechnungsbasierten.Siehe meinen Artikel über und die Gründe für das Entstehen von IT-Geld.
Allmählich entsteht eine neue (Machine Learning & Deep Learning), die auf der Vorstellung eines Programms als Gesamtheit von trainierten Modellen neuronaler Netze basiert.

Abbildung 3 – ML/DL als neue Programmierungs-Methodologie
Dennoch gibt es bis heute keine „Theorie der neuronalen Netze“., innerhalb dessen man systematisch denken und arbeiten kann. Was heute als „Theorie“ bezeichnet wird, sind in Wirklichkeit experimentelle, heuristische Algorithmen.
Links zu meinen und nicht nur meinen Ressourcen:
- Newsletter über Data Science. Hauptsächlich zur Bildverarbeitung. Wer ihn erhalten möchte, kann eine E-Mail senden (foobar167<ат>gmail<точка>com). Links zu Artikeln und Videos sende ich nach und nach.
- Allgemein , die ich absolviert habe und die ich gerne machen würde.
- , mit denen man das Lernen über neuronale Netzwerke beginnen sollte. Zudem eine Broschüre .
- , wo jeder etwas Interessantes für sich finden kann.
- Sehr nützlich waren YouTube-Kanäle zur Analyse von wissenschaftlichen Artikeln über Data Science. Sucht sie, abonniert sie und teilt die Links mit euren Kollegen und mir auch. Beispiele:
- auch bekannt als mit Schritt-für-Schritt-Anleitungen und offenem Quellcode.
Vielen Dank für Ihre Aufmerksamkeit!
Quelle: habr.com
