๊ฐํํ์ต ํ๊ฒฝ ๊ตฌํ,
์ ๋ํฐ(Unity)๋ก ์ฝ๊ณ ํธ๋ฆฌํ๊ฒ!
๊ฐํํ์ต ํ๊ฒฝ,
์ด๋ป๊ฒ ๋ง๋ จํ๋ฉด ์ข์๊น์?
2016๋
์ํ๊ณ ๊ฐ ํฐ ์ถฉ๊ฒฉ์ ์๊ฒจ์ค ์ดํ, ์ํ๊ณ ์ ์ ์ฉ๋์๋ค๊ณ ์๋ ค์ง ๊ฐํํ์ต(Reinforcement Learning)์ ๋ํ ๊ด์ฌ์ด ํฌ๊ฒ ๋์์ก์ผ๋ฉฐ ๊ทธ ์ด๊ธฐ๋ ์์ง๊น์ง๋ ๋จ๊ฑฐ์ด ๊ฒ ๊ฐ์ต๋๋ค. ์ด ๊ฐํํ์ต์ ๊ตฌ์ฑํ๋ ํฐ ์์๋ ์๋์ ๊ฐ์ด ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ๊ณผ ๊ฐํํ์ต ํ๊ฒฝ์
๋๋ค. ์ด ๋ ๊ฐ์ง๊ฐ ์๋ก ํ๋, ์ํ, ๋ณด์ ๋ฑ์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉด์ ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ์ด ํ์ต์ ์ํํ๊ฒ ๋ฉ๋๋ค.
์ํ๊ณ ์ดํ ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ง ๋ง์ ๋ฐ์ ์ ์ด๋ค์์ต๋๋ค. ์ด์ ๋ง์ถฐ OpenAI GYM, Mujoco, Atari, GTA5, Malmo ๋ฑ๋ฑ ๋ค์ํ ์ข
๋ฅ์ ๊ฐํํ์ต ํ๊ฒฝ๋ค ๋ํ ๊ณต๊ฐ๋์ด ์์ต๋๋ค. ์ด ํ๊ฒฝ๋ค์ ๋๋ถ๋ถ ๊ฒ์์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ํ๊ฒฝ์
๋๋ค. ๊ฐํํ์ต์ ๊ฒ์์ ์ ์ฉํ๊ธฐ ์ข์ ์๊ณ ๋ฆฌ์ฆ์ด ๋ถ๋ช
ํ์ง๋ง ์ต๊ทผ ๊ฐํํ์ต์ ๊ฒ์ ๋ฟ๋ง ์๋๋ผ ์ถ์ฒ, ๋ก๋ด, ๋๋ก , ์๋์ง, ๊ธ์ต ๋ฑ๋ฑ ๋ค์ํ ๋ถ์ผ์ ์ ์ฉํด๋ณด๋ ค๋ ์๋๊ฐ ๋๊ณ ์์ต๋๋ค.
ํ์ง๋ง ์ด๋ฐ ๋ค์ํ ๋ถ์ผ๋ค์ ๋ํ ๊ฐํํ์ต ํ๊ฒฝ์ ์ฌ์ ํ ๋ถ์กฑํ ์ํฉ์
๋๋ค. ํนํ๋ ๊ฐ๋ฐ์๊ฐ ์ํ๋ ๊ตฌ์ฒด์ ์ธ ์คํ์ ์ ํํ๊ฒ ๋ง์กฑํ๋ ํ๊ฒฝ์ด ๊ณต๊ฐ๋๊ธฐ๋ ๊ธฐ๋ํ๊ธฐ ๋งค์ฐ ์ด๋ ต์ต๋๋ค. ์ฌ๋ฌ๋ถ์ด ๊ฐํํ์ต์ ์ ์ฉํด๋ณด๊ณ ์ถ์ ํน์ ํ ์ผ์ ๊ตฌ์ฑ๊ณผ ๊ด์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ ๋ก๋ด ํ๊ฒฝ์ด ์๋ค๊ณ ํ๋๋ผ๋, ํด๋น ๋ถ์ผ์ ๊ณต๊ฐ๋ ๊ฐํํ์ต ํ๊ฒฝ์ด ์์ผ๋ฉด ์ฐ๊ตฌ๋ฅผ ์์ํ๋ ๊ฒ์กฐ์ฐจ ๋ถ๊ฐ๋ฅํ ์ ์์ต๋๋ค.
์ด๋ฏธ ๋ง๋ค์ด์ง ํ๊ฒฝ์ ์ด์ฉํ๋ฉด
์ด๋ฐ ๋จ์ ์ด ์์ต๋๋ค.
ํ๊ฒฝ์ ๋ํ
์์ ์ด
์ด๋ ค์
ํ๊ฒฝ๋ง๋ค
์ฌ์ฉ๋ฒ์ด
๋ค๋ฆ
ํ์ํ
ํ๊ฒฝ์ด
์์ ์ ์์
ํ์ง๋ง 2017๋
9์, ์ธ๊ณ ์ต๋์ ๊ฒ์ ์์ง ํ์ฌ ์ค ํ๋์ธ ์ ๋ํฐ์์ ์ด๋ฐ ๊ณ ๋ฏผ์ ํด๊ฒฐํด ์ค ์ ์๋ ์ ๋ํฐ ๋จธ์ ๋ฌ๋ ์์ด์ ํธ(Unity Machine-Learning Agent)๋ผ๋ ํด์ ๊ณต๊ฐํ์ต๋๋ค.
Unity ML-Agents๋ก
๊ตฌํํ๋ ๊ฐํํ์ต ํ๊ฒฝ!
์ ๋ํฐ ๋จธ์ ๋ฌ๋ ์์ด์ ํธ๋ฅผ ์ด์ฉํ๋ฉด?
๋ณธ ๊ฐ์์์๋ ์ด ์ ๋ํฐ ๋จธ์ ๋ฌ๋ ์์ด์ ํธ๋ฅผ ์ด์ฉํ์ฌ ๋ค์ํ ๊ฐํํ์ต ํ๊ฒฝ์ ์ง์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋ณผ ๋ฟ ์๋๋ผ ํด๋น ํ๊ฒฝ์ ์ ์ฉํ ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ก , ์ฝ๋ ๊ตฌํ๊น์ง ์งํํ ์์ ์
๋๋ค.
์๊ฐ ์ ์๋ด ์ฌํญ!
๋ณธ ๊ฐ์์ ๋ด์ฉ์ ์๋์ ์ฑ
"ํ์ดํ ์น์ ์ ๋ํฐ ML-Agents๋ก ๋ฐฐ์ฐ๋ ๊ฐํํ์ต" ์ฑ
์ ๋ด์ฉ๊ณผ ๋์ผํ ๋ด์ฉ์ ํฌํจํ๊ณ ์์ต๋๋ค! ์๊ฐ ์ ์ ํด๋น ์ฌํญ์ ๋ํด ์ ์ํด์ฃผ์๋ฉด ๊ฐ์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค!

์ ๋ํฐ ๋จธ์ ๋ฌ๋ ์์ด์ ํธ ์์ ์ ๋ณต - ๊ธฐ์ดํธ
์ ๋ํฐ ๋จธ์ ๋ฌ๋ ์์ด์ ํธ ์์ ์ ๋ณต ๊ฐ์์ ์ ์ฒด ๋ด์ฉ์ ๊ธฐ์ดํธ๊ณผ ์์ฉํธ์ผ๋ก ๋๋์ด ์งํํ ๊ฒ์ด๋ฉฐ ์ด๋ฒ ๊ฐ์๋ ์ด ์ค ๊ธฐ์ดํธ ๋ด์ฉ์
๋๋ค. ๊ธฐ์ดํธ์์ ์ดํด๋ณผ ๊ตฌ์ฒด์ ์ธ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๊ฐํํ์ต ๊ธฐ์ด ์ฉ์ด ๋ฐ ์ด๋ก
- ์ ๋ํฐ ์ค์น ๋ฐ ๊ธฐ์ด ์ฌ์ฉ๋ฒ
- ์ ๋ํฐ ๋จธ์ ๋ฌ๋ ์์ด์ ํธ ์ค์น, ๊ตฌ์ฑ ์์ ์ค๋ช
, ์ฌ์ฉ๋ฒ (mlagents-learn, Python API)
- ํ๊ฒฝ ์ ์
- GridWorld, Drone, KartRacing
- ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ ์ด๋ก ํ์ต ๋ฐ ์ฝ๋ ๊ตฌํ
- DQN, A2C, DDPG, Behavioral Cloning
์ด๋ฒ ๊ฐ์๋ฅผ ํตํด ์ ์ํ ํ๊ฒฝ๊ณผ ํ์ตํ ์๊ณ ๋ฆฌ์ฆ๋ค์ ์ฝ๋๋ ๊นํ๋ธ์ ๋ชจ๋ ํฌํจ๋์ด ์์ต๋๋ค.
์๋์ ์ด๋ฏธ์ง๋ค์ ์ด๋ฒ ๊ฐ์๋ฅผ ํตํด ์ง์ ๊ตฌํํด๋ณผ ๊ฐํํ์ต ํ๊ฒฝ๋ค๊ณผ ์ด๋ฅผ ์ฌ๋ฌ๋ถ์ด ๊ตฌํํ ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ์ ํตํด ํ์ตํ ๊ฒฐ๊ณผ์
๋๋ค.
๊ทธ๋ฆฌ๋์๋ ํ๊ฒฝ ์ ์ํ๊ธฐ
๋๋ก ํ๊ฒฝ ์ ์ํ๊ธฐ
์นดํธ ๋ ์ด์ฑ ํ๊ฒฝ ์ ์ํ๊ธฐ
์์ฃผ ๋ฌป๋ ์ง๋ฌธ์
ํ์ธํด๋ณด์ธ์.
Q. ์ ๋ํฐ๋ฅผ ์ฌ์ฉํด๋ณธ ์ ์ด ์๋๋ฐ ์๊ฐํด๋ ๊ด์ฐฎ์๊น์?
์ ๋ํฐ๋ฅผ ์ฒ์ ์ฌ์ฉํด๋ณด์๋ ๋ถ๋ค๋ ๊ฐ์๋ฅผ ์ฝ๊ฒ ๋ฐ๋ผ๊ฐ ์ ์๋๋ก ์ค์น๋ถํฐ ์์ํด์ ๊ฐ๋จํ ํ๊ฒฝ์ ์ง์ ๋ง๋๋ ๊ณผ์ ๊น์ง ์ฐจ๊ทผ์ฐจ๊ทผ ๋ด์ฉ์ ์งํํฉ๋๋ค. ์ ๋ํฐ์ ๋ด์ฉ๋ง์ ์์ธํ ๋ค๋ฃจ์ง๋ ์์ง๋ง ๊ฐ์๋ฅผ ์๊ฐํ์๊ณ ๋๋ฉด ์์
์คํ ์ด์ ์๋ ์์
์ ์ด์ฉํด ํ๊ฒฝ์ ์ ์ํ๊ฑฐ๋ ๊ฐ๋จํ ํ๊ฒฝ์ ์ง์ ๋ง๋ค์ด ๊ฐํํ์ต ํ๊ฒฝ์ ๋ง๋์ค ์ ์์ ๊ฒ์
๋๋ค.
Q. ๋จธ์ ๋ฌ๋ ์์ด์ ํธ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๊ฐํํ์ต ๋ด์ฉ์ ๋ฐ๋์ ์ ์๊ณ ์์ด์ผ ํ๋์?
๋จธ์ ๋ฌ๋ ์์ด์ ํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐํํ์ต์ ์ง์ํ๋ ๋๊ตฌ์ด๋ฏ๋ก ๊ฐํํ์ต์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋
์ ์๊ณ ๊ณ์
์ผ ๋ ์์ํ๊ฒ ๋จธ์ ๋ฌ๋ ์์ด์ ํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ ๋ํฐ ๋จธ์ ๋ฌ๋ ์์ด์ ํธ์์ ๋ค์ํ ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ๋ค์ ์ ๊ณตํ์ฌ ์ด๋ฅผ ์ด์ฉํด ๊ฐํํ์ต ํ๊ฒฝ์์ ์์ด์ ํธ์ ๋ํ ํ์ต์ ์งํํ ์๋ ์๊ธฐ ๋๋ฌธ์ ํด๋น ๊ธฐ๋ฅ์ ์ด์ฉํ๋ ๊ฒฝ์ฐ ๊ฐํํ์ต์ ๋ํ ์ฌ๋์๋ ์ง์์ด ์๋๋ผ๋ ์์ํ๊ฒ ๋จธ์ ๋ฌ๋ ์์ด์ ํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Q. ๊ฐ์๋ฅผ ์๊ฐํ๊ธฐ ์ํด์ ๋ฅ๋ฌ๋์ ๋ํ ๊น์ ์ดํด๋ ๋ง์ ๊ตฌํ ๊ฒฝํ์ด ํ์ํ ๊น์?
Pytorch๋ก MNIST ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅํ๋ ๋ชจ๋ธ์ ์ง์ ๊ตฌํํด๋ณด์ ์ ๋๋ผ๋ฉด ํฐ ์ด๋ ค์ ์์ด ๊ฐ์๋ฅผ ์๊ฐํ ์ ์์ ๊ฒ์ผ๋ก ์๊ฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ฝ Tensorflow 2.x ๋ฒ์ ์ ์ฌ์ฉํด๋ณด์ ๋ถ๋ค์ด๋ผ๋ Pytorch์ ๋ํ ๊ธฐ์ด๋ง ๊ณต๋ถํ์๋ฉด ์ด๋ ค์ ์์ด ๊ฐ์๋ฅผ ์๊ฐํ์ค ์ ์์ ๊ฒ์ผ๋ก ์๊ฐํฉ๋๋ค.