ufal / neuralmonkey

An open-source tool for sequence learning in NLP built on TensorFlow.
BSD 3-Clause "New" or "Revised" License
410 stars 106 forks source link

Attentive interface #802

Open varisd opened 5 years ago

varisd commented 5 years ago

Moved attention-related attributes/methods to a separate class Attentive. Every decoder that requires computing attention against the encoders should inherit this class.

jlibovicky commented 5 years ago

A rekuretní dekodér není attentive?

varisd commented 5 years ago

Rekurentni je attentive, ale ten tedka predelavam v dalsim PR, tak aby pouzival stejnou implementaci enkoder attentionu jako transformer. V budoucnu to bude chtit doresit attention_histories a nebo to zpetne narobovat na ty attention objekty.

varisd commented 5 years ago

Jak se k tomu má encoders/attentive.py ? Jedno z toho bych přejmenoval (spíš ten enkodér) a taky bych tomu enkodéru oddědil věci, který jsou tady vyčleněný, pokud to dává smysl.

Vubec nesouvisi. Ono je to tezky: Ondrovo attention_heads jsou neco jineho nez heads v multi_head_attentionu. Nejbliz by se to dalo popsat jako: Ondra udela klasik self-attention (kde queries je prazdny; nedela scaled_dot_product, ale projekce, tak ze to jde), pak dane vektory secte v case a nakonec reshapne z shape(t) na shape(t/h, h).

Tezky je na tom to, ze bychom museli zmenit jeho terminy, aby to nevnaselo zmatek, ale pak by to tolik nesedelo na terminy v tom jeho clanku.

Nechal bych to jako TODO pro refactor attentionu / attention objektu.

jlibovicky commented 5 years ago

IMHO stačí přejmenovat ten Ondrovo soubor nebo třídu. Něco jako self-attentive temporal encoder nebo tak něco.

varisd commented 5 years ago

Jo, neco vymyslim.

Edit: Prejmenovano na Structured

jlibovicky commented 5 years ago

Nejvdřív je potřeba pořešit #796, na kterým je tohleto naroubovaný.

jindrahelcl commented 5 years ago

Takže #796 je na #786 a tohle je na obojím? :-)

jlibovicky commented 5 years ago

796 je nezávsilý. #786 z hodo jde vyrebasovat pryč jednoduše.

varisd commented 5 years ago

ping opravil jsem tests/classifier, tak ted uz by to snad melo byt vse, ne?

jindrahelcl commented 5 years ago

Vypadá to, že je to špatně narebasovaný, protože se jako součást ukazuje tvuj PR (#818) řešící to, co jsem udělal v #819

varisd commented 5 years ago

Rebase opraven.

jindrahelcl commented 5 years ago

ten pull request je nastavenej na mergování do branche autoregressive_refactor. Nechceš mergovat do mastera?