**Q-learning** uses a table to store all state-action pairs. Q-learning is a model-free RL algorithm, so how could there be the one called **Deep Q-learning** as `deep` means using DNN; or maybe the state-action table (Q-table) is still there but the DNN is only for input reception (eg. images)? Deep Q-network seems an implementation of Deep Q-learning, and Q-network seems the short for Deep Q-network. **Q-learning**, **Deep Q-learning**, and **Deep Q-network**, what are the differences? May be there a comparison table between these 3 terms?