Keras: встраивание в TimeDistributed - PullRequest
0 голосов
/ 30 марта 2019

Я работаю с этой реализацией и иерархической сетью внимания к классификации документов. Аналогично автору, я хочу использовать слой Embedding с обучаемыми параметрами. Проблема в том, что слой TimeDistributed (строка 186) будет воспроизводить обучаемые параметры. Это приводит к огромному набору параметров для обучения. В задаче, над которой я работаю, я получаю более 500M только на этот слой. Если я отключаю обучаемое условие до False, то число обучаемых параметров уменьшается до нормальных значений.

Я считаю, что проблема в том, что слой TimeDistributed копирует матрицу встраивания по всей цепочке (как и должно быть). Но как я могу установить модель для использования фиксированной матрицы встраивания?

Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
main_input (InputLayer)         (None, 20, 40)       0                                            
__________________________________________________________________________________________________
time_distributed_1 (TimeDistrib (None, 20, 512)      543574704   main_input[0][0]                 
__________________________________________________________________________________________________
bidirectional_2 (Bidirectional) (None, 20, 512)      1574912     time_distributed_1[0][0]         
__________________________________________________________________________________________________
attention_with_context_2 (Atten (None, 512)          263168      bidirectional_2[0][0]            
__________________________________________________________________________________________________
dense_out_dom (Dense)           (None, 21)           10773       attention_with_context_2[0][0]  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...