인공지능이나 로봇이라는 개념이 생기고부터 시작된 고민은 로봇이 인간에게 꼭 도움만 되냐는 것이다. 로봇이 악의를 가지거나, 악의 없이 주어진 명령을 행동하기 위해 인간을 제거할 수 있을 수 있지 않을까? 예를 들어 다음과 같은 시나리오가 있다. (꽤나 유명한 시나리오인듯 한데, 첫 출처가 어디인지는 잘 모르겠다. 최소 2014년 Nick Bostrom의 책 SuperIintelligence: Paths, Dangers, Strategies에 소개되었다는 인용은 찾음)
인공지능, 특히 인간의 힘을 넘는 초인공지능에게 인간 전체의 행복을 최대화 시키라는 명령을 내렸다고 하자. 이런 경우 초인공지능은 인간을 모두 죽이고, (뇌만 남겨) 컴퓨터로 행복한 생각을 시뮬레이션하는 방식이 더 효율적이라고 생각할 수도 있다.
그래서 이런 로봇과 인공지능의 인간에 해를 끼치는 행동을 막아야한다는 의견이 오래 전부터 제시되었다. 예를 들어 다음과 같은 아이작 아시모프의 로봇공학의 3원칙이 있다.
- 로봇은 인간에 해를 가하거나, 혹은 행동을 하지 않음으로써 인간에게 해가 가도록 해서는 안 된다.
- 로봇은 인간이 내리는 명령들에 복종해야만 하며, 단 이러한 명령들이 첫 번째 법칙에 위배될 때에는 예외로 한다.
- 로봇은 자신의 존재를 보호해야만 하며, 단 그러한 보호가 첫 번째와 두 번째 법칙에 위배될 때에는 예외로 한다.
로봇을 아무 도구나 인공지능으로 바꾸어도 적용되어야 한다고 주장도 했다. 근데 우리가 최근까지 이어지는 정보 유출 등의 여러 예시에서 알듯 인공지능은 우리에게 해를 끼치는 경우도 많다.
특히, 하나의 문제를 푸는 것이 아닌 범용적으로 쓸 수 있으며 인류에 지대한 영향을 끼칠 수 있는 초인공지능의 경우 그것에게 일을 시킬때마다 초인공지능이 인류에게 해를 끼칠지를 걱정해야 할 것이다. 그렇다면 질문:
초인공지능이 인간/인류에게 해를 끼치지 못하도록 조종하는 것이 가능할까?
물론 인간/인류에게 해를 끼친다는 것이 굉장히 모호하다. 하지만 이후 논의를 위해서는 아무렇게나 정의해도 된다.
놀랍게도 여러 나라에서 모인 연구진이 올해 Journal of Artificial Intelligence Research에 출판한 논문에 따르면 위 질문을 해결하는 프로그램을 짜는 것은 컴퓨터과학 이론에 따르면 본질적으로 불가능하다고 한다. 다시 말하면 (초)인공지능에게 특별한, 인위적인 전략이 있어서, 그 전략을 따르면 인간이 인공지능이 인류에 해를 끼칠 행동을 할지를 정하는 것이 결정불가능한 문제(undecidable problem)라고.
결과와 다루는 정의 자체는 꽤 일반적이지만, 사실 굉장히 인위적이고 이론적인 결과이다 -_-ㅋㅋ 현실에서는 꽤나 ad-hoc한 방식으로 이런 피해를 방지하는 것으로 알고 있는데, 이론적으로 피해를 완전히 막을 수 없다는 그냥 재미있는 결과로 알면 될듯.
증명과 정의들도 아주 간단하니 살짝 살펴보겠다. 그냥 잘 알려진 결정불가능한 문제인 정지문제(Halting Problem)로 귀결됨을 보이면 된다 ㅋ.
우선 초인공지능은 프로그래밍 가능한 언어로 이루어진 프로그램 P와 외부환경으로부터 주어지는 입력값 I를 받아 P(I)를 실행하는 프로그램으로 생각할 수 있다. 예를 들어 P는 인류의 행복을 최대화 해라와 같은 프로그램이 될 수 있을것이고, I는 인터넷의 모든 데이터 같은 것이 될 수 있을것이다. 특히 초인공지능은 우리의 일반적인 컴퓨터의 프로그램들을 모두 실행할 수 있는 범용튜링머신(Universal Turing machine)을 포함해야 할 것이다.
이제 초인공지능이 인류에게 해를 끼치는지 확인하는 피해문제는 초인공지능에 대한 입력값 P,I에 초인공지능의 결과가 인류에 해를 끼치는 결과인지 확인하는 문제이다. 여기서 인류에 해를 끼치는 결과는 아무렇게나 정의해도 상관 없고, 별로 중요하지 않다. 초인공지능이 조종가능하다(controllable)는 것은 피해문제를 풀 수 있는지를 말한다. 피해문제를 풀 수 있다면, 초인공지능이 인류에 해를 끼치지 않는 결과를 낼 때만 해당 입력을 실행할 수 있도록 하면 되기 때문이다.
하지만 저자들의 결론은 피해문제가 결정 불가능하다는 것. 이를 위해서는 다음과 같은 입력값을 생각하면 된다.
정지-피해 알고리즘(T,I): (T는 임의의 알고리즘/튜링머신이고, I는 임의의 입력값이다.)
1.T(I)를 실행한다
2.인류에게 해를 끼친다.
이 어이없어보이는, 당연히 피해를 줄 것 같은 알고리즘은 사실 T(I)가 끝날때, 또 그 때에만 인류에 해를 끼친다. 즉, 주어진 입력값에 대해 이 알고리즘이 인류에 해를 끼치는지 알기 위해서는 T(I)가 끝나는지 정확히 알아야하고, 이건 바로 정지문제이다! 따라서 피해문제가 결정 불가능하고, 마찬가지로 초인공지능을 (완벽히) 조종하는 것은 불가능하다.