[arXiv 2013] Playing Atari with Deep Reinforcement Learning
Paper url: https://arxiv.org/pdf/1312.5602.pdf
Author and affiliation

Introduction
Q-learning ์ฌ๋ก์์ ์ธ๊ธํ์๋ฏ์ด ๊ณ ์ฐจ์์ state-action space์์ table ๊ธฐ๋ฐ์ ๊ฐํํ์ต์ ์ ์ฉํ ์ ์๊ฑฐ๋ ๋ง์ ์์ memory resource๋ฅผ ํ์๋กํ๊ธฐ ๋๋ฌธ์ ์ ํฉํ์ง ์๋ค. ์ด๋ฅผ ์ํด ์ค์  q-value๋ฅผ ๋์ถ ํ table์ ์ ์ฅํ๋ ๋ฐฉ์์ ์ฌ์ฉํ์ง ์๊ณ ํน์  ํจ์(e.g. linear combination, decision tree, support vector machine)๋ฅผ ์ด์ฉํ์ฌ ๊ทผ์ฌํ๋ ๋ฐฉ๋ฒ์ด ๋ฑ์ฅํ์๋ค. ๋ค์ํ ํจ์๋ฅผ ํตํด์ q-value๋ฅผ ๊ทผ์ฌํ ์ ์์ผ๋ ๋ณธ ๋ ผ๋ฌธ์ด ๋ฐํ๋๋ ์์ ๊ณผ ๋ง๋ฌผ๋ ค ์ฌ๋ฌ task (ํนํ computer vision)์์ ๋๊ฐ์ ๋ณด์ด๋ neural network์ด ์ฃผ๋ก ์ฌ์ฉ๋๋ฉฐ ์ด๋ ์ฌ์ธต ๊ฐํํ์ต(deep reinforcement learning)์ ๊ฐ๋ ์ ๋๋ฆฌ ์๋ฆฌ๊ฒ ๋์๋ค.
๋ณธ ๋ ผ๋ฌธ์ 2013๋  arXiv preprint ํ ์ธ๋ถ ๋ด์ฉ์ ์ถ๊ฐํ์ฌ 2015๋  Nature์ ๊ฒ์ฌ [1]๋ ๋ฐ ์๋ค. ๋ ผ๋ฌธ์์ ์ ์๋ deep q-network (DQN)์ ๊ฐ์น ๊ธฐ๋ฐ ๊ฐํํ์ต(value-based reinforcement learning)์ ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์๋ฆฌ ์ก๊ณ ์๋ค. Figure 02๋ Atari-Breakout์ ํ๋ ์ดํ๋ DQN agent์ ๋ชจ์ต์ ๋ณผ ์ ์์ผ๋ฉฐ ์ฝ 400๋ฒ์ ํ์ต ํ์(episode) ํ์๋ ์ฌ๋์ด ํ๋ ๊ฒ๊ณผ ์ ์ฌํ ์ฑ๋ฅ์ ๋ณด์ธ๋ค. ๋ ๋๋ผ์ด ์ ์ 600๋ฒ์ ํ์ต์ ๊ฐ์ง agent๋ ์ฌ๋๋ ์๊ฐํ๊ธฐ ํ๋ ์ ๋ต์ ํฐ๋ํ๋๋ฐ, ํ์ชฝ์ ๋ฒฝ๋์ ๋ซ์ ํ ๊ณต์ ๊ทธ ์๋ก ๋ณด๋ด์ ์ต์ํ์ ์์ง์์ผ๋ก ๋ง์ ๋ฒฝ๋์ ๊นจ๋ ๋ฐฉ๋ฒ์ด ๊ทธ๊ฒ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ฌํ agent๋ ์ด๋ป๊ฒ ๋ง๋ค ์ ์์๊น? DQN์ ์ค๋ช ํ๊ธฐ์ ์์ neural network๋ฅผ ์ฌ์ฉํ์ฌ q-value๋ฅผ ๊ทผ์ฌํ๋ ๊ฐ์ฅ ๊ธฐ์ด์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ์์๋ณด์.
Q-network algorithm
DQN์ ๊ฐํํ์ต์ neural network๋ฅผ ์ ๋ชฉ์ํจ ์ต์ด์ ์๊ณ ๋ฆฌ์ฆ์ด ์๋๋ค. ๊ธฐ์กด์ neural network ๊ธฐ๋ฐ์ ์ฌ๋ฌ ์๋๋ค์ด ์์๊ณ ๊ฐํํ์ต์๋ ์ ๊ฒฝ๋ง์ด ์ ํฉํ์ง ์๋ค๋ ์๊ฒฌ์ด ๋ค์์๋ค. ๊ธฐ์กด์ ๋ฐฉ๋ฒ์ ์ด๋ค ๋ฌธ์ ์ ์ด ์์์๊น? ์ฐ์ q-value๋ฅผ ๊ทผ์ฌํ๋ network๋ state๋ฅผ input์ผ๋ก ๋ฐ๊ณ action์ ๋ํ q-value๋ฅผ output์ผ๋ก ์ผ๋๋ค. ๊ทธ๋ฆผ์ผ๋ก ํํํ๋ฉด Figure 03๊ณผ ๊ฐ๋ค.

Neural network๋ฅผ ํ์ตํ๊ธฐ ์ํด์๋ ๋ชจ๋ธ์ ์์ธก๊ฐ๊ณผ ์ ๋ต์ด ํ์ํ๋ค. ์์ธก๊ฐ์ input state๋ฅผ feed forwardํ๋ฉด ๊ตฌํ ์ ์๊ณ ์ ๋ต์ ๋ฌด์์ด ๋ ๊น? ๋ณต์กํ๊ฒ ์๊ฐํ ํ์๊ฐ ์๋ค. Q-network algorithm์ ์์์ ๋ฐฐ์ด q-learning ์๊ณ ๋ฆฌ์ฆ์ neural network๋ก ์ฎ๊ธฐ๋ ๊ณผ์ ์ ๋ถ๊ณผํ๋ค ๊ฒ์ ์์ผ๋ฉด ์๋๋ค. Q-learning์์ q-value๋ฅผ ๊ฐฑ์ ํ ๋ ๋ค์ ์์ ์ฌ์ฉํ์๋ค.
์ ์์์ ๊ฐฑ์ ์ ๋์(q-target)์ ์ด๋ฉฐ q-network algorithm๋ ์ด์ ๋์ผํ๋ค. Q-network ์๊ณ ๋ฆฌ์ฆ์ ํ์ต ๋์(q-target)์ notation์ ๋ค์๊ณผ ๊ฐ๋ค.
Q-target์ ๋ํ notation์ ํ์ธํด๋ณด๋ฉด, next state๊ฐ ์ข ๋ฃ ์ํ(terminal state)์ผ ๊ฒฝ์ฐ๋ ๋ณด์์ target์ผ๋ก, non-terminal state๋ผ๋ฉด q-learning๊ณผ ๋์ผํ๊ฒ ๋ณด์ + ๊ฐ๊ฐ๋ ๋ค์ ์ํ์ maximum q-value๋ฅผ target์ผ๋ก ์ผ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ํ ๊ฐ์ง ๋ค๋ฅธ ์ ์ q-target์ maximum q-value ๋ํ q-network๋ก ์ถ์ ๋ ๊ฐ์ด๋ผ๋ ์ฌ์ค์ด๋ค.
Q-network ์๊ณ ๋ฆฌ์ฆ์ q-target๊ณผ state๋ฅผ feed forward ํ์ ๋ ์ถ๋ ฅ๋๋ ์์ธก๊ฐ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ์ค์ด๋ ๋ฐฉํฅ์ผ๋ก ํ์ต์ ์งํํ๋ค. ์ด๋ ์ผ๋ฐ์ ์ธ regression task๋ฅผ ํ ๋์ ๋์ผํ๊ฒ mean squared error (MSE)๋ฅผ ์ค์ด๋ ๊ฒ๊ณผ ๋์ผํ๋ค. Q-network ์๊ณ ๋ฆฌ์ฆ์ ๋ชฉ์ ํจ์๋ฅผ ์ ์ผ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
ํ์ฌ ์์ ์ Q-value์ ๋ค์ ์์ ์ q-target์ด neural network์ output์ด๋ผ๋ ์ฌ์ค์ ์ ์ธํ๋ฉด q-learning agent์ 100% ๋์ผํ๋ค. Q-network ์๊ณ ๋ฆฌ์ฆ์ pseudo code๋ ๋ค์๊ณผ ๊ฐ๋ค.

Q-network agent ๋ํ ์ ํ๋ฅ ๋ก random action์, ์ ํ๋ฅ ๋ก maximum q-value ํ๋์ ์ทจํ๋ greedy policy๋ฅผ ๋ฐ๋ฅธ๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
๊ธฐ์กด Q-learning ์๊ณ ๋ฆฌ์ฆ์์ q-value๋ฅผ ์ ๊ฒฝ๋ง์ผ๋ก ๊ทผ์ฌํ๋ ๋ถ๋ถ๋ง ๋ณ๊ฒฝ๋ ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ ํ ๋จ์ ์ด ์์๊น? Q-network ์๊ณ ๋ฆฌ์ฆ์ ๋จ์ ์ด์, DQN ์ด์ ์ neural network ๊ธฐ๋ฐ์ ๊ฐํํ์ต ๋จ์ ์ ํฌ๊ฒ 3๊ฐ์ง๋ก 1) ๋ถ์กฑํ ํ์ต ๋ฐ์ดํฐ ๋ฐ ๋ฎ์ ๋ฐ์ดํฐ ํจ์จ์ฑ, 2) high correlation between samples, 3) non-stationary target problem์ ๋ค ์ ์๋ค.
- ๋ถ์กฑํ ํ์ต ๋ฐ์ดํฐ ๋ฐ ๋ฎ์ ๋ฐ์ดํฐ ํจ์จ์ฑ 
์ผ๋ฐ์ ์ผ๋ก neural network๋ ํ์ต ๋ฐ์ดํฐ๊ฐ ๋ง์ supervised, unsupervised learning์ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด๋ค. ๊ฐํํ์ต์์ ์๊ฐ ์ฐจ ํ์ต(temporal difference learning, TD)์ ๊ฒฝ์ฐ ํ๋ฒ update์ ์ฌ์ฉํ transition์ ๋ค์ ์ฌ์ฉํ์ง ์๋๋ค. ์ด ๋๋ฌธ์ neural network๋ฅผ ํ์ต์ํค๊ธฐ์ ์ถฉ๋ถํ ๋ฐ์ดํฐ๋ฅผ ํ๋ณดํ๊ธฐ ํ๋ค๋ฉฐ ๊ณผ๊ฑฐ์ ์ข์ transition์ด ํ๋ฐ๋๋ ๋จ์ ์ด ์๋ค.
- High correlation between samples 
๊ฐํํ์ต์ ํ์ต ๋ฐ์ดํฐ์ ํด๋นํ๋ transition์ time-step ๊ฐ correlation์ด ๊ต์ฅ์ด ๋๋ค. ์ด๋ ์ง์  transition์์ action์ ์ํด ํ์ฌ ๋ฐ ๋ค์ transition์ด ๊ฒฐ์ ๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ผ์์ํ์์ ์ ๋  ๋ฉ๋ด๋ฅผ ๊ณ ๋ฅด๋ ๋ฐ ์์ด ์ ์ฌ, ํน์ ์ด์  ์ ๋ ์ ๋จน์๋ ๋ฉ๋ด๊ฐ ์ํฅ์ ์ฃผ๋ ๊ฒ๊ณผ ์ ์ฌํ๋ค. Sample ๊ฐ correlation์ด ๋์ ๊ฒฝ์ฐ network๊ฐ ๊ฑฐ์ณ์จ transition ์์ ๋นํด ์ ์๋ฏธํ ํ์ต๋์ด ๋ง์ง ์๊ฑฐ๋์(์ ์ฌํ sample, ๋น์ทํ action, ๋ฎ์ error), ์ด๊ธฐ transition์์ ์ ํํ action์ ์ํด ์์ผ๋ก์ sample๋ค์ด ์ข ์๋๋ ํ์์ด ๋ฐ์ํ๋ค. ๋ฐ๋ผ์ global optimum์ ๋๋ฌํ์ง ๋ชปํ๊ณ local minimum์ ๋น ์ง ์ํ์ด ๋ฐ์ํ๋ค.
- Non-stationary target problem 
๋งค time-step ๋ง๋ค q-network๋ฅผ updateํ๋ ์ํฉ์ ์๊ฐํด๋ณด์. ์์ q-network ์๊ณ ๋ฆฌ์ฆ์ ๋์ผํ network๋ฅผ ์ด์ฉํ์ฌ q-target๊ณผ q-value๋ฅผ ๊ทผ์ฌํ๋ค๊ณ ์ค๋ช ํ์๋ค. ์ฐ๋ฆฌ๋ ์ต์ ์ q-value๋ฅผ ๊ทผ์ฌํ๊ธฐ ์ํด์ q-network๋ฅผ ๊ฐฑ์ ํ๊ฒ ๋๋๋ฐ, ๋์ผํ network๋ฅผ ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ์ ํน์ฑ์ network ๊ฐฑ์ ์ฃผ๊ธฐ์ ๋ฐ๋ผ์ q-target์ ๊ทผ์ฌ๊ฐ ๋ํ ๋ณํ๊ฒ ๋๋ค. ์ฆ ์ ๋ฐ์ดํธ ๋์์ด ๋๋ q-target์ด ๊ณ ์ ๋์ด ์์ง ์๊ณ ๊ฐฑ์ ํ ๋๋ง๋ค ๊ฐ์ด ๋ฌ๋ผ์ง๋ ํ์์ด ๋ฐ์ํ๋ค. ์ด๋ฅผ non-stationary target problem์ด๋ผ ์นญํ๋ฉฐ ํํ ์์ง์ด๋ ๊ณผ๋ ์ ํ์ด์ ๋ง์ถ๋ ๊ฒ์ผ๋ก ๋น์ ํ๋ค.
์ 3๊ฐ์ง ๋ฌธ์ ๋ ๋น๋จ q-network ์๊ณ ๋ฆฌ์ฆ์ ํ๊ณ ๋ฟ๋ง ์๋๋ผ ๊ฐํํ์ต์์ neural network์ ํ๊ณ๋ก ๋ฐ์๋ค์ฌ์ง๊ณ ์์๋ค. DQN์ ๋น๊ต์  ๊ฐ๋จํ idea๋ฅผ ํตํด ์ด๋ฅผ ํด๊ฒฐํ์๋๋ฐ ๋ค์ ์ ์ ํตํด์ ์์๋ณด๋๋ก ํ์.
Deep q-network
RL-background์ ์ทจ์ง์ ๋ง์ถ์ด ์ธ๋ถ์ ์ธ preprocessing ๊ณผ์ ์ ์๋ตํ๊ณ 3๊ฐ์ง ๋จ์ ์ ์ด๋ป๊ฒ ๊ฐ์ ํ์๋์ง ์ค์ ์ ์ผ๋ก ์์๋ณด์.
Experience replay
DQN์ ์์ ์ธ๊ธํ 3๊ฐ์ง ๋จ์  ์ค 1) ๋ถ์กฑํ ํ์ต ๋ฐ์ดํฐ์ ๋ฎ์ ๋ฐ์ดํฐ ํจ์จ์ฑ, 2) high correlation between samples ๋ฌธ์ ๋ฅผ replay buffer์ ๋์ ์ผ๋ก ํด๊ฒฐํ์๋ค. ์ด๋ฅผ experience replay๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ, agent๊ฐ ๋งค time-step ๋ง๋ค ํ๋ํ transition <state, action, reward, next state> tuple์ buffer์ ์ ์ฅ ํ ๊บผ๋ด์ฐ๋ ๋ฐฉ์์ด๋ค. Replay buffer๋ first in first out ํํ๋ก ๊ธฐ๋ก๋๋ฉฐ ์ฌ์ฉ์๊ฐ ์ค์ ํ ํ์ต ์ฃผ๊ธฐ๋ง๋ค buffer์ ์ ์ฅ๋ transition์ random samplingํ์ฌ network๋ฅผ ํ์ตํ๋ค. ๋์ํ ํ๋ฉด Figure 05์ ๊ฐ๋ค.

Figure 05์์ ํฐ ํ์ดํ์ ๊ฒฝ์ฐ environment์ ์ํธ์์ฉํ๋ path๋ฅผ ๋ปํ๊ณ ์ค์ ํ์ดํ์ ๊ฒฝ์ฐ CNN ํ์ต์ ์ฌ์ฉ๋๋ transition path๋ฅผ ๋ปํ๋ค.
Environment์ ์ํธ์์ฉํ๋ transition๋ค์ replay buffer์ ์ ์ฅํ๋ ๊ฒ์ ํตํด ๋ถ์กฑํ ํ์ต ๋ฐ์ดํฐ ์์ ๋ณด์ถฉํ ์ ์๋ค. ๋ํ CNN์ ํ์ตํ ๋ buffer๋ก ๋ถํฐ random sampled transition์ ํ์ฉํจ์ผ๋ก์จ sample๊ฐ ๋์ correlation ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค.
Fixed q-target
Non-stationary target problem์ q-target๊ณผ q-value๋ฅผ ๋์ผํ network๋ก ์ถ์ ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ์๋ค. ์ ์๋ค์ ์ด๋ฅผ ๋ถ๋ฆฌํ์ฌ ๊ฐ๊ฐ์ ๋ฐ๋ก ์ถ์ ํ๋๋ก ๋ ๊ฐ์ network๋ฅผ ๋ ์ผ๋ก์จ ํด๊ฒฐํ์๋ค. Q-target์ ์ถ์ ํ๋ network๋ฅผ target network () ๋ก ๋ถ๋ฅด๋ฉฐ ์ผ์  ์ฃผ๊ธฐ๋ง๋ค q-value๋ฅผ ๊ทผ์ฌํ๋ network ()์ ๊ฐ์ค์น๋ฅผ ๋ณต์ฌํ์ฌ ์ฌ์ฉํ๋ค. ๋ง์ฝ ๋งค batch๋ง๋ค q-value๋ฅผ ๊ทผ์ฌํ๋ network๋ฅผ ๊ฐฑ์ ํ๊ณ , 32 batch ๋ง๋ค target network๋ก ๊ฐ์ค์น๋ฅผ ๋ณต์ฌํ๋ฉด Figure 06๊ณผ ๊ฐ์ ํํ๋ฅผ ๋๋ค.

์ด์ ๊ฐ์ด ๋ ๊ฐ์ network๋ฅผ ๋๊ณ ๊ฐ๊ฐ q-target๊ณผ q-value๋ฅผ ๊ทผ์ฌํจ์ผ๋ก์จ non-stationary target problem์ ํด๊ฒฐํ ์ ์๋ค.
์ ๋ฆฌํ๋ฉด DQN์ replay buffer์ ๋์ (experience replay)๊ณผ q-value๋ฅผ ์ถ์ ํ๋ network์ ๋ ๋ฆฝ๋ q-target network๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ๊ธฐ์กด q-network ์๊ณ ๋ฆฌ์ฆ์ ๋จ์ ์ ๊ฐ์ ํ ์ ์์๋ค. ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๋น๊ต์  ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ๋ค๋ ์๊ฐ์ด ๋ค์ง ์๋๊ฐ? DQN์ pseudo code๋ ๋ค์๊ณผ ๊ฐ๋ค.

Q-network pseudo code์ ๋ฌ๋ฆฌ target์ ์ถ์ ํ๋ network์ q-value๋ฅผ ๊ทผ์ฌํ๋ network๊ฐ ๋ค๋ฅธ ๊ฒ์ ํ์ธํ ์ ์์ผ๋ฉฐ ์ผ์  ์ฃผ๊ธฐ๋ง๋ค target network๋ก ๊ฐ์ค์น๋ฅผ ๋ณต์ฌํ๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค.
Results
DQN์ Atari ํ๊ฒฝ์ ๋๋ถ๋ถ์ ๊ฒ์์์ ์ฌ๋์ ์ฑ๋ฅ์ ๋๊ฑฐ๋ ๊ทธ์ ์คํ๋ ์ฑ๋ฅ์ ๋ณด์๋ค. Figure 08์ 2015 Nature์ ๊ฒ์ฌ๋ ๋ ผ๋ฌธ์ ๊ธฐ๋ก๋ ์ฑ๋ฅ ๋ํ์ด๋ค.

์์ DQN์ experience replay์ fixed q-target์ ํตํด ๋์ ์ฑ๋ฅ์ ๋ฌ์ฑํ ์ ์์๋ค๊ณ ๋ฐํ๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ contribution์ ์ด๋์ ๋ ๋ ๊น? ์ด์ ๋ํ ablation study๋ Figure 09์ ๊ฐ๋ค.

์ ์ผ ์ฐ์ธก์ด ๊ธฐ์กด์ q-network algorithm์ ํด๋นํ๋ค. Breakout์ ๊ธฐ์ค์ผ๋ก fixed q-target์ q-network algorithm ๋๋น ์ฝ 3๋ฐฐ์ ์ฑ๋ฅ ํฅ์์, experience replay๋ ์ฝ 80๋ฐฐ์ ์ฑ๋ฅ ํฅ์์ ๋ณด์ฌ์ค๋ค. ๋ง์ง๋ง์ผ๋ก ์ด ๋์ ๋ชจ๋ ํฉํ DQN์ ์ฝ 100๋ฐฐ์ ์ฑ๋ฅ ํฅ์์ ๋ณด์ฌ์ค๋ค.
DQN์ ์์ ์ธ๊ธํ์๋ฏ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๋น๊ต์  ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ํ deep reinforce-ment learning (์ฌ์ธต ๊ฐํํ์ต)์ ํฌ๋ฌธ์ ์ด์ด์ ํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ธฐ์ฌํ๋ ๋ฐ๊ฐ ์ปค Nature์๋ ๋ฑ์ฌ๋์๋ค. DQN์ด ์ฒ์ ๋์จ ์ง 8๋ ์ฌ์ ์๊ฐ์ด ํ๋ฅธ ๋งํผ ์ด๋ฅผ ๊ฐ์ ํ ์๊ณ ๋ฆฌ์ฆ์ด ๋ง์ด ๋ฑ์ฅํ์๋ค.
์ฌ๊ธฐ๊น์ง ์ฝ์ ๋ ์๋ค์ ๊ณผ์ฐ DQN์ ์ด๋ค ์ ์ ๋ ๊ฐ์ ํ ์ ์์๊ฒ์ผ๋ก ๋ณด์ด๋๊ฐ? ๋ค์ ์ฅ์ผ๋ก ๋์ด๊ฐ๊ธฐ ์ ์ ์ ๊น์ ์๊ฐ์ ๊ฐ์ ธ๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
Reference
[1] Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A. A., Veness, J., Bellemare, M. G., ... & Hassabis, D. (2015). Human-level control through deep reinforcement learning. nature, 518(7540), 529-533.
ํจํค์ง ์์ด R๋ก ๊ตฌํํ๋ ์ฌ์ธต ๊ฐํํ์ต [yes24] [๊ต๋ณด๋ฌธ๊ณ ]
Last updated
Was this helpful?