Jak określić liczbę operatorów splotowych w CNN?

10

W zadaniach widzenia komputerowego, takich jak klasyfikacja obiektów, z sieciami neuronowymi o konwergencji (CNN) sieć zapewnia atrakcyjną wydajność. Ale nie jestem pewien, jak ustawić parametry w warstwach splotowych. Na przykład obraz w skali szarości ( 480x480), pierwsza warstwa splotowa może wykorzystywać operator splotowy podobny 11x11x10, gdzie liczba 10 oznacza liczbę operatorów splotowych.

Pytanie brzmi: jak określić liczbę operatorów splotowych w CNN?

Zhi Lu
źródło

Odpowiedzi:

11

Zakładam, że kiedy mówisz, że 11x11x10masz na myśli warstwę z filtrami 10, 11 x 11. Zatem liczba zwojów, które będziesz wykonywać, to po prostu 10 dyskretnych splotów 2D na filtr w banku filtrów. Powiedzmy, że masz sieć:

480x480x1    # your input image of 1 channel
11x11x10     # your first filter bank of 10, 11x11 filters
5x5x20       # your second filter bank of 20, 5x5 filters
4x4x100      # your final filter bank of 100, 4x4 filters    

Będziesz robił: wielokanałowych zwojów 2D o głębokości odpowiednio 1, 10 i 20. Jak widać głębokość każdego zwoju zmieni się w zależności od głębokości objętości wejściowej z poprzedniej warstwy.10+20+100=130

Ale założyłem, że próbujesz wymyślić, jak to porównać do jednokanałowego splotu 2D. Cóż, możesz po prostu pomnożyć głębokość każdej objętości wejściowej przez liczbę filtrów w każdej warstwie i dodać je razem. W twoim przypadku: .10+200+2000=2),210

Teraz to tylko powie Ci ile jednokanałowy 2D zwoje robisz, a nie jak obliczeniowo każdy splot jest obliczeniowa intensywność każdego splotu będzie zależeć od różnych parametrów, w tym image_size, image_depth, filter_size, swoje stride(jak daleko krok od każdej osoby filtrowanie obliczeń), liczbę posiadanych warstw puli itp.

Sabalaba
źródło