[Deep Learning]vanila RNNからパラメータ数を取得する


ソース:https://stackoverflow.com/questions/50134334/number-of-parameters-for-keras-simplernn
from keras.models import Sequential
from keras.layers import SimpleRNN
model = Sequential()
model.add(SimpleRNN(4, input_shape=(2,3)))
# model.add(SimpleRNN(4, input_length=2, input_dim=3))와 동일함.
model.summary()
Model: "sequential_2"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
simple_rnn_2 (SimpleRNN)     (None, 4)                 32        
=================================================================
Total params: 32
Trainable params: 32
Non-trainable params: 0
_________________________________________________________________
Total params = recurrent_weights + input_weights + biases= (num_units*num_units)+(num_features*num_units) + (1*num_units)= (num_features + num_units)* num_units + num_units結果、( unit 개수 * unit 개수 ) + ( input_dim(feature) 수 + unit 개수 ) + ( 1 * unit 개수)上のtotal paramsを参照して求めると、
(4)+(34)+(1*4)=32個.