Kiedy ludzie mówią o sieciach neuronowych, co mają na myśli, mówiąc „rozmiar jądra”? Jądra są funkcjami podobieństwa, ale co to mówi o wielkości jądra?
Kiedy ludzie mówią o sieciach neuronowych, co mają na myśli, mówiąc „rozmiar jądra”? Jądra są funkcjami podobieństwa, ale co to mówi o wielkości jądra?
Odpowiedzi:
Głębokie sieci neuronowe, bardziej konkretnie splotowe sieci neuronowe (CNN), są w zasadzie stosem warstw, które są zdefiniowane przez działanie wielu filtrów na wejściu. Te filtry są zwykle nazywane jądrem.
Na przykład jądra w warstwie splotowej są filtrami splotowymi. W rzeczywistości nie przeprowadza się splotu, lecz korelację krzyżową. Rozmiar jądra tutaj odnosi się do widthxheight maski filtra.
Na przykład maksymalna warstwa pulująca zwraca piksel o maksymalnej wartości z zestawu pikseli w masce (jądrze). Jądro jest przesuwane po wejściu, próbkując go podpróbkowanie.
Nie ma więc nic wspólnego z koncepcją jądra w maszynach wektorów pomocniczych lub sieciach regulacyjnych. Możesz myśleć o nich jak o ekstraktorach funkcji.
Jak widać powyżej, jądro, znane również jako macierz jądra, jest funkcją pomiędzy, a jej rozmiar, tutaj 3, jest rozmiarem jądra (gdzie szerokość jądra jest równa wysokości jądra).
Zauważ, że jądro niekoniecznie musi być symetryczne i możemy to sprawdzić, cytując ten tekst z dokumentu Conv2D w Tensorflow :
kernel_size: Liczba całkowita lub krotka / lista 2 liczb całkowitych, określająca wysokość i szerokość okna splotu 2D. Może być pojedynczą liczbą całkowitą określającą tę samą wartość dla wszystkich wymiarów przestrzennych.
Ale zwykle po prostu wyrównujemy szerokość i wysokość, a jeśli nie, rozmiar jądra powinien być krotką 2. Jądro może być niesymetryczne, na przykład w Conv1D (patrz ten przykład , a rozmiar jądra może być większy niż 2 liczby, na przykład (4, 4, 3) w przykładzie poniżej Conv3D :