:: 게시판
:: 이전 게시판
|
- 경험기, 프리뷰, 리뷰, 기록 분석, 패치 노트 등을 올리실 수 있습니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
16/03/12 09:33
리플레이를 보며 플레이를 학습한다면.. 그렇게까지 오래 걸릴까 싶습니다. 일단 맵이 투혼이라면 벌써 건물짓는 곳, 빌드, 정찰하는 법, 최소한의 피해로 교전하는 법 등등.. 고수들의 이기는 법을 최대한 흉내내지 않을지.
16/03/12 09:45
현 시점에서 어떻게 두어야 할지가 상대적으로 눈에 보이는 후반에도 착점에 1분, 2분이 걸리는 알파고이니 모든 걸 실시간으로 해야 하는 게임에선 지금 같은 대단함을 보여주기 어려울 것 같긴 합니다. 물론 학습을 통해 잔가지를 많이 쳐줄 순 있겠지만 실시간이라는 것 자체가 그만큼 난관일 것 같아요.
16/03/12 10:10
글쎄요. 순수 경우의 수를 프레임 바이 프레임으로 나누면 당연히 바둑보다 더 많은 경우의 수가 나온다는 건 인정합니다. 그러나 그건 그 어떤 의미도 가지지 못합니다. 어차피 순수 경우의수로 접근하지 않기 때문이죠. 바둑 역시 첫 수 부터 1,1부터 19,19까지 다 경우의 수를 생각해서 두면 슈퍼컴퓨터에게 시켜도 우주 탄생 이후 지금까지의 시간을 줘도 할까 말까인데 순수 경우의 수를 따지는건 의미가 없죠. 그렇다면 결국 알파고의 능력의 핵심은 인간 수준으로 경우의 수를 가지치기 한다는 것인데 스타의 경우는 이미 정석 빌드라든지 각 빌드에 대한 최적의 대응안이 정형화 되어있지 않은가요? 그렇게 생각한다면 경우의 수는 정말 바둑과 비교하지 못할 정도로 축소됩니다. 바둑이 어려웠던 이유는 스타처럼 정형화 되어 있는 양상으로 패턴화가 거의 불가능에 가까울 정도로 변화가 다양하다는 것이었으니까요. 단순히 각 수 읽기마다 19x19 줄 바둑판에서 3가지 수로 가지치기를 한다고 해도 30수를 읽으려면 이미 3^30인데 이것 조차도 인간 수준의 경우의 수 가지치기를 완벽하게 해내고 각 결과물에 대한 가치판단이 정교했다는걸 가정해야 가능한겁니다. 이 정도면 실시간이더라도 메크로 레벨에서 알파고가 더 어렵다고 느낄 것 같지는 않아요. 듣도보도 못한 신맵에서 시키거나 이러면 모르겠지만요. 그러나 그 신맵에서도 데이터가 충분히 축적되면 알파고가 이기겠죠. 물론 모든 가정은 스타가 바둑 만큼 학습할 데이터가 있다는걸 가정하고 하는 논의입니다. 인간이 축적해놓은 학습 대상이 없으면 알파고는 무력하죠.
16/03/12 10:27
"그 어떤 의미"를 갖는걸 판단하는 주체가 인간이되어서는 제대로된 논의를 할 수 없습니다.
알파고는 게임에대해 아무것도 모르는 상태로 시작하기 때문에 알파고의 가지치기가 얼마나 효율적이냐를 따져봐야합니다. 바둑의 경우는 몇초의 시간을 장고하여 가지치기를 하는것이 가능하나 스타크래프트는 실시간 게임이기때문에 그것이 힘들지요. 정말로 추상화와 패턴화가 인간처럼 훌륭하게 가능한 인공지능이라면 빌드라는것을 파악하고 어떤 대처법의 큰틀들을 그려나갈 수 있겠는데, 바둑에서도 한 수에 엄청 오래걸리는 알파고가 이런 개념들을 추상화시키고, 패턴화하여 스타크래프트에 적용 할 수 있을까요? 순수한의미의 경우의 수가 더 많고, 바둑보다 패턴화와 추상화능력이 더 요구되는 점, 실시간으로 계산이 이루어져야한다는 점 때문에 알파고에게는 바둑보다 훨씬 더 어려울 게임이라고 생각합니다. 오히려 프로그램에 빌드와 컨트롤같은 요소개념을 직접 주입해준 상태라면 쉽겠지만, 그게 아니라면 아주 더 힘든 도전인것이죠. 지금상태로는 단순한 인공지능이 알파고보다는 게임을 잘할것 이라는 생각입니다. 물론 절대 이길 수 없다는건 아니고요.
16/03/12 11:58
우선, 제가 아까 급히 나가야 할 일이 생겨서 Drone님이 꽤 정성드려 쓰신 글에 약간 허술한 논거로 태클을 건 것 같아 이 점은 사과드립니다.
제가 제시하려는 논거를 풀어서 설명하자면, 스타의 무수히 많은 경우의 수에서 실제 프로게이머가 읽는 경우의 수가 극히 일부인 것처럼 바둑도 마찬가지고 알파고 역시 바둑 전체 경우의 수를 놓고 봤을 때 읽고 있는 수의 개수는 전체 경우의 수에 비하면 정말 극히 극히 극히 일부라는 것입니다. 여기까지는 Drone님과 저 모두 인정하고 있는 사실이겠죠. 그런데 저는 그 수가 지나치게 극히 일부라 바둑과 스타에 유의적인 차이가 전혀 없을 정도라는 것입니다. 그렇다면 말씀하신대로 학습을 통해 승리에 영향을 미치는 요소들을 가지치기 함에 있어서의 어려움을 생각해야하는데 여기서 스타는 바둑보다 그 과정에서 덜 복잡한 요소들이 많다는 것이죠. 추상화라는 것은 곧 승리와 관련성이 있는 특이점들을 찾아나가는 과정인데(모니터에서 각 건물하고 유닛을 구분하여 인식하는 능력을 말하고 계시는 것이 아니라면 말이죠.) 빌드, 유닛 조합, 유닛 배치, 특정 시간 대의 양측의 자원 상황 등 바둑보다 승률과 직결되는 '쉽게 보이는' 특이점들이 너무 많습니다. 이를 기반으로 추론해나간다면 특정 타이밍에 A상황이라면 굉장히 승률이 높다 라는 식으로 추상화가 될테고(예를 들어 예전에 저그가 4가스를 무난히 가져가면 테란의 승률이 급감한다 같은 추상화 말이죠) 이게 바둑에서 그러한 과정을 학습하는 것보다 저는 쉬울 것 같다고 생각합니다. 순수한 의미의 경우의 수가 아무리 많더라도 애초에 SCV를 특정 픽셀로 보낼지 그 옆 픽셀로 보낼지 등등은 승리와 큰 상관관계가 없을 것이기 때문에 전부 사상해 버릴 것이고 이건 바둑에서도 마찬가지로 이루어지고 있는 것이라... 쉽게 말해서 저는 알파고가 '빌드'라는 추상화를 발견할 것이라고 생각하고 그 근거는 바둑에서 그보다 훨씬 복잡하고 인간적인 개념들을 이미 이해하는 것'처럼' 두기 때문입니다.
16/03/12 12:16
음.. 승률과 크게 직결되어보이는 특이점이 많아보인다는것에 동의합니다.
제가 바둑을 잘 몰라서 스타크래프트에 비해 가지치기가 얼마나 어렵고, 알파고가 어디까지만 쓸모있는 계산으로 인식하는지도 모르겠군요. 다만 저는 어떤 문제들을 단순화해서 생각하고 추상적으로 사고하는 능력에 있어서는 아직까지 사람을 따라올 수 있는 인공지능이 없다고 보기에 스타크래프트를 알파고가 스스로 배우는건 매우 힘들다고 봤습니다. 제 생각보다 알파고가 훨씬 더 훌륭하다면.. 그건 좀 많이 무섭네요
16/03/12 12:35
[어떤 문제들을 단순화해서 생각하고 추상적으로 사고하는 능력에 있어서는 아직까지 사람을 따라올 수 있는 인공지능이 없다]
인공지능 알못이지만 바둑을 둘 줄 아는 입장에서 저는 이세돌과 호각으로 겨루었다는 사실 자체가 이걸 깨버렸다고 개인적으로 생각합니다. 바둑은 정말 철저하게 '최선의 수'라는 것을 특정할 수 없는 게임입니다. 모양이 다 결정난 끝내기 단계가 아니면 한 수 한 수 다 직관과 감의 영역이에요. 그래서 이번 결과가 저는 많이 놀랍네요.
16/03/12 12:46
그렇군요. 좋은 댓글 감사드립니다.
스타크래프트시리즈 팬으로써 이런 도전으로 이슈가 된다면 정말 재미있을것 같네요 정말 해줄지는 모르겠지만요 크크
16/03/12 12:49
저도 오랜 스타팬으로서 정말 해줬으면 좋겠습니다. 아예 기계팔이랑 모니터 인식용 카메라까지 도입한 다음 알파스타의 개인화면 중계해주는거 보고 싶어요. 실제 해보면 레이트 메카닉 급의 패러다임의 전환이 있을지도 모를 일이고요.
16/03/12 10:40
현재 다른 인공 지능과 비교할 때, 알파고의 뛰어남은 [판단력]에 있습니다. 최악의 수를 걸러내고 있는 모습이 보이죠.
(이미 존재하는 AI들은 예상치 못한 행동에 맥없이 무너지는 모습을 보입니다) 정석 빌드와 각 빌드에 대한 최적의 대응안이 문제가 아닙니다. 인공 지능이 상대 빌드에 맞춰 어떤 빌드를 선택해야 하는지 판단하는 능력을 기를 수 있느냐 이겁니다. 그게 가능하다면 인공 지능의 승률이 50%를 넘어가는 시점은 언젠가 옵니다.
16/03/12 11:42
인간의 관점에서 전략의 가지치기를 생각하면 안됩니다. 사람이 당연하게 해내는 것들이 사실은 컴퓨터에게는 무지무지무지하게 어려운 일이기 때문입니다. 스타의 빌드, 전략이라는 것은 정말 고도로 추상화된 개념입니다. 스타를 배우는게 어렵다는 것은 그 추상화된 개념을 아무런 사전 정보 없이 스타의 실시간으로 변하는 이미지 픽셀로부터 추출해 내는 것이 어렵다는 겁니다.
컴퓨터가 보는 스타크래프트가 어떨지 상상해 봅시다. 스타크래프트는 640x480 픽셀입니다. 각 픽셀은 RGB 0~255 사이의 값으로 이루어져 있습니다. 즉 우리가 보는 인풋은 3x640x480 크기의 행렬입니다. 그리고 이 무지막지한 행렬은 1프레임 단위로 그 값이 격변합니다. 우리는 이 숫자들 사이에서 아무런 정보 없이 키보드와 마우스를 움직여야 합니다. 비유하자면 완전히 화면이 깨져있는 게임기를 통해 게임을 하는 것보다 백만배정도 어렵다고 생각합니다. 설상가상으로 게임의 장르도 모르고, 어떻게 해야 이기는지도 모릅니다. 단순히 알려주는 것은 내가 이겼는지, 졌는지 뿐입니다. .....정말 어렵지 않나요?
16/03/12 12:02
써놓고 보니 줄리님의 의견도 일리가 있는 것 같아서 덧붙입니다.
저는 실시간 이미지에서 아무런 prior 없이 '전략'이라는 개념을 뽑아내는 것 자체의 난이도가 어마어마할 것이라 생각했는데, 한번 거기에 도달하게 되면 바둑에 비해 훨씬 쉬울 것이란 것은 동의합니다. 인간의 관점에서 스타가 바둑보다는 훨씬 쉬우니까요. 4가스를 먹는다, 정찰을 꼼꼼히 한다 등의 추상화가 가능하다면, 그것들을 조합해서 '승리'라는 목표에 다다르는 것은 상당히 손쉬울 것 같습니다.
16/03/12 10:19
스1이 20년동안 극한으로 파헤쳐진 게임이지만 혹시 아직도 사람이 발견못한 전략,전술(뮤탈뭉치기 같은)이 있고 그걸 알파고가 찾아내서 플레이한다면...
근데 알파스타하는 건 확실한 건가요? 루머라는 말도 있던데
16/03/12 10:21
바둑에서처럼 사람들이 하지않는 빌드로 상대를 때려잡는 경우도 나오지 않을까 싶네요.
저글링 히드라만 가지고 테란을 밀어버린다던지 하는 것들 말이죠.
16/03/12 10:25
가위바위보처럼 빌드싸움에서 물고 물리는게 있어서 바둑보다는 인간이 유리할꺼 같습니다.
물론 AI의 컨트롤이 인간수준으로 제한하는 조건이어야겠지만요. 인간이 APM 250일때 AI는 120정도? 헛손질이 전혀 없을테니.
16/03/12 10:27
스타크래프트 이야기가 나오면서 궁금한 건데 알파고는 상대방의 수를 모른다는 것에 어떻게 대응할까요? 바둑이나 체스는 상대방의 수를 전부 볼수 있습니다. 그런데 스타크래프트는 모르죠. 테란이 입구를 막고 있으면 안에서 스타포트를 올리고 있는지 올인러쉬 준비하는지 커맨드를 만들고 있는지 모릅니다. 결국 찍거나 상대방 심리를 예측할수밖에 없습니다. 그냥 커맨드 만들고 있을 것 같다면서 나도 멀티 따라가든지 아니면 상대를 멀티를 좋아하는 안정적인 성향이니까 나도 멀티를 따라간다든지 저번판엔 올인을 했으니까 이번엔 안정적으로 겜을 하고 있을 것이라고 추측을 한다든지...이런 식으로 확률적으로 행동하든가 아니면 상대방의 심리를 예측해야 합니다. 그런데 컴퓨터가 사람의 심리를 예측해서 행동할수 있을까요?
만약 상대방의 심리를 전혀 못읽는다면 컴퓨터는 가장 확률이 높은 전략을 선택하겠죠. 멀티를 따라간다는 전략이 가장 승률이 높다면 멀티만 할겁니다. 그런데 그렇게 하면 심리를 읽혀버릴수가 있죠. 이놈은 정찰안되면 무조건 멀티만 한다든가 하는 식으로요. 사람이라면 그걸 파고들거고요. 컴퓨터는 이런 상황에서 어떻게 대응할까요? 똑같은 행동만 하면 읽힌다는 것을 깨닫고 변수를 줄까요? 아니면 영영 깨닫지 못하고 무조건 확률 높은 전략만 계속할까요? 마음이 없다는 것, 그래서 방심도 두려움도 없다는 것은 강점이지만 마음이 없기에 상대방의 마음을 읽을수 없다는 것이 단점이 되지 않을까, 하는 궁금증이 생기네요.
16/03/12 11:14
정찰이 안됐던 상황에서 최고의 승률을 가져다주는 전략을 쓸것입니다. 몇만판 혹은 몇천만 판을 해보고 정찰이 안된 상황에서 최고의 승률 빌드는 이것이고 상대의 상황에 따라 유동적으로 또다시 최고의 승률을 줄수 있는 빌드를 선택할 것이기때문에 결국 질것 같습니다.
16/03/12 10:31
구글에서 생각하는건 스타에서 수싸움과 의사결정으로 앞서는 모습을 보여주고 싶은걸텐데
왠지 그냥 피지컬로 압도해버리는 상황이 나와서 의미없는 대결이 될 것 같은 예감이 드네요.
16/03/12 10:42
구글이 원하는 점이 그것이라면 아마 피지컬로만 끝나는 게임은 나오지 않도록 제한 요소를 잘 둘 것 같아요.
eapm을 프로게이머 평균 수준의 eapm으로 맞추고, 한 번에 하나 이상의 행동은 하지 못하도록 만들고, 정보를 화면을 통해 보고 직접 확인한 것만(예를 들어 프프전에서 알파고가 적 본진에 옵저버를 보내 놓고 자기는 자신의 본진에서 게이트웨이에서 생산을 하고 있을 경우, 옵저버가 상대 건물이 올라가는 것을 보더라도 알파고가 직접 해당 건물을 클릭을 해서 확인하기 전까지는 그 건물이 게이트웨이인지, 스타게이트인지 알 수 없게 하는 것과 같이) 습득하게 하는 등... 인공지능이 자신의 특별함을 말씀하신 것과 같은 수싸움과 의사결정만으로만 나타낼 수 있도록 잘 제어한다면 내용 면에서도 재미있는 승부가 될 수 있을 것 같습니다.
16/03/12 10:34
어쨋든 구글에서 스타1이란게임을 기억해주고 홍보해주다니 감사하네요.
바둑도 진짜 홍보가 크게되더군요 게임은 그날그날 컨디션이 너무크게작용해서... 컴퓨터를 다전제에서 이길가능성은 없어보이네요
16/03/12 10:57
그런데 생산된 병력, 건물하고 정찰된 자원 수급량 비교하면서 역계산 하면 프로게이머 빌드는 거의 최적화 되어있어서
상대 빌드 정말 쉽게 읽을 것이고 그러면 수싸움에서 완전 압살 당할 것 같은데요.
16/03/12 10:59
문제는 알파고가 그런 개념들을 터득할 수 있느냐 없느냐에 달려있겠죠.
일단 그런 개념을 터득할 정도로 훌륭한 인공지능이라면 당연히 사람이 게임을 이길 수 없게될겁니다.
16/03/12 11:02
개념 문제가 아니라 미네랄에서 자원채취한 양을 보고 건물 생산된거, 유닛본거 가격을 다 비교해보면
남은 자원량으로 뭘할지 추리하는건 별로 안어렵지 않나요? 프로게이머가 자원을 막 쌓아둘리도 없고
16/03/12 11:15
알파고는 프로그래머가 어떤 요소에 대한 개념을 직접 주입해주고 판단하도록 설계된게 아니라,
인공지능이 직접 개념을 터득하여 게임을 하도록 되어있습니다. 따라서 미네랄이 얼마나 있는지에 대한 정보를 알더라도 이걸 얼마나 써야하는지, 조금이라도 남기는게 좋은지 다쓰는게 좋은건지 다 스스로 터득해야합니다.
16/03/12 11:27
제가 말주변이 없어서 좀 오해하신 것 같은데 알파고가 자원을 어떻게 쓰는지가 좋은게 아니라
이번 바둑에서도 사람은 여기서 몇집이득이다 이렇게 생각, 감으로 하지만 알파고는 딱 N집 이득이라는 걸 계산을 하면서 플레이 했습니다. 스타에서도 이런 계산력을 바탕으로 인간이라면 일꾼수 건물들을 보고 막연히 이걸하겠구나 라고 생각하겠지만. 알파고는 자원채취량 -자기가 본 건물, 유닛 =남은량을 보고 계산을 할 것입니다. 남은자원으로 이 빌드, 이 빌드를 할 수있겠다. 감으로 찍기가 아닌 계산을 말이죠. 이건 수싸움에서 큰 차이가 될 것입니다. (운영, 컨트롤이 프로게이머 평균이라는 가정에서)
16/03/12 11:41
아닙니다. 알파고는 n집 이득이란걸 계산해서 플레이 한게아니라. 가장 승률이 높게 나오는 수를 찾아서 놓았습니다. 즉 몇집 더 이득이다를 전혀 계산하지 않고 무조건 승률에 근거해서 놓습니다.
스타에도 이것을 적용한다면 지금 자원을 쓰느냐 빌드냐 공격이냐 전혀 상관하지 않고 제일 높은 승률이 나오는 행동을 할것입니다.
16/03/12 12:01
알파고에 정확히 몰라서 그런데
승률에 근거해서 놓아도 놓고 난 후의 공방전에서 자기가 몇집 이득을 봤는지 결과는 바로 알수 있지 않나요? 상대방에 상관없이 높은 승률만을 선택하는게 아니라 상대방을 분석하고 높은 승률을 선택하는게 맞는것 같은데요.
16/03/12 12:13
무슨말을 하고싶은지 정확히 이해가 안되지만 답변을 해보자면. 상대방의 수에 상관없이 높은 승률이란 애초에 존재하지 않습니다. 상대방의 수에 기초를한 승률입니다. 하지만 가로기님이 말하신 상대의 수를 보고 상대가 무엇을 할지 추리하고 이기는 것이 아닙니다. 현재의 알파고도 다음 상대의 수를 예측할수 있는 확률은 57%밖에 되지 않습니다. 상대의 수를 예측한다는게 핵심이 아니라는 이야기 입니다.
16/03/12 12:21
음.. 예측할 수있는 확률은 바둑의 경우이지 않나요?
스타크래프트에서는 선택할 수있는 빌드가 한정될거고 그 빌드들 역시 자원량으로 계산한다면 빌드를 더 줄일 수 있고, 여기서 학습을 통해 배운, 선택되지 않는 빌드(말도 안되는빌드)들을 제외하고 남는 상대방이 선택할 수 있는 빌드를 자신이 선택할 수 있는 빌드들과 비교해 보면서 가장 승률이 안정적인 빌드를 선택하게 되지 않나요?(제 생각이지만) 저는 이런 방면의 수싸움에서 인공지능이 우위를 보이지 않을까? 라고 생각합니다.
16/03/12 12:37
가로기 님// 확률은 어디에서나 쓸수 있습니다.
인공지능이 이기는것에는 동의하나 빌드를 선택 즉 n집을 계산하는게 아니라 무조건 승률이 가장높은 행동을 한다는 이야기 입니다. 즉 가로기 님이 말씀하신 방법으로 진행을 한다면 보이지 않는 곳에 대한 대응은 인공지능이 하지 못해야 합니다. 스타는 보이지 않는 곳이 많기 때문에 인간의 필승이라고 봐야겠네요. 결국 보고 진행하는게 아니라 안보았을때도 가장 승률이 높은 행동으로 진행하기 때문에 핵심은 상대를 예측한다가 아닙니다. 상대의 빌드를 몰라도 이긴다 입니다.
16/03/12 11:55
그러니까 알파고는 그런 식으로 돌아가는 프로그램이 아닙니다.... 스스로 스타를 전혀 모르는 상태에서 그것까지 '스스로' 배워낼 수 있느냐가 관건인 프로그램이지요. 마치 사람처럼요. 프로그래머가 일일히 데이터를 주입시켜서 만드는 기계가 아닙니다. 그러면 인공지능의 의미가 없지요... 게임의 승리 조건조차 모르는 완전히 '백지'에 가까운 상태에서 스스로 스타를 배워가기 시작하는 겁니다. 그리고 시간이 지남에 따라 그 배움의 속도가 어느 정도인지 보는거죠.
유게에 올라와있는 고전게임하는 알파고 영상만 보아도, 처음에는 전혀 룰을 알지 못해서 죽습니다. 하지만 10판내로 기본적인 룰을 습득해내고, 점점 실력이 늘죠. 마치 사람처럼요. 님이 말씀하신 것 처럼, 그런 자원량에 대한 데이터를 처음부터 입력시키고 하면 당연히 알파고가 압도적인 승리를 하겠죠. 하지만 그건 계산기지 인공지능이 아니죠. 기간을 두고, 예를 들어 스타를 시작한 후 3개월내로 이영호를 이길 정도의 배움을 스스로 터득할 수 있느냐, 이것이 인공지능이 가지는 의의입니다. 그리고 윗 분의 말씀도 꼭 맞다고 할 수는 없습니다. 알파고는 처음 바둑을 시작 할 때에는 집에 대한 개념조차 모르고 시작했겠지만, 시간이 지나면서 "집을 많이 얻으면 승리하는 거구나"라는 승리조건을 터득합니다.
16/03/12 12:03
제가 말한 방식으로 안할 수도 있지만
제가 말한 방식이 승률이 높다면 이런 방식으로 발전 할수도 있지 않나요? 저는 이게 사람과 알파고를 비교했을 때 가장 큰 장점을 보이는 부분이라서 이런식으로 발전할것 같은데
16/03/12 12:13
그 개념을 스스로 찾아낼 수 있다면 충분히 가능하다고 봅니다. 실제로 프로게이머들도 그렇게 플레이를 하는데, 컴퓨터라면 더욱 정교하게 계산이 가능하겠지요. 아니면 전혀 새로운 방법을 터득할수도 있는거고.... 그런데 그 개념을 찾아낼수 있을 정도로 인공지능의 수준이 발달이 되어있나가 관건이겠네요... 제한된 정보라는 면에서 오히려 인공지능한테는 스타가 바둑보다 더 배우기 어려운 게임일지도 모르겠습니다.
물론 APM의 제약이 없다면, 그냥 마이크로 컨트롤만 겁나게 배워대서 인간을 압살하는 방향이 더 쉬울 것 같네요.
16/03/12 11:09
본문의 가정대로 모니터에서 정보를 읽어서 해석하고 키보드, 마우스를 거쳐서 조작하는 ai라면 구현 난이도가 많이 상승합니다.
컴퓨터 입장에서는 바둑이 19x19 이미지 해석 문제라면 스타는 640x480 해석을 실시간으로 하는거죠. 바둑은 19x19 이미지로 전체 게임을 파악이 가능하지만 스타는 640x480을 읽어도 전체 게임 정보 파악이 불가능합니다. ai가 스스로 화면을 스크롤 하고 미니맵을 클릭하면서 정보를 얻어야 하는데 전장안개같은 요소도 까다롭게 작용하기 때문에 학습에 바둑보다 훨씬 많은 시간이 걸릴것 같습니다.
16/03/12 11:16
알파스타가 알파고처럼 한다면 변수를 줄이고 안정적인 운영만 하겠죠.
컨트롤로 쌈싸먹을 수 있으니까요. 제일 큰 문제가 적당히 정찰 허용한 후 인간이 건물을 취소하는 등 전략을 확 바꾸는 경우 대응이 되느냐 여부겠네요. 결국 5:5?
16/03/12 11:17
일단 알파고가 아무리 뛰어난 하드웨어를 갖춘들 많은 경우의 수를 가진 상황에서는 연산에 시간이 걸릴수밖에없습니다.
바둑의 경우는 그 연산할 시간을 충분히 벌수가있는데 실시간 게임의 경우는 직관에 의존하는 경우가 많고 연산을 할 시간이 부족하기때문에 다음수 예측이 바둑만큼 정확할거라고 보지 않습니다. 양자컴퓨터라도 개발되면모르겠지만... 그래서 결국 판단을 내리는데 까지의 시간이 과연 승리를 이끌만한 짧은시간에 이뤄질지는 의문입니다.
16/03/12 12:02
추상화가 된 후에 정형화는 더 쉬울거에요. 추상화가 쉽지 않을 거라는게 이 글의 내용입니다. 근데 음... 알고리즘을 좀 더 개선하면 할만할거 같은데, 전 잘 모르니 답변은 패스하겠습니다 크크크ㅜㅜ
16/03/12 12:37
추상화가 바둑보다 더 어렵다는 건 일단 좌표 스페이스가 바둑보다 훨씬 크니까 그렇게 볼 수는 있는데, 실제로 화면 상에서 벌어지는 패턴의 정형화가 바둑보다 어려울지는 잘 모르겠네요... 저도 이미지 처리 쪽을 잘 아는 건 아니라 단정하기는 힘들긴 한데, 요즘 이미지나 동영상 트래킹 하는 거 보면 바둑에서의 수많은 패턴 처리보다는 쉬울 거라고 생각했습니다.
16/03/12 11:47
이 글에 대부분 동의합니다. 스타크래프트를 인공지능이 배우기 위한 task의 핵심은 어떤 전략이 좋고 나쁘고 이게 아니라, 애초에 추상화와 강화학습을 통해 '전략'이란걸 배울 수 있을지 없을지에 달려 있다고 생각합니다. 스타크래프트의 복잡성은 현실세계와 큰 차이가 없을 정도라고 생각하거든요.
아무런 사전 정보 없이 드론이 미네랄을 채취하게 할 수 있으면, 거기서부터 출발해 이영호를 이기는 것은 상대적으로 훨씬 쉬울 것 같습니다.
16/03/12 16:47
16/03/12 12:11
만약 구글이 정말로 이 프로젝트를 한다면, 완벽한 제로베이스에서 출발하지는 않을 것입니다. 바둑에서도 어느정도 '바둑같은' 모양을 만들기 위해서 기사들의 기존 기보를 이용했고, 축이나 덤 같은 학습하기 어려운 개념은 스스로 배우게 한 것이 아니라 인간이 가공해서 넣어 줬으니까요. 강화학습이라는 큰 틀에서 벗어나지만 않으면 이런 prior들은 얼마든지 넣어줄 수 있습니다.
가령 이게 드론이다, 이게 마린이다, 이게 미네랄이다 정도는 supervised로 학습을 시키고 시작할 것입니다. 그런데 그렇게 시작한다면 사실 아타리 게임을 배우는 것이랑 크게 달라 보이지는 않네요. 점점 더 사람의 손을 거쳐갈수록, general intelligence에서는 점점 더 멀어질 테니까요. 그래서 스타크래프트는 사실 일반인들에게 어필하기는 쉽지만, DQN이나 알파고처럼 혁신적이지는 아닐 것 같습니다.
16/03/12 12:43
바둑보다 훨씬 쉬울 거라고 예상합니다.
2000년대 초 스타크래프트 대회에서는 수많은 빌드오더가 있었고, 대부분의 플레이어들은 자신만의 스타일로 게임을 풀어나갔습니다. 그러나 2000년대 후반(소위 드래프트세대)가 출몰하면서 소위 양산형 선수들이 출몰하기 시작했습니다. 즉, 2000년대 후반부터는 이미 스타크래프트의 '정석'이 완성되었기에, 최적화를 기반으로 한 컨트롤 대결로 게임양상이 변화한 것입니다. 전진게이트, 땡히드라, 벙커링 등의 극단적인 전술들도 개인의 컨트롤 여하에 따라 충분히 막을 수 있다는 전제가 깔린 것이 '정석이죠' 구글이 도전하겠다고 밝힌것도 자신들이 가끔씩 봤던 2000년대 초중반의 스타크래프트를 기억하고 이런 발언을 한게 아닐까 합니다. 게임이 십수년간 연구되면서 바닥까지 다 파헤쳐졌기에, 이젠 새로운 빌드로 정석을 격파한다는 것은 불가능해졌습니다. 최적화는 당연히 컴퓨터에겐 가장 쉬운 일이고, 프로게이머 수준의 컨트롤은 같은 APM이라면 당연히 할 수 있습니다. 실제로 APM 상위권인 선수(대표적으로 김택용, 이제동)들이나 하위권인 선수(진영화, 송병구 등)도 대부분 EAPM은 비슷한데 헛손질따위를 전혀 할 이유가 없는 AI입장에선 일도 아니죠.
16/03/12 12:48
음.. 글을 안읽어보신 것 같은데 이기느냐 아니냐의 문제가 아니라 알파고에게 스타크래프트가 얼마나 어려울 것인가에 관한 내용입니다.
16/03/12 12:52
그러나 지금의 추상화와 패턴화 능력으로 알파고가 스타크래프트를 완벽하게 이해하는것은 힘들지 않을까 라는 생각이 먼저 듭니다.
오히려 알파고처럼 스스로 배우는 인공지능보다, 빌드와 컨트롤 / 정찰의 개념을 프로그래머가 미리 입력해두고 단순히 논리적으로 대처하는 인공지능이 아직까지는 더 강하지않을까 싶고요. 라는, 마지막 결론에 대해 반대하는겁니다. 스스로 배우는 인공지능이 필요로 하는 패턴화는 이미 2000년대 후반에 이뤄졌다고 보기 때문이죠. 두번쨰 문단에도 서술했듯, 바둑과 달리 정석이 완성된 스타크래프트 판입니다. 인공지능이 정석을 익히기만 하면 끝이라고 보고 있습니다. 무언가 더 발전할 방향이 있는 바둑과 달리, 스타크래프트 판에서 추가적으로 더 최적화가 가능한 방향도 없어졌기에, 결국 누가 더 잘뽑고 잘 먹느냐의 싸움으로 변화했으니까요. 논리적인 반응으로 대처하기에는 수많은 변수들이 있죠. 그러나 한 개의 정석을 완벽하게 소화하는것 만으로도 모든 특수상황에 대처가능하다는 것을 2000년대 후반 스타크래프트 대회에서 증명하였기에 다른 것을 가르칠 필요도 없다고 봅니다.
16/03/15 22:58
정석 빌드로 무난하게 뽑고 한방 힘싸움 하는 구도는 금방 배우고 또 곧잘 하겠죠.
하지만 구글의 기술력을 뽐낼려면 말 그대로 실시간 모니터로 입력되는 화면은 영상처리해 컴퓨터 기계 팔이 마우스와 키보드를 움직이게 할텐데, 그렇다면 이 상황에서 여기저기 산개드랍 게릴라, 세세한 컨트롤 싸움을 어떻게 대처해낼지 보는 재미가 있겠군요 크크
16/03/12 13:16
모든 움직임의 경우의수를 예측할 필요가 없습니다
특정타이밍에 일꾼 숫자 보급창(파일런 오버로드 서플) 숫자 가스를 캐는지 기타 등등 상황을 판단해보면 빌드숫자는 몇개 남지 않습니다. 그걸 바탕으로 계산을 하면 경우의 수라고 해봐야 바둑에 비교하기 민망한 수준이죠. 변수를 주고자 레이트 메카닉 몰래레이스 같은 깜짝 전략을써도 컴퓨터의 미친컨트롤에 막힐확률이 높겠죠..
16/03/12 13:28
Eapm 200이면 초당 최소 3클릭이고 19×19 데이터를 계산하는데 이렇게나 오래 끄는 알파고가 스타크래프트의 데이터를 받아서 처리할려면 진짜 양자컴을 pc처럼 쓰는 시대가 먼저지 싶네요.
16/03/12 13:52
"1. 알파고는 다른 게임을 학습하던 때와 마찬가지로 프로그래머가 게임에 대해 직접 이해시키는 일 없이 스스로 시행착오를 통해 게임을 배워나간다."
라고 하셨는데 알파고도 기본적인 빌드(?)는 입력된 상태에서 시작한 거 아니었나요? 소위 말하는 '고수'라고 불릴만한 사람의 16만개 기보를 입력한 상태에서 시작했다고 여기서 봤습니다. (https://pgr21.co.kr/pb/pb.php?id=freedom&no=63971&divpage=13&ss=on&sc=on&keyword=알파고) 이 말이 맞다면, 알파스타도 최소한 2010년 이후 이영호, 이제동, 김택용, 송병구, 정명훈 등등의 최상급 게이머들 리플레이 정도는 다 집어넣은 다음에 자가 학습을 시작한다고 봐야하지 않을까요?
16/03/12 14:13
저건 그냥 학습 시간을 단축시키기 위해 한겁니다. 이론적으로는 시간만 많이 들이면 기보 없이도 충분히 동일한 수준의 퍼포먼스를 뽑을 수 있습니다.
16/03/12 14:12
단언컨데, 스타크래프트가 훨씬 어렵습니다. fog of war 개념 때문인데요. 다르게 말하자면 스타크래프트를 플레이하기 위해선 극히 일부의 정보만을 가지고도 상황을 파악할 수 있는 고차원적인 추론 능력이 필요하다는 이야깁니다. 스타크래프트라는 게임에 대한 지식 없이 어느 타이밍에 정찰을 가니까 어느 건물이 얼마나 지어지고 있더라, 이런 정보만을 가지고 저 친구의 빌드는 이렇겠고 앞으로의 전략은 이렇겠다 이 정도 수준의 추론은 현 세대 딥러닝에게는 만만한 일이 아닙니다. 이게 프로게이머 레벨로 되면 강인공지능에 한 발짝 더 다가갔다고 봐도 될거에요.
16/03/12 14:38
이건 전적으로 제가 잘 몰라서 여쭤보는건데 불완전한 정보를 가지고 전체를 추론하는 것은 딥러닝에게 그렇게까지 어려운 일은 아니지 않나요?
가령 낮은 해상도의 이미지를 고해상도로 만들어 내는 것도 가능하고, 사진의 일부를 보고 이게 무슨 물체인지 판단하는게 가능하니까요. 물론 이건 supervised learning을 썼을테니 방법론적인 차이는 있지만요. 사실 저는 대체 왜 fog of war가 문제인지 이해가 잘 안됩니다. 어떤 action의 판단에 있어서, 상황의 모든것을 완벽하게 이해할 필요는 없지 않나요? 동물의 강화학습도 그렇잖아요. 그냥 자기가 인지하고 있는 정보 내에서 최선의 행동을 하는게 강화학습이고, 그 행동은 미래의 reward를 최대화하는 방향으로 계속해서 업그레이드 될 것입니다. 이 학습과정을 거치면 불완전한 정보만으로도 최선의 행동을 하는 것을 배울 수 있지 않을까요. 제 생각에 오류가 있나요?
16/03/12 15:24
우선 말씀하신 내용들의 경우는 굉장히 mechanical한 케이스들이고요. 이를테면 뉴럴넷을 사용하는 업스케일러는 특정 패턴이 주어질 때 원래 패턴은 이랬을거라는 베이지언적인 연산을 통해 원래의 이미지를 만들어내는거고 이는 심볼릭한 추론과는 크게 상관이 없습니다.
말씀대로 상황의 모든 것을 이해할 필요는 없지만, 그렇게 나이브한 모델가지고는 한세월을 돌려도 스타크래프트 수준의 복잡도를 가지는 게임을 프로게이머 수준으로 학습하기는 어렵습니다... 물론 이론적으로는야 딥러닝으로 튜링 컴플릿한 연산을 학습할 수 있고, 고로 충분히 복잡한 모델로 충분히 많은 대전을 하면 언젠가는 말씀하시는 레벨의 고차원적인 행동까지도 학습할 수 있습니다. 문제는 시간과 연산량이라는거죠. 어쨌든 죽기 전에는 결과를 봐야 하지 않겠어요?
16/03/12 15:28
이영호가 강한 이유는 눈치때문입니다.
이상한데?? 날빌아냐?? 이런 감이 뛰어나고 정확해서 특정빌드를 배제하면서도 안전하게 진행을 할 수 있죠. 과연 컴퓨터가 정확히 예측하고 배제하는 플레이를 할 수 있겠느냐?? 어려울 것 같아요. 그렇다고 배제하는것 없이 다 대비하는 빌드를 사용했다가는 카운터 맞기 딱 좋구요. 만약 그걸 이용해서 역카운터를 날리면 그건 레알 소름지리겠네요.
16/03/12 14:40
맵개념이해하는것도 간단해 보이진 않은데.. 만약 인간과 대결한다면 신맵(컨셉맵) + 구맵에서 하는걸 보고 싶네요. 신맵이 컨셉맵이면 기존에 학습된걸로 제대로 대응이 가능하는게 쉬울까 라는 생각도 들고요.
16/03/12 14:56
로봇 시야 인식까지 들어가면 난이도가 급상승 할 거 같네요. 다만 EAPM 제약 형식으로 전기신호만으로 계산하는 식이면 바둑보다 편할 거 같습니다.
16/03/12 15:27
전처리로 학습하는데에 저러한 제약 조건이 있다면 바둑도 유사하게 학습 제약이 있었어야 했겠죠. 학습하는데 제약은 두지 않고 게임 대결에만 제약을 두겠다고 하면 바둑보다 훨씬 쉽다고 봅니다. 바둑에 학습하는데 유사한 제약을 건다고 보면 바둑이 훨씬 오래 걸렸겠죠. 왜냐하면 스타와 바둑의 가장 큰 다른 점은 '지금 한 행동이 판 전체에 얼마나 영향을 미치는가'의 크기가 다릅니다. 바둑은 행동 하나를 다르게 두면 전체 판이 요동치는데 반해 스타는 행동 한번 삐끗했다고 전체가 크게 달라지지는 않죠.
솔직히 위의 댓글을 보다가 제가 놀란 것은 스타크래프트의 인공지능을 적용하겠다는 것이 아니라 '로봇팔을 쓰겠다'하는 부분입니다.
16/03/12 15:52
스타크래프트가 바둑보다 어렵다고 생각하진 않지만 인공지능이 스타크래프트를 정복하는 것은 더 어렵지 않을까 생각합니다.
단순히 생각해보면 스타크래프트의 기본 구조는 바둑에 비해 엄청나게 복잡합니다. 유닛종류도 많고 유닛에게 내릴수 있는 명령도 다양하고 유닛이 이동할수 있는 좌표도 훨씬 많으며, 동시에 명령을 내려야 하는 유닛도 많은데, 그게 실시간으로 이루어 지죠 그런대도 우리에겐 바둑보다 스타크래프트가 훨씬 더 쉽습니다. 왜냐하면 애초에 스타크래프트가 인간한테 쉽도록 만들어진 게임이기 때문이죠. 인간은 스타크래프트를 할 때 많은 부분을 추상화 시켜 이해합니다 . 병력을 움직일때 "질럿1질럿2....질럿12를 좌표 (xx,yy)로 이동명령한 뒤 좌표 (xx,yy)로 이동명령하고 좌표 (xx,yy)로 이동명령하고 (xx,yy) 좌표로 어택명령한다" 라는 방식으로 이해하지 않습니다. "소수병력으로 센터병력을 우회해서 적의 멀티를 공격해야지" 라고 이해하죠. 하지만 현재의 인공지능이 이러한 추상적인 사고를 할 수 있을지 의문입니다. 알파고 또한 계산해야 하는 경우의 수를 획기적으로 줄이는 방법을 사용할 뿐 많은 경우의 수를 계산하여 승률이 가장 높은 수를 고르는 방식에는 변함이 없죠. 하지만 이런 기계적인 계산방식으로 스타크래프트에 접근하는 것은 현재로선 불가능합니다 추상화된 관념을 제거하고 단순히 경우의 수만 따지면 스타크래프트는 바둑하고 비교할수도 없이 경우의 수가 많으니까요. 게다가 바둑은 시간이 지날수록 계산해야 하는 경우의 수가 줄어들지만 스타크래프트의 경우 유닛종류와 숫자, 전장이 늘어나면서 그 수가 기하급수적으로 늘어나죠. 이를 해결하기 위해서는 현재 대부분의 스타크래프트 인공지능이 그런 것 처럼 인간이 추상화된 개념을 미리 입력해 주거나, 컴퓨터가 어떤 것이 공격이고 수비이며 속임수고 압박인지 추상화된 개념을 이해 할 수 있어야 할 것입니다. 또한 스타크래프트를 정복하기 위한 또하나의 난점은 스타크래프트의 경우 정보가 제한되어 있다는 점입니다. 제한된 정보안에서 최적의 수를 선택한다고 해도 그것이 모든 정보하에서는 최악의 수일수도 있죠. 이러한 부분을 최상급 플레이어의 경우 눈치와 감각으로 해결합니다. 상대가 '소심'하다던지 '과감'하다던 지 하는 정보를 활용하는거죠. 하지만 인공지능은 '소심'하다던가 '이상하게 무리한다' 던가 하는 개념이 없습니다. 유닛의 좌표와 움직임에 대한 정보만이 있을 뿐이죠. 현재의 인공지능은 그정보를 바탕으로 병력에게 어디로 어떤 명령을 내려야 하며 무슨 병력을 뽑아야하고 언제 무슨 건물을 지에 대한 경우의 수를 일일히 계산해야 할 것입니다. 또한 그 계산을 바탕으로 가장 적합한 경우의 수가 나왔다고 하더라도 그것이 필요한 시간 내에 이루어 졌을지도 중요한 부분이죠.
16/03/12 16:36
http://www.theverge.com/2016/3/10/11192774/demis-hassabis-interview-alphago-google-deepmind-ai
현실은 스타1도 스타2도 아니고...그냥 설레발이었던걸로...
16/03/12 16:20
잘은 모르겠는데 스타2라면 수백배는 더 어려울 겁니다 지속적으로 패치가 되니까요. 1년동안 죽어라 학습시켜 놨더니 패치되서 휴지조각되는 일이 비일비재하겠죠. 스타2를 수행하려면 스타라는 게임 자체를 이해하고 상황을 판단하고 배운것을 변화한 스타2에도 적용할수 있는 응용력이 있어야 할거 같습니다.
지금 알파고랑 비교하자면 바둑이란 게임이 20줄이 되거나 21줄이 되어도 바둑이란 게임 자체를 이해하고 19줄에서의 지식을 20줄,21줄에도 적용 시킬수 있는 능력을 갖추는것과 비슷하지 않을까 싶습니다.
16/03/12 20:15
이미 19줄 바둑을 저정도 두면 20줄 바둑도 아무런 문제가 없을 것 같은데요.
기껏해야 cpu 갯수 늘리면 될거 같아요. 스타2 패치도 저는 아무런 문제가 안될 것 같습니다.
16/03/12 20:39
알파고가 바둑이란 게임을 이해하고 둔다면 그렇겠지만 단순히 좌표와 확률에 대한 데이터만을 가지고 바둑을 둔다면 19줄에서 학습한 바둑 데이터는 쓸모가 없죠
모든 경우의 수를 계산하려면 1000년 이상 걸린다는 바둑을 정복한것은 프로 바둑기사들이 둔 수많은 기보 데이터와 수개월간의 학습으로 계산을 할필요 없는 불필요한 경우의 수를 제거하고 비교적 적은 경우의 수를 바탕으로 계산하기 때문인데 이러한 정보는 20줄에서는 통용되지 않으니까요 이러한 상황에서 알파고가 20줄 바둑을 두면 완전히 백지 상태에서 바둑을 두는거나 다름 없습니다 사람의 경우 20줄 바둑이라도 직관과 형세에 대한 감각을 바탕으로 불필요한 경우의 수를 줄여나가겠지만 알파고는 모든 경우의 일일이 계산 해야겠죠 그것도 너무 수가 많아 계산이 불가능하다는 19줄 바둑의 400배를요. 물론 사람들의 기보가 쌓이고 이를 바탕으로 한 학습이 충분히 이루어 진다면 시간이 지나면 정복하겠지만 당장의 알파고가 20줄 바둑에서 사람을 이기는 것은 무리일 것이라고 생각합니다. 물론 알파고가 확률과 경우의수가 아닌 직관과 감각을 동원해서 바둑을 둔다면 모르겠지만 제가 알기론 그렇지 않다고 들었네요.
16/03/12 18:20
심리전은 어떻게 될까요.
바둑도 심리전이라지만 어쨌든 다 보이는 상태로 하는건데, 대놓고 정찰 시켜준 다음에 취소하고 전략 변경하고 이런건 어떻게 될까요. 사람은 뻔한 심리전이야 눈치채지만 인공지능의 그런것이 어떻게 구현될지...
16/03/12 20:13
내가 본것과, 혹시 취소하고 선택할 다른 전략들을 몇가지를 두고,
내가 어떤 선택을 취했을때 가장 승률이 높은지를 선택하겠죠. 바둑보다는 빌드 가위바위보는 훨씬더 경우의 수가 적을 겁니다. 본문 말대로, 이걸 학습시키는걸 어떻게 해야하는가가 좀 문제긴 한데.. 일단 학습을 시킬수만 있다면, 바둑보단 경우의 수가 훨씬 적겠죠. 단적인 예로 이영호 개인방송 보면 정찰도 대충하고 거의 일단 선 멀티 후 게임하던데요.
16/03/12 23:58
스타에서 바둑만큼 정교한 경우의 수 분석 자체가 필요가 없죠..
큰틀(정석 베이스)에서 상대방의 전략 몇가지에 따른 몇가지 대응 정도만 하면 되는데요.. 바둑이야 실효성 있는 경우의 수가 워낙 많으니 생각에 시간이 걸렸지만, 스타는 첫 서치때 어떤 건물이 올라가는지와 유닛 갯수 정도만 봐도 견적 나오죠.. 스타는 eapm 350 정도 수준에서 정석빌드 최적화만 해도 사람이 이기기 쉽지 않아 보입니다. 픽셀 단위 유닛 위치는 무의미한 것들인데 그걸 다 계산하는 뻘짓을 하고 있을 리가 없죠.. 구글에서 그정도도 생각안할까요..
16/03/13 06:11
eapm 350은 인간 초월아닌가요??
스타크래프트에서 사람과 인공지능 사이의 대결은 판단력으로 승부를 봐야지 손빠르기로 승부를 봐선 안된다는 입장입니다. 왜냐하면 인공지능은 손이 빠르다는게 증명됐지만 판단력을 인간보다 잘하는지 아직 증명되지 않았거든요. eapm을 정상급 프로게이머들 평균값으로 하고 대결해야 스타에서 인간의 판단력을 인공지능이 넘어섰구나는 걸 알 수 있죠.
|