뭔가 이 것만 가지고는 강화학습의 필요 이유를 확실하게 알기 어렵다.
둘다 OK이다.
즉 지도 학습은 정답이 있는 상태에서 학습하는 것이고, 강화 학습은 내가 경험을 통해 스스로 학습하는 것이다.
음 그럼 이게 RNN과 차이가 뭐지...?
순차적 의사결정 문제해결 방식과 순환 신경망(RNN)의 주요 차이점은 그들이 해결하려는 문제의 유형과 사용되는 접근 방식에 있습니다.
순차적 의사결정 문제해결 방식:
순차적 의사결정 문제는 강화학습(RL)과 같은 학습 알고리즘에서 자주 볼 수 있으며, 에이전트가 환경과 상호 작용하면서 최적의 의사결정 전략을 학습하는 과정입니다.
이러한 접근 방식에서는, 에이전트는 현재 상태에서 어떤 행동을 취할 때 받게 되는 보상을 최대화하기 위해 행동을 선택합니다.
목표는 최적의 정책을 찾아, 주어진 환경에서 최대의 누적 보상을 얻는 것입니다.
강화학습에서는 마르코프 결정 프로세스(MDP) 같은 수학적 모델을 사용하여 순차적 의사결정 문제를 정의하고 해결합니다.
순환 신경망(RNN):
RNN은 딥러닝의 한 유형으로, 순차적인 데이터 또는 시계열 데이터를 처리하기 위해 설계되었습니다.
RNN의 핵심은 과거 정보를 일정 기간 동안 저장하고 이를 통해 새로운 입력에 대한 출력을 생성하는 것입니다. 이를 통해 RNN은 시퀀스 내에서 패턴을 학습할 수 있습니다.
RNN은 자연어 처리(NLP), 음성 인식, 시계열 예측 등 순차적 데이터를 다루는 다양한 분야에 활용됩니다.
RNN은 이전의 정보를 고려하여 현재의 출력을 생성하는 반복적인 구조를 가지고 있으며, 이전 시퀀스의 정보를 기억하는 내부 상태를 갖습니다.
차이점 요약:
순차적 의사결정 문제해결 방식(강화학습)은 최적의 의사결정을 학습하는데 초점을 맞추며, 환경과의 상호작용을 통해 보상을 최대화하는 전략을 찾습니다.
RNN은 순차적 데이터 처리에 초점을 맞추고, 시퀀스 내의 정보를 기반으로 다음 출력을 예측하는 데 사용됩니다.
강화학습은 특정 환경에서의 최적 행동을 찾는 데 사용되며, RNN은 순차적 데이터의 패턴을 학습하고 예측하는 데 사용됩니다.
보상
누적 보상 : 시간의 흐름에 따라 보상이 쌓인다.
끝나는 순간 그 것은 하나의 에피소드이다.
에이전트
에이전트 == 게이머, 사람
시작과 끝이 존재한다. 즉 R0 = 0이다.
일정한 상황St에서 At를 취하면 나는 Rt+1을 받게 된다.
환경
강화 학습의 위력
이 것은 강화 학습만의 위력은 아니고 지도학습, 비지도 학습도 가능하다고 한다.
마르코프 결정 프로세스
이전 상태들은 영향을 주지 못한다 ==memory를 많이 쓰지 않아도 된다.
이러한 방식으로 현재 상태라는 것이 단 한장이 사진이 아니라 영상일 수도, 여러장의 사진일 수도 있다.
마르코스 리워드 프로세스
할인율(Discount Factor) == 감쇠인자: 미래의 보상을 현재 가치로 환산할 때 사용하는 요소로, 0과 1 사이의 값입니다. 값이 낮을수록 단기 보상을, 높을수록 장기 보상을 중시합니다.
가치 != 리워드
상태 가치 함수 == 현 상태에서 에피소드가 끝날 때 까지 내가 받을 수 있는 보상의 기댓값
네, 맞습니다. 상태 가치 함수(V(s))는 특정 상태에서 시작해 정책 π를 따를 때 얻을 수 있는 기대되는 누적 보상의 합을 의미합니다. 즉, 현재 상태에서 에피소드가 끝날 때까지 받을 수 있는 보상의 기댓값입니다. 이 함수는 강화학습에서 에이전트가 어떤 상태가 얼마나 좋은지(가치가 있는지)를 평가하는 데 사용됩니다. 상태 가치 함수는 강화학습 알고리즘에서 중요한 역할을 하며, 최적의 정책을 찾는 데 도움을 줍니다.
이로써 어떤 상태가 더 좋은지 판단이 가능하다. 그러면 좋은 상태로 자주 가게 만든다.
네, 정확합니다! 상태 가치 함수를 통해 각 상태의 가치를 평가하고, 이를 바탕으로 에이전트는 더 높은 가치를 가진 상태로 이동하는 행동을 선택하게 됩니다. 이 과정에서 에이전트는 보상을 최대화하는 방향으로 학습하며, 좋은 상태에 자주 도달하도록 학습 알고리즘이 조정됩니다. 결국, 이는 에이전트가 최적의 정책을 찾아가는 과정이며, 강화학습 목표인 최대 보상을 얻기 위한 최적의 행동 순서(정책)를 학습하는 것입니다.
마르코프 결정 프로세스 MDP
마르코프 리워드 프로세스 MRP에서 액션이 추가되었다.
액션과 상태는 일치하지 않을 수 있다.
정책 함수는 내가 좀 더 많은 보상을 받을 행동으로 이끌 것이다. 그러나 그 액션에 따른 상태가 어떻게 변할지는 확률에 달려있다. 그러면서 좀 더 여러가지 경우의 수를 보게 된다.
네, 맞습니다! 정책 함수는 각 상태에서 어떤 행동을 취할 확률을 정의합니다. 이 정책에 따라 에이전트는 더 많은 보상을 얻을 수 있는 행동을 선택하게 되며, 이 행동의 결과로 상태가 변하게 됩니다. 하지만 행동에 따른 상태 변화는 환경의 동적 특성과 불확실성 때문에 항상 예측 가능한 것은 아니며, 이는 결국 확률적인 결과를 낳게 됩니다. 에이전트는 다양한 상황에서 최적의 결정을 내리기 위해 여러 가지 경우의 수를 고려하며 학습하게 되고, 이 과정을 통해 최적의 정책을 찾아가게 됩니다.
그럼 상태 가치 함수는 내가 어떠한 정책을 취했을 때 액션을 취함으로 써 받을 수 있는 총 보상의 기댓값이겠네?
상태 가치 함수와 관련된 설명에 조금 혼선이 있는 것 같아요. 상태 가치 함수 V(s)는 특정 정책 π를 따랐을 때, 어떤 상태 s에서 시작하여 미래에 받을 수 있는 보상의 기댓값을 의미합니다. 이는 직접적으로 특정 액션을 취함으로써 얻는 보상의 기댓값을 의미하는 것이 아니라, 해당 상태에서 시작해 그 이후에 따르게 될 정책 π에 의해 결정되는 모든 행동들을 통해 얻을 수 있는 보상들의 총합에 대한 기댓값입니다.
정리하자면, 상태 가치 함수 V(s)는 특정 상태 s에서 시작하여 특정 정책 π를 따를 때, 미래에 얻을 수 있는 보상의 총 기댓값을 나타냅니다. 이는 에이전트가 그 상태에서 어떤 행동을 취할 것인지를 직접적으로 고려하지 않고, 그 상태에서 정책에 따라 행동하며 얻을 수 있는 보상들의 기댓값을 고려한 것입니다.
그래 그러니까 내가 어떤 상태 s에서 정책을 취했을 때 얻는 총 보상의 기댓값이라는 거지 ? 액션에 대한 상태는 어찌 될지 모르는 거라 기댓값으로 구하는 거고
네, 맞습니다! 상태 가치 함수는 특정 상태 s에서 시작해 정책 π에 따라 행동할 때 받을 수 있는 총 보상의 기댓값을 나타냅니다. 이때, 액션에 따라 상태가 어떻게 변할지는 확률적이기 때문에, 미래에 받을 보상의 총합 역시 기댓값으로 표현됩니다. 이러한 기댓값 계산은 해당 상태에서 에이전트가 취할 수 있는 모든 가능한 행동과 그 행동으로 인한 상태 전이, 그리고 그로 인해 얻을 수 있는 보상들을 고려하여 결정됩니다. 따라서 상태 가치 함수는 특정 상태에서의 장기적인 기대 이익을 나타내는 것으로 이해할 수 있습니다.
그럼 MDP에서 액션 가치 함수는 내가 특정 상태에서 특정 액션을 취했고 그 이후의 보상에 대한 기대값의 평균이지?
네, 정확히 말씀하셨습니다. MDP에서 액션 가치 함수(Q-함수라고도 함)는 특정 상태 s에서 특정 액션 a를 취했을 때, 그 이후에 얻을 수 있는 보상의 기대값을 나타냅니다. 다시 말해, 액션 가치 함수는 상태 s에서 액션 a를 취하고, 그 이후에 정책 π를 따라 행동할 때 얻게 될 총 보상의 기댓값을 평가하는 함수입니다. 이 함수를 통해 에이전트는 각 상태에서 어떤 액션이 최적의 보상을 가져올지 판단하고, 그에 따라 최적의 액션을 선택할 수 있게 됩니다.
그럼 강화 학습에서 MDP에선 왜 액션 가치 함수, 정책 함수, 상태 가치 함수가 있는거야? 정책 함수 하나만 있어도 그 상태를 가기 위해 가장 확률이 높은 액션을 취하면 되는거 아닌가?
강화학습에서 MDP(Model-Driven Policy)를 사용하는 이유는 복잡한 의사결정 과정을 모델링하고, 최적의 정책을 찾기 위해서입니다. 액션 가치 함수, 정책 함수, 상태 가치 함수는 각기 다른 목적과 정보를 제공합니다.
정책 함수(Policy Function): 에이전트가 어떤 상태에서 어떤 행동을 취할 확률을 나타내며, 이는 직접적으로 행동 결정에 영향을 줍니다. 정책 함수만 있으면 특정 정책에 따른 행동을 결정할 수 있지만, 그 정책이 얼마나 좋은지(즉, 장기적으로 얼마나 많은 보상을 얻을 수 있는지) 평가하기 어렵습니다.
상태 가치 함수(State Value Function): 특정 상태에서 시작해 정책에 따라 행동할 때, 장기적으로 얻을 수 있는 보상의 기대값을 제공합니다. 이는 해당 상태의 '가치'를 평가하는 데 도움이 됩니다. 하지만, 어떤 행동을 취해야 하는지에 대한 정보는 제공하지 않습니다.
액션 가치 함수(Action Value Function): 특정 상태에서 특정 행동을 취했을 때, 이후 장기적으로 얻을 수 있는 보상의 기대값을 제공합니다. 이는 상태 가치 함수와 마찬가지로 '가치'를 평가하지만, 특정 행동에 초점을 맞춥니다. 이를 통해 어떤 상태에서 어떤 행동이 최적인지를 결정할 수 있습니다.
이 세 가지 함수는 서로 보완적인 관계에 있습니다. 정책 함수는 에이전트의 행동을 결정하는 규칙을 제공하며, 상태 가치 함수와 액션 가치 함수는 그 정책의 좋음을 평가하는 기준을 제공합니다. 강화학습의 목적은 최적의 정책을 찾는 것이며, 이를 위해 에이전트는 경험을 통해 이 세 가지 함수를 개선해나가야 합니다. 따라서, 이 세 가지 함수가 모두 필요한 것입니다.
그럼 상태 가치 함수와 액션 가치 함수는 변하지 않고 처음 설정한 값이 그대로 있지만 정책 함수는 학습되며 계속 변하다가 학습이 끝나고 실제 사용될 경우에는 변하지 않겠네?
상태 가치 함수와 액션 가치 함수는 고정된 값이 아니라, 학습 과정에서 지속적으로 업데이트됩니다. 이 두 함수는 현재 정책하에 각 상태나 상태-행동 쌍의 가치를 평가하는 기준을 제공하므로, 정책이 개선됨에 따라 함께 업데이트되어야 합니다. 즉, 에이전트가 더 많은 경험을 쌓고 학습을 진행하면서, 이러한 가치 함수들도 더 정확한 가치 예측을 제공하도록 계속해서 조정됩니다.
정책 함수 역시 학습 과정에서 계속해서 업데이트됩니다. 정책 기반 강화학습 방법에서는 직접적으로 정책 함수를 수정하면서 최적의 정책을 찾아가는 방식을 사용하고, 가치 기반 강화학습 방법에서는 상태 가치 함수나 액션 가치 함수를 통해 간접적으로 최적의 정책을 유도합니다.
학습이 완료된 후, 즉 모델이 충분히 학습되어 성능이 안정화된 상태에서는 정책 함수가 더 이상 크게 변하지 않습니다. 이 시점에서 에이전트는 학습된 정책을 바탕으로 최적의 행동을 결정하게 됩니다. 따라서 학습 과정에서는 세 함수 모두 지속적으로 변화하지만, 학습이 완료되면 변화가 멈추고 최적화된 상태를 유지합니다.
그럼 정책 함수가 업데이트 되면서 각 액션을 취할 확률이 변하게 되고, 그럼 상태 가치 함수와 액션 가치 함수도 같이 변하게 된다는 거지?
맞습니다. 정책 함수가 업데이트되면서 각 액션을 취할 확률이 변화하게 되고, 이에 따라 상태 가치 함수와 액션 가치 함수도 같이 변화합니다. 정책 함수의 변화는 에이전트가 취하는 액션의 분포를 변화시키기 때문에, 이로 인해 얻게 되는 보상의 기대값 또한 변화하게 됩니다. 상태 가치 함수는 특정 상태에서 시작하여 해당 정책을 따랐을 때 얻을 수 있는 보상의 총합의 기대값을 나타내고, 액션 가치 함수는 특정 상태에서 특정 액션을 취했을 때 그 이후 얻을 수 있는 보상의 총합의 기대값을 나타냅니다. 따라서 정책이 변하면 이 두 가치 함수가 평가하는 보상의 기대값도 변하게 되고, 이에 따라 가치 함수들도 업데이트되어야 합니다. 이 과정을 통해 에이전트는 더 좋은 정책을 찾아가며 최적의 행동 방법을 학습하게 됩니다.
모든 위치에서의 최선 정책이 필요하다.
위치가 11일 때 정책 1번을 선택하면 상태 가치는 4가 나온다.
11에서 정책 2를 선택하면 상태 가치가 2가 나오므로 정책 1번을 선택하게 된다.
벨만 방정식
저 1은 스칼라가 아니라 단위 행렬인가요...?
음 생각보다 많이 복잡하게 나왔네요...?
액션이 추가되었습니다.
점점 엄청난 방식으로 가고 있네요.....
아직은 수업이 진행된 부분이 아니라 다음에 더 작성하겠습니다...
'인공지능 > 공부' 카테고리의 다른 글
딥러닝 개론 복습 1 (1) | 2024.03.14 |
---|---|
생성형 인공지능 - 복습 1 with GPT4 (1) | 2024.03.12 |
머신러닝 퀴즈 2 (0) | 2024.03.12 |
머신러닝 퀴즈 1 (0) | 2024.03.12 |
머신러닝 2주차 5 - 경사 하강과 선형 회귀 (0) | 2024.03.12 |