facebookresearch / EGG

EGG: Emergence of lanGuage in Games
MIT License
286 stars 99 forks source link

Persisting interactions #84

Closed eugene-kharitonov closed 4 years ago

eugene-kharitonov commented 4 years ago

We start storing more details about sender->receiver communication: messages, message lengths, receiver outputs, all inputs. As a result, we would be able to analyse the emergent protocol by passing inputs to the game and running post-analysis within the Callback interface. While before, the only way for doing that would be to re-implement agent interaction in a separate entity (as we do now in language bottleneck, compositionality_vs_generalization, and external_game).

Next, since now Game is responsible for collecting interactions, it has more freedom to encapsulate complex behaviours (sampling agents from populations, multi-hop interactions etc).

eugene-kharitonov commented 4 years ago

TODO: [x] un-breaking Tensorboard support [ ] make sure no output changes in any game (*) [x ] unbreak current protocol analysis tools Games were pre-broken 😩: [x] summation, [x] object game Double-check: [x] external_game

Actual changes to the protocol analysis functions in language_bottleneck and compositionality_vs_generalization would come in a separate PR. (*) I will introduce a larger change (averaging not per batch, but by-example), which will affect the results of all games. To avoid the mess, I will increment the EGG version with that.