STEADY BETTERMENT

필사) 선택을 돕는 알고리즘은 무엇인가 '결정하는 마음' 본문

BOOK

필사) 선택을 돕는 알고리즘은 무엇인가 '결정하는 마음'

_포코 2024. 10. 31. 11:48

20

이 문제는 최선의 결정을 할 조건을 가지고 있는가? 그 조건을 갖추는데 부족한 정보는 무엇인가?

어느 누구도 최적의 조건이 아닌 환경에서 최선의 선택을 할 수는 없다. 어려운 결정의 문제를 잘 해결하는 이는 결단력 있는 사람도 아니고, 정의로운 사람도 아니며, 머리가 좋은 사람도 아니다. 현명한 사람은 주어진 문제의 속성부터 살핀다. 즉 문제를 성급하게 해결하려 들기보다는 그 문제가 최선의 조건을 만족하는지 만족시키는지를 먼저 파악한다. 만약 부족한 조건이 잇다면 이를 충족시킬 방법을 먼저 찾는다. 

 

26

어떤 문제에 맞닥뜨렸을 때 이를 바로 해결하기보다 자유도 관점에서 먼저 살펴볼 필요가 있다. 이 문제가 많은 옵셥(대안)을 가지고 있는지, 각 옵션의 결과는 얼마나 불확실한지 그 결과가 가져올 위중도는 얼마나 큰지 반드시 점검해야 한다. 만약 위중도가 크다면 불확실성을 줄여야 하며, 대안이 적다면 더 많은 대안을 요구해야 한다. 

 

28

문제의 영향력을 고려하지 않고 '선택의 어려움'을 지나치게 강조한다면, 우리는 불편하고 어려운 결정을 보류하는 반면 영향력이 적으나 쉬운 결정을 먼저 내릴 것이다. 

 

60

즉 우연이라는 변수와 싸워서 이길 수 있는 유일한 방법은 꾸준한 반복이다. 

 

73

여러 옵션 가운데 그 가치들이 확실하다면 우리는 '선택'을 고민할 필요가 없다. 가장 좋은 가치를 고르면 그만이다. 선택의 문제가 생기는 이유는 옵션들의 가치가 불확실하기 때문이다. 

 

86

최적의 결정을 위한 조건을 만들려면 자유도의 증가가 중요하다. 자유도의 증가를 위해서는 탐색이 필수 요소다. 다양한 탐색은 선택의 다양성을 증가시킨다. 그리고 탐색의 빈도가 증가하면 불확실성이 줄어든다. 이렇게 선택의 자유도를 증가시킴으로써 나는 최선의 선택을 할 수 있는 유리한 환경을 획득한다. 

(중략)

탐색의 결과를 평가하는 것은 바람직하지 않다. 탐색할 때는 그 결과가 좋으리라 기대하기 어렵고, 탐색의 결과가 나쁘다고 해서 자신한테 실망할 필요도 없다. 탐색은 단지 더 나은 결정을 위한 정보 수집 단계일 뿐이며, 이를 위한 투자의 시간이다. 그러니 우리는 탐색에 필요한 비용과 시간을 할당해야만 한다. 

 

88 그렇다면 탐색은 언제 중지되는가?

인간은 빠르고 효과적인 결정을 위해 어느 정도 탐색이 이루어졌다고 판단하면 이를 종료하고 결정을 수행한다. 이때 인간은 '만족'과 '알고 있음'이라는 두 가지 탐색 중지 신호에 따라 탐색 과정을 중단한다. 만족은 탐색을 통해 긍정적인 감정이 누적된 상태를 말하며, 알고 있음은 자신이 이미 알고 있다는 자각을 말한다. 

 

93 몬테카를로 트리 탐색

이 방법은 의사결정을 하는 '노드'와 그 경로를 나타내는 '가지'로 구성되어 있다. 첫번째 단계의 노드에서 여러 가지 중 하나를 선택한다. 이 가지는 다음 단계의 노드로 연결되며 그 다음에 연결된 하위 가지를 선택해야 한다. 이때 하위 가지의 선택 여부는 확률적으로 결정된다. 게임이 끝난 후 점수 또는 승률을 지나온 모든 노드에 업데이트해 선택될 확률에 반영한다. 이 과정을 반복하면 각 노드에서 승률이 높은 쪽의 가지를 선택할 확률이 올라가고, 결국 승률이 높은 연속된 의사결정을 수행할 수 있게 된다. 한 편 적은 확률이지만 여전히 다른 가지도 선택될 수 있으므로 반복된 시뮬레이션에서 탐색될 가능성이 남아 있다. 

 

95

초기에는 수평적인 무작위 탐색을 많이 해 옵션을 다양하게 살펴보고, 탐색 횟수가 늘어날수록 즉 경험이 쌓일수록 불필요한 수평적 탐색을 줄이며, 좀더 결과가 좋은 갖로 집중하게 됨으로써 더 효율적인 탐색이 가능해진다. 

 

96

탐색의 목표는 최선의 결과를 찾는 것이라기보다는 테이터를 수집해 최적의 결정을 위한 환경을 조성하는 것이다. 앞서 살펴본 효용성 문제에서는 불확실한 것에 대한 감쇠 효과를 주어 기대값을 낮췄다. 그러나 반복 가능하고 탐색이 허용되는 문제에서 감쇠 효과를 적용한다면 최적의 결정에 도달할 수 없었다. 반복 가능한 문제에는 오히려 불확실한 옵션에 가산점을 주는 알고리즘이 있다. 그 중에 가장 많이 쓰이는 것이 UCB(upper confidence bound)알고리즘이다. 

UCB알고리즘은 각 옵션의 기댓값에 불확실성의 크기만큼 가산점을 주어 그 합이 큰 옵션을 선택한다. 

 

101

성공을 많이 한 선배 인공지능의 결과를 학습할 때보다, 실패를 많이한 선배 인공지는 모델의 결과를 학습할 때 더 빨리 최고의 결과에 도달한다는 것이다. 

탐색 과정이 꼭 자신이 직접 경험한 시행착오일 필요는 없다. 탐색은 과거의 데이터들, 즉 타인의 경험에 대한 정보, 문헌 조사로도 가능하며 손실을 최소화하는 범위에서의 실험으로도 이루어질 수 있다. 중요한 교훈은 한 번의 선택으로 문제를 해결한 성공담은 학습할 필요가 없다는 것이다. 

 

107

현실적으로 우리는 주어진 정보의 한계 안에서 가장 좋을 것으로 예상되는 옵션을 찾을 수밖에 없다. 따라서 현실의 한계를 인정하고 최선의 선택보다는 '최적의 선택'을 찾아야 한다. 

 

114

학습은 우리에게 연관성을 알려줄 뿐, 우리는 이를 통해 인과관계를 배우지는 못한다. 

 

120 

레이달리오는 "주식시장에서 예측은 사실 큰 가치가 없고, 예측하는 사람의 대부분은 시장에서 돈을 벌지 못한다"고 언급했다. 그는 저서 원칙에서 역설적으로 연관지표와 상관관계가 낮은 주식에 투자하는 것이 예측할 수 없는 위험에 노출되지 않고 수익을 올리는 확실한 방법이라고 말한다. 그는 모든 연관 지표는 인관성이 없는 교란 변수일 뿐이라 생각한 것이다. 

 

137

베이지안 브레인은 외부에서 인지된 데이터를 학습하고, 판단의 가치를 시뮬레이션을 통해 예측하며, 이를 근거로 의사결정을 수행한다. 베이지안 추론에서와 같이 새로운 증거를 외부에서 수집하고, 자신의 내적모델을 업데이트한다. 다시 말해 관찰된 데이터를 통해 외부 세계의 정보를 내적 모델에 학습시킨다. 우리 뇌는 자신만의 현실에 대한 관념 또는 가설을 만들고 그 모델을 현실 세계의 경험을 통해 검증하고 수정함으로써 세상에 대한 자신만의 모델을 실제 세상과 좀더 유사하게 만들어간다. 

 

147

우리는 직접적인 사전 지식이 아니더라도 직관을 동원해 유사한 문제들에서 이미 갖고 있던 사전 지식을 '인용'한다. '인용'은 다분히 연역적인 사고방식이다. 인용된 사전 지식에는 개인적인 감정, 성향, 믿음, 가치관이 반영되어 있다. 이런 사고방식을 이용하지 않는다면, 우리는 새로운 문제에 대해 어떤 의사결정도 못 할 것이다. 

 

149

우리는 실수를 부끄러워하지 말고 직관을 자주 활용해 현실 검증을 받을 필요가 있다. 검증받은 직관은 그만큼 현실에 적합해지고 이로써 직관에 대한 믿음은 점점 커질 것이다. 

 

159

세 개 이상의 물체에서 상호작용하는 중력과 궤도 운동을 예측하는 것은 물리학의 난제로 손꼽힌다. 이를 삼체 문제라고 하며 수학자 앙리 푸앵카레는 이 문제의 일반해를 구하는 것이 불가능함을 증명했다고 한다. 즉 유한개의 기호로 표현되는 공식을 구할 수 없다고 증명한 것인데 일반 공식이 없다면 미래를 계산하는 것이 어려워진다. 

 

193 내시 균형

나의 행동에 대응해 상대가 변하는 다양한 의사결정에 사용할 수 있다. 배수의 진을 치고 버텨야 할 때도 있지만, 욕심을 내려놓고 내가 가질 수 있는 최대 기대값의 최소값을 선택한다면, 지거나 손해보지 않는 결과를 기대할 수 있을 것이다. 

 

209 UCB 알고리즘 실전

A B 제품 테스트

A라는 옵션은 신상품으로 정보가 없어 불확실성이 크고, B는 기존 선호도 조사 데이터가 있다고 해보자. A는 B보다 신뢰구간의 폭이 넓어서 최대 기대치인 UCB도 B에 비해 클 것이다. 그러면 우선 불확실성이 큰 A 를 사람들에게 추천해본다. 

A를 추천받은 이들의 반응을 확인하고 실제 값을 반영해 A의 평균과 그 신뢰구간을 수정한다. 만약 A를 추천받은 이들의 반응이 예상보다 나브면 예상 선호도의 평균과 최대 기대치도 감소한다. 또한 A를 여러번 선택했다면 신뢰구간의 폭도 줄어들기 때문에 이 역시 최대 기대치가 줄어든다. 다음 선택에서는 A의 최대 기대치가 B보다 작아졌으므로 최대 기대치가 상대적으로 큰 B를 선택한다. 실제 B의 값을 확인하고, 그 값을 반영해 B의 평균과 신뢰구간을 수정한다. 만약 B의 예상치가 예상보다 크다면 B의 평균은 더 커지며 B를 다음에 선택하게 될 학률은 증가한다.이처럼 각 옵션의 UCB 즉, 최대 기대치가 큰 값만 반복해서 선택하다보면 초기에는 불확실성이 큰 옵션이 선택되지만, 점차 신뢰구간이 좁아져 참값에 수렴하므로 결국에는 참값이 높은 옵션이 선택된다. 이렇게 함으로써 초기에는 불확실한 옵션들에 대한 탐색을 더 많이 하지만 점진적으로 참값이 우수한 옵션을 선택하는 '활용'을 하게 된다. 즉 하나의 알고리즘으로 탐색과 활용의 문제를 동시에 해결한 셈이다. 

 

211

수많은 학습에는 시행착오라는 희생이 요구된다.

대부분의 사람은 역경을 통해서 성장한다고 믿는다. 그러나 역경이 많다고 그에 비례해서 성장하는 것은 아니다. 학습 과정에서 역경이 많다고 그에 비례해서 성장하는 것은 아니다. 학습 과정에 역경 또는 시행착오가 많은 것은 탐색과정이 합리적이지 못해서일 수도 있기 때문이다. 탐색 과정 또는 학습과정에 있더라도 우리는 그 과정안에서 만족을 느껴야 하고, 시행착오를 줄여야만 한다. 

 

215

상품을 파는 입장에서는 자기 제품에 대한 효용성을 강조해 다양한 선택지를 불확실하게 만드는 것이 유용하다. 반면 소비자 입장에서 선택한 제품의 만족도를 높이려면 불확실성이 큰 다양한 제품을 탐색해봐야 한다. 다양한 옵션이 잇는 모든 문제에서 효용성의 가치는 마지막에 고려하는 것이 좋다. 

 

216

반대로 한 번의 기회밖에 없는 상황에서 효용성을 무시하고 모험적이며 불확실한 옵션을 고르는 경우도 최악의 선택이 될 수 있다. 다신 한번 강조하지만, 우리는 선택하기 전에 이 문제가 어떤 유형인지 파악하는게 중요하며, 그 유형에 따라 다르게 접근해야 한다.