Mam następujący CNN:
- Zaczynam od obrazu wejściowego o rozmiarze 5x5
- Następnie stosuję splot za pomocą jądra 2x2 i stride = 1, który tworzy mapę cech o rozmiarze 4x4.
- Następnie stosuję maksymalne łączenie 2x2 z krokiem = 2, co zmniejsza mapę obiektów do rozmiaru 2x2.
- Następnie stosuję sigmoid logistyczny.
- Następnie jedna w pełni połączona warstwa z 2 neuronami.
- I warstwa wyjściowa.
Dla uproszczenia załóżmy, że wykonałem już przejście do przodu i obliczyłem δH1 = 0,25 i δH2 = -0,15
Tak więc po zakończeniu pełnego przejścia do przodu i częściowo ukończonego przejścia do tyłu moja sieć wygląda następująco:
Następnie obliczam delty dla warstwy nieliniowej (sigmoid logistyczny):
Następnie propaguję delty na warstwę 4x4 i ustawiam wszystkie wartości, które zostały odfiltrowane przez maksymalne pule na 0, a mapa gradientu wygląda następująco:
Jak mogę stamtąd zaktualizować wagi jądra? A jeśli moja sieć miała inną warstwę splotową przed 5x5, jakich wartości powinienem użyć, aby zaktualizować jej wagi jądra? I ogólnie, czy moje obliczenia są prawidłowe?