머신러닝

4-12 죄수의 딜레마 (Prisoner’s Dilemma)로직 softmax 머신 러닝 계산

coding art 2021. 7. 6. 17:05
728x90

형량 바게인이 가능하다고 알려진 미국에서 기원한 죄수의 딜레마 문제는 두 죄수간의 잔머리 굴리기에 따라 결과가 다음과 같이 얻어진다. 즉 두 죄수의 범죄 행각의 경중에 따라 형량이 결정되는 것이 아니라 누가 더 경쟁적으로 자신의 이익을 극대화하기 위하여 어떤 전략을 취하느냐에 따라 유죄(guilty)와 무죄(not guilty)가 갈리게 된다.

결국 두 죄수 중의 한명인 A 기준으로 살펴보면 B 가 묵비권을 행사할 때에 A가 꼰질르면 유죄 무죄에 상관없이 0.0년이 형량으로 구형되며 반면에 나머지 경우들은 모두 최대 형량의 33% 또는 67% 내지는 100% 를 구형받게 된다.

 

하지만 이 문제에서 A B를 막론하고 인간의 이기적 속성이란 것이 비슷하므로 동일한 전략을 실행하기 쉬워 보인다. 즉 함께 잡아떼거나 아니면 다 같이 꼰질러 자신의 형량을 낮춰보려는 행동을 하기 쉽다. 반면에 상대방이 최대구형량을 선고 받음에 무관하게 나만 꼰질러서 구형없이 풀려나고 싶겠지만 거의 불가능해 보인다. 실제 미국에서의 연구결과에 의하면 AB 둘 다 꼰질르는 형태가 가장 확률이 높다고 한다.

 

즉 두 종류의 라벨링이 가능하다. 하나는 둘 다 꼰질르거나 아니면 둘 다 묵비권을 행사하는 경우이다. 반면에 나만 꼰질르고 상대방이 묵비권을 행사하게 되는 경우인데 뻔히 상대방만 손해보는 경우이므로 일어나기 힘든 경우이다.

One hot code 로 표현하면 [1, 0] [0, 1] 이 될 것이다. [1,0]이 일어날 법한 경우를 뜻하고 [0,1] 이 일어날 것 같지 않은 경우를 뜻한다면 결국 XOR 로직 결과를 낳게 된다.

TensorFlowXOR 로직을 풀 때에 선형 Hypothesis를 사용하면 웨이트 부족으로 풀 수 없음은 이미 잘 알려져 있다. 따라서 뉴럴 네트워크를 사용하여야 만 라벨 값 계산이 가능하다. softmax를 사용하더라도 선형 hypothesis를 사용하면 역시 웨이트 부족으로 풀 수가 없으며 최소한 다항식 hypothesis나 또는 SVM기법이라든지 아니면 quadratic hypothesis를 적용하면 가능하다.