시간이 더 가기전에 알파고가 던져준 생각들을 정리해야할 것 같다.


난 스포츠에 관심없기 때문에, 국가대표 대항전이라도 보지 않는다. 이세돌에 관심은 있지만, 바둑을 잘 모르기에 바둑 소식을 따라가지도 않을뿐더러, 그의 경기를 찾아 보는 것도 하지 않는다. 하지만, 이번 경기만큼은 이세돌이아니었어도 봤을 것은, 인공지능이 전개하는 수에 대한 평가를 듣고 싶어서였다. 그리고, 몬테카를로 기법에서 어떤 발전을 이뤄서 만들었을까를 고민하고 싶어서였다.


완전 계산 불가능성의 영역에서 최대한 휴리스틱한 판단을 내리는 것. 게임의 규칙은 행동의 바운더리를 규정한다. 바운더리가 없는 게임에 대한 혹은 바운더리가 확장되는 게임에 대한 판단에서 과연 인간이 정한 규칙외에 최적의 결정을 내리는 것은 어떻게 가능할까를 고민해보는 것은 꽤 괜찮은 자극아닌가?


그런면에서 중간단계로 바둑은 게임의 규칙이 다른 것보다 훨씬 바운더리가 큰 (그러나 확장은 되지 않은) 게임이다.


직관이란 모든 수를 다 계산하지 않고 그간의 경험에의한 패턴을 통해 내리는 결정을 표현할 때 쓰는 말이다. 수학 문제를 풀 때도 직관을 사용하려면, 수많은 패턴의 문제를 풀어봤을 때 가능한 것이며, 그런 직관의 사용은 인간이 어떤 일을 수행하든 사용되는 방법이다. 게임에서의 직관이란 그동안의 학습패턴에 의해 행동을 선택하는 것일 뿐이다.


인공신경망을 사용하든, 마르코프 체인을 사용하든, 유전알고리즘을 사용하든 그 학습 결과의 내부에 형성된 데이터를 해석할 수 있는 방법은 없다(있나? 내가알기론 없..) 인간도 알 수 없는 학습된 내부 데이터. 중요한 것은 학습에 사용된 패턴과 정답셋, 학습한 순서, 그리고 시스템의 초기값정도이다.


난, 뭘하고 싶은 것일까?


시스템 콜들의 나열을 어플리케이션 프로그램이라 보면, 인공지능은 적절한 순서를 찾는 것으로 원하는 기능을 스스로 할 수 있는 S/W를 만들 수 있는 것일까? 어떤 것을 기계라하고, 어떤 것을 영혼이라할 수 있을까 (공각기동대의 표현을 빌어서 하자면 말이다)


의사 결정이라는 것은 최상위 레이어에서일어나는 일이며, 하위로 내려오면 정확한 기능을 해야한다. "어제 찍은 사진들의 파일을 장소별로 분류해"라는 최상위 의사결정이 있을 때, 가장하위에서는 파일의 날짜와 Geo tag를 추출하는 것, 장소별 디렉토리를 만드는 것, 파일을 이동하는 것이며, 중간에서는 어제 날짜를 판단해야하고, 장소들의 유사 군집을 분류하는 작업이 들어가야한다. 하위 명령은 정확한 기능으로 시스템콜이 존재한다. 그 시스템콜을 적절한 순서로 나열하기 위한 방법으로서의 중간 레벨이 존재하고, 그 중간레벨은 최상위 의사결정에 복무한다. 이런 작업을 매일 한다면, 이 전체 기능이 하위 기능으로 높은 의사결정에 부속이 될 수 있다(예를 들어 "여행 리포트를 작성해"라든지).


위 작업에서 학습이라는 인공지능의 요소가 작용해야하는 것이 어떤 것일까? 아니, 과연 정답셋을 고려한 피드백이 가능하기는 한 것일까?


훔.



저작자 표시 동일 조건 변경 허락
신고

+ Recent posts