목록전체 글 (157)
Just Fighting

앞서 어드밴티지 액터-크리틱(A2C) 알고리즘에 대해 다뤘다. A2C 알고치즘은 에피소드가 끝날 때까지 기다릴 필요 없이 샘플이 모이면 정책을 업데이트하고, 그래디언트의 분산을 줄였다. 그러나, A2C의 문제점은 샘플이 시간적으로 상관되어 있다는 것이다. 샘플 간의 높은 상관관계는 목적함수의 그래디언트를 편향시키고, 학습을 불안정하게 만들 수 있다. 또한, 학습 배치에 있는 서로 유사한 데이터는 신경망을 비슷한 방향으로 업데이트하게 된다. 위와 같은 문제점을 개선하기 위해 비동기 A2C(A3C, asynchronous advantage actor-critic) 알고리즘에 대해 공부한다. 샘플의 상관관계 어드밴티지 액터-크리틱에서 사용한 목적함수의 그래디언트 식은 다음과 같다. \begin{align*} ..
복습 실습에 앞서, 액터-크리틱 알고리즘의 순서에 대해 다시 되짚어보자 ! 2023.06.27 - [분류 전체보기] - [강화학습] AC2 알고리즘 1. 크리틱과 액터 신경망의 파라미터 ϕϕ, θθ 초기화 2. 반복 2-1. 반복 2-1-1. 정책 ui∼ϕθ(ui|xi)ui∼ϕθ(ui|xi)으로 행동을 확률적으로 선택 2-1-2. uiui를 실행해 보상 r(xi,ui)r(xi,ui)과 다음 상태변수 xi+1xi+1 측정 2-1-3. 샘플 (xi,ui,r(xi,ui),xi+1)(xi,ui,r(xi,ui),xi+1) 저장 2-2. 시간차 타깃 계산 2-3. 크리틱 신경망 손실함수 계산 2-4. 어드밴티지 계산 2-5. 크리틱 신경망 업데이트 2-6. 액터 신경망 업데이트 위의 순서대로 코드를 정리..

빈 이중 배열을 미리 선언하고, 그 배열에 값을 하나씩 넣고자 했을 때 아래 코드를 사용했다. 그리고 그 결과는 다음과 같다. lli = [[]]*2 for i in range(2): for j in range(1,5): lli[i].append(j) print(lli) 내가 원하던 결과는 [[1,2,3,4,5],[1,2,3,4,5]]인데, 이렇게 나와서 이유를 찾아보니, 빈 배열인 경우에는 그 안에 포함된 모든 배열이 같은 주솟값을 갖는다고 한다. 이렇게 또 하나를 깨달았다..!

목적함수 그래디언트 계산 목적함수 그래디언트는 샘플링 기법을 이용하면 다음과 같이 근사적으로 계산할 수 있다.
목적함수 그래디언트의 분산이 크면, 업데이트될 정책 파라미터 값이 들쭉날쭉해져 신경망 학습이 불안정해지며, 정책의 불확실성도 커진다. \begin{align*} \bigtriangledown_\theta J(\theta) &= \sum_{t=0}^{T} \left ( \int_{x_t,u_t}^{} \bigtriangledown_\theta log \pi_\theta (u_t|x_t) Q^{\pi_\theta}(x_t, u_t) \pi_\theta (u_t| x_t) p_\theta(x_t)] dx_t du_t \right ) \ &= \sum_{t=0}^{T}\left(E_{x_t \sim p_{\theta(x_t),u_t\sim\pi_\theta(u_t|x_t..
A2C(advantage actor-critrc)은 정책을 업데이트하기 위해서 에피소드가 끝날 때까지 기다려야 하며, 그래디언트의 분산이 매우 크다는 REINFORCE의 단점을 개선한 알고리즘이다. (살짝 개선한 것이지만 성능은 뛰어나다고 함!) \begin{align*} \bigtriangledown_\theta J(\theta) &= E_{\tau\sim p_\theta(\tau)}\left [ \sum_{t=0}^{T}\left ( \gamma^t \bigtriangledown_\theta log \pi_\theta (u_t|x_t)\left ( \sum_{k=t}^{T} \gamma^{k-t}r(x_k, u_k) \right ) \right ) \right..

강화학습의 최종 목표는 환경으로부터 받는 누적 보상을 최대화하는 최적 정책을 구하는 것 ! 정책을 파라미터화하고, 누적 보상을 파라미터화 된 정책의 함수로 기술해 누적보상과 정책 파라미터를 계산하는 방법론을 정책 그래디언트라고 한다. 목적함수 강화학습의 목표는 반환값의 기댓값으로 이루어진 목적함수 J를 최대로 만드는 정책 π(ut|xt)를 구하는 것. 즉, πθ(ut|xt)라면 목적함수를 최대로 만드는 정책 파라미터 θ를 계산하는 것이다.
행동가치 함수를 시간구간 [t,t+n−1]에서 전개한다.
상태가치(state_value) 가치 함수란 어떤 상태변수 Xt에서 시작해 정책 π에 의해서 행동이 가해졌을 때 기대할 수 있는 반환값

강화학습의 프로세스 ▶ 강화학습이란? 에이전트가 상태와 행동을 통해 환경과 상호작용하고, 보상 기능에 따라 보상을 받는 방식 (1) 에이전트는 환경의 상태를 측정 (2) 측정한 상태에서 에이전트의 정책*으로 선택한 행동을 환경에 적용 *정책이란 측정한 상태를 바탕으로 최선의 행동을 선택하기 위한 에이전트의 규칙 또는 방법 (3) 행동에 의해 환경의 상태는 다음 상태(xt+1)로 전환 (4) 전환된 환경을 바탕으로 다시 에이전트는 새로운 행동을 실행 (5) 환경으로부터 주어지는 즉각적인 보상을 사용해 장기적인 성과를 계산 또는 예측해 에이전트의 정책을 개선 마르코브 결정 프로세스 ▶ 마르코프 결정 프로세스(MDP)란? 상태(xt), 상태천이 확률밀도함수(p)와 행동(ut), 보상..