2016-03-04 9 views

Odpowiedz

12

Zastanów się, czy całkowicie połączyć warstwę jako proste mnożenie macierzy z 1xN i NxM, aby uzyskać wynik wymiaru 1xM.

Rozważmy, że przekazujemy dane wymiaru, powiedzmy 56x56x3, jako dane wejściowe warstwy w pełni połączonej. Niech nieznany jest wymiar wagi NxM. Rozważmy, ustawiamy num_ouput = 4096.

Aby obliczyć te dane, w pełni połączona warstwa przekształca dane wejściowe o rozmiarze 56x56x3 jako 1xN, 1x(56x56x3) = 1x9408.

Zatem

N = 9408

M = num_output = 4096

W efekcie, że kończy się robi (1x9408)matrix - (9408x4096) matrix mnożenia.

Jeśli wartość num_output została zmieniona, aby powiedzieć 100, zakończyłoby się to mnożeniem (1x9408)matrix - (9408x100) matrix.

Zwiększenie wartości num_ouput spowoduje zwiększenie liczby parametrów wagi, których model musi się nauczyć.

+1

Dzięki. Bardzo jasne wyjaśnienie !!! –

+0

Wydaje mi się, że równie dobrze możesz odpowiedzieć na to pytanie. Byłoby to bardzo doceniane. [link] (http://stackoverflow.com/questions/40483458/caffe-reshape-upsample-fully-connected-layer) – thigi