I would like to bring up a point regarding the application of on-policy algorithms, such as REINFORCE, to contextual bandit problems using data collected from other policies.
Here are my thoughts:
In a contextual bandit setting, the goal is to choose the action that maximizes the immediate reward given the current context. Unlike full reinforcement learning problems, there is no concern for future rewards or transitions between states.
My thought is that the focus on immediate rewards aligns well with the assumption that the policy used to collect the data may not play a role as in more complex RL settings involving state transitions and future rewards and thus, data collected from any policy can be used to update the policy being optimized.
However, on-policy algorithms like REINFORCE typically require data collected from the same policy that is being optimized. This ensures that the updates are directly related to the policy’s performance.
On the other hand, in REINFORCE, the policy is updated by making the "good" actions, the ones with the higher relative returns, more probable. In full RL context the returns are the sum of the cumulative rewards produced by following the policy that is being optimized. But, in contextual bandit context we only have immediate rewards and thus it is not necessary to use data collected by the policy being optimized since we do not have future rewards.
However, the primary concern I have with using off-policy data in on-policy algorithms is that the data may not accurately reflect the performance of the current policy being optimized and introduce potential biases and inaccuracies.