Próbuję lepiej zrozumieć splotowe sieci neuronowe, pisząc kod Pythona, który nie zależy od bibliotek (takich jak Convnet lub TensorFlow), i utknąłem w literaturze na temat wyboru wartości dla macierzy jądra, kiedy przeprowadzanie splotu obrazu.
Próbuję zrozumieć szczegóły implementacji na etapie między mapami funkcji na poniższym obrazku pokazującym warstwy CNN.
Zgodnie z tym schematem:
Jądro macierzy jądra „przesuwa się” nad obrazem, tworząc mapę cech, w której każdy piksel jest sumą wszystkich produktów pod względem elementu między każdą wagą jądra (lub matrycy filtra) a odpowiednią wartością piksela obrazu wejściowego.
Moje pytanie brzmi: w jaki sposób inicjujemy wagi macierzy jądra (lub filtru)?
W powyższej demonstracji są to po prostu 1 i 0, ale zakładam, że jest to uproszczone ze względu na schemat.
Czy te ciężary są trenowane na jakimś etapie przetwarzania wstępnego? Czy został wybrany przez użytkownika?