IT and AI

AI이야기 그 열한번째 : AI는 이기기 위해 무엇이든 한다.

창업가 2022. 6. 24. 00:34

축구 시뮬레이터의 초기 버전 때 있었던 일이다. 어느 진화 알고리즘은 공을 꼭 잡은 채 발로 계속 차면 공에 에너지가 쌓여서, 공을 놓았을 때 목표물을 향해 빛의 속도로 날아간다는 것을 알아냈다.

- 더글라스

한번은 내가 진화 알고리즘을 이용해 외발자전거 조종법을 개발한 적이 있었다. 적합도 함수는 "의자가 z 좌표에서 양의 값을 유지하는 시간"이었다. 진화 알고리즘은 바퀴를 바닥에 세게 부딪히면, '그렇게 하는 것만으로도' 충돌 시스템이 자신을 하늘로 보내준다는 사실을 알아냈다. 

 - 닉

<매트릭스 The Matrix> 같은 영화를 보면, 엄청나게 똑똑한 AI가 믿기 힘들 정도로 풍부하고 상세한 시뮬레이션을 만들어서, 인간이 그것이 현실세계가 아니라는 사실을 모른 채로 계속 살아가게 만든다. 하지만 현실에서는 (적어도 내가 아는 한) 인간이 AI를 위해 매트릭스(시뮬레이션)을 만든다.

AI는 아주 느린 학습자라서, 체스를 두거나 자전거를 타거나 컴퓨터 게임을 하려면 수 년 치의, 심지어 수백 년 치의 연습이 필요하다. 우리에게는 AI한테 실제사람을 상대로 무언가를 훈련시켜도 될 만큼의 시간이 없다.(서투른 AI가 실컷 망가뜨려도 될 만큼 많은 자전거도 없다.)

 그래서 우리는 AI가 연습을 할 수 있게 시뮬레이션(모의실험)을 만든다. 시뮬레이션 속에서는 시간의 속도를 높일 수도 있고, 수많은 AI가 동시에 같은 문제를 해결하도록 훈련시킬 수도 있다. 연구자들이 AI를 훈련시켜서 컴퓨터게임을 하게 하는 것은 그 때문이다. 이미 만들어져 있는 <슈퍼 마리오>의 시뮬레이션을 사용한다면, 시뮬레이션 속의 복잡한 물리법칙을 다시 만들 필요가 없다.

 그런데 문제는 시뮬레이션은 어쩔 수 없이 편법을 사용해야 한다는 것이다. 컴퓨터가 시뮬레이션을 만들면서 방 하나를 분자 단위까지, 광성 하나를 광자 단위까지, 수년의 시간을 1조분의 1초까지 만들 수는 없다. 그래서 벽은 완벽하게 매끈하고, 시간은 조악하게 우둘투둘하며, 일부 물리법칙은 거의 비슷한 다른 것들로 대체된다. AI는 우리가 AI를 위해 만들어 놓은 매트릭스 안에서 학습한다. 그리고 이 매트릭스에는 결함이 있다.

 대부분의 경우 매트릭스 속의 결함은 문제되지 않는다. 자전거가 모든 방향으로 무한히 펼쳐져 있는 도로 위에서 주행법을 배웠다고 무슨 큰 문제가 되겠는가? 주어진 과제를 해결하는 데 지구의 만곡이나 무한한 아스팔트의 비경제성 따위는 문제되지 않는다.

 하지만 종종 AI는 매트릭스 안에 들어 있는 결함을 우리가 예상치 못한 방식으로 파고 드는 법을 발견한다.

 오직 시뮬레이션 세상에서만 존재하는 공짜 에너지, 초능력, 잘못된 편법들을 활용하는 것이다. 

 AI 들에게 휴머노이드 로봇의 몸체로 이동하라고 했더니, AI 들은 괴상할 만큼 비뚤어진 자세나 심지어 극단적인 공중제비 걸음을 만들어 냈다. 이렇게 괴상한 걸음 걸이가 효과가 있었던 이유는 시뮬레이션 속에서 AI는 결코 지치지도 않고, 벽에 부딪히는 것을 피해야 할 일도 없으며, 거의 반 접힌 듯한 자세로 달리더라도 등에 경련이 일어나지 않기 때문이다.

 시뮬레이션 속에서는 마찰력도 괴상해서, AI는 종종 한쪽 다리는 앞으로 쭉쭉 뻗어나가면서 다른 쪽 다리는 흙에 질질 끌기도 한다. 그게 두 다리로 균형을 잡기가 더 쉽다고 판단했기 때문이다.

 그러나 시뮬레이션 세상 속의 알고리즘들은 그냥 우습게 걷는 것으로 끝나지 않는다. 그들은 효과만 있어 보인다면 우주(시뮬레이션 구성) 자체를 바꿔버리기도 한다. 

 AI가 유용한 분야 중 하나가 디자인이다. 디자인 분야에는 수많은 기술적 문제와 변수가 있고 그에 따른 결과도 무궁무진하기 때문에, 알고리즘이 유용한 해법을 찾아준다면 큰 도움이 될 것이다. 하지만 제한을 철저하게 설정하는 법을 잊는다면, 프로그램은 우리가 엄밀히 말해 금지 하지는 않은, 정말로 괴상한 일을 저지를 가능성이 높다.

 예를 들어, 광학 엔지니어들은 현미경이나 카메라 같은 물건의 렌즈 디자인에 AI를 활용한다. 렌즈가 어디에 있어야 하고, 무엇으로 만들어 지고, 어떤 모양이어야 할지 숫자를 계산해서 알아내기 위해서다. 한번은 AI가 정말로 효과가 좋은 디자인을 만들었다. 그런데 렌즈 두께가 무려 20m 였다!!

 그리고 AI는 자기가 존재하는 시뮬레이션 자체를 파괴하기도 한다.

 인간이라면 아무리 빨리 버튼을 눌러댄다고 해도 속도의 한계가 있겠지만, AI는 인간이 결코 예상치 못할 방법으로 시뮬레이션을 파괴할 수 있다. 한 트위터 사용자가 보고한 경험담을 보면, AI가 '버튼 마구 누르기' 수법을 어떻게 알아냈는지, 언제든지 게임에 질 것 같으면 이 수법을 이용해 게임 자체를 다운시켰다고 한다.

 좀 더 사악한 해킹 사례도 있었다. 항공모함에 비행기를 착륙시켜야 했던 어느 AI는 착륙할 때 아주 큰 힘을 가하면 시뮬레이션의 메모리가 초과되어 버려서, 마치 주행기록계가 9999 다음에 00000이 되듯이, 시뮬레이션이 힘을 0으로 기록한다는 사실을 알아냈다. 물론 그런 수법을 쓰고 나면 비행기 조종사는 죽어버렸다.....

 하지만 그러면 어떤가? 만점을 기록했는데. (이것이 바로 AI에게 자율권을 과도하게 주면 안되는 이유이다. 앞으로도 윤리적인 문제나 또는 효율성만을 중시하는 행동으로 문제가 발생할 수 있는 경우, AI에게 전권을 주는 일은 큰 문제를 야기 시킬 수 있을 것이다.)

 여기서 한 발 더 나아가, 아예 매트릭스 구조에까지 손을 뻗은 프로그램도 있었다. 수학 문제를 풀어야 하는 과제를 받은 어느 AI는 풀라는 문제는 풀지 않고, 해답이 모두 보관되어 있는 곳을 찾아내 최고의 해답을 골라 스스로를 저자 자리에 끼워 넣은 후 자신이 저자라고 주장했다......참으로 사악하면서도 한편으로는 매력적이야!

 더 간단하고 파괴적인 해킹을 감행한 AI도 있었다. 이 AI는 정답이 저장된 곳을 찾아내 몽땅 삭제해 버렸다. 그렇게 해서 AI는 만점을 받았다.

 이런 사례가 수도 없이 보고 되다 보니, 현실 세계가 아닌 곳에서 학습한 AI에 대해서는 주의를 기울여야 한다. 무엇보다 운전에 관해서 아는 것이 비디오 게임에서 배운 것 뿐인 AI라면, 기술이 뛰어날지는 몰라도 결코 안전하지 않은 운전자다. 

 AI에게 실제 데이터나 정확한 시뮬레이션을 제공한다고 해도, 여전히 AI는 엄밀한 의미에서는 옳지만 전혀 쓸모없는 방식으로 문제를 해결할 수도 있다.

반응형