가장 좋아 보이는 선택만 하면 충분할까
지난 장에서 우리는 강화학습의 에이전트가 당장의 보상만 보고 움직이면 더 큰 미래 보상을 놓칠 수 있다는 사실을 살펴보았다. 사탕 하나를 바로 먹을 것인지, 조금 더 기다려 케이크를 얻을 것인지의 문제였다. 그런데 여기에는 또 하나의 어려움이 숨어 있다.
에이전트가 애초에 케이크가 있는지 모른다면 어떻게 될까?
아무리 장기 보상을 중요하게 생각하더라도, 아직 가 보지 않은 길 끝에 무엇이 있는지 모른다면 그 보상을 계산할 수 없다. 에이전트는 세상을 경험해 보아야 한다. 익숙한 길을 반복해서 걸으면 안정적이지만, 새로운 길을 시도하지 않으면 더 좋은 길을 발견할 수 없다.
이때 등장하는 개념이 탐험exploration과 활용exploitation이다.
탐험은 아직 잘 모르는 행동을 시도해 보는 것이다. 활용은 지금까지의 경험상 가장 좋아 보이는 행동을 선택하는 것이다. 강화학습 에이전트는 매 순간 이 둘 사이에서 선택해야 한다.
"이미 괜찮은 선택을 계속할 것인가?"
"아니면 실패할 수도 있지만 새로운 가능성을 시험할 것인가?"
이 고민이 바로 탐험과 활용의 딜레마다.

탐험은 가능성을 찾는 일이다
작은 게임을 떠올려 보자. 화면에는 세 개의 상자가 있다. 에이전트는 매번 하나의 상자를 열 수 있고, 상자 안에는 점수가 들어 있다.
처음에 에이전트는 아무것도 모른다. 첫 번째 상자를 열었더니 3점을 받았다. 두 번째 상자를 열었더니 1점을 받았다. 세 번째 상자를 열었더니 0점을 받았다. 여기까지만 보면 첫 번째 상자가 가장 좋아 보인다.
이제 에이전트가 다음 판에서 무엇을 해야 할까? 가장 합리적인 선택은 첫 번째 상자를 여는 것처럼 보인다. 지금까지 가장 높은 점수를 준 상자이기 때문이다. 이것이 활용이다.
하지만 만약 세 번째 상자가 가끔 0점을 주지만, 아주 드물게 100점을 주는 상자라면 어떨까? 에이전트가 초반에 한 번 0점을 받았다는 이유만으로 세 번째 상자를 영원히 포기한다면, 100점을 받을 기회를 절대 발견하지 못한다.
탐험은 바로 이런 가능성을 찾는 행동이다. 지금 당장 손해를 볼 수 있다. 이미 좋은 선택을 알고 있는 것 같은데 굳이 다른 행동을 해 보아야 하니 답답해 보이기도 한다. 하지만 강화학습에서 탐험은 낭비가 아니라 투자에 가깝다.
모르는 행동을 시도해야 그 행동의 가치를 알 수 있다. 알 수 있어야 비교할 수 있다. 비교할 수 있어야 더 나은 정책을 만들 수 있다.
활용은 배운 것을 써먹는 일이다
반대로 활용은 지금까지 배운 정보를 바탕으로 가장 좋아 보이는 행동을 선택하는 것이다. 세 상자 중 첫 번째 상자가 평균적으로 가장 높은 점수를 주었다면, 첫 번째 상자를 고르는 것이 활용이다.
활용은 학습의 결과를 실제 성능으로 바꾸는 과정이다. 에이전트가 아무리 많은 것을 탐험해도, 배운 것을 써먹지 못하면 좋은 점수를 얻을 수 없다. 게임 캐릭터가 몬스터를 피하는 법을 배웠다면 실제 플레이에서는 그 행동을 자주 해야 한다. 로봇이 넘어지지 않고 걷는 동작을 찾았다면 그 동작을 안정적으로 반복해야 한다.
그래서 탐험과 활용은 어느 한쪽만 중요하다고 말할 수 없다. 탐험만 하면 에이전트는 계속 새로운 행동을 시도하느라 성능이 흔들린다. 활용만 하면 현재 알고 있는 수준에서 멈춰 버린다.
강화학습은 이 둘의 균형을 잡는 기술이다.
너무 빨리 확신하면 갇힌다
탐험이 부족할 때 가장 흔히 생기는 문제는 지역 최적해local optimum에 갇히는 것이다. 지역 최적해란 전체에서 가장 좋은 답은 아니지만, 주변만 보면 꽤 좋아 보여서 더 이상 벗어나지 못하는 상태를 말한다.
산을 오른다고 생각해 보자. 안개가 짙게 껴서 멀리 볼 수 없다. 지금 서 있는 언덕 주변만 보면 이곳이 가장 높은 지점처럼 보인다. 그래서 더 이상 움직이지 않고 "여기가 정상이다"라고 판단한다. 하지만 안개 너머에는 훨씬 높은 산이 있을 수 있다.
강화학습에서도 비슷한 일이 벌어진다. 에이전트가 초반에 우연히 어느 행동에서 괜찮은 보상을 받으면 그 행동만 반복할 수 있다. 그러면 다른 행동을 충분히 경험하지 못한다. 다른 행동 중 더 좋은 전략이 있어도 발견하지 못한다.
예를 들어 미로 게임에서 왼쪽 길로 가면 작은 보상 1점을 자주 받을 수 있고, 오른쪽 길로 가면 한동안 아무 보상도 없다가 마지막에 큰 보상 50점을 받을 수 있다고 하자. 에이전트가 초반부터 왼쪽 길만 반복하면 오른쪽 길의 진짜 가치를 알 수 없다.
이 문제는 특히 보상이 늦게 나타나는 환경에서 심각하다. 처음 몇 번의 시도만으로 판단하면, 큰 보상으로 이어지는 행동이 오히려 나쁜 행동처럼 보일 수 있다.
너무 많이 탐험해도 문제다
그렇다면 항상 새로운 행동을 많이 시도하면 될까? 그렇지도 않다.
탐험이 지나치게 많으면 에이전트의 행동이 불안정해진다. 좋은 전략을 이미 찾았는데도 계속 엉뚱한 행동을 시도하기 때문이다. 게임에서 승리하는 방법을 배웠는데, 마지막 순간마다 "혹시 다른 방법이 더 좋을지도 몰라" 하며 절벽으로 뛰어드는 셈이다.
탐험이 과하면 다음과 같은 문제가 생긴다.
이미 좋은 정책을 찾았는데도 성능이 계속 흔들린다.
불필요한 실패 경험이 많아져 학습이 느려질 수 있다.
실제 로봇이나 서비스처럼 실패 비용이 큰 환경에서는 위험이 커진다.
게임에서는 캐릭터가 몇 번 죽어도 다시 시작하면 된다. 하지만 로봇 팔이 물건을 옮기다 계속 떨어뜨리면 비용이 생긴다. 자율주행 시스템이 실제 도로에서 무작위 행동을 많이 시도할 수는 없다. 그래서 현실의 강화학습에서는 탐험을 하되, 안전하게 탐험하는 방법도 중요해진다.
이 책의 뒤쪽에서 다룰 언어 모델도 마찬가지다. 모델이 새로운 답변 방식을 시도하는 것은 필요하지만, 사용자에게 해롭거나 엉뚱한 답을 계속 내놓으면 안 된다. 더 나은 답변을 찾는 탐험과 안정적으로 좋은 답을 내는 활용 사이의 균형이 필요하다.
ε-greedy: 가끔은 일부러 다른 선택을 한다
탐험과 활용의 균형을 잡는 가장 단순하고 유명한 방법 중 하나가 ε-greedy 전략이다. 여기서 ε은 그리스 문자 엡실론epsilon이라고 읽는다. 보통 0과 1 사이의 작은 숫자로 두며, "얼마나 자주 탐험할 것인가"를 나타낸다.
아이디어는 아주 간단하다.
대부분의 경우에는 지금 가장 좋아 보이는 행동을 선택한다. 하지만 가끔은 무작위로 행동을 선택한다.
예를 들어 ε = 0.1이라고 하자. 그러면 에이전트는 대략 90%의 경우에 현재 가장 좋아 보이는 행동을 고른다. 나머지 10%의 경우에는 일부러 무작위 행동을 고른다. 이 10%가 탐험이다.
상자 게임으로 다시 생각해 보자. 에이전트는 지금까지 첫 번째 상자가 가장 좋다고 믿고 있다. ε-greedy 전략을 쓰면 에이전트는 대부분 첫 번째 상자를 연다. 하지만 가끔은 두 번째나 세 번째 상자도 열어 본다. 그렇게 해야 "처음에는 별로였지만 사실은 좋은 상자"를 발견할 수 있다.
이를 말로 된 절차로 쓰면 다음과 같다.
먼저 0과 1 사이의 난수를 하나 뽑는다.
그 값이 ε보다 작으면 무작위 행동을 선택한다.
그렇지 않으면 현재 가치가 가장 높다고 생각하는 행동을 선택한다.
여기서 중요한 점은 ε-greedy가 탐험과 활용을 아주 단순한 규칙으로 섞는다는 것이다. 복잡한 계산을 하지 않아도 된다. 그래서 강화학습을 처음 실습할 때 자주 사용한다.
나중에 Q-learning을 구현할 때도 이 전략이 등장한다. 에이전트는 각 상태에서 행동마다 Q값을 가지고 있다. Q값은 "이 상태에서 이 행동을 하면 앞으로 받을 보상이 얼마나 좋을까?"에 대한 추정치다. 활용할 때는 Q값이 가장 큰 행동을 고른다. 탐험할 때는 Q값과 상관없이 무작위 행동을 골라 본다.
즉, ε-greedy는 다음 한 문장으로 요약할 수 있다.
대부분은 지금 가장 좋아 보이는 행동을 하되, 가끔은 모르는 가능성을 확인한다.
식당 고르기로 이해하는 ε-greedy
조금 더 일상적인 예를 들어 보자. 회사 근처에 점심 식당이 다섯 곳 있다. 당신은 그중 A 식당에서 꽤 맛있는 돈가스를 먹어 본 적이 있다. 만족도는 10점 만점에 8점 정도다. B 식당은 한 번 가 봤는데 5점이었다. C, D, E 식당은 아직 가 보지 않았다.
활용만 하는 사람은 계속 A 식당에 간다. 실패할 가능성이 낮고, 이미 만족스러운 선택이기 때문이다. 점심시간은 짧고 배는 고프다. 굳이 위험을 감수할 이유가 없어 보인다.
하지만 C 식당에 10점짜리 라멘이 있을 수도 있다. D 식당은 평범하지만 아주 저렴해서 전체 만족도가 높을 수도 있다. E 식당은 처음에는 낯설지만 몇 번 먹어 보면 가장 좋아질 수도 있다.
ε-greedy식 점심 선택은 이렇다. 평소에는 A 식당에 간다. 다만 열 번에 한 번 정도는 아직 잘 모르는 식당을 골라 본다. 실패할 수도 있다. 하지만 그 실패 덕분에 주변 식당 지도가 점점 정확해진다.
여기서 ε이 0.1이면 열 번 중 한 번 정도 새로운 식당을 시도하는 느낌이다. ε이 0.5이면 두 번 중 한 번은 다른 식당을 시도한다. ε이 0이면 절대 탐험하지 않는다. ε이 1이면 매번 무작위로 식당을 고른다.
각 값의 성격을 직관적으로 정리하면 이렇다.
| ε 값 | 행동의 성격 | 결과 |
|---|---|---|
| 0 | 항상 현재 최고 선택만 고름 | 안정적이지만 더 좋은 선택을 놓칠 수 있음 |
| 작음 | 대부분 활용, 가끔 탐험 | 실전에서 자주 쓰는 균형점 |
| 큼 | 탐험을 많이 함 | 정보를 많이 모으지만 성능이 흔들림 |
| 1 | 항상 무작위 선택 | 학습한 내용을 거의 활용하지 못함 |
이 표에서 알 수 있듯이 ε은 단순한 숫자지만, 에이전트의 성격을 바꾼다. 신중한 에이전트가 될 수도 있고, 호기심 많은 에이전트가 될 수도 있다.
처음에는 많이 헤매도 괜찮다
강화학습에서는 학습 초반과 후반의 상황이 다르다.
학습 초반의 에이전트는 거의 아무것도 모른다. 어떤 행동이 좋은지, 어떤 상태가 위험한지, 어느 길이 보상으로 이어지는지 알지 못한다. 이때부터 활용만 하면 우연히 처음 얻은 정보에 지나치게 의존하게 된다.
그래서 학습 초반에는 탐험 비율을 높게 두는 경우가 많다. ε을 1.0 또는 0.5처럼 크게 시작하면 에이전트는 다양한 행동을 시도한다. 이 시기에는 성능이 낮아도 이상하지 않다. 오히려 많이 부딪히고 많이 실패하면서 환경의 지도를 그리는 단계에 가깝다.
반대로 학습 후반에는 에이전트가 이미 많은 정보를 모았다. 어떤 행동이 대체로 좋은지, 어떤 행동이 위험한지 어느 정도 알게 되었다. 이때도 계속 무작위 행동을 많이 하면 좋은 정책이 안정되지 않는다. 그래서 시간이 지날수록 ε을 줄인다.
이렇게 탐험 비율을 점차 줄이는 방식을 ε 감소epsilon decay라고 부른다. 처음에는 넓게 둘러보고, 나중에는 찾은 길을 안정적으로 따라가는 방식이다.
예를 들어 Grid World 실습에서는 이런 식의 흐름을 사용할 수 있다.
처음 100번의 에피소드에서는 ε을 크게 두어 여러 방향으로 움직이게 한다.
중간에는 ε을 조금씩 낮추어 좋은 경로를 더 자주 선택하게 한다.
후반에는 ε을 작게 두어 학습된 경로를 안정적으로 활용하게 한다.
여기서 에피소드episode란 한 번의 시도 단위를 말한다. 미로 게임이라면 출발점에서 시작해 목표에 도착하거나 실패할 때까지가 하나의 에피소드다. 에이전트는 여러 에피소드를 반복하면서 점점 나아진다.
탐험 비율을 줄이는 이유
ε을 줄이는 이유는 사람의 학습 과정과도 비슷하다. 처음 배우는 도시는 지도를 보며 여러 골목을 돌아다녀야 한다. 길을 잘못 들 수도 있고, 막다른 길을 만날 수도 있다. 하지만 그렇게 돌아다니다 보면 어느 길이 빠르고 어느 길이 복잡한지 알게 된다.
도시에 익숙해진 뒤에도 매일 무작위 골목으로 출근한다면 어떨까? 가끔 새로운 카페를 발견할 수는 있겠지만, 지각할 가능성도 커진다. 충분히 배운 뒤에는 검증된 길을 주로 사용하는 편이 낫다.
강화학습의 ε 감소도 같은 원리다. 초반에는 정보가 부족하므로 탐험의 가치가 크다. 후반에는 정보가 쌓였으므로 활용의 가치가 커진다.
물론 ε을 너무 빨리 줄이면 문제가 된다. 에이전트가 충분히 알아보기도 전에 한 가지 행동을 최고라고 믿어 버릴 수 있다. 반대로 너무 늦게 줄이면 계속 무작위 행동을 많이 해서 성능이 안정되지 않는다.
따라서 ε 감소는 단순한 기술처럼 보이지만 실제로는 꽤 중요한 설계 선택이다. 강화학습 실험에서 "학습이 잘 안 된다"고 느껴질 때, 알고리즘 자체가 틀린 것이 아니라 탐험 비율이 맞지 않는 경우도 많다.
탐험은 데이터 수집 방식이다
지도학습에서는 보통 학습 데이터가 미리 주어진다. 고양이 사진, 강아지 사진, 정답 라벨이 준비되어 있고 모델은 그 데이터를 보고 배운다. 하지만 강화학습에서는 에이전트가 직접 행동하면서 데이터를 만든다.
이 차이가 매우 중요하다. 에이전트가 어떤 행동을 하느냐에 따라 앞으로 보게 될 데이터가 달라진다.
만약 에이전트가 오른쪽으로만 움직이면 왼쪽에 무엇이 있는지에 대한 데이터는 쌓이지 않는다. 점프를 한 번도 하지 않으면 점프가 유용한 상황을 배울 수 없다. 대화를 생성하는 모델이 늘 비슷한 답변만 내놓으면, 다른 답변 스타일이 더 좋은 평가를 받을 수 있는지 알기 어렵다.
탐험은 단순히 행동을 섞는 장난이 아니다. 강화학습에서 탐험은 학습 데이터를 어떻게 모을 것인가의 문제다. 좋은 데이터를 얻으려면 다양한 상황을 경험해야 한다. 하지만 너무 무작위적인 데이터만 모으면 좋은 정책을 정교하게 다듬기 어렵다.
그래서 탐험과 활용의 딜레마는 강화학습 전체를 관통한다. Q-learning에서도, Policy Gradient에서도, Actor-Critic에서도, PPO에서도 형태만 다를 뿐 이 문제가 계속 등장한다.
탐험이 쉬운 환경과 어려운 환경
모든 환경에서 탐험의 난도가 같은 것은 아니다. 어떤 환경은 아무 행동이나 해도 금방 보상이 나온다. 이런 환경에서는 에이전트가 비교적 쉽게 좋은 행동을 찾는다.
예를 들어 간단한 상자 게임에서는 어떤 상자를 열든 즉시 점수를 받는다. 행동과 보상의 관계가 짧고 분명하다. 이런 경우에는 조금만 탐험해도 각 행동의 평균적인 가치를 추정할 수 있다.
하지만 어떤 환경은 보상이 매우 드물게 나온다. 미로 끝에 도착해야만 보상을 주는 게임이 그렇다. 중간에는 아무런 점수도 없다. 에이전트는 수많은 행동을 이어 붙여야 겨우 보상을 만난다. 이때는 어떤 행동이 좋은 선택이었는지 판단하기 어렵다.
더 어려운 경우도 있다. 처음에는 나빠 보이는 행동이 나중에는 큰 보상으로 이어질 수 있다. 예를 들어 게임에서 열쇠를 줍기 위해 먼 길을 돌아가야 한다고 하자. 열쇠를 줍는 동안에는 시간이 낭비되는 것처럼 보인다. 하지만 나중에 그 열쇠가 보물방을 여는 데 필요하다면, 먼 길을 돌아간 행동은 사실 매우 좋은 선택이었다.
이런 환경에서 탐험은 더욱 중요해진다. 에이전트가 당장 좋아 보이는 길만 고르면 열쇠의 가치를 끝내 알지 못한다.
좋은 탐험은 무작정 헤매는 것이 아니다
초보자가 보기에는 탐험이 "아무 행동이나 해 보는 것"처럼 느껴질 수 있다. ε-greedy도 실제로 일부 순간에는 무작위 행동을 선택한다. 하지만 좋은 강화학습으로 갈수록 탐험은 점점 더 정교해진다.
에이전트가 전혀 모르는 곳을 우선적으로 방문하게 만들 수도 있고, 불확실성이 큰 행동을 더 자주 시도하게 만들 수도 있다. 또는 성공 가능성이 낮더라도 배울 것이 많은 행동을 선택하게 만들 수도 있다.
다만 이 책의 지금 단계에서는 ε-greedy만 제대로 이해해도 충분하다. 이 전략은 단순하지만 강화학습의 핵심 고민을 정확히 보여 준다. 우리는 완벽히 아는 세계에 살고 있지 않다. 그렇기 때문에 에이전트는 이미 좋아 보이는 선택을 하면서도, 때때로 새로운 가능성을 열어 두어야 한다.
실습에서 무엇을 관찰해야 할까
나중에 Grid World와 Q-learning을 구현할 때, 탐험과 활용의 차이는 눈으로 확인할 수 있다. 같은 환경, 같은 보상, 같은 알고리즘을 사용하더라도 ε 값을 어떻게 두느냐에 따라 학습 곡선이 달라진다.
ε이 너무 작으면 에이전트가 초반에 발견한 어설픈 경로만 반복할 수 있다. 목표까지 갈 수는 있지만 빙 돌아가는 길을 고집할 수도 있다. 더 짧은 길이 있어도 시도하지 않았기 때문에 모른다.
ε이 너무 크면 에이전트는 목표 근처까지 잘 가다가도 갑자기 엉뚱한 방향으로 움직일 수 있다. 학습은 되는 것 같은데 성공률이 안정적으로 올라가지 않는다. 이미 배운 좋은 경로를 충분히 활용하지 못하기 때문이다.
ε을 적절히 줄이면 초반에는 여러 경로를 시도하고, 후반에는 좋은 경로를 점점 더 자주 선택한다. 이때 학습 곡선은 처음에는 흔들리다가 점차 안정되는 모습을 보인다. 강화학습 실험에서 이 흔들림은 실패의 증거가 아니라 탐험의 흔적일 수 있다.
실습을 할 때는 단순히 최종 점수만 보지 말고 에이전트가 어떤 길을 지나갔는지 살펴보는 것이 좋다. 강화학습에서는 숫자 하나보다 행동의 변화가 더 많은 것을 말해 준다.
탐험과 활용은 선택의 리듬이다
강화학습 에이전트는 매 순간 선택한다. 지금 아는 좋은 행동을 할 것인가, 아직 모르는 행동을 시험할 것인가. 이 선택은 단순한 기술 문제가 아니라 학습의 리듬이다.
초반에는 세상을 알아야 한다. 그래서 탐험이 필요하다. 중반에는 좋고 나쁜 행동을 구분해 가며 정책을 다듬어야 한다. 그래서 탐험과 활용이 함께 필요하다. 후반에는 배운 전략을 안정적으로 실행해야 한다. 그래서 활용의 비중이 커진다.
이 흐름을 이해하면 강화학습 알고리즘을 볼 때 훨씬 덜 낯설어진다. Q-learning이든, PPO든, RLHF든 결국 에이전트는 비슷한 고민을 한다. "지금 가장 좋아 보이는 답을 낼 것인가, 아니면 더 나은 답을 찾기 위해 조금 다른 시도를 할 것인가?"
탐험이 없으면 더 나은 전략을 발견하지 못한다. 활용이 없으면 발견한 전략을 성능으로 바꾸지 못한다. 강화학습은 이 둘 사이에서 균형을 잡으며 행동을 배운다.
다음 장에서는 지금까지 배운 개념들을 하나의 문제로 바라보는 법을 정리한다. 에이전트, 환경, 상태, 행동, 보상, 정책, 가치, 장기 보상, 탐험과 활용이 어떻게 하나의 강화학습 문제 안에서 맞물리는지 살펴볼 차례다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.