- 강화학습 시작하기 (CartPole 게임)
- 환경 (Environments)
- 관찰 (Observations)
- 공간 (Spaces)
- 첫번째 알고리즘
- 첫번째 뉴럴 네트워크
- 강화학습 (Reinforcement Learning)
- Q-learning
- Deep Q-learning
- Epsilon-greedy 정책
- 첫번째 훈련
- Epsilon의 영향
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
공간 (Spaces)¶
이전의 예제에서 CartPole 게임 환경에서 주어지는 행동 공간 (action space)에서 임의의 행동을 선택했습니다. 모든 환경은 action_space와 observation_space를 가집니다.
이러한 속성들은 공간의 한 유형이며, 유효한 행동과 관찰의 형식을 보여줍니다.
예제1 - 행동, 관찰 공간¶
import gym
env = gym.make('CartPole-v0')
print(env.action_space)
print(env.observation_space)
Discrete(2)
Box(4,)
Discrete
은 고정된 범위의 음이 아닌 숫자를 허용하는 공간입니다. 따라서 이 경우에서 유효한 행동은 0 또는 1이 됩니다.
Box
는 n-차원의 박스를 나타내며, 유효한 관찰값은 4개의 숫자의 어레이가 됩니다. Box
의 범위를 확인해보면,
print(env.observation_space.high)
print(env.observation_space.low)
[4.8000002e+00 3.4028235e+38 4.1887903e-01 3.4028235e+38]
[-4.8000002e+00 -3.4028235e+38 -4.1887903e-01 -3.4028235e+38]
예를 들어, 카트의 위치는 -4.8에서 4.8의 범위에서
막대기의 각도는 약 -0.419에서 +0.419의 범위에서 움직일 수 있습니다.
이렇게 내부를 살펴보는 것은 다양한 환경에서 동작하는 일반적인 코드를 작성하는데 도움이 됩니다. Box
와 Discrete
은 가장 흔한 공간의 한 종류입니다.
이 공간에서 샘플을 얻거나 또는 무언가가 이 공간에 포함되는 것인지 확인할 수 있습니다.
예제2 - 샘플 얻기, 확인하기¶
from gym import spaces
space = spaces.Discrete(8) # 8개의 요소를 갖는 세트 {0, 1, 2, ..., 7}
x = space.sample()
print(space.contains(x))
print(space.n == 8)
True
True
CartPole-v0 게임에서, 하나의 행동은 왼쪽으로, 그리고 다른 하나의 행동은 오른쪽으로 힘을 가하도록 되어 있습니다.
우리의 학습 알고리즘이 더 좋을수록, 이러한 숫자들을 직접 이해하는 시도를 더 적게해도 될 것입니다.
이전글/다음글
이전글 : 관찰 (Observations)
다음글 : 첫번째 알고리즘