Frage

Ein 1024*1024 -Pixel -Bild hat rund eine Million Pixel. Wenn ich jedes Pixel mit einem R-, G-, B -Input -Neuron verbinden möchte, werden mehr als 3 Millionen Neuronen benötigt.

Es wäre wirklich schwierig, ein neuronales Netzwerk zu trainieren, das Millionen von Inputs hat. Wie ist es möglich, die Anzahl der Neuronen zu verringern?

War es hilfreich?

Lösung

Es gibt verschiedene Möglichkeiten, diese große Zahl trainierbar zu machen:

Dimensionalitätsreduzierung des Eingangs

  • Skalieren Sie das Bild nach unten
  • PCA / LDA

Troll-Antwort

Wenn Sie wirklich "nur ein paar Neuronen" gemeint haben, möchten Sie vielleicht einen Blick darauf werfen Nervennetzwerke spitzen. Diese sind unglaublich rechenintensiv, brauchen viel handgefertigt und erhalten immer noch schlechtere Leistung als normale neuronale Netze für die meisten Aufgaben ... aber Sie brauchen nur sehr wenig von ihnen.

Andere Tipps

Faltungs neuronale Netze teilen Gewichte über das gesamte Eingangsbild, und dies verringert die Anzahl der Gewichte drastisch. Zum Beispiel könnten Sie ein 3x3 -Netz haben, bei dem jeder Punkt sein eigenes Gewicht hat. Dies scannt über jeden der 3 Kanäle im 1024 x 1024 -Bild. Für jeden Kanal werden nur 9 Gewichte verwendet und 27 Gewichte hergestellt. Wenn Sie 10 dieser Gitter haben, dann sind das nur 270 Gewichte!

Wenn Sie Gewichte teilen, erstellen Sie eine Übersetzungsinvarianz über den Eingabebereich, der eine wünschenswerte Eigenschaft in Dingen wie Objekterkennung darstellt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top