Vielen Dank für die Antwort.
Das Batch-Learning war mir bekannt, als dass man die Gewichte nach dem Präsentieren mehrerer Inputreize ändert.
In diesem Fall sind es aber mehrere Änderungen eines Gewichts pro Inputreiz.
Ich werde dann, wie von dir vorgeschlagen, Batch-Learning verwenden, da die Parallelisierung doch einige Vorteile hat.
Mfg
C_C
Habe mich nun weiter eingelesen und bin mir bei etwas nicht ganz sicher.
Um das Beispiels des Links aufzugreifen:
Der erste Layer hat die Grösse 2929. Der zweite Layer beinhaltet 6 Feature Maps welche je 1313 gross sind. Das macht pro Feature Map also 5*5=25 Gewichte +1 fürs Bias.
Alle 13*13=169 Neuronen der Feature Map haben die gleichen 26 Gewichte.
Wie ist das nun beim Training? Wird da nun 169 mal die Änderung des Gewichts berechnet und die Summe dann gemittelt und erst dann das Gewicht geändert? Oder wird das Gewicht 169-mal geändert?
Mfg
C_C
Also haben alle 1014 Neuronen in der Feature Map die gleichen 26 Gewichte?
Dann kann ich mir etwas darunter vorstellen, aber u.a. beim Training des CNN ich noch nicht durch, werde mich noch ein wenig weiter einlesen und wenn weitere Fragen auftauchen hier stellen.
Vielen Dank.
Hallo,
Wie ich beim Suchen hier im Forum gemerkt habe tummeln sich hier auch einige Spezialisten in Sachen neuronale Netze.
Ich habe nun ein kleines Verständnisproblem bei einem Netztypen, dem "Convolutional Neural Network".
Angenommen man hat einen Layer mit der Grösse 29*29.
Der 2te Layer besteht aus 6 "Feature Maps" der Grösse 13x13. Das "Kernel-Window" hat die Grösse 5x5 und wenn man im Layer 1 immer 1 Neuron überspringt gibt es eben genau diese 13x13 Positionen.
Ingesamt sind das dann 13x13x6=1014 Neuronen und jedes Neuron hat 5x5=25 Verbindungen somit sind es insgesamt also 25350 Verbindungen. Nun ist es aber so, dass dieser Netztyp die Gewichte teilt, sodass es dann nur noch 150 zu trainierende Gewichte sind.
Meine Frage ist nun:
Welche Verbindungen teilen sich nun das selbe Gewicht?
Mfg
C_C
Ok, vielen Dank für die Antwort.
Hallo,
Ich hab eine Frage zur Effizienz:
Was ist effizienter, folgendes:
for (int i=0;i<cycles;i++)
{
MeineMethode();
}
oder
void MeineMethode(int cycles)
{
for (int i=0;i<cycles;i++)
{
//code, der mehrmals ausgeführt wird
}
}
Macht es überhaupt einen Unterschied, bzw. wird es sowieso auf die gleiche Form optimiert?
Gruss
C_C
Was ist mit Extension Methods?
Vielen Dank für die Erklärung, leuchtet ein.
Mfg
c_c
Guten Tag,
Im Parameter eines Konstruktors möchte ich ein Delegate übergeben. Da dieser Parameterwert optional sein soll, habe ich das neue Feature von C# 4.0 genutzt und den Konstruktor vereinfacht etwa so definiert:
public MeineKlasse(MeinDelegate m = new MeinDelegate((i) => 2*i))
{
//...
}
Die Fehlermeldung, die ich dafür erhalte ist:> Fehlermeldung:
Der Standardparameterwert für "m" muss eine Kompilierzeitkonstante sein.
Die Suche hat dafür keine Treffer geliefert und ich verstehe den Grund für diese Fehlermeldung nicht ganz, bzw. wieso der Ausdruck nicht konstant sein sollte.
Mfg
C_C
Ich glaube er meint sowas wie eine alert() MessageBox und nicht die System.Windows.Forms.MessageBox.
Mfg
C_C