2017-02-01 2 views
0

Ich möchte eine allgemeine Frage stellen, dass heutzutage Deep Learning speziell Convolutional Neural Network (CNN) in allen Bereichen verwendet wurde. Manchmal ist es nicht notwendig, CNN für das Problem zu verwenden, aber die Forscher nutzen und folgen dem Trend.Warum brauchen wir CNN für die Objekterkennung?

Also ist es für die Object Detection Problem, eine Art von Problem, wo CNN wirklich benötigt wird, um das Erkennungsproblem zu lösen?

Antwort

1

Das ist unglückliche Frage. Im Titel fragt man nach CNN, aber man fragt generell nach dem tiefen Lernen.

So brauchen wir nicht unbedingt tiefes Lernen für die Objekterkennung. Aber trainierte tiefe Netzwerke erzielen bessere Ergebnisse. Unternehmen wie Google und andere sind dankbar für jeden% der besseren Ergebnisse.

Über CNN, sie erhalten bessere Ergebnisse als "traditionelle" ANN und haben auch weniger Parameter wegen der gemeinsamen Nutzung von Gewichten. CNN ermöglichen auch Transfer-Lernen (Sie nehmen einen Feature-Detektor- Faltung und Pooling-Schichten und dann verbinden Sie auf Feature-Detektor Ihre voll verbundenen Schichten).

+0

Ja, ich habe die Frage geändert. Aber die Sache, die ich fragen möchte, gibt es irgendwelche Kriterien der Verwendung von CNN für ein bestimmtes Problem oder nicht? definitiv CNN wird besser in Leistung, aber es dauert auch lange Zeit für Training und Gedächtnis – Addee

+0

Ja, wenn Sie Objekterkennung und Erkennung oder Spracherkennung tun. Diese Netzwerke werden immer im Feld verwendet, das mit Bildern oder Ton arbeitet. – viceriel

+0

Und Kriterien, nein. Vielleicht Empfehlungen. MLP kann dieselbe Aufgabe mit schlechteren Ergebnissen durchführen. Wenn Ihre Anwendung mit Bild/Ton arbeitet, können Sie CNN verwenden. – viceriel

1

Ein Schlüsselkonzept von CNNs ist die Idee der translationalen Invarianz. Kurz gesagt, die Verwendung eines konvolutionellen Kernels in einem Bild ermöglicht es der Maschine, eine Reihe von Gewichtungen für ein bestimmtes Merkmal (eine Kante oder ein viel detaillierteres Objekt, abhängig von der Schichtung des Netzwerks) zu lernen und sie auf das gesamte Bild anzuwenden. Sie können eine Katze in einem Bild erkennen. Wenn wir eine Reihe von Gewichten entworfen haben, die dem Lernenden erlauben, eine Katze zu erkennen, möchten wir, dass diese Gewichte gleich sind, egal wo sich die Katze im Bild befindet! Wir würden also eine Schicht im Faltungskern "zuordnen", um Katzen zu entdecken, und dann über das gesamte Bild falten.

Was auch immer der Grund für die jüngsten Erfolge von CNNs ist, sollte angemerkt werden, dass reguläre vollständig verbundene ANNs genauso gut funktionieren sollten. Das Problem ist, dass sie bei größeren Bildern schnell rechnerisch undurchführbar werden, während CNNs aufgrund der gemeinsamen Nutzung von Parametern viel effizienter sind.