# What is the role of embeddings in a deep recurrent Q network?

When describing the model architecture for a deep recurrent q network, the authors of the paper Learning to Communicate with Deep Multi-Agent Reinforcement Learning

each agent consists of a recurrent neural network (RNN), unrolled for $$T$$ time-steps, that maintains an internal state $$h$$, an input network for producing a task embedding $$z$$, and an output network for the Q-values and the messages $$m$$. The input for agent $$a$$ is defined as a tuple of $$\left(o_{t}^{a}, m_{t-1}^{a^{\prime}}, u_{t-1}^{a}, a\right)$$.

Can someone explain, in the context of RNNs, what the purpose of the embedding layer is here?

Implementation can be found here.