강화학습

1.3 동적 계획법과 몬테카를로 방법

명징직조지훈 2022. 12. 17. 12:24

보상과 벌점에 의한 알고리즘 훈련의 강화학습의 기본 원리, 

이 문제를 푸는 접근 방식 중 하나로 동적 계획법 dynamic programming 이 있다. 고수준 문제를 점점 더 작은 부분 문제들로 분해하고, 그것들을 풀어서 전체적인 해답을 조립한다. 목표 분해 goal decomposition 이라고 할 수 있을 것

동적 계획법은 더 작은 부분 문제들로 분해할 수 있는 성격의 문제들에 적용 가능한 일반적인 접근 방식으로, 생물정보학이나 경제학 등 다양한 분야에서 쓰이고 있다.

이를 적용하려면 주어진 문제를 부분 문제들로 분해해야 한다. 실제 응용에서는 문제를 분해하는게 불가능할 수 있다. 이는 다양한 문제 해결 기법들의 스펙트럼에서 한쪽 끝에 위치한 기법이라 할 수 있다.

문제 해결 스펙트럼을, 한쪽 끝은 주변 환경을 완벽하게 파악한 상태에 해당하고 반대편 끝은 환경에 대해 아는 것이 거의 없는 상황이라고 이해할 수도 있다. 두 상황에 적용할 전략은 달라야 한다. 집 안의 욕실로 간다고 할 때, 필요한 근육 운동 동작들과 집 안에 대한 구조를 알고 있다. 이는 어느 정도 완벽한 모형이 머리속에 갖춰져 있는 것으로, 동적 계획법이 적합한 상황에 해당한다.

시행착오 전략은 완벽한 모형이 없는 경우로, 몬테카를로 방법의 범주에 속한다. 이는 환경의 무작위 표집에 해당한다. 실제 문제들에서 우리는 환경을 아예 모르지는 않으므로, 시행착오 전략과 동적 계획법 전략을 섞은 접근 방식을 사용하게 된다.

강화학습의 틀

강화학습의 틀을 적용하려면 우선 전체적인 목표, 목적을 정의해야 한다. 주어진 목적들에 따라 하나의 목적함수 objective function 을 만드는 것이 가능하다. 중요한 것은 이 수치를 최소화하는 것, 

입력 데이터는 환경이 생성한다. 일반적으로 강화학습 과제의 환경에는 목적 달성과 관련된 데이터를 산출하는 모든 동적 과정이 포함된다. 환경은 하나의 동적 과정, 즉 시간 함수이므로, 다양한 데이터를 끊임없이 산출한다. 알고리즘 구현의 편의를 위해서는 연속적인 환경 데이터 스트림을 일련의 이산적인 조각들로 나누고 묶을 필요가 있다. 

그런 개별 데이터 조각을 상태라고 부른다. 강화학습 알고리즘은 이산적인 시간 단계들에서 이산적인 상태 데이터를 입력받는다. 상태는 특정 시점에서 환경에 관한 우리의 지식을 반영하는데, 이는 디지털카메라로 풍경이나 피사체의 순간적인 모습을 갈무리한 것과 비슷하다.

이제 필요한 것은 목적함수를 최소화하는 강화학습 알고리즘이다. 훈련 데이터에 기초해서 매개변수들을 수정함으로써 목적함수를 최소화 또는 최대화하는 방법을 배울 수 있는 매개변수적 알고리즘이라면 그 어떤 것도 강화학습 알고리즘으로 사용할 수 있다.

강화학습은 특정 알고리즘에 종속되지 않는, 그 자체로 기계학습의 한 분야이다.

강화학습의 차이점 하나는 예측이나 분류에 그치지 않고 어떤 행동 또는 동작을 결정하고 실행한다는 것이다. 알고리즘이 취한 동작은 환경에 영향을 주어서 미래의 입력이 달라지게 만든다. "동작을 취한다" 는 것은 강화학습의 핵심 개념 중 하나이다. 

강화학습 알고리즘이 취하는 모든 동작은 환경의 현재 상태를 분석하고 그 분석 정보에 기초해서 최선의 결정을 내리고자 하는 시도의 결과라는 점이다.

강화학습의 나머지 조각은 학습 알고리즘에 제공되는 보상 reward 이다. 이 보상은 전체적인 목표를 향해 학습 알고리즘이 잘 나아가고 있는지를 말해주는 신호에 해당한다. 이 때 보상은 긍정적인 신호일 수도 있고 부정적 신호일 수도 있다.

환경의 다음 상태에 대해 더 나은 동작을 취하도록 알고리즘이 자신을 갱신하는 데 활용할 수 있는 신호는 이 보상이 유일하다. 오차 값이 감소할 때마다 보상을 제공할 수 있다. 

마지막으로 강화학습 알고리즘에 에이전트라는 이름을 붙인다. 동작을 취하거나 결정을 내리는 모든 학습 알고리즘을 에이전트라고 부른다.

에이전트는 어느 정도 시행착오를 거치게 된다. 에이전트는 하나의 학습자 또는 학습 모형으로, 이를 구현하려면 어떤 종류든 학습 알고리즘이 필요하다. 강화학습은 특정 학습 알고리즘에 관한 것이 아니라 문제와 그 해법의 유형에 관한 것이다. 

에이전트의 유일한 목적은 장기적인 기대 보상을 최대화하는 것이다. 

댓글수0