๐Learning to play piano ๋ฆฌ๋ทฐ
- ์ด ์ฐ๊ตฌ๋ ํ์ต ๋ฐฉ์์ ํ์ฉํ์ฌ ์ค์ ๋ก๋ด์ด ํผ์๋ ธ๋ฅผ ์ฐ์ฃผํ๋ ์ต์ด์ ์์คํ ์ ์ ์ํฉ๋๋ค.
- Sim2Real ๊ฐํ ํ์ต์ ํตํด ์๋ฎฌ๋ ์ด์ ์์ ์ ์ฑ ์ ํ์ต์ํจ ํ ์ค์ ๋ค์ง ๋ก๋ด์ ์ ์ฉํ์ผ๋ฉฐ, ํ์ด๋ธ๋ฆฌ๋ ์คํ ๋ชจ๋๊ฐ ๊ฐ์ฅ ํจ๊ณผ์ ์ด์์ต๋๋ค.
- ์คํ ๊ฒฐ๊ณผ, ์ด ์์คํ ์ ์ฌ๋ฌ ๊ฐ๋จํ ๊ณก์ ์ฑ๊ณต์ ์ผ๋ก ์ฐ์ฃผํ์ฌ Sim2Real ์ ๊ทผ ๋ฐฉ์์ ๊ฐ๋ฅ์ฑ์ ํ์ธํ์ต๋๋ค.
1 Brief Review
์ด ๋ ผ๋ฌธ์ ๋ก๋ด์ ์ธ๊ฐ ์์ค ์กฐ์ ๋ฅ๋ ฅ(human-level manipulation)์ ๋ฌ์ฑํ๊ธฐ ์ํ ์ค์ํ ๋์ ๊ณผ์ ์ค ํ๋๋ก, ํ์ค ์ธ๊ณ์์ ๋ก๋ด์ด ํผ์๋ ธ๋ฅผ ์ฐ์ฃผํ๋ ๋ฐ ํ์ต ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ ์ฑ๊ณต์ ์ผ๋ก ์ ์ฉํ ์ต์ด์ ์ฌ๋ก๋ฅผ ์ ์ํฉ๋๋ค. ํผ์๋ ธ ์ฐ์ฃผ๋ ์ ๋ต์ ์ด๊ณ ์ ๋ฐํ๋ฉฐ ์ ์ฐํ ์์ง์์ด ํ์ํ ๋ณต์กํ๊ณ ์ ์ด์ด ๋ง์(contact-rich) ์์ ์ ๋๋ค. ๊ธฐ์กด ์ฐ๊ตฌ๋ค์ ์ฃผ๋ก ์๋์ผ๋ก ์ค๊ณ๋ ์ ์ด๊ธฐ(hand-designed controllers)๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์์ ๋ก๋ด ํ์ต(robot learning)์ ํ๊ฐํ์ง๋ง, ๋ณธ ๋ ผ๋ฌธ์ ์ ๊ตํ ๋ค์ง(dexterous multi-finger) ๋ก๋ด ์์ ์ฌ์ฉํ์ฌ Sim2Real ์ ๊ทผ ๋ฐฉ์์ ํตํด ํ์ค ์ธ๊ณ ํผ์๋ ธ ์ฐ์ฃผ๋ฅผ ๊ตฌํํ์ต๋๋ค.
์ฐ๊ตฌ์ ํต์ฌ ๋ฐฉ๋ฒ๋ก ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋จผ์ ๊ฐํ ํ์ต(Reinforcement Learning)์ ์ฌ์ฉํ์ฌ ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์์ ๋ก๋ด์ ํผ์๋ ธ ์ฐ์ฃผ ์ ์ฑ (policy)์ ํ๋ จ์ํต๋๋ค. ํ๋ จ๋ ์ ์ฑ ์ ํ์ค ์ธ๊ณ ๋ก๋ด์ ๋ฐฐํฌ๋ฉ๋๋ค. Sim2Real ๊ฐญ์ ๊ทน๋ณตํ๊ธฐ ์ํด ์๋ฎฌ๋ ์ด์ ๋งค๊ฐ๋ณ์(์: ๊ด์ ๋ํ, ๋ง์ฐฐ ๊ณ์, ์คํ๋ง ๊ฐ์ฑ ๋ฑ)์ ๋ํ Domain Randomization ๊ธฐ๋ฒ์ ํ์ฉํ์ต๋๋ค.
ํ๋์จ์ด ๊ตฌ์ฑ์ผ๋ก๋ UFACTORY xArm7 ๋ก๋ด ํ์ Allegro hand v4.0 ์ผ์ ๋ชจ๋ธ์ ์ฅ์ฐฉํ์ต๋๋ค. Allegro ์์ ๊ฐ ์๊ฐ๋ฝ์ 4๊ฐ์ ๊ด์ ์ ๊ฐ์ง๋ฉฐ ์ด 16๊ฐ์ ๊ด์ ์ด ์์ง๋ง, ์์ง ๊ด์ ์ ํผ์๋ ธ ๊ฑด๋ฐ์ ๋ฟ๊ธฐ ์ด๋ ค์ ์ฌ์ฉํ์ง ์์์ต๋๋ค. ๋ฐ๋ผ์ ์ด 12๊ฐ์ ๊ด์ ์ด ํ์ฑ ์ํ์ ๋๋ค. ๊ฐ ์๊ฐ๋ฝ ๋์ ํ์ค Allegro ์๊ฐ๋ฝ ๋๋ณด๋ค ์์ 3D ํ๋ฆฐํ ๋ ์๊ฐ๋ฝ์ผ๋ก ๊ต์ฒดํ์ฌ ํ ๋ฒ์ ํ๋์ ๊ฑด๋ฐ๋ง ์ ํํ ๋๋ฅผ ์ ์๋๋ก ํ์ต๋๋ค. ํผ์๋ ธ๋ก๋ M-Audio Keystation 49e MIDI ํค๋ณด๋๋ฅผ ์ฌ์ฉํ์ผ๋ฉฐ, ์ด ํค๋ณด๋๋ ๊ฑด๋ฐ ๋๋ฆ ๋ฐ ๋ผ๊ธฐ ์ด๋ฒคํธ๋ฅผ MIDI ์ ํธ๋ก ์ ์กํ์ฌ ๋ก๋ด์ด ํ์ฌ ๋๋ฆฐ ๊ฑด๋ฐ ์ํ๋ฅผ ๊ด์ฐฐํ ์ ์๋๋ก ํฉ๋๋ค (๋ถ๋ถ์ ์ผ๋ก ๋๋ฆฐ ์ํ๋ ๊ด์ฐฐ ๋ถ๊ฐ).
์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์ Robopianist ํ๊ฒฝ [18]์ ๊ธฐ๋ฐ์ผ๋ก Mujoco ๋ฌผ๋ฆฌ ์์ง [13]๊ณผ dm_control [14] ๋ํผ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋์์ต๋๋ค. ์๋ฎฌ๋ ์ด์ ๋ชจ๋ธ์ ํ์ค ์ธ๊ณ์ ์ ์ฌํ๊ฒ 12๊ฐ์ ํ์ฑ ๊ด์ ๊ณผ ํผ์๋ ธ์ ํํํ๊ฒ ์์ ์์ง์ผ ์ ์๋ ์ฌ๋ผ์ด๋ ๊ด์ ์ ๊ฐ์ง Allegro ์, ๊ทธ๋ฆฌ๊ณ 49๊ฐ์ ๊ฑด๋ฐ์ ๊ฐ์ง ํผ์๋ ธ ๋ชจ๋ธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๋ฌธ์ ๋ ํ๋ฅ ์ ๋ถ๋ถ ๊ด์ธก ๋ง๋ฅด์ฝํ ๊ฒฐ์ ๊ณผ์ (Stochastic, Partial Observable MDP)์ผ๋ก ๋ชจ๋ธ๋ง๋ฉ๋๋ค. * ์ํ ๊ณต๊ฐ(S)๊ณผ ์ ์ด ํ๋ฅ (p)์ Mujoco ๋ฌผ๋ฆฌ ์์ง์ ์ํด ์ ์๋ฉ๋๋ค. * ํ๋ ๊ณต๊ฐ(A)์ 13๊ฐ์ ์ฐ์์ ์ธ ๊ฐ์ ๋๋ค. ๋ก๋ด ์์ 12๊ฐ ๊ด์ ๊ฐ๊ฐ์ ๋ํ ํ๋๊ณผ ํผ์๋ ธ์ ํํํ ์๋ชฉ ์ด๋์ ์ํ 1๊ฐ์ ํ๋์ ๋๋ค. * ๊ด์ธก ๊ณต๊ฐ(O)์ 356์ฐจ์์ ๋๋ค. ์ฌ๊ธฐ์๋ Allegro ์์ ์ฌ์ฉ๋ ๊ด์ ์์น, ํํ ์ด๋ ์ฌ๋ผ์ด๋ ์์น, ํ์ฌ ๋๋ฆฐ ๊ฑด๋ฐ ์ํ(์-ํซ ์ธ์ฝ๋ฉ), ํ์ฌ ๋ชฉํ ๊ฑด๋ฐ(์-ํซ ์ธ์ฝ๋ฉ), ๊ทธ๋ฆฌ๊ณ ํฅํ ์ฌ๋ฌ ์๊ฐ ๋จ๊ณ์ ๋ชฉํ ๊ฑด๋ฐ๋ค(์-ํซ ์ธ์ฝ๋ฉ)์ด ํฌํจ๋ฉ๋๋ค. MIDI ํ์ค์ ์ ์ฝ์ผ๋ก ์ธํด ๊ฑด๋ฐ ์ํ๋ ์ด์ฐ์ ์ผ๋ก๋ง ๊ด์ธก ๊ฐ๋ฅํ๋ฉฐ, ์ด๋ ๊ฑด๋ฐ ์์์ ์๊ฐ๋ฝ์ ์์ง์ด๋ฉฐ ์ ๋ณด๋ฅผ ์ป๋ ๊ฒ์ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค. ๋ํ, 4๊ฐ ์๊ฐ๋ฝ ๊ตฌ์กฐ๋ก ์ธํด ์ผ๋ฐ์ ์ธ ์ธ๊ฐ ์ด์ง๋ฒ์ ์ ์ฉํ๊ธฐ ์ด๋ ค์ ์ด์ง ์ ๋ณด๊ฐ ๊ด์ธก ๊ณต๊ฐ์ ํฌํจ๋์ง ์์์ต๋๋ค.
๋ณด์ ํจ์(r_{\text{total}})๋ ๋ค ๊ฐ์ง ๊ตฌ์ฑ ์์์ ํฉ์ผ๋ก ์ ์๋ฉ๋๋ค: r_{\text{total}} = r_{\text{energy}} + r_{\text{hand position}} + r_{\text{keypress}} + r_{\text{sliding}}. * r_{\text{energy}}๋ ๋น ๋ฅธ ์์ง์, ํฐ ํ, ๋ถํ์ํ ๋จ๋ฆผ์ ์ต์ ํฉ๋๋ค. ์์์ r_{\text{energy}} = -|\tau_{\text{joints}}|^T |v_{\text{joints}}| \cdot C_{\text{energy}}์ด๋ฉฐ, \tau_{\text{joints}}๋ ๊ด์ ํ ํฌ, v_{\text{joints}}๋ ๊ด์ ์๋, C_{\text{energy}}๋ ์๋์ง ๊ณ์์ ๋๋ค. * r_{\text{hand position}}์ ์๋ฐ๋ฅ(p_{\text{palm}})๊ณผ ๋ชฉํ ๊ฑด๋ฐ ์์น(P_{\text{targets}}) ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์ค์ฌ ์์ด ๋ชฉํ ๊ฑด๋ฐ์ผ๋ก ํฅํ๋๋ก ์ ๋ํฉ๋๋ค. ์์์ r_{\text{hand position}} = \frac{1}{|P_{\text{targets}}|} \sum_{p_{\text{key}} \in P_{\text{targets}}} g(||p_{\text{key}} - p_{\text{palm}}||_2)์ด๋ฉฐ, g๋ ๊ฑฐ๋ฆฌ๋ฅผ ์ ๊ทํํ๋ ํจ์์ ๋๋ค. * r_{\text{keypress}}๋ ์ฌ๋ฐ๋ฅธ ๊ฑด๋ฐ์ ๋๋ฅด๋๋ก ์ฅ๋ คํ๋ ๊ฐ์ฅ ์ค์ํ ๋ณด์์ ๋๋ค. ์๋ฌด ๊ฑด๋ฐ๋ ๋๋ฅด์ง ์๋ ๊ฒ๋ณด๋ค ์๋ชป๋ ๊ฑด๋ฐ์ ๋๋ฅด๋ ๊ฒ์ด ๋ ๋์์ง ์์์ผ ํ๊ณ , ์๋ชป๋ ๊ฑด๋ฐ์ ๋๋ฅด๋ ๊ฒ๋ณด๋ค ์ฌ๋ฐ๋ฅธ ๊ฑด๋ฐ์ ๋๋ฅด๋ ๊ฒ์ด ๋ ์ข์์ผ ํ๋ค๋ ์์น์ ๊ธฐ๋ฐํฉ๋๋ค. ์ด๋ ๋ชฉํ ๊ฑด๋ฐ ์(k_{\text{target}}), ์๋ชป ๋๋ฆฐ ๊ฑด๋ฐ ์(k_{\text{wrong}}), ์ฌ๋ฐ๋ฅด๊ฒ ๋๋ฆฐ ๊ฑด๋ฐ ์(k_{\text{correct}}), ๋ชฉํ ๊ฑด๋ฐ์ ํ๊ท ๋๋ฆผ ์ํ(\bar{\mu}_{\text{target}}), ์๋ชป ๋๋ฆฐ ๊ฑด๋ฐ๋ค์ ๋๋ฆผ ์ํ ์งํฉ(\mu_{\text{wrong}})์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ๋ฉ๋๋ค (Appendix A ์ฐธ์กฐ): * k_{\text{target}} > 0์ผ ๋: * r_{\text{keypress}} = 0, k_{\text{wrong}} = 0 \land k_{\text{correct}} = 0 * r_{\text{keypress}} = 0.5 + 0.5 \cdot \bar{\mu}_{\text{target}}, k_{\text{wrong}} > 0 * r_{\text{keypress}} = 1 + 0.5 \cdot \bar{\mu}_{\text{target}}, k_{\text{wrong}} = 0 \land k_{\text{correct}} > 0 * k_{\text{target}} = 0์ผ ๋: * r_{\text{keypress}} = 2 \cdot (1 - \max_{\mu' \in \mu_{\text{wrong}}}\mu') * r_{\text{sliding}}์ ๊ฑด๋ฐ์ด ๋๋ฆฐ ์ํ์์ ์์ด ๋น ๋ฅด๊ฒ ์์ผ๋ก ์์ง์ด๋ ๊ฒ์ ์ต์ ํฉ๋๋ค. ์ด๋ ์ฌ๋ผ์ด๋๋ฅผ ์ด์ฉํ ๋ถ์์ฐ์ค๋ฌ์ด ์ฐ์ฃผ๋ฅผ ๋ง๊ณ , ์ธ์ ํ ๊ฑด๋ฐ์ด ๋์์ ๋๋ฆฐ ๊ฒฝ์ฐ ํจ๋ํฐ๋ฅผ ๋ ๋ฐฐ๋ก ๋ถ๊ณผํฉ๋๋ค. ์์์ r_{\text{sliding}} = -\lambda \cdot v_{\text{hand}}^2 \cdot 3์ด๋ฉฐ, \lambda \in \{0, 1, 2\}๋ ์ธ์ ๊ฑด๋ฐ ๋๋ฆผ ์ํ์ ๋ฐ๋ผ ๊ฒฐ์ ๋๊ณ v_{\text{hand}}๋ ์์ ์๋์ ๋๋ค.
๋ชจ๋ธ ํ๋ จ์๋ Soft Actor-Critic ์๊ณ ๋ฆฌ์ฆ์ธ DroQ [2]๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ํ๊ฐ ์งํ๋ก๋ Precision, Recall, F1 ์ ์(F1 = 2 \frac{\text{recall} \cdot \text{precision}}{\text{recall} + \text{precision}})๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์ด๋ ๋ชฉํ ๊ฑด๋ฐ ์ํ์ ํ์ฌ ๊ฑด๋ฐ ์ํ๋ฅผ ๋น๊ตํ์ฌ ๊ณ์ฐ๋ฉ๋๋ค. ์ ์ฑ ์ ์ ์ด ์ฃผํ์๋ 20 Hz์ ๋๋ค.
ํ์ค ์ธ๊ณ ๋ฐฐํฌ๋ฅผ ์ํด ์ธ ๊ฐ์ง ์คํ ๋ชจ๋๋ฅผ ํ ์คํธํ์ต๋๋ค: Joint Mirroring (์๋ฎฌ๋ ์ด์ ๊ด์ธก๋ง ์ฌ์ฉ), Real World Execution (ํ์ค ์ธ๊ณ ๊ด์ธก๋ง ์ฌ์ฉ), Hybrid Execution (๋๋ฆฐ ๊ฑด๋ฐ์ ํ์ค, ๊ด์ ์์น ๋ฑ์ ์๋ฎฌ๋ ์ด์ ๊ด์ธก ์ฌ์ฉ). ๋ค์ํ ๋ณต์ก์ฑ์ ๋ค ๊ฐ์ง ๊ณก(Twinkle Twinkle Little Star, C-Major Scale, D-Major Scale, Chord Progression)์ผ๋ก ์ฑ๋ฅ์ ํ๊ฐํ์ต๋๋ค.
์คํ ๊ฒฐ๊ณผ, Hybrid Execution ๋ชจ๋๊ฐ ์ ๋ฐ์ ์ผ๋ก ๊ฐ์ฅ ์ข์ ์ฑ๋ฅ์ ๋ณด์์ต๋๋ค. ์ด๋ ํ์ค ์ธ๊ณ์ ๋๋ฆฐ ๊ฑด๋ฐ ์ ๋ณด๋ฅผ ํตํด ์ค๋ฅ๋ฅผ ์์ ํ๋ฉด์๋ ์๋ฎฌ๋ ์ด์ ์์ ํ์ต๋ ์์ ์ ์ธ ๊ด์ ์์ง์์ ํ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. Domain Randomization ๊ฐ๋์ ๋ํ ๋ถ์ ๊ฒฐ๊ณผ, ์๋ฎฌ๋ ์ด์ ์ฑ๋ฅ์ ๊ฐ๋๊ฐ ์ฆ๊ฐํ ์๋ก ๋จ์ด์ง์ง๋ง, ํ์ค ์ธ๊ณ ์ฑ๋ฅ์ ์ค๊ฐ ์์ค์ ๊ฐ๋์์ ๊ฐ์ฅ ๋๊ฒ ๋ํ๋ฌ์ต๋๋ค. ์ด๋ ์ ์ ํ Domain Randomization์ด ๋ชจ๋ธ์ ํ์ค ์ธ๊ณ์ ๋ถํ์ค์ฑ์ ๋ํด ๋ ๊ฐ๊ฑดํ๊ฒ ๋ง๋ค์ง๋ง, ๋๋ฌด ๊ฐํ๋ฉด ํ์ต ์์ฒด๊ฐ ์ด๋ ค์์ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ณธ ์ฐ๊ตฌ๋ ํ์ค ์ธ๊ณ์์ ๋ก๋ด์ด ํผ์๋ ธ๋ฅผ ์ฐ์ฃผํ๋๋ก ํ์ต์ํค๋ ๊ฐ๋ ์ฆ๋ช (proof-of-concept)์ ์ฑ๊ณต์ ์ผ๋ก ์ ์ํ์ง๋ง, ๋ช ๊ฐ์ง ํ๊ณ์ ๋ ์์ต๋๋ค. ํน์ ๊ณก์ ๋ํ ์ ์ฑ ์ ์ผ๋ฐํ ๋ฅ๋ ฅ ๋ถ์กฑ(์๋ก์ด ๊ณก๋ง๋ค ์ฌํ๋ จ ํ์), ์ด๊ฐ ์ผ์์ ๋ถ์ฌ, ๋ก๋ด ์ ์์ฒด์ ๋ฏผ์ฒฉ์ฑ ๋ฐ ์์ฐ์ค๋ฌ์ด ์์ง์ ์ ์ฝ, 3D ํ๋ฆฐํ ์๊ฐ๋ฝ ๋์ ๋ฎ์ ๋ง์ฐฐ ๋ฑ์ด ์์ผ๋ฉฐ, ์ด๋ ํฅํ ์ฐ๊ตฌ๋ฅผ ํตํด ๊ฐ์ ๋ ์ ์์ต๋๋ค. ๋ํ, ํ์ฌ๋ ๋จ์ผ ์์ผ๋ก ๋น๊ต์ ๊ฐ๋จํ ๊ณก๋ง ์ฐ์ฃผํ์ง๋ง, ํฅํ ์์ ์ฐ์ฃผ(bimanual playing)๋ก ํ์ฅํ์ฌ ๋ ๋ณต์กํ ๊ณก์ ๋์ ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, ์ด ๋ ผ๋ฌธ์ Sim2Real ์ ๊ทผ ๋ฐฉ์๊ณผ Hybrid Execution ๋ชจ๋๋ฅผ ํ์ฉํ์ฌ ํ์ค ์ธ๊ณ ๋ก๋ด์ด ํผ์๋ ธ๋ฅผ ํ์ตํ๊ณ ์ฐ์ฃผํ ์ ์์์ ์ฑ๊ณต์ ์ผ๋ก ์์ฐํ์ต๋๋ค. ์ด๋ ์ ๊ตํ๊ณ ์ ์ด์ด ๋ง์ ์กฐ์ ์์ ์ ๋ํ ํ์ต ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ ์ ์ฌ๋ ฅ์ ๋ณด์ฌ์ฃผ๋ฉฐ, ํผ์๋ ธ ์ฐ์ฃผ๊ฐ ์ด๋ฌํ ์ฐ๊ตฌ๋ฅผ ์ํ ๋์ ์ ์ด๊ณ ๊ด๋ จ์ฑ ๋์ ๋ฒค์น๋งํฌ๊ฐ ๋ ์ ์์์ ์์ฌํฉ๋๋ค.
2 Detail Review
์ข์ต๋๋ค. ๋จธ์ ๋ฌ๋ ์ฐ๊ตฌ์๋ฅผ ์ํ ์์ ๊ธฐ๋ฐ์ ๋ฅ๋ฌ๋ ์ํคํ ์ฒ ๋ถ์์ ํฌํจํ ์ฌ์ธต ๊ธฐ์ ๋ฆฌ๋ทฐ ๋ธ๋ก๊ทธ ๊ธ์ ์ค๋นํ๊ฒ ์ต๋๋ค. ๋ ผ๋ฌธ *โLearning to Play Piano in the Real Worldโ*์ ํต์ฌ ๊ธฐ๋ฒ, ์์คํ ๊ตฌ์ฑ ์์, ์ํคํ ์ฒ ์ค๊ณ์ ํ์ต ์ ๋ต ๋ฑ์ ์์ธํ ๋ค๋ฃจ๊ณ , ๋ ผ๋ฌธ ๋ด ๊ทธ๋ฆผ์ ๊ทธ๋๋ก ํ์ฉํ ์ ์๋๋ก ์ง์ํ๊ฒ ์ต๋๋ค. ์ค๋น๋๋ฉด ์๋ ค๋๋ฆด๊ฒ์.
3 ์ค์ธ๊ณ ๋ก๋ด ํผ์๋ ธ ์ฐ์ฃผ ํ์ต: Learning to Play Piano in the Real World ์ฌ์ธต ๋ฆฌ๋ทฐ
Figure 1. ์ค์ธ๊ณ ๋ก๋ด ์์ ํผ์๋ ธ ์ฐ์ฃผ โ ๋ค์์ ์๊ฐ๋ฝ์ ๊ฐ์ง ๋ก๋ด ํธ๋(์ฌ์ง: Wonikโs Allegro Hand)๊ฐ ์ค์ ์ ์ ํค๋ณด๋ ๊ฑด๋ฐ์ ๋๋ฅด๋ ๋ชจ์ต. ๋ณธ ๋ ผ๋ฌธ์ ์ค์ง ์๋ฎฌ๋ ์ด์ ํ์ต๋ง์ผ๋ก ์ค์ ๋ก๋ด์ด ํผ์๋ ธ๋ฅผ ์ฐ์ฃผํ๋๋ก ๋ง๋๋ ์ต์ด์ ์๋์ด๋ฉฐ, Sim2Real ๊ธฐ๋ฒ์ ํตํด ๊ฐ์ ํ๊ฒฝ์์ ๊ฐํํ์ต์ผ๋ก ํ๋ จํ ์ ์ฑ ์ ์ค์ธ๊ณ ๋ก๋ด์ ์ด์ํ๋ ์ ๊ทผ์ ํ๊ตฌํ๋ค.
3.1 ์๊ฐ (๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉํ)
์ฌ๋์ ์์ผ๋ก ํผ์๋ ธ๋ฅผ ์ฐ์ฃผํ๋ ๊ฒ์ ๊ณ ๋์ ์ด๋์ ์ด, ํ์, ์ ๋ฐ์ฑ์ด ์๊ตฌ๋๋ ๋ณต์กํ ๊ณผ์ ๋ค. ์ธ๊ฐ์ ์ด๊ฐ ๋ฐ ์ฒญ๊ฐ ํผ๋๋ฐฑ์ ํ์ฉํ์ฌ ๋ง์ ์ฐ์ต ๋์ ์ด๋ฌํ ๋ฅ๋ ฅ์ ์ต๋ํ๋ค. ๋ฐ๋ฉด ๋ก๋ด์๊ฒ ํผ์๋ ธ ์ฐ์ฃผ๋ ๋์ ์ด๋ฉฐ, ๊ทธ๋์ ์ผ๋ถ ์ฐ๊ตฌ๋ค์ ๊ท์น๊ธฐ๋ฐ ์ ์ด๊ธฐ๋ฅผ ์ค๊ณํ์ฌ ์ค์ ๋ก๋ด์ผ๋ก ํผ์๋ ธ๋ฅผ ์น๊ฒ ํ๊ณ , ๋ค๋ฅธ ์ฐ๊ตฌ๋ค์ ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์์ ๋ก๋ด ํ์ต ์ ๊ทผ์ ํ๊ฐํด์๋ค. ์ด ๋ ผ๋ฌธ์ ๋ชฉํ๋ ์ฌ๋ ์์ค์ ์ฌ์ธํ ์กฐ์์ ํฅํ ๋ฒค์น๋งํฌ๋ก์ ํผ์๋ ธ ์ฐ์ฃผ๋ฅผ ์ ์ํ๊ณ , ํ์ต ๊ธฐ๋ฐ ์ ์ฑ ์ ์ค์ ๋ค์ง(ๅคๆ) ๋ก๋ด ์์ ์ ์ฉํ์ฌ ์ค์ธ๊ณ์์ ํผ์๋ ธ ์ฐ์ฃผ ํ์ต์ ์ค์ฆํ๋ ๊ฒ์ด๋ค. ์ ์๋ค์ ์ด๋ฅผ ํตํด ํฅํ ์ฌ๋์ฒ๋ผ ์์ฐ์ค๋ฌ์ด ๋ก๋ด ์ ๋์์ผ๋ก ๋ณต์กํ ์์ ์ ์ํํ๋ ๋ฐฉํฅ์ ์ฐ๊ตฌ๋ฅผ ์ด์งํ๊ณ ์ ํ๋ค.
3.2 ์ ์ฒด ์์คํ ๊ตฌ์กฐ ์์ฝ
์ด ์ฐ๊ตฌ์ ์ ์ฒด ์์คํ ์ ๊ฐ์ ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ์์์ ์ ์ฑ ํ์ต๊ณผ, ํ์ต๋ ์ ์ฑ ์ ์ด์ฉํ ์ค์ธ๊ณ ๋ก๋ด ์ ์ด ๋ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋๋ค. ๊ทธ๋ฆผ 3์ ํ์ต๋ ์ ์ฑ ์ ์คํ๊ฒฝ์ ์ ์ฉํ๋ ๋ค์ํ ๋ฐฉ์(์คํ ๋ชจ๋)์ ๊ฐ๋ต์ ์ผ๋ก ๋ณด์ฌ์ค๋ค. ์คํ์๋ Wonikโs Allegro Hand๋ผ๋ 4๊ฐ์ ์๊ฐ๋ฝ์ ๊ฐ์ง ๋ก๋ด ํธ๋์ 7์์ ๋ ๋ก๋ด ํ(UFactory xArm7)์ด ์ฌ์ฉ๋์์ผ๋ฉฐ, M-Audio Keystation 49e MIDI ์ ์ํผ์๋ ธ(49๊ฐ ๊ฑด๋ฐ)๋ฅผ ์ฐ์ฃผ ๋์์ผ๋ก ํ๋ค. ๋ก๋ด ํธ๋์ ์๊ฐ๋ฝ ๋์ ํค ํ๋๋ง ๋๋ฅผ ์ ์๋๋ก ์์ ๋ง์ถคํ 3D ํ๋ฆฐํธ ์ฌ์ง๋ก ๊ต์ฒด๋์๋ค. ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ๋ MuJoCo ๋ฌผ๋ฆฌ์์ง ๊ธฐ๋ฐ์ผ๋ก ๋์ผํ Allegro Hand ๋ชจ๋ธ๊ณผ ์ ์ํผ์๋ ธ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋์๊ณ , ํ์ค๊ณผ์ ์ฐจ์ด๋ฅผ ์ค์ด๊ธฐ ์ํด ์ค์ ํ๊ฒฝ์ ์์(์: ์๊ฐ๋ฝ ๋ ํํ, ํค ๋ฐฐ์ด)๋ฅผ ์ต๋ํ ๋ชจ์ฌํ์๋ค. ํนํ ์ํ ์ฌ๋ผ์ด๋ ์ถ์ ์ถ๊ฐํ์ฌ ์ ์ ์ฒด๊ฐ ํผ์๋ ธ ๊ฑด๋ฐ์ ๋ฐ๋ผ ์ข์ฐ๋ก ์ด๋ํ ์ ์๊ฒ ํ์๋๋ฐ, ์ด๋ ์ฌ๋์ ํ๊ฟ์น-์ด๊นจ ์์ง์์ ํด๋นํ๋ ์ญํ ์ ํ์ฌ ์์ญ์ ๋ฐ๊ฟ ๋ ๋ก๋ด ์ ์์น๋ฅผ ์ฎ๊ธฐ๋ ๊ฒ์ ๊ฐ๋ฅ์ผ ํ๋ค.
๊ด์ฐฐ ๊ณต๊ฐ(Observation space): ์์ด์ ํธ๊ฐ ์ธ์งํ๋ ์ํ๋ ์ฐจ์ ์ 356์ ๋ฒกํฐ๋ก ๊ตฌ์ฑ๋๋ค. ์ฌ๊ธฐ์๋ ๋ก๋ด ์์ ๊ด์ ๊ฐ๋ 12๊ฐ(์๊ฐ๋ฝ ๋น 4๊ฐ ๊ด์ ร 3๊ฐ ์๊ฐ๋ฝ; ์์ง๋ ์ฌ์ฉ ์ ํจ)์ ์ฌ๋ผ์ด๋ ์์น 1๊ฐ๋ก ์ด๋ฃจ์ด์ง ํ๋กํ๋ฆฌ์ค์ ์ (์๊ธฐ๋ชธ ์ธ์ง) ์ ๋ณด, ์ ์ํผ์๋ ธ๋ก๋ถํฐ ์ฝ์ ํ์ฌ ๋๋ฆฐ ๊ฑด๋ฐ๋ค(49์ฐจ์ ์-ํซ ๋ฒกํฐ), ๊ทธ๋ฆฌ๊ณ ์ฐ์ฃผํ๋ ค๋ ์ ๋ณด๋ก๋ถํฐ ์ฃผ์ด์ง ํ์ฌ ํ๊ฒ ์ํ(๋๋ ์ฝ๋)์ ๊ฑด๋ฐ๋ค(49์ฐจ์ ์-ํซ) ๋ฐ ํฅํ ํ์ํ ๊ฑด๋ฐ๋ค์ ๋ํ ์ ๋ณด ๋ฑ์ด ํฌํจ๋๋ค. ์ฐธ๊ณ ๋ก ์๊ธฐ MIDI ์ ํธ๋ ๊ฑด๋ฐ์ด ์ผ์ ๊น์ด ์ด์ ๋๋ฆฌ๋ฉด On(1), ๋ผ๋ฉด Off(0)์ผ๋ก๋ง ํ์๋๋ฏ๋ก, ๋ถ๋ถ์ ์ผ๋ก ๋๋ฅธ ์ ๋๋ ๊ด์ธกํ ์ ์๋ค. ๋ํ Allegro Hand๋ ์ธ๊ฐ์ ์๊ฐ๋ฝ 5๊ฐ๋ณด๋ค ์ ์ 4๊ฐ ์๊ฐ๋ฝ๋ง ์์ด์, ๊ธฐ์กด ์๋ฎฌ๋ ์ดํฐ (RoboPianist)์์ ์ ๊ณต๋๋ ์ด๋ค ์๊ฐ๋ฝ์ผ๋ก ๋๋ฅผ์ง(fingering) ์ ๋ณด๋ ์ ์ธ๋์๋ค. ์ด๋ฌํ ์ ํ์ผ๋ก ์์ด์ ํธ๋ ์๊ฐ๋ฝ์ด ๊ฑด๋ฐ ์์ ์ด์ง ์ฌ๋ ค์ ธ ์๋ ์ํ ๋ฑ์ ๊ฐ์งํ ์ ์์ผ๋ฉฐ, ์ด๋ ํ์์ ์ด๋ ต๊ฒ ๋ง๋ค๊ธฐ์ ์ธ์ฌํ ๋ณด์์ค๊ณ๊ฐ ํ์์ ์ด๋ค.
ํ๋ ๊ณต๊ฐ(Action space): ์์ด์ ํธ์ ํ๋์ 13์ฐจ์ ์ฐ์ ์ค์ ๋ฒกํฐ a \in \mathbb{R}^{13}๋ก ํํ๋๋ฉฐ, Allegro Hand์ 12๊ฐ ๊ด์ ๊ณผ ์ฌ๋ผ์ด๋ ์ถ ๊ฐ๊ฐ์ ๋ํ ๋ชจํฐ ์ ์ด ๋ช ๋ น์ ํฌํจํ๋ค. ์๋ฎฌ๋ ์ด์ ์์๋ ์ด ํ๋์ ๊ฐ ๊ด์ ๋ชจํฐ์ ๋ชฉํ์์น/ํ ํฌ๋ก ์ ์ฉํ๊ณ , ์ค์ธ๊ณ์์๋ ROS๋ฅผ ํตํด ํด๋น ๊ฐ์ ๋ก๋ด ํ๊ณผ ์์ ์ ์กํ์ฌ ๋์ผํ ๋์์ ์ ๋ฐํ๋ค. ํ๋ ์ฃผ๊ธฐ๋ ์๋ฎฌ๋ ์ด์ ์์ ๋งค 10 ์คํ ๋ง๋ค ํ ๋ฒ์ฉ ๊ด์ธก-๊ฒฐ์ ํ๋๋ก ์ค์ ๋์ด, ์ค์ ๋ก๋ด ์ ์ด ์ฃผํ์์ ๋์๋๋ ์ฝ 100 Hz ๋ด์ธ์ ์ ์ฑ ์คํ ๋น๋๋ก ๋ง์ถฐ์ก๋ค (์: ์๋ฎฌ๋ ์ด์ time-step์ด 0.002์ด์ด๋ฉด 10์คํ =0.02์ด ๊ฐ๊ฒฉ์ผ๋ก ํ๋ ์ ์ฉ).
์ ์ฑ (Policy)์ ์ ๊ด์ฐฐ์ ์ ๋ ฅ๋ฐ์ ํ๋์ ์ถ๋ ฅํ๋ ์ ๊ฒฝ๋ง ์ปจํธ๋กค๋ฌ์ด๋ค. ํน๋ณํ ๋ ผ๋ฌธ์์๋ ์คํํด๋ฆฌ์(off-policy) ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ์ธ DroQ(Dropout Q-functions ํ์ฉ) ๊ธฐ๋ฐ์ ์ํํธ ์กํฐ-ํฌ๋ฆฌํฑ(soft actor-critic, SAC) ๋ณ์ข ์ ์ฌ์ฉํด ์ ์ฑ ์ ํ์ต์์ผฐ๋ค. Actor-critic ๊ณ์ด์์ ์ ์ฑ ์ ๊ฒฝ๋ง(Actor)์ ํ๋ฅ ์ ์ผ๋ก ํ๋์ ์์ฑํ๊ณ , ๋ ๊ฐ์ Q-ํจ์ ์ ๊ฒฝ๋ง(Critic)์ ๊ทธ ํ๋์ ๊ฐ์น๋ฅผ ํ๊ฐํ๋ฉฐ, DroQ๋ Qํจ์์ ๋๋กญ์์์ ์ ์ฉํ์ฌ ํจ์จ์ฑ์ ๋์ธ ๋ฐฉ๋ฒ์ด๋ค. ๊ด์ธก ์ธ์ฝ๋(Observation Encoder)๋ ์ ์ฑ ์ ๊ฒฝ๋ง์ ์๋ถ๋ถ์ผ๋ก, 356์ฐจ์ ๊ด์ธก ๋ฒกํฐ๋ฅผ ๋ฐ์ ์ฌ๋ฌ ๊ณ์ธต์ fully-connected ๋ ์ด์ด๋ฅผ ๊ฑฐ์ณ ์ ์ฌ ํํ์ ์ถ์ถํ๋ ๋ถ๋ถ์ ์๋ฏธํ๋ค. ๋ฐ๋ฉด ํ๋ ๋์ฝ๋(Action Decoder)๋ ์ ๊ฒฝ๋ง์ ์ถ๋ ฅ๋ถ๋ก์, ์ ์ฌ ํํ์ผ๋ก๋ถํฐ 13์ฐจ์ ์ฐ์ ํ๋์ ์ฐ์ถํ๋ ์ญํ ์ ํ๋ค. ๋ ผ๋ฌธ์์๋ ๊ฐ ๊ตฌ์ฑ์์์ ๋ํ ์์ธ ๊ตฌ์กฐ(์: ๋ ์ด์ด ์๋ ํฌ๊ธฐ)๋ฅผ ๋ช ์ํ์ง ์์์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก SAC์์๋ MLP ๊ตฌ์กฐ์ ์ธ์ฝ๋/๋์ฝ๋๋ฅผ ์ฌ์ฉํ๊ณ Gaussian ์ ์ฑ ๋ถํฌ๋ฅผ ์ฐ์ถํ๋ค. ํ์ต๋ ์ ์ฑ ์ ์คํ ์ ๋งค ์๊ฐ ๊ด์ธก์ ๋ฐ์ ์ธ์ฝ๋๋ฅผ ํต๊ณผํ ํ ํ๋ ๋์ฝ๋์์ ๊ฐ ๊ด์ /์ฌ๋ผ์ด๋์ ๋ํ ์ ์ด๋ช ๋ น์ ์ถ๋ ฅํ๊ฒ ๋๋ค.
ํํธ, ๋ณธ ๋ ผ๋ฌธ์๋ ํคํฌ์ธํธ ๊ฒ์ถ๊ธฐ(Keypoint Detector)์ ๊ฐ์ ๋ณ๋์ ์๊ฐ ์ธ์ง ๋ชจ๋์ ํฌํจ๋์ด ์์ง ์๋ค. ์ฆ, ๋ก๋ด์ด ์นด๋ฉ๋ผ๋ ์ธ๋ถ ์ผ์๋ก ๊ฑด๋ฐ์ ์์น๋ ์๊ฐ๋ฝ ์์น๋ฅผ ์ธ์ํ๋ ๊ณผ์ ์ ๋ฐ๋ก ๋์ง ์์๋ค. ๋์ , ํ๊ฒฝ์ ๊ธฐํํ์ ๋ฏธ๋ฆฌ ์๊ณ (์๋ฎฌ๋ ์ดํฐ์ ๋ก๋ด ์ค์ ์ ์ผ์น์์ผ) ์ฌ๋ผ์ด๋ ์์น์ ๊ด์ ๊ฐ์ ํตํด ์๊ฐ๋ฝ ๋๊ณผ ๊ฑด๋ฐ์ ์๋์์น๋ฅผ ๋ด๋ถ์ ์ผ๋ก ๊ณ์ฐํ ์ ์๋๋ก ํ์๊ณ , ์ด๋ค ๊ฑด๋ฐ์ด ๋๋ ธ๋์ง๋ ์ ์ ์ผ๋ก ํผ์๋ ธ์ MIDI ์ ํธ๋ฅผ ์ด์ฉํ๋ค. ์ด๋ฌํ ์ค๊ณ ๋๋ถ์, ์๋ฎฌ๋ ์ด์ ์์๋ ๋ก๋ด ์๊ฐ๋ฝ๊ณผ ๊ฑด๋ฐ ์ฌ์ด์ ์ถฉ๋๋ก ๋๋ฆผ ์ฌ๋ถ๋ฅผ ๋ฐ๋ก ์ ์ ์์ด ๊ตณ์ด ์์ ์ฒ๋ฆฌ๋ก ๊ฑด๋ฐ ํน์ง์ ์ ์ถ์ ํ์ง ์์๋ ๋๋ค. ์์ฝํ๋ฉด, ์ ์ฑ ์ ๊ฒฝ๋ง์ ์๊ฐ์ ์ธ ์ ๋ ฅ ๋์ ์์ง๋์ด๋๋ ์ํ ํํ(๊ด์ ๊ฐ+๊ฑด๋ฐ ์ํ+ํ๊ฒ ์ ์ ๋ณด)์ ๋ฐ์ ๋์์ ๊ฒฐ์ ํ๋ฉฐ, ์ด๋ ํคํฌ์ธํธ ๊ฒ์ถ์ ์์กดํ์ง ์๋ ๊ฒฝ๋ํ ์ ๊ทผ์ด๋ผ ๋ณผ ์ ์๋ค.
3.3 ํต์ฌ ๊ตฌ์ฑ ์์์ ๋ฅ๋ฌ๋ ์ํคํ ์ฒ ๋ถ์
๊ด์ธก ์ธ์ฝ๋(Observation Encoder)์ ํ๋ ๋์ฝ๋(Action Decoder)๋ก ๊ตฌ์ฑ๋ ์ ์ฑ ์ ๊ฒฝ๋ง์ ๊ฐํํ์ต ํ๋ ์์ํฌ์ ์ค์ฌ์ด๋ค. ๊ด์ธก ์ธ์ฝ๋๋ ๋์ ์ฐจ์์ ์ํ๋ฅผ ํจ์จ์ ์ผ๋ก ํํํ๊ธฐ ์ํด ์ค๊ณ๋์๋ค. ์๋ฅผ ๋ค์ด ๊ฑด๋ฐ์ ํ์ฌ ์ํ์ ๋ชฉํ์ ์ ๋ณด๋ 49์ฐจ์์ ์-ํซ ๋ฒกํฐ๋ก ๊ฐ๊ฐ ์ฃผ์ด์ง๋๋ฐ, ์ด๋ฌํ ์ด์ฐ ํน์ฑ์ ์ ๋ ฅ์ ์ ๊ฒฝ๋ง์์ ์ฐ์๊ฐ์ผ๋ก ์๋ฒ ๋ฉ๋์ด ์ฒ๋ฆฌ๋๋ค. ๊ด์ธก ์ธ์ฝ๋๋ ์ด๋ฌํ ๋ค์ํ ์ ๋ณด๋ฅผ ๊ฒฐํฉํ์ฌ ๋ก๋ด์ด ํ์ฌ ๋ฌด์์ ํ๊ณ ์์ผ๋ฉฐ, ๋ฌด์์ ํด์ผ ํ๋์ง์ ๋ํ ํจ์ถ์ ํํ์ ํ์ตํ๋ค. ํนํ ๋ชฉํ๋ก ํ๋ ๊ฑด๋ฐ(one-hot ํํ)์ ์กฐ๊ฑด(condition)์ผ๋ก์ ์ ์ฑ ์ ์ฃผ์ด์ง๋ฏ๋ก, ์ ์ฑ ์ด ๊ณก์ ์งํ์ ๋ฐ๋ผ ๋ค๋ฅธ ํ๋์ ์ทจํ๋๋ก ํ๋ค. ์ด๋ ๋ง์น ์กฐ๊ฑด๋ถ ์ ์ฑ \pi(a|s, g)์์ g๊ฐ ๋ชฉํ(goal, ์ฌ๊ธฐ์๋ ๋ค์ ๋๋ฌ์ผ ํ ๊ฑด๋ฐ)์ธ ์ ์ด๋ฉฐ, ๋จ์ผ ์ ์ฑ ์ด ์ฌ๋ฌ ๊ณก์ ๋์ํ ์ ์๋ ์ผ๋ฐํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ค๋ ์ ์์ ์ ์ฉํ ์ํคํ ์ฒ์ ์ ํ์ด๋ค. (๋ค๋ง ๋ณธ ์ฐ๊ตฌ์์๋ ์ค์ ๋ก ๊ณก๋ง๋ค ์ ์ฑ ์ ๋ฐ๋ก ํ๋ จํ๋๋ฐ, ์ด๋ ํ์ ํ ๋๋ก ๊ณก๋ค ๊ฐ ๋์ด๋ ์ฐจ์ด์ ํ์ ์์ ์ฑ์ ์ํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.)
ํ๋ ๋์ฝ๋๋ ์ธ์ฝ๋์ ์ถ๋ ฅ(์ ์ฌ ํน์ง)์ ๋ฐ์ ์ต์ข ์ ์ธ ๋ก๋ด ์ ์ด ๋ช ๋ น์ ์์ฑํ๋ค. SAC ๊ธฐ๋ฐ ์ ์ฑ ์ธ ๋งํผ, ํ๋ ๋์ฝ๋๋ ๊ฐ ํ๋ ์ฐจ์๋ง๋ค ํ๋ฅ ๋ถํฌ์ ๋ชจ์(์: ํ๊ท \mu\_i์ ๋ถ์ฐ \sigma\_i)๋ฅผ ์ถ๋ ฅํ๊ณ , ์ํ๋ง์ ํตํด ์ค์ ํ๋ ๋ฒกํฐ a๋ฅผ ์ป๋๋ค. ์ด๋ ์ถ๋ ฅ ๋ฒ์๋ ๊ฐ ๊ด์ ์ ํ์ฉ ๊ฐ๋/ํ ํฌ ๋ฑ์ ๋ง๊ฒ ์ ์ ํ ์ค์ผ์ผ๋ก ์ ๊ทํ๋๋๋ก ์ค๊ณ๋๋ค. ์ ์ฑ ์ ๊ฒฝ๋ง์ ํ๋ จ ์์๋ ์ด ํ๋ฅ ์ ํน์ฑ์ ํ์ฉํด ํ์์ ํ๊ณ , ์คํ ์์๋ ํต์ ํ๊ท ๊ฐ์ ์ทจํ๊ฑฐ๋ ๋ ธ์ด์ฆ๋ฅผ ์ค์ธ ์ํ๋ง์ผ๋ก ๊ฒฐ์ ๋ก ์ ํ๋์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค.
ํคํฌ์ธํธ ๊ฒ์ถ(Keypoint Detection) ์ธก๋ฉด์์, ์ด ์ฐ๊ตฌ๋ ๊ด์ธก ๊ณต๊ฐ์ ๊ตฌ์ฑํ๋ ๋จ๊ณ์์ ๊ฑด๋ฐ์ ํค ์ขํ๋ ์๊ฐ๋ฝ-๊ฑด๋ฐ ๊ฑฐ๋ฆฌ ๋ฑ์ ์ ๋ณด๋ฅผ ๋ช ์์ ์ผ๋ก ํฌํจ์ํค์ง ์์๋ค. ๊ทธ๋ฌ๋ ์๋ฎฌ๋ ์ดํฐ ์์์๋ ์๋ฐ๋ฅ๊ณผ ๋ชฉํ ๊ฑด๋ฐ๋ค ์ฌ์ด์ ๊ฑฐ๋ฆฌ๊ฐ์ ๊ณ์ฐํ์ฌ ๋ณด์์ ์ผ๋ถ๋ก ์ฌ์ฉํ๊ณ ์์ด (์์ธํ ๋ด์ฉ์ ๋ค์ ์น์ ), ๊ฐ์ ์ ์ผ๋ก ํ๊ฒฝ์ด ๋ชฉํ ํคํฌ์ธํธ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ์ธ์งํ๊ณ ์๋ค. ์ค์ธ๊ณ์์๋ ๋ก๋ด์ด ์์ฒด์ ์ผ๋ก ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ์ง๋ ์์ง๋ง, ์๋ฎฌ๋ ์ดํฐ์ ๋์ผํ ์ด๊ธฐ ์ ๋ ฌ์ ํตํด ์ด ๋ถ๋ถ์ ์์ํ๋ค. ๋ง์ฝ ์๊ฐ ์ ๋ณด๋ฅผ ํ์ฉํ๋ค๋ฉด, ์นด๋ฉ๋ผ ์์์ ํตํด ๊ฑด๋ฐ, ์๊ฐ๋ฝ ๋ ๋ฑ์ ํคํฌ์ธํธ๋ฅผ ์ถ์ ํ๊ณ ์ ์ฑ ์ ์ ๋ ฅ์ผ๋ก ์ค ์๋ ์์๊ฒ ์ง๋ง, ๋ณธ ๋ ผ๋ฌธ์ ๋ฌธ์ ์ ๋ณต์ก๋๋ฅผ ์ค์ด๊ธฐ ์ํด ์๊ฐ์ ๋ณด๋ฅผ ๋ฐฐ์ ํ๊ณ ์ ์ ํํ๋ ์ํ๋ง ์ด์ฉํ๋ค. ์ด๋ ํ์ตํด์ผ ํ ์ธ๊ณต์ ๊ฒฝ๋ง์ ๊ท๋ชจ๋ฅผ ์ค์ด๊ณ , Sim2Real ์ฐจ์ด๋ฅผ ์ค์ด๋ ๋ฐ๋ ์ ๋ฆฌํ ๊ฒฐ์ ์ด๋ค (์นด๋ฉ๋ผ ์์์ ์๋ฎฌ๋ ์ดํฐ์ ํ์ค ๊ฐ ์ฐจ์ด๊ฐ ํฌ๊ธฐ ๋๋ฌธ). ๊ทธ ๊ฒฐ๊ณผ, ๊ด์ธก ์ธ์ฝ๋๋ ๋น๊ต์ ์ ์ฐจ์ ์ํ๋ฅผ ๋ค๋ฃจ๋ฏ๋ก MLP ๊ตฌ์กฐ๋ง์ผ๋ก ์ถฉ๋ถํ๊ณ , ํคํฌ์ธํธ ๊ฒ์ถ๊ธฐ์ ํด๋นํ๋ ์ญํ ์ ํ๊ฒฝ ์ค๊ณ์ ์ผ์ ํ์ฉ(MIDI ์ ํธ ๋ฐ ์๋ ค์ง ๊ธฐํ)์ผ๋ก ๋์ฒด๋์๋ค.
3.4 ์ฃผ์ ์์ ๋ฐ ํ์ต ๋ฐฉ์
๋ง๋ฅด์ฝํ ๊ฒฐ์ ํ๋ก์ธ์ค(MDP) ์ค์ : ๋ก๋ด ํผ์๋ ธ ์ฐ์ฃผ ๋ฌธ์ ๋ ์ํ, ํ๋, ๋ณด์์ผ๋ก ์ ์๋๋ MDP๋ก ๋ชจ๋ธ๋ง๋๋ค. ์๋ฎฌ๋ ์ด์ ์์์ ์ํ s๋ ๋ฌผ๋ฆฌ ์์ง์ด ์ถ์ ํ๋ ๋ก๋ด ์๊ฐ๋ฝ ๊ด์ , ๊ฑด๋ฐ ์์น ๋ฑ์ ์์ ํ ๋ด๋ถ ์ํ์ด๊ณ , ๊ด์ธก o๋ ์์ ์ค๋ช ํ 356์ฐจ์์ ๋ถ๋ถ๊ด์ธก (partial observation)์ด๋ค. ํ๋ ๊ณต๊ฐ \mathcal{A}๋ ์ฐ์ ๊ณต๊ฐ์ด๋ฉฐ ์ฐจ์ 13์ด๋ค. ๋งค ์๋ฎฌ๋ ์ด์ ์คํ ์์ ํ๊ฒฝ์ (์ํ s, ํ๋ a) ์์ ๋ํด ๋ค์ ์ํ๋ฅผ ํ๋ฅ ์ ์ผ๋ก ์์ฑํ๊ณ (์ฌ๊ธฐ์๋ ๊ฒฐ์ ๋ก ์ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์ ์ด์ง๋ง ๋๋ฉ์ธ ๋๋คํ๋ก ์ธํ ๋ถํ์ค์ฑ์ ์ฝ๊ฐ ์กด์ฌ), ์ค๊ณ๋ ๋ณด์ r(s,a)์ ๊ณ์ฐํ๋ค. ๋นํ ์(็กๅฒๅผ) ์ํผ์๋์ ๋์ ๋ณด์์ ์ต๋ํํ๋ ์ ์ฑ \pi\_\theta(a|o)๋ฅผ ํ์ตํ๋ ๊ฒ์ด ๋ชฉํ์ด๋ค.
๋ณด์ ํจ์(Reward)๋ ํจ๊ณผ์ ์ธ ํ์ต์ ์ํด ๋ค ๊ฐ์ง ๊ตฌ์ฑ์์๋ก ์ค๊ณ๋์๋ค. ์ด ๋ณด์ R์ ์๋์ ๊ฐ์ ๋ค ๋ถ๋ถ์ ํฉ์ผ๋ก ๋ณผ ์ ์๋ค (์์ ๊ฐ์ค์น๋ ํธ์์ ์๋ต):
์๋์ง/์๋ ํ๋ํฐ R\_{\text{energy}}: ๋ถํ์ํ๊ฒ ๋น ๋ฅด๊ณ ํ์ด ๋ง์ด ๋๋ ์์ง์์ ์ต์ ํ๊ธฐ ์ํ ํญ๋ชฉ์ด๋ค. ์๊ฐ๋ฝ ๊ด์ ํ ํฌ \tau์ ์๋ \dot{q}๋ฅผ ์ด์ฉํด -\sum\_i |\tau\_i \cdot \dot{q}\_i|์ ๊ฐ์ ํํ๋ก ๊ณ์ฐํ๋ฉฐ, ์ด๋ ์ง๋ํ๋ ํ๋๋ ์ค์ฌ ๋ก๋ด ๋์์ ์์ ์ ์ด๊ณ ์ ์ฐํ๊ฒ ๋ง๋ ๋ค.
๋ชฉํ ์ ๊ทผ ๋ณด์ R\_{\text{distance}}: ์์ด ๋ชฉํ ๊ฑด๋ฐ์ ๊ฐ๊น์ด ๊ฐ๋๋ก ์ ๋ํ๋ ํญ๋ชฉ์ด๋ค. ์๋ฐ๋ฅ ์์น p\_{\text{hand}}์ ๋ชฉํ๋ก ํด์ผ ํ ๊ฑด๋ฐ๋ค์ ์์น ์งํฉ G ์ฌ์ด์ ํ๊ท ๊ฑฐ๋ฆฌ์ ๋ํด ๊ฑฐ๋ฆฌ๊ฐ ์งง์์๋ก ํฐ ๋ณด์์ด ์ฃผ์ด์ง๋ค. ๊ตฌํ์ dm_control ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ tolerance ํจ์๋ฅผ ์จ์ ๊ฑฐ๋ฆฌ๋ฅผ 0~1 ๋ฒ์๋ก ์ ๊ทํ๋ ๋ณด์์ผ๋ก ๋ณํํ๋ค.
์ ํ(key press) ๋ณด์ R\_{\text{press}}: ์ฌ๋ฐ๋ฅธ ๊ฑด๋ฐ์ ๋๋ฅด๋ ๊ฒ์ ๊ฐ์ฅ ํฌ๊ฒ ์ฅ๋ คํ๋ ํต์ฌ ๋ณด์์ด๋ค. ์ด ๋ณด์์ ๋ ๊ฐ์ง ์ค๊ณ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋๋ก ๋ง๋ค์ด์ก๋ค: (i) โ์๋ฌด ๊ฒ๋ ๋๋ฅด์ง ์๋ ๊ฒโ < โ์๋ชป๋ ๊ฑด๋ฐ์ด๋ผ๋ ๋๋ฅด๋ ๊ฒโ (<๋ ๋ณด์์ด ๋ ๋ฎ์์ ์๋ฏธ) ๊ทธ๋ฆฌ๊ณ (ii) โ์๋ชป๋ ๊ฑด๋ฐ์ ๋๋ฅด๋ ๊ฒโ < โ์ ํํ ๊ฑด๋ฐ์ ๋๋ฅด๋ ๊ฒโ. ์ด๋ฅผ ์ํด ํ์ฌ ๋๋ฌ์ผ ํ ๊ฑด๋ฐ ์, ์ค์ ๋๋ฅธ ๊ฑด๋ฐ ์ค ๋ง๋ ๊ฑด๋ฐ ์ n\_{\text{correct}}, ํ๋ฆฐ ๊ฑด๋ฐ ์ n\_{\text{wrong}} ๋ฑ์ ๊ณ ๋ คํ์ฌ ๊ฒฝ์ฐ๋ฅผ ๋๋์ด ๋ณด์์ ๊ณ์ฐํ๋ค. ์๋ฅผ ๋ค์ด ๋ชฉํ ๊ฑด๋ฐ์ด ์๋๋ฐ ํ๋๋ ๋๋ฅด์ง ์์์ผ๋ฉด ๋ณด์์ด 0์ด๊ณ , ํ๋ฆฐ ๊ฑด๋ฐ์ด๋ผ๋ ๋๋ฅด๋ฉด ์๋์ ์์ ๋ณด์์ ์ฃผ๋ฉฐ, ๋ง๋ ๊ฑด๋ฐ์ ๋๋ฅด๋ฉด ๋ ํฐ ๋ณด์์ ์ฃผ๋ ์์ด๋ค. ์ด๋ฌํ ์ค๊ณ๋ก ์๋ฌด๊ฒ๋ ์ ํ๊ณ ์๋ ์ํ๋ฅผ ํํผํ์ฌ ์ ๊ทน์ ์ผ๋ก ๊ฑด๋ฐ์ ํ์ํ๋๋ก ์ ๋ํ๋ฉด์๋, ์ต์ข ์ ์ผ๋ก ์ ํ๋ฅผ ๋๋ฅด๋ ๋ฐฉํฅ์ผ๋ก ์๋ ดํ๊ฒ ๋๋ค. ์ค์ ๋ก ์๊ตฌ์ฌํญ (ii)๋ ์์์ผ๋ก R\_{\text{correct}} - R\_{\text{wrong}} > 0 ํํ๋ก ๊ตฌํ๋์ด ํญ์ ๋ง์กฑ๋๋๋ก ํ์๋ค.
์ฌ๋ผ์ด๋ฉ ํ๋ํฐ R\_{\text{slide}}: ๊ฑด๋ฐ์ ๋๋ฅธ ์ํ๋ก ์์ ์์ผ๋ก ์ฌ๋ผ์ด๋ฉํ๋ ํ๋์ ์ต์ ํ๋ค. ๋ก๋ด์ด ํ ์๊ฐ๋ฝ์ผ๋ก ๊ฑด๋ฐ์ ๋๋ฅธ ์ฑ ์ ์ ์ฒด๋ฅผ ์์ผ๋ก ๋ฏธ๋๋ฌ๋จ๋ฆฌ๋ฉด, ์๋ ๋ชฉํํ ๊ฑด๋ฐ์ด ์๋ ์ธ์ ๊ฑด๋ฐ์ ๋๋ฌ๋ฒ๋ฆฌ๋ ํธ๋ฒ์ ์ธ ์ ์๋๋ฐ, ์ด๋ ์ธ๊ฐ์ ์์ฐ์ค๋ฌ์ด ์ฐ์ฃผ ๋์๊ณผ ๋๋จ์ด์ ธ ์๋ค. ๋ฐ๋ผ์ ์ด๋ค ๊ฑด๋ฐ์ด ๋๋ฆฐ ์ํ์์ ์ฌ๋ผ์ด๋๊ฐ ์์ง์ด๋ฉด ํ๋ํฐ๋ฅผ ์ฃผ๊ณ , ๋ง์ฝ ๊ทธ๋ก ์ธํด ์ธ์ ํ ๋ ๊ฑด๋ฐ์ด ๋์์ ๋๋ฆฌ๊ฒ ๋๋ฉด ํ๋ํฐ๋ฅผ ๋ ๋ฐฐ๋ก ์ฃผ์ด ์ด๋ฌํ ํ์์ ์ต์ํํ๋ค.
์ด์์ ๋ณด์ ์ค๊ณ๋ก ์์ด์ ํธ๋ ๋ถ๋๋ฝ๊ณ ์๋์ง ํจ์จ์ ์ธ ์์ง์์ผ๋ก ์์ ๋ชฉํ ๊ฑด๋ฐ ์ชฝ์ ๊ฐ์ ธ๊ฐ ์ต๋ํ ์ ํํ ๊ฑด๋ฐ์ ๋๋ฅด๋ ค๊ณ ํ๋ฉฐ, ๋นํ์ค์ ์ธ ์ฌ๋ผ์ด๋ฉ ๊ผผ์๋ฅผ ํผํ๊ฒ ๋๋ค. ๋ํ ํ๊ฐ ๋จ๊ณ์์ ์์ด์ ํธ์ ์ฑ๊ณต ์ฌ๋ถ๋ Information Retrieval ๋ถ์ผ์ ๊ด์ ์์ ์ ๋ฐ๋(Precision)์ ์ฌํ์จ(Recall)๋ก ์ ์ํ์๋ค. ๋งค ์๊ฐ ์คํ ๋ง๋ค โ๋๋ฌ์ผ ํ ๊ฑด๋ฐ(target) ๋๋น ๋๋ฅธ ์ ๋โ์ โ๋๋ฅด๋ฉด ์ ๋ ๊ฑด๋ฐ์ ๋๋ฅธ ์ ๋โ๋ฅผ ๋ฐ์ ธ Precision P๊ณผ Recall R์ ๊ณ์ฐํ๊ณ , ๊ทธ ์กฐํํ๊ท ์ธ F1 ์ ์๋ฅผ ์ต์ข ์ฑ๋ฅ ์งํ๋ก ์ฌ์ฉํ์๋ค. (Precision์ ์๋ชป ๋๋ฅด์ง ์๋ ์ ๋, Recall์ ์ ๋๋ก ๋๋ฅด๋ ์ ๋๋ฅผ ์๋ฏธํ๋ฉฐ F1 = \frac{2PR}{P+R}์ด๋ค.)
๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ: ํ์ต์ ์๋ฎฌ๋ ์ด์ ์์์ ์งํ๋๋ฉฐ, ์์ ์ธ๊ธํ DroQ ์๊ณ ๋ฆฌ์ฆ (SAC ๊ธฐ๋ฐ)์ ์ฌ์ฉํ๋ค. ์ด๋ ๋ฆฌํ๋ ์ด ๋ฒํผ๋ฅผ ํ์ฉํ๋ off-policy ๋ฐฉ๋ฒ์ผ๋ก, ๋น๊ต์ ๋ฐ์ดํฐ ํจ์จ์ฑ์ด ๋๊ณ ์์ ์ ์ธ ํ์ต์ด ๊ฐ๋ฅํ๋ค. ํนํ ๋๋กญ์์ Q-ํจ์๋ฅผ ํ์ฉํ์ฌ Qํจ์์ ๊ณผ์ ํฉ๊ณผ ๊ณผ๋ํ ํ์ ์ต์ ๋ฌธ์ ๋ฅผ ์ํํ๋ ๊ธฐ๋ฒ์ ํฌํจํ๊ณ ์์ด, ์ ํ๋ ์์์ผ๋ก ํ๋ จํ ๋ ์ ๋ฆฌํ๋ค. ๋ ผ๋ฌธ์ ๋ฐ๋ฅด๋ฉด ๊ฐ ๋ชจ๋ธ์ ์ฝ ์๋ฐฑ๋ง ์คํ ์ ํด๋นํ๋ ์ํผ์๋๋ฅผ ํ์ตํ๊ณ , ์๋น๋์ RTX 4070 GPU ๋ฐ 32์ฝ์ด CPU๊ฐ ์ฅ์ฐฉ๋ ๋ฉํฑ์์ ๋ชจ๋ธ ํ๋๋ฅผ ๋ช ์๊ฐ ๋ด๋ก ํ๋ จํ ์ ์์๋ค๊ณ ํ๋ค (์ ํํ ์ํผ์๋ ํ์๋ ์๊ฐ์ ๋ช ์๋ผ ์์ง ์์ผ๋, ๋น๊ต์ ์งง์ ์๊ฐ์ ํ์ต ๊ฐ๋ฅํจ์ ์์ฌ).
๋๋ฉ์ธ ๋๋คํ(Domain Randomization): Sim2Real์ ํต์ฌ ๊ธฐ๋ฒ ์ค ํ๋๋ก, ์๋ฎฌ๋ ์ด์ ์์ ํ์ตํ ๋ ํ๊ฒฝ์ ๋ฌผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ค์ ๋ฌด์์๋ก ๋ณํ์์ผ ๋ค์ํ ๋๋ค ๋๋กญ์์์ ๊ฒฝํํ๋๋ก ํ๋ ๊ฒ์ด๋ค. ์ด ๋ ผ๋ฌธ์์๋ ์๋ฎฌ๋ ์ด์ ํ๋ จ ์ ํ์ค๊ณผ ๊ด๋ จ๋ ์ฌ๋ฌ ๋ฌผ๋ฆฌ ๋ณ์๋ฅผ ์ํผ์๋๋ง๋ค ๋๋ค์ผ๋ก ๋ณ๋์์ผฐ๋ค. ๋๋คํ๋ ์ฃผ์ ํ๋ผ๋ฏธํฐ๋ก๋ ํผ์๋ ธ ๋์ด, ์ด๊ธฐ ์ ์์น, ๊ด์ ๊ฐ์ ๊ณ์, ๊ด์ ๊ฐ์ฑ ๊ณ์, ๊ฑด๋ฐ์ด ๋๋ ธ๋ค๊ณ ๊ฐ์ฃผ๋๋ ์๊ณ ๊น์ด, ๊ฑด๋ฐ ์คํ๋ง ๊ฐ์ฑ, ์๊ฐ๋ฝ ๋๊ณผ ๊ฑด๋ฐ ์ฌ์ด์ ๋ง์ฐฐ๊ณ์ ๋ฑ์ด ์๋ค. ์ด๋ฌํ ๋ณ์๋ค์ ํญ๋๊ฒ ๋ฐ๊ฟ์ผ๋ก์จ, ์์ด์ ํธ๋ ๋ชจ๋ธ ๋ถํ์ค์ฑ์ด๋ ํ๊ฒฝ ๋ณํ๋ฅผ ๊ฒฌ๋๋ ๊ฐ์ธํ ์ ์ฑ ์ ํ์ตํ๊ฒ ๋๋ค. ๋ ผ๋ฌธ์์๋ ๋๋คํ ๊ฐ๋๋ฅผ 0 \le \beta \le 1์ ๋งค๊ฐ๋ณ์๋ก ๋๊ณ , \beta=0์ด๋ฉด ๋๋คํ๋ฅผ ๊บผ์ ์ด์์ ์ธ ์ ํํ ์๋ฎฌ๋ ์ด์ ์ผ๋ก ํ์ตํ๊ณ \beta=1์ด๋ฉด ์ต๋ ๋ฒ์๋ก ๋ณํ์์ผ ํ์ตํ๋๋ก ์คํ์ ์ค๊ณํ์๋ค.
์ ๋ฆฌํ๋ฉด, ํ์ต ๋จ๊ณ์์๋ ์ ์ค๊ณ๋ ๊ด์ธก/ํ๋ ํํ๊ณผ ๋ณด์ ํจ์, ๊ทธ๋ฆฌ๊ณ SAC ๊ธฐ๋ฐ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋๋ฉ์ธ ๋๋คํ๋ฅผ ํตํด ์๋ฎฌ๋ ์ด์ ์์ ํ์ค์ฑ ์๋ ํผ์๋ ธ ์ฐ์ฃผ ์ ์ฑ ์ ์ป์ด๋ธ๋ค. ๋ค์์ผ๋ก๋ ์ด๋ ๊ฒ ์ป์ด์ง ์ ์ฑ ์ ์ค์ ๋ก๋ด์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ, ์คํ ๊ฒฐ๊ณผ์ ๋ํ ๋ถ์์ ์ดํด๋ณธ๋ค.
3.5 ์ค์ ํ๊ฒฝ์์์ ํ์ต ์ ์ฉ์ ๊ฐ๋ฅํ๊ฒ ํ ํต์ฌ ๊ธฐ์ ์์
์๋ฎฌ๋ ์ดํฐ์์ ์ฑ๊ณต์ ์ผ๋ก ํ์ตํ ์ ์ฑ ์ด๋ผ๋ ๋ฐ๋ก ์ค์ ๋ก๋ด์ ์ฎ๊ธฐ๋ฉด ์ฌ๋ฌ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. ํ์ค ์ธ๊ณ์ ์ค์ฐจ์ ๋ถํ์ค์ฑ(๋ชจ๋ธ๋ง ์ค์ฐจ, ์ผ์ ์ก์, ์ง์ฐ ๋ฑ)์ผ๋ก ์ธํด ์ฑ๋ฅ์ด ํฌ๊ฒ ์ ํ๋๋ Sim2Real ๊ฐญ ๋ฌธ์ ๊ฐ ๋ํ์ ์ด๋ค. ๋ณธ ์ฐ๊ตฌ์์๋ ์ด๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด (i) ์์ ์ธ๊ธํ ๋๋ฉ์ธ ๋๋คํ๋ฅผ ํ์ฉํด ์ ์ฑ ์ ๊ฐ์ธ์ฑ์ ๋์๊ณ , (ii) ํ์ค์์ ์ ์ฑ ์ ์คํํ๋ ๋ฐฉ์์ ์ธ๋ถํํ์ฌ ๊ณ ์ํ์๋ค. ํนํ ํ์์ ๊ด๋ จํ์ฌ ์ธ ๊ฐ์ง ์คํ ๋ชจ๋(execution mode)๋ฅผ ์ ์ํ๊ณ ๋น๊ตํ์๋๋ฐ, ์ด๋ ์๋ฎฌ๋ ์ดํฐ์ ์ค์ ๋ก๋ด ๊ฐ ๊ด์ธก ๋ฐ ์ ์ด์ ํธ์ ์ฐ๊ฒฐ๋ฐฉ์์ ๋ค๋ฅด๊ฒ ์ค๊ณํ ๊ฒ์ด๋ค.
Figure 2. ํ์ต๋ ์ ์ฑ ์ ์คํ ๋ชจ๋ ๋น๊ต โ A: ๊ด์ ๋ฏธ๋ฌ๋ง (Joint Mirroring), B: ํ์ด๋ธ๋ฆฌ๋ ์คํ (Hybrid Execution), C: ์ค์ธ๊ณ ์คํ (Real World Execution) ๋ฐฉ๋ฒ์ ๋์ํ. ๋ ธ๋์ ๋ฐ์ค๋ ๊ด์ธก(Observations)์ด ์ด๋์ ์ค๋์ง, ํ๋(Actions)์ด ์ด๋์ ์ ์ฉ๋๋์ง๋ฅผ ๋ณด์ฌ์ค๋ค. ์ํ ์์ด์ฝ์ ๋ชฉํ ์ ๋ณด(ํ์ฌ ๋๋ฌ์ผ ํ ๊ฑด๋ฐ ์ ๋ณด)๋ฅผ ์๋ฏธํ๋ค.
A) ๊ด์ ๋ฏธ๋ฌ๋ง (Joint Mirroring): ์ ์ฑ ์ ์ค๋ก์ง ์๋ฎฌ๋ ์ดํฐ๋ก๋ถํฐ์ ๊ด์ธก๋ง ๋ฐ์ผ๋ฉฐ, ํ์ค ์ธ๊ณ๋ก๋ถํฐ์ ํผ๋๋ฐฑ์ ์ ํ ์ฌ์ฉํ์ง ์๋๋ค. ํ์ต ๋์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์๋ฎฌ๋ ์ดํฐ ๋ด์์ ์ ์ฑ ์ด ์์ง์์ ๊ฒฐ์ ํ๋ฉด, ๊ทธ ๊ด์ ์์น๋ฅผ ๊ทธ๋๋ก ์ค์ ๋ก๋ด์ ๋ฏธ๋ฌ๋งํ์ฌ ๋ฐ๋ผํ๊ฒ ํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์๋ฎฌ๋ ์ด์ ์์์ ๋์ ๊ถค์ ์ ํ์ค์์ ์ฌํํ ์ ์์ง๋ง, ํ์ค์์ ๋ฐ์ํ๋ ์ค์ฐจ (์: ๊ฑด๋ฐ์ด ์ ๋๋ก ์ ๋๋ ธ๊ฑฐ๋ ์ ์์น๊ฐ ์ฝ๊ฐ ์ด๊ธ๋ฌ์ ๋)๋ฅผ ์ ์ฑ ์ด ์ ํ ๊ฐ์งํ์ง ๋ชปํ๋ค. ๋ฐ๋ผ์ ์คํ ๋์ค์ ์๋ชป๋์ด๋ ์์ ์ด ๋ถ๊ฐ๋ฅํ๊ณ , ํ๋ฃจํ ์ ์ด๊ฐ ์๋ ๊ฐ๋ฃจํ (open-loop) ์คํ์ด ๋๋ค.
B) ํ์ด๋ธ๋ฆฌ๋ ์คํ (Hybrid Execution): ์๋ฎฌ๋ ์ดํฐ์ ํ์ค์ ์ ๋ณด๋ฅผ ์กฐํฉํ์ฌ ๊ด์ธก์ ๊ตฌ์ฑํ๋ ์ ์ถฉ์์ด๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ๊ด์ธก ์ค ๊ฑด๋ฐ ๋๋ฆผ ์ํ๋ ์ค์ ์ ์ํผ์๋ ธ(MIDI)๋ก๋ถํฐ ๋ฐ์์ค๊ณ , ๋๋จธ์ง ๊ด์ ์์น ๋ฑ ์ํ๋ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ์ฉํ๋ค. ์คํ ๊ณผ์ ์์๋ ๋งค ํ์์คํ ๋ง๋ค ์ ์ฑ ์ด ์๋ฎฌ๋ ์ดํฐ ์์ ๋ก๋ด ์ํ(๊ด์ ๊ฐ๋ ๋ฑ)์ ์ค์ ๊ฑด๋ฐ ์ ๋ ฅ์ ๋ณด๊ณ ํ๋์ ๋ด๋ฉด, ๊ทธ ํ๋์ ์๋ฎฌ๋ ์ดํฐ์ ์ค์ ๋ก๋ด์ ๋์์ ์ ์ฉํ๋ค. ์ฆ, ์๋ฎฌ๋ ์ดํฐ๋ ํ์ค์ ๋ชจ์ฌํ๋ฉฐ ๊ณ์ ์ ์ฑ ๊ณผ ์ํธ์์ฉํ๊ณ , ์ค์ ๋ก๋ด์ ์๋ฎฌ๋ ์ดํฐ์ ๋ก๋ด์ ๊ฑฐ์ธ์ฒ๋ผ ๋ฐ๋ผ๊ฐ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ ์ฑ ์ ์ฌ์ ํ ์๋ฎฌ๋ ์ด์ ์ผ๋ก๋ถํฐ ์ต์ํ ํํ์ ๊ด์ฐฐ(๊ด์ ์ํ)์ ์ป์ผ๋ฉด์๋, ๊ฑด๋ฐ์ด ์ค์ ๋ก ๋๋ ธ๋์ง ์ ๋๋ ธ๋์ง๋ ํ์ค ๋ฐ์ดํฐ๋ฅผ ํตํด ๋ฐ์ํ๊ฒ ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ๋ง์ฝ ์ค์ ๋ก ๊ฑด๋ฐ์ ๋์ณค๋ค๋ฉด ๊ด์ธก์ ๋ฐ์๋์ด ์ ์ฑ ์ด ์ด๋ฅผ ์ธ์งํ๊ณ ๊ต์ ํ๋์ ์ทจํ ์ ์๋ค. ๋์์, ๊ด์ ์์ง์ ์์ฒด๋ ์๋ฎฌ๋ ์ดํฐ ๊ธฐ์ค์ด๋ผ ํ์ต ๋น์์ ๋์ผํ ๋ถํฌ๋ฅผ ์ ์งํ๋ฏ๋ก, ์ ์ฑ ์ด ๊ณผ๋ํ ํ์ค์ ๋ถํ์ค์ฑ์ ๋ ธ์ถ๋์ง ์๋๋ค. ํ์ด๋ธ๋ฆฌ๋ ๋ชจ๋๋ ์ผ์ข ์ ๋ถ๋ถ ํ๋ฃจํ ์ ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
C) ์ค์ธ๊ณ ์คํ (Real World Execution): ์ ์ฑ ์ด ๋ชจ๋ ๊ด์ธก์ ์ค์ ๋ก๋ด/ํผ์๋ ธ๋ก๋ถํฐ ์ป๊ณ , ํ๋๋ ์ง์ ์ค ๋ก๋ด์ ์ ์ฉํ๋ ๊ฐ์ฅ ์ง๊ด์ ์ธ ๋ฐฉ์์ด๋ค. ์ด ๊ฒฝ์ฐ ์๋ฎฌ๋ ์ดํฐ๋ ์ ํ ์ฌ์ฉ๋์ง ์๋๋ค. ์ ์ฑ ์ ํ์ต ์์ ๋ณด์ง ๋ชปํ๋ ํ์ค ๊ด์ธก(์: ๋ฏธ์ธํ ์ก์์ด ์์ธ ๊ด์ ๊ฐ ๋ฑ)์ ๊ทธ๋๋ก ๋ ธ์ถ๋๋ฏ๋ก Sim2Real ๊ฐญ์ ์ ์ฑ ์ค์ค๋ก ๊ทน๋ณตํด์ผ ํ๋ค. ๋ฐ๋ผ์ ์ด ๋ชจ๋์์๋ ์๋ฎฌ๋ ์ดํฐ์ ๋์ ์์ด๋ ์ ๋์ํ๋ ค๋ฉด, ์ฌ์ ์ ์ ์ฑ ์ด ์ถฉ๋ถํ ๊ฐ์ธํ๊ฒ ํ์ต๋์ด ์์ด์ผ ํ๋ค.
์ธ ๋ชจ๋ ์ค ์ด๋ค ๊ฒ์ด ์ฑ๋ฅ์ ์ ๋ฆฌํ ์ง๋ ์ฌ์ ์ ๋ช ํํ์ง ์์๊ธฐ ๋๋ฌธ์, ์ ์๋ค์ ๋ชจ๋ ์คํํด๋ณด์๋ค. ํ ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ์ ์, Joint Mirroring๊ณผ Hybrid ๋ชจ๋๋ ์ ์ฑ ํ์ต ์ ๋๋ฉ์ธ ๋๋คํ๊ฐ ์์ด๋ ํ์ค ์ ์ฉ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๋ค. Joint Mirroring์ ๊ฒฝ์ฐ ์ด์ฐจํผ ํ์ค ํผ๋๋ฐฑ์ ๋ฌด์ํ๋ ๋๋คํ๊ฐ ํฐ ์๋ฏธ๊ฐ ์๊ณ , Hybrid ๋ชจ๋๋ ๊ด์ฐฐ ๋๋ถ๋ถ์ด ์๋ฎฌ๋ ์ดํฐ ๊ธฐ๋ฐ์ด๋ผ ๋น๊ต์ ์์ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ฉด Real World Execution ๋ชจ๋๋ ์จ์ ํ ํ์ค์ ์์กดํ๋ฏ๋ก, ํ์ต ์ ์ ์ ํ ๊ฐ๋์ ๋๋คํ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์คํ์ด ๋งค์ฐ ์ด๋ ค์ ๋ค. ์ค์ ์ ์๋ค์ Real World ๋ชจ๋๋ก ์ ์ฑ ์ ์ด์ํ ๋ ์ค๊ฐ ์ ๋ ๊ฐ๋(moderate intensity)์ ๋๋คํ๋ฅผ ์ฌ์ฉํด ํ์ตํ ์ ์ฑ ์ ์ ํํ๊ณ , ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์คํจํจ์ ๋ณด๊ณ ํ๋ค.
๋๋ฉ์ธ ๋๋คํ์ ํจ๊ณผ ๋ถ์: ๋ค์ํ \beta ๊ฐ์ ๋ํด ํ๋ จํ ์ ์ฑ ์ Hybrid/Real ๋ชจ๋๋ก ์คํํ ๊ฒฐ๊ณผ, ๋๋ฌด ์๊ฑฐ๋ ๋๋ฌด ํฐ ๋๋คํ ๊ฐ๋๋ ๋ชจ๋ ์ฑ๋ฅ์ ์ ํดํ๊ณ , ์ ์ ํ ์ค๊ฐ๊ฐ์์ ์ต๊ณ ์ ์ฑ๋ฅ์ด ๋ํ๋ฌ๋ค. \beta=0 (๋๋คํ ์์)์ธ ๊ฒฝ์ฐ ์๋ฎฌ๋ ์ด์ ์์๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ด๋ ํ์ค์์๋ ์์ ๊ต๋์๋ ๋ณต๊ตฌ๋ฅผ ๋ชปํด ์ฑ๋ฅ์ด ๋จ์ด์ก๋ค. ๋ฐ๋๋ก \beta=1.0์ ๊ฐ๊น์ด ๊ณผ๋ํ ๋๋คํ๋ ์ ์ด์ ์๋ฎฌ๋ ์ดํฐ์์ ํ์ต ๋์ด๋๋ฅผ ํฌ๊ฒ ๋์ฌ๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์, ์ถฉ๋ถํ ํ์ต์๊ฐ์ ์ฃผ์ง ์์ผ๋ฉด ์คํ๋ ค ์ฑ๋ฅ์ด ๋ฎ์์ก๋ค. ๊ฒฐ๊ตญ ํ์ค ์ฑ๋ฅ ๊ด์ ์์ \beta \approx 0.5 ์ฃผ๋ณ์์ F1 ์ค์ฝ์ด๊ฐ ์ต๊ณ ์์ผ๋ฉฐ, ์ด๋ ์๋ฎฌ๋ ์ด์ ๊ณผ ํ์ค ๊ฐ ๊ฐญ์ ๋ฉ์ฐ๋ฉด์๋ ํ์ต ๋์ด๋๋ฅผ ๋๋ฌด ๋์ด์ง ์๋ ๊ท ํ์ ์์ ์๋ฏธํ๋ค. ์ด๋ฌํ ๊ฒฐ๊ณผ๋ Sim2Real์ ์ํ ๋๋คํ ๊ฐ๋์ ์ ํ์ด ์ค์ํจ์ ๋ณด์ฌ์ฃผ๋ฉฐ, ์ถํ ์ ์์ ๋๋คํ ์กฐ์ ์ด๋ ๋ฐ์ ๋ ๋๋ฉ์ธ ๋ถํ์ค์ฑ ๋ชจ๋ธ๋ง ๋ฑ์ ์ฌ์ง๋ฅผ ๋จ๊ธด๋ค.
์์ฝํ๋ฉด, ํ๋์จ์ด์ ์ธ ๊ฐ์ (์์ ์๊ฐ๋ฝ ํ ์ฅ์ฐฉ ๋ฑ)๊ณผ ์๋ฎฌ๋ ์ด์ ํ๊ฒฝ ๊ตฌ์ฑ, ๋๋ฉ์ธ ๋๋คํ ๋ฐ ์คํ ๋ชจ๋ ์ค๊ณ๋ผ๋ ๋ค์ํ ๊ธฐ์ ์์๊ฐ ๊ฒฐํฉ๋์ด, ์์ ํ ๊ฐ์ํ๋ จ๋ง์ผ๋ก ์ค์ ๋ก๋ด์ด ํผ์๋ ธ๋ฅผ ์ฐ์ฃผํ ์ ์๊ฒ ๋์๋ค. ํนํ ํ์ด๋ธ๋ฆฌ๋ ์คํ ๋ชจ๋๋ ํ์ค ์ ์ฉ ์ ์์ ์ฑ๊ณผ ์ ์์ฑ์ ๋์์ ํ๋ณดํ๊ฒ ํด์ค ์ค์ํ ๊ธฐ๋ฒ์ผ๋ก ๋ฐํ์ก๋ค.
3.6 ์คํ ๊ฒฐ๊ณผ ์์ฝ ๋ฐ ํ๊ณ์ ํ๊ฐ
๋ ผ๋ฌธ์์๋ ์์ ์๊ฐํ ์์คํ ์ ์ด์ฉํด ๋ค ๊ฐ์ง ๊ณก๋ชฉ์ ๋ํด ๋ก๋ด์ ์ฐ์ฃผ ์คํ์ ์ํํ๋ค: ์์ ๋ณ(Twinkle Twinkle Little Star) ๋ฉ๋ก๋, C ์ฅ์กฐ ์๊ณ, D ์ฅ์กฐ ์๊ณ, ๊ทธ๋ฆฌ๊ณ ์ฝ๋ ์งํ(chord progression). ๊ฐ ๊ณก๋ง๋ค ๊ฐํํ์ต์ผ๋ก ๋ณ๋์ ์ ์ฑ ์ ํ๋ จํ๊ณ (๋ค๋ฅธ ๊ณก์ผ๋ก์ ์ ์ด๋ ๊ณ ๋ คํ์ง ์์), ๋์ผ ๊ณก์ ๋ํด ๋ ๊ฐ์ง ์๋๋ก ํ์ตํ ๋ชจ๋ธ์ 3๋ฒ์ฉ ์คํํ์ฌ ์ฑ๋ฅ์ ์ธก์ ํ๋ค. ์ฃผ ์ฑ๋ฅ ์งํ์ธ F1 ์ค์ฝ์ด๋ ์๋ฎฌ๋ ์ด์ ์์์ ์ฑ๋ฅ๊ณผ ์ค์ ๋ก๋ด์ผ๋ก ์ฐ์ฃผํ ์ฑ๋ฅ์ ๋ชจ๋ ๊ตฌํ์ฌ ๋น๊ตํ๋ค.
์ ๋ฐ์ ์ธ ์ฑ๊ณต๋ฅ : ๋ค ๊ณก ๋ชจ๋ ๋ก๋ด์ด ๋๊น์ง ์ฐ์ฃผํ๋ ๋ฐ ์ฑ๊ณตํ์ผ๋ฉฐ, ์ด๋ ๋ณธ ์ ๊ทผ๋ฒ์ ์ผ๋ฐํ ๊ฐ๋ฅ์ฑ์ ๋ณด์ฌ์ค๋ค. ๋ค๋ง ๋ชจ๋ ๊ฒฝ์ฐ์์ Sim2Real ๊ฐญ์ด ๋๋ ทํ๊ฒ ๋ํ๋, ํ์ค์ F1 ์ ์๊ฐ ์๋ฎฌ๋ ์ดํฐ์์๋ณด๋ค ๋ฎ์๋ค. ๊ทธ๋๋ F1 ๊ฐ ์์ฒด๋ ๋์ฒด๋ก 0.5~0.9 ๋ฒ์๋ก ์ํธํ ํธ์ด์ด์, ๊ณก์ ์๋น ๋ถ๋ถ์ ์ ํํ ์ฐ์ฃผํ์์ ์๋ฏธํ๋ค (F1=1์ด๋ฉด ์๋ฒฝ, 0์ด๋ฉด ์ ํ ๋ชป ํจ).
Precision vs Recall ๊ฒฝํฅ: ํฅ๋ฏธ๋กญ๊ฒ๋ ์ค์ ์ฐ์ฃผ์์ ์ ๋ฐ๋(Precision)๊ฐ ์ผ๊ด๋๊ฒ ์ฌํ์จ(Recall)๋ณด๋ค ๋๊ฒ ์ธก์ ๋์๋ค. ์ฆ, ํ๋ฆฐ ๊ฑด๋ฐ์ ๋๋ฅด์ง ์๋ ๋ฅ๋ ฅ์ ๋น๊ต์ ์ข์๋ฐ ์ ํํ ๊ฑด๋ฐ์ ๋ชจ๋ ๋์น์ง ์๊ณ ๋๋ฅด๋ ๋ฅ๋ ฅ์ ์๋์ ์ผ๋ก ๋จ์ด์ก๋ค. ์ ์๋ค์ ์ด๋ฅผ ๋ ๊ฐ์ง ์ด์ ๋ก ๋ถ์ํ๋ค: (i) ๋ก๋ด์ด ํ๋ฆฐ ๊ฑด๋ฐ์ ๋๋ ์ ๋ ์ฆ์ ์๊ฐ๋ฝ์ ๋ผ๋ ๊ฒ์ ๋น๊ต์ ์ฝ์ง๋ง, ๋์น ๊ฑด๋ฐ์ ๋ค์ ๋๋ฅด๋ฌ ๊ฐ๋ ๊ฒ์ ์ฌ๋ฌ ๋์(์๊ฐ๋ฝ ๋ค๊ธฐ -> ์์ผ๋ก ์ด๋ -> ๋๋ฅด๊ธฐ)์ด ์ฐ์๋์ด ๋ ์ด๋ ต๊ณ ์๊ฐ ์๋ชจ์ ์ด๋ผ์, ๋น ๋ฅธ ๊ณก ์งํ ์ค์๋ ๋์น ํค๋ฅผ ๊ฑด๋๋ฐ๊ฒ ๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค. (ii) ์ ์ด์ Precision์ ๋์ด๋ ค๋ฉด ํ์ํ ๋ชจ๋ ์ฌ๋ฐ๋ฅธ ํค๋ ๋๋ฅด๋ฉด์ ๋์์ ์ด๋ค ์๋ชป๋ ํค๋ ๋๋ฅด๋ฉด ์ ๋๋ ๊น๋ค๋ก์ด ์กฐ๊ฑด์ด์ง๋ง, Recall์ ๋์ด๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ์์ ์๋ฌด ํค๋ ๋๋ฅด์ง ์๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ (๋ฌผ๋ก ๊ทธ๋ฌ๋ฉด ๊ณก์ ๋ชปํ์ง๋ง ์ด๋ก ์ ์ผ๋ก๋ Recall=0% ๋ฌ์ฑ ๊ฐ๋ฅ), ํ์ต ์ Precision์ ๋๊น์ง ๋์ด๋ ๊ฒ์ด Recall์ ๋์ด๋ ๊ฒ๋ณด๋ค ์ด๋ ค์ด ๊ฒฝํฅ์ด ์๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ก๋ด์ ๊ณก์ ์ฐ์ฃผํ๋ค๊ฐ ์ผ๋ถ ํค(ํนํ ๋น ๋ฅด๊ฒ ๋ฐ๋๋ ๋ถ๋ถ)๋ฅผ ๋์น๋ ๊ฒฝ์ฐ๊ฐ ์์์ง๋ง, ์ฌ๋งํ๋ฉด ํ๋ฆฐ ํค๋ ๊ฑฐ์ ๋๋ฅด์ง ์์ผ๋ ค๋ ๋ณด์์ ์ธ ์ ๋ต์ ์ทจํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
๊ณก ๋์ด๋๋ณ ์ฑ๋ฅ: Twinkle๊ณผ ์๊ณ ์ฐ์ต๊ณก๋ค์ ๋จ์ ์จ(ํ ๋ฒ์ ํ ์)์ด๋ผ ๋น๊ต์ ๋์ F1์ ๋ณด์๋ค. D ์ฅ์กฐ ์๊ณ์ ๊ฒฝ์ฐ ๊ฒ์ ๊ฑด๋ฐ(#)์ด ํฌํจ๋์ด ์์ด ์๊ฐ๋ฝ ๊ต์ฒด(fingering)๊ฐ ํ์ํ๋ฐ, ๋ก๋ด ์์ 4์๊ฐ๋ฝ์ผ๋ก ์์ง์์ด ์ฐ์ฃผํด์ผ ํ๋ฏ๋ก ์ฝ๊ฐ ์ด๋ ค์์ ๊ฒช์๋ค. ์ฝ๋ ์งํ ๊ณก์ ํ ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ ๊ฑด๋ฐ(ํ์)์ ๋๋ฌ์ผ ํด์ ์๋ฎฌ๋ ์ด์ ์ ํ์ต ๋์ด๋๊ฐ ๊ฐ์ฅ ๋์๊ณ , ์๋ฎฌ๋ ์ดํฐ์์ ์ป์ F1๋ ๊ฐ์ฅ ๋ฎ์๋ค. ์ด์ ๋ ์ฌ๋ฌ ์๊ฐ๋ฝ์ ๋์์ ์ ์ดํด์ผ ํ๋ฏ๋ก ์ ์ฑ ์ ๊ฒฝ๋ง์ ๋ ํฐ ์ฉ๋(capacity)์ด ํ์ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฌ๋ ์์ด๋ฌ๋ํ๊ฒ๋ ์ค์ ๋ก๋ด์ผ๋ก ์คํํ ๊ฒฐ๊ณผ๋ ์ฝ๋ ์งํ์ด ๋ค๋ฅธ ๊ณก๋ค์ ๋นํด ์คํ๋ ค ์์ ์ ์ด์๋ค. ์ ์๋ค์ ํ์์ ์ฐ์ฃผํ ๋ ๊ฐ ์ฝ๋๋น ๋๋ฅด๊ณ ์๋ ์๊ฐ์ด ๊ธธ์ด์ ๋ก๋ด์ด ๊ทธ ์ฌ์ด ์ค๋ฅ๋ฅผ ๊ต์ ํ ์ฌ์ ๊ฐ ์๊ธฐ๊ธฐ ๋๋ฌธ์ผ๋ก ์ค๋ช ํ๋ค. ์ฆ, ํ ์ ํ ์์ด ์งง๊ฒ ์งํ๋๋ ๋ฉ๋ก๋๋ณด๋ค, ์ฝ๋์ฒ๋ผ ๊ธธ๊ฒ ๋๋ฌ์ฃผ๋ ์์ Sim2Real ๊ฐญ์ด ์๋์ ์ผ๋ก ์์๋ค.
์คํ ๋ชจ๋ ๋น๊ต: ์ธ ๊ฐ์ง ์คํ ๋ชจ๋(A, B, C)์ ๋ํ ์ฑ๋ฅ ๋น๊ต์์๋ ํ์ด๋ธ๋ฆฌ๋ ๋ชจ๋(B)๊ฐ ์ ๋ฐ์ ์ผ๋ก ๊ฐ์ฅ ์ฐ์ํ ์ฑ๊ณผ๋ฅผ ๋ณด์๋ค. Hybrid ๋ชจ๋๋ ์ค์๊ฐ ๊ต์ ๋ฅ๋ ฅ๊ณผ ์๋ฎฌ๋ ์ดํฐ ๊ธฐ๋ฐ ์์ ์ฑ์ ๋ชจ๋ ๊ฐ์ถ์๊ธฐ ๋๋ฌธ์, ๊ณก ์ ๋ฐ์์ ๋์ F1๊ณผ ์์ ์ ์ธ ์ฌ์์ ๋ฌ์ฑํ๋ค. ๋ฐ๋ฉด Joint Mirroring(A)์ ์๋ชป ๋๋ฆฐ ํค๋ฅผ ๋๊น์ง ์ธ์งํ์ง ๋ชปํด Recall์ด ํฌ๊ฒ ์ ํ๋์๊ณ , Real-world ๋ชจ๋(C)๋ ์ผ๋ถ ๊ณก์์ Hybrid์ ๋นํด ์ฑ๋ฅ์ด ๋จ์ด์ก๋๋ฐ, ์ด๋ ์ฌ์ ํ ๋จ์ Sim2Real ๊ฐญ ์ํฅ์ผ๋ก ๋ณด์ธ๋ค. ์ ๋ฐ์ ์ผ๋ก โ์๋ฎฌ๋ ์ดํฐ ๊ด์ ๋ก ํ์ตํ ๋ฒ๋ฆโ์ ์ ์งํ๋ฉด์๋ ์ค์ ๊ฒฐ๊ณผ์ ๋ฐ์ํ ์ ์๋ hybrid ์ ๊ทผ์ด ๊ฐ์ฅ ์ค์ฉ์ ์์ ํ์ธํ ์ ์ด๋ค.
ํ๊ณ์ ๋ฐ ํฅํ ๊ณผ์ : ๋ณธ ์ฐ๊ตฌ๋ ์ค์ํ ์ฒซ๊ฑธ์์ ๋์ง๋ง, ์ฌ๋ฌ ํ๊ณ๋ ์กด์ฌํ๋ค. ์ฐ์ , Sim2Real ๊ฐญ์ ์์ ํ ์ ๊ฑฐํ์ง๋ ๋ชปํ๋ค. F1 ์ ์๊ฐ 100%์ ๋๋ฌํ ๊ณก์ ์์ผ๋ฉฐ, ํนํ ๋น ๋ฅธ ์ฐ์ฃผ๋ ๋ณต์กํ ๊ณก์ผ๋ก ๊ฐ์๋ก ๋์น๋ ์์ด ๋ฐ์ํ ์ ์๋ค. ์ด๋ ๋ถ๋ถ์ ์ผ๋ก๋ ๊ด์ฐฐ์ ์ ํ(๋ถ๋ถ๊ด์ฐฐ) ๋๋ฌธ์ด๊ธฐ๋ ํ๋ค โ ๋ก๋ด์ ๊ฑด๋ฐ์ ๋๋ฅด๊ธฐ ์ ๊น์ง๋ ์๊ฐ๋ฝ๊ณผ ๊ฑด๋ฐ์ ์ ์ด ์ฌ๋ถ๋ฅผ ์ ์ ์๊ณ , ๋๋ฆผ ์ฌ๋ถ๋ ์ด์ง๊ฐ์ผ๋ก๋ง ์ ์ ์์ด ๋ฏธ์ธํ ์กฐ์ ์ด ์ด๋ ต๋ค. ์ถํ ๊ณ ํด์๋ ์ด๊ฐ ์ผ์(์: DIGIT ์ผ์ ๋ฑ)๋ ๋น์ ํผ๋๋ฐฑ์ ํ์ฉํ๋ฉด ์ด ๋ฌธ์ ๋ฅผ ์ํํ ์ ์์ ๊ฒ์ด๋ค. ๋์งธ, ๋ก๋ด ์ ์์ฒด์ ํ๊ณ๋ก ์ฌ๋๊ฐ์ ์๊ฐ๋ฝ ๊ต์ฒด ๊ธฐ๋ฒ์ ์ฐ์ง ๋ชปํด ์ผ๋ถ ์๊ณ๋ ๋ณต์กํ ํจ์์ง์์ ๋นํจ์จ์ ์ธ ๋์์ ํ๊ฑฐ๋, ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋๋ฌํ๊ธฐ ์ด๋ ค์ด ์ ์กฐํฉ์ด ์๋ค. ํฅํ ๋ ๋ง์ ์์ ๋๋ฅผ ๊ฐ์ง ์(5์๊ฐ๋ฝ)์ด๋ ํผ์๋ ธ ์ ์ฉ ๊ธฐ๊ณ์์ผ๋ก ํ์ฅํ ํ์๊ฐ ์๋ค. ์ ์งธ, ์ ์ฑ ์ ์ผ๋ฐํ ๋ฒ์๊ฐ ์์ง ์ ํ์ ์ด๋ค. ๋ณธ ๋ ผ๋ฌธ์์๋ ๊ณก๋ง๋ค ๊ฐ๋ณ ์ ์ฑ ์ ํ๋ จํ์ง๋ง, ์ด์์ ์ผ๋ก๋ ํ๋์ ์ ์ฑ ์ด ์ฌ๋ฌ ๊ณก์ ์กฐ๊ฑด๋ถ๋ก ์ฐ์ฃผํ๊ฑฐ๋, ์จ๋ผ์ธ์ผ๋ก ์๋ก์ด ์ ๋ณด๋ฅผ ๋ฐ๋ก ์ฐ์ฃผํ ์ ์๋๋ก ์ผ๋ฐํ๋ฅผ ๋์ด๋ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ์ผ ํ๋ค. ๋ท์งธ, ์์ ์ ํํ๋ ฅ์ ๊ณ ๋ ค๋์ง ์์๋ค. ์ฌ๋์ด ์ฐ์ฃผํ ๋๋ ์ธ๊ฒ์น๊ธฐ/์ฌ๋ฆฌ๊ฒ์น๊ธฐ(๊ฑด๋ฐ ๋๋ฅด๋ ์๋์ ๋ฐ๋ฅธ ์ ์ธ๊ธฐ)๋ ํ๋ฌ ์ฌ์ฉ ๋ฑ์ด ์ค์ํ๋ฐ, ์ฌ์ฉ๋ ํค๋ณด๋๋ ๊ฑด๋ฐ ๋๋ฆผ ๊น์ด์ ๋ฐ๋ฅธ MIDI ๋ฒจ๋ก์ํฐ๋ ์ ๊ณตํ์ง ์์์ ๋ก๋ด์ ๋ชจ๋ ์์ ๋์ผํ ์ธ๊ธฐ๋ก ๋๋ค. ์ถํ MIDI velocity ์ ๋ณด๋ ์ค์ ํผ์๋ ธ์ ์ํฅ ํผ๋๋ฐฑ์ ๋ณด์์ ํฌํจํ์ฌ ์์ง ์ธก๋ฉด์ ๋ณด์(์: ๋ชฉํ ์ํฅ๊ณผ์ ์ ์ฌ๋)๊น์ง ์ต์ ํํ๋ฉด ๋์ฑ ์ธ๊ฐ๋ค์ด ์ฐ์ฃผ๊ฐ ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค. ๋ง์ง๋ง์ผ๋ก, ํ์ต ํจ์จ๊ณผ ์์ ์ฑ๋ ํฅํ ๊ฐ์ ์ฌ์ง๋ค. DroQ๋ก ๋น๊ต์ ์ ์ ๋ฐ์ดํฐ๋ก๋ ํ์ต์ ํ์ง๋ง, ์ฌ์ ํ ์๋ฎฌ๋ ์ดํฐ์์ ์๋ฐฑ๋ง ์คํ ์ ๋์์ผ ํ๋ค. ๋ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด๋ ๋ชจ๋ฐฉํ์ต๊ณผ์ ๋ณํ, ์ธ๊ฐ ์์ฐ ๋ฐ์ดํฐ ํ์ฉ ๋ฑ์ผ๋ก ํ๋ จ ์๊ฐ์ ๋จ์ถ์ํฌ ์ ์์ ๊ฒ์ด๋ค.
3.7 ๊ฒฐ๋ก
Learning to Play Piano in the Real World ๋ ผ๋ฌธ์ ๊ฐํํ์ต์ ํตํด ์ค์ ๋ก๋ด ํธ๋๋ก ํผ์๋ ธ ์ฐ์ฃผ๋ฅผ ๊ตฌํํ ์ต์ด์ ์ฌ๋ก๋ก์ ํฐ ์๋ฏธ๋ฅผ ์ง๋๋ค. ๋น๋ก ๋จ์ํ ๊ณก๋ค๋ก ์์ํ์ง๋ง, Sim2Real ์ ๊ทผ์ ํ์ธต ๋ฐ์ ์์ผ ๋ณต์กํ ํด๋จธ๋ ธ์ด๋ ์กฐ์ ๋ฌธ์ ์ ๋์ ํ ์ , ๊ทธ๋ฆฌ๊ณ Hybrid ์คํ ๋ชจ๋ ๋ฑ์ ์ฐฝ์์ ์ธ ์์ด๋์ด๋ก ํ์ค ์ ์ฉ์ ๊ฐ๋ฅ์ผ ํ ์ ์ด ๋๋ณด์ธ๋ค. ์ด ์ฐ๊ตฌ๋ฅผ ํตํด ํผ์๋ ธ ์ฐ์ฃผ๊ฐ ๋ก๋ด ์กฐ์ ์ฐ๊ตฌ์ ์๋ก์ด ํ์ค ๋ฒค์น๋งํฌ๊ฐ ๋ ๊ฐ๋ฅ์ฑ์ด ์ ์๋์๊ณ , ํฅํ ์ธ๊ฐ ์์ค์ ์ฌ์ธํ ์ฐ์ฃผ์ ๋์ ํ๊ธฐ ์ํ ๊ธฐ๋ฐ์ด ๋ง๋ จ๋์๋ค. ์์ผ๋ก ๋ ๋ง์ ๋ก๋ด ์ฐ๊ตฌ์๋ค์ด ์ด ๋ฐฉํฅ์ผ๋ก ์ฐ๊ตฌ๋ฅผ ํ์ฅ์์ผ, ์์ ๊ณผ ๋ก๋ด๊ณตํ์ ๋ง๋จ์ด๋ผ๋ ํฅ๋ฏธ๋ก์ด ์์ญ์์ ์ง์์ ์ธ ๋ฐ์ ์ด ์ด๋ฃจ์ด์ง๊ธธ ๊ธฐ๋ํ๋ค.
์ฐธ๊ณ ๋ฌธํ (๋ ผ๋ฌธ ๋ฒํธ๋ ์๋ฌธ๊ณผ ๋์ผํ๊ฒ ์ ์ง):
- Handa et al. (2024), DeXtreme: Transfer of Agile In-hand Manipulation from Simulation to Reality.
- Hiraoka et al. (2022), DroQ: Dropout Q-Functions for Doubly Efficient Reinforcement Learning.