목록분류 전체보기 (141)
Just Fighting
어드밴티지 액터-크리틱 알고리즘의 단점 몬테카를로 업데이트 문제와 목적함수 그래디언트의 분산이 크다는 점은 개선 완료 but ! 여전히 온-폴리시(on-policy) 온-폴리시 방법은 정책을 업데이트하기 위해서 해당 정책을 실행시켜 발생한 샘플이 필요하기 때문에 효율성이 떨어진다. 두번째 단점은 정책 그리디언트를 이용한다는 것. 정책 파라미터 변화량이 작아도 정책 자체는 크게 변할 수 있다는 단점이 있다. 정책이 점진적으로 업데이트돼야만 안정적인 학습이 가능하기 때문! 이를 개선할 수 있는 대표적인 알고리즘이 PPO(proximal policy optimization, 근접 정책 최적화)이다. PPO 알고리즘 A2C에서 사용된 목적함수 그래디언트는 다음과 같다. \begin{align*} \bigtria..
A3C의 실행하는 과정의 전반적인 흐름을 코드로 공부해보자. ① 환경 초기화 # 상태변수, 행동, 보상을 저장할 배치는 초기화한다. batch_state, batch_action, batch_reward = [], [], [] # 환경을 초기화하고 환경으로부터 첫번째 상태변수 x0를 측정한다. step, episode_reward, done = 0, 0, False state = self.env_reset() ②-1. 행동 선택 # 워커의 액터 신경망을 이용해 행동을 샘플링한다. action = self.get_action(tf.convert_to_tensor([state], dtype=tf.float32)) # 행동이 범위 [-2, 2]를 벗어나지 않도록 제한 action = np.clip(action..
목적함수의 그래디언트를 계산할 때, 어드밴티지가 편향 없이 작은 분산값을 갖도록 추정하는 것이 중요하다. A2C 알고리즘에서는 가치함수를 근사하는 함수 $V_{\phi} (x_t)$를 다음과 같이 1-스텝 관계식을 이용해 추정한다. $$V_{\phi} (x_t) \approx r(x_t, u_t) + \gamma V_{\phi} (x_{t+1})$$ 어드밴티지도 1-스텝 관계식을 이용해 근사적으로 계산한다. $$A_{\phi} (x_t, u_t) \approx r(x_t, u_t) + \gamma V_{\phi} (x_{t+1}) - V_{\phi}(x_t)$$ 1-스텝 관계식을 이용하면 어드밴티지 추정값의 분산은 작지만, 상태가치의 추정 정확도에 따라 어드밴티지 추정값에 큰 편향이 있을 수 있다. 무한..
2차원 데이터에서 최외곽선을 표시하기 위한 함수 convexHull, alphashape 함수에 대해서 정리하고자 한다. ConvexHull 모든 데이터를 다 포함하는 외곽선을 그려주는 함수이다. from scipy.spatial import ConvexHull # 랜덤한 점 10개 x = [random.randint(1,10) for i in range(10)] y = [random.randint(1,10) for i in range(10)] # convex hull 구하기 points = np.array([list(p) for p in zip(x,y)]) hull = ConvexHull(points) # 시각화 plt.scatter(x,y) for s in hull.simplices: plt.plot..