[doctorBME, essay] 활용(Exploitation)과 탐험(Exploration)

in #kr7 years ago (edited)


이번 글은 에세이이므로, 경어체를 쓰지 않으니 양해부탁드립니다.


강화학습(reinforcement learning)을 공부하다보면, 결국 모델에 대한 사전 지식이 없는 상태에서 학습을 시도하는 Q-learning을 마주하기 마련이다. 강화학습이라는 것이, 결국 어떠한 상태(state)에서 어떠한 행동(action)을 취할 경우를 살펴보아, 과거의 학습값을 갱신하면서, 각 상태에 대한 최적의 액션을 도출하는 정책(policy)를 찾음에 다름 아닌데, 이러한 학습은 액션을 취할 때 마다 받게 되는 보상(reward), 혹은 당장 보상이 없더라도 이러한 행동들이 연쇄적으로 모여서 결국 끝까지 갔을 때의 보상의 결과에 따라 피드백을 받으면서 학습하게 된다.

하지만 강화학습을 하는 데에는, 몇 가지 고려 사항이 있는데, 그 중에 하나는 활용(Exploitation)과 탐험(Exploration)에 대한 문제이다.

우리가 가보지 않은 여러 행동들 (액션들)에 대한 결과를 알기 위해서는 지금 당장 최적이 아니라도 한번쯤 선택해봐야하지만 (exploration), 이를 과도하게 하다가는 같은 상황에서 계속 최적이 아닌 해(solution)만 도출하게 되므로 우리가 이미 학습한 결과를 활용(exploitation)하는 것이 필요하다.

다시 말하면, 내가 지금까지 이러한 상황에서는 어떻게 행동하는 것이 최적임을 알고 있는데, 이러한 일련의 행동이 정말로 최적이 맞는지는 우리가 가보지 않은 길을 한번쯤 선택해서 그 결과를 보지않는 한 알 수가 없다는 것이다. 그러니, 삶에서의 선택에 있어서도, 결국 우리가 우리 나름대로 인생을 걸어오면서 알게된 최적(optimal) 행동들과, 앞으로 우리가 결과를 잘 모르는 (하지만 최적일수도 아닐 수도 있는) 다소 무모한 행동들 사이에서 균형을 찾아야함이 중요한 것이다.

보통 강화학습에서 탐험 대 활용의 비율을 5% 대 95% 정도로 잡곤 하는데 (물론 이러한 수치는 달라질 수 있다. 중요한 것은 탐험의 비율이 활용보다는 낮다는 것이다.) 이 말은, 20번 행동을 선택할 기회가 (상황이) 있을 때, 20번 중 1번은 무모한 탐험을 한다는 말과도 동일하다. (epsilon = 0.05) 그 탐험이 결국 국소적 최적해(local optimum)을 넘어서 전 공간에서의 최적해 (global optimum)을 담보할 수 있을지는 알 수 없다.

하지만 똥인지 된장인지 찍어봐야 한다 라는 신조의 학습이라면, 강화학습 만한 것이 없고, 이를 통해 우리의 신념을 강화하거나 잘못된 결과를 바탕으로 수정할 수 있다. 우리는 실제로 경험하지 못한 것에 대해 직관의 오류를 범할 때가 종종 있기 때문에, 경험을 통해 돌아오는 피드백은 그만큼 값진 것이기도 하다.

결국 우리가 그 누구도 가보지 못한 새로운 길을 가게 된다면, 그 것은 바로 Q-learning에 다름 아닐 것이다. 새로운 선택에 대한 우리의 삶과 세계의 모델 구조를 제시할만한 선배들도, 선생님들도, 유효성이 검증된 시뮬레이션도 존재하지 않는다. 종종 학습을 진행하면서, 탐험 대 활용의 비율을 조정할 수도 있고 (epsilon decay), 이에 따라 탐험을 하는 행동의 횟수는 점점 삶을 살아가면서 줄어들지도 모르겠지만, 최소한 탐험의 가능성을 열어두는 것 - 그리고 피드백에 따라 우리의 삶의 궤적을 수정하고 다시 앞으로 나아갈 수 있는 경험의 시도는 무척이나 소중할 것이다.

요근래 새로운 기술들이 다수 등장하고 확산하며 언급되고 적용되기 위해 연구와 발전을 거듭하고 있다. 장밋빛 전망과 부정적 우려가 도처에서 등장한다. 사실 이러한 기술의 적용은 비단 의학에만 국한되지 않는다. 우리는 4차산업혁명이라는 구호 아래 다양한 신념과 기술들이 나타나고 만개하는 것을 지켜본다. 무한한 가능성과 현실의 제한 사이에서 기술과 권력은 줄다리기를 하고 있다. (4차산업혁명이 정치적 표어로 작동할 것이냐에 대한 문제는 논외로 하자.)

하지만 결국 새로운 행동을 취할 수 있는 가능성이 존재한다는 것은 우리에게 긍정적인 것이다. 왜냐하면 우리가 선택가능한 행동 집합(action set)에 있어서, 탐험이 가능한 행동 집합이 더 크게 존재한다는 것은 우리의 자율성과 삶의 영역을 확장시키는 것이기 때문이다. 그러니 아주 가끔은 무모한 시도를 통해 더 넓은 세계를 바라볼 필요가 있다. 우리의 관념 속 최적을 찾아가면서도 우리는 종종 색다른 경험과 시도를 통해 더 괜찮은 최적을 찾아나간다. 강화학습이 삶에 던져주는 메시지란 그런 것이다.

Sort:  

Reinforcement learning 과 삶에 대한 통찰을 적어주셨네요. 저도 작성하신 말씀에 동의합니다. 개인적으로는 Exploration은 내실을 다지는 것, Exploitation은 새로운 능력을 개발하는 것으로 생각하고 있었는데 글을 보면서 한번 생각을 다시 정리하게 되네요 :)

Exploration은 내실을 다지는 것, Exploitation은 새로운 능력을 개발하는 것

이러한 관점에 동의합니다. 결국 내실은 기존의 삶의 경험과, 새로운 능력은 새로운 도전/시도와 관련이 있다고 생각합니다. 우리가 갖고있는 삶에 대한 가정과 사전지식이 종종 모호해지거나 부재함을 깨닫게 되는 때가 오는 것처럼, 강화학습에서는 정말로 많은 알고리즘과 방법론이 등장하지만, 그 중 Q-learning 이 어쩌면 결국 삶을 살아나가는 과정과 비슷하지 않나 생각합니다. 댓글 감사합니다.

논문 리뷰가 아닌 글은 거의 처음(?) 쓰신 듯...?
이런 글도 종종 써주세요!
@홍보해

찬찬히 돌이켜보니, 전문가는 과연 필요악인가라는 글에 이어서 두번째인 것 같습니다. 좋게 봐주셔서 감사합니다. 모든 것들이 크게 보면 리뷰의 범주 안에 들기는 합니다. 결국 리뷰로부터 성찰과 반성과 다짐과 방향이 나오기도 하니까요. :)

@doctorbme님 안녕하세요. 아리 입니다. @wonderina님이 이 글을 너무 좋아하셔서, 저에게 홍보를 부탁 하셨습니다. 이 글은 @krguidedog에 의하여 리스팀 되었으며, 가이드독 서포터들로부터 보팅을 받으셨습니다. 축하드립니다!

괜히 학위명에 Philosophy가 포함되는게 아니라는 것이 느껴집니다. 그리고 bogo sort 같은 모험 가득한 인생이 궁금하네요 (...)

언제나 알고리즘들에는 철학이 있는 것 같습니다. 그래서 어떠한 '철학'이 이러한 알고리즘을 지배하는가 - 같은 것 말입니다. bogo sort는 그래도 (앙상블을 고려해볼 때 평균적으로는) 무난무난하게는 할 것 같습니다. 물론 개별의 삶에 있어서는 참 (...)

저는 종종 오름차순으로된 데이터에 내림차순 quick sort를 하는 상상을 합니다. (분명히 이름은 quick sort가 맞는데 말이지요...) 우리의 믿음에 알고리즘이 언제나 (이름대로) 잘 작동하는 것은 아니라지요.

알고리즘에 철학이 있다는 말 굉장히 멋집니다..! 또 하나 배웠습니다.
이미 역정렬된 데이터에 퀵소트라니... 따뜻한 아이스 아메리카노 같아서 좋네요. 제 프로그램은 항상 믿은대로 안움직여주는 때라 그런지 알고리즘이 중요한게 아닌거 같습니다. 길은 누가 미리 닦아놨는데 걷는 사람이... -_-;;

현실은 실전이라는 말이 떠오르는군요. 내가 최적이라고 생각했던게 실제로 최적이 아닌 경우는 사람에겐 너무 많네요.....

우리가 모든 경우의 수를 다 살펴보기에는, 인생이 유한하고 부담을 져야할 것이 많아서 그런 것 같습니다. 강화학습과 현실이 다른 점이 있다면, 현실에서는 완전한 리셋이 불가하다는 것이 아닐까 합니다. 그럼에도 불구하고 상황 대입과 추론, 상상을 통해 그나마 조금씩 해결하는 것 같습니다.

열심히 정독을 했지만 제 배움이 짧은지 어렵게 느껴지네요 ㅜㅜ
오늘하루 여러가지 결정을 하는 과정에서 저도 모르게 강화학습의 결과가 반영됐었겠죠?
(그런 개념이 맞는지 모르겟어요 사실 ㅜㅜㅎㅎ)

그리고

200팔로우 이벤트 참여되셔서 풀보팅&감사인사 드리러 왔습니다 : D

네. 우리의 결정에서 우리의 결정에 대한 선택지가 더 넓게 존재하고, 우리는 조금 더 새롭고 신선한 시도로 최적의 길을 찾아나간다 - 이 정도로 읽어주셔도 좋을 것 같습니다 :)

아무래도 알고리즘에 비유하는 글을 적다보니, 조금은 어렵게 느껴지지 않았나 싶습니다. 조금 더 풀어썼어야 했을 수도 있겠구나 싶으면서 죄송한 마음이 드네요ㅠㅠ 어떠한 알고리즘이든 삶에 의미를 줄 수 있다면 그 것만으로 충분하다고 생각합니다. 여러 재밌는 글 올려주셔서 저도 감사드립니다.