- 세상의 모든 계산기 자유(질문) 게시판 일반 ()
알파고의 미래를 예상해 봅시다 (바둑 한정)
1. 알파고의 과거
우리가 아는 알파고의 과거는 '판후이 대국즈음(2015. 10월)'입니다. 판후이의 현재기력은 '한국기원 프로 연습생 수준'으로 알려져 있고, 공식대국에서는 알파고가 5-0 으로 이겼습니다. 비공식대국(속기)에서는 3-2로 이겼습니다.
알파고의 기력 향상을 위해 당시 구글은 입수할 수 있는 모든 기보를 입수해 알파고에 학습시켰을 것입니다. 동아사이언스 기사(http://news.donga.com/3/08/20160226/76688297/1)에 따르면 여기저기서 취득한 16만개의 기보 중 프로기사의 기보는 1만 5천개라고 하였습니다. 저작권 문제로 오래전 기보를 위주로 습득했다고 하는데, 그것이 사실인지는 더 확인해봐야겠습니다.
(일부 기사에서는 프로바둑 기보 3천만건을 입력시켰다고 하는데 "16만 기보 × 평균 200수 = 3200만수" 를 바알못 기자가 잘 못 이해하고 작성했으리라 생각됩니다. )
2. 알파고의 현재
이세돌 사범과의 5차례 대국을 통해서 알파고의 실력(기력)은 새롭게 평가되었습니다. 강점/약점이 동시에 있는 것이 확실하지만, 어쨌건 결론은 인간이 도달할 수 있는 최정상급 수준과 같거나 그 이상일 것이라는 점입니다.
"불과 5개월 전만 해도 2점 아래의 실력이었는데... 어떻게 이런 일이...!"
바둑을 조금이라도 알고 있는 사람이라면 그 누구라도 놀라지 않을 수 없는 결과입니다.
실력이 상승할 수 있는 큰 그릇을 만든 것은 "프로그램머의 노력"이라고 할 수 있지만, 그 그릇을 채운 것은 "알파고(AI 프로그램)의 노력"임이 분명하므로, 우리는 그 사이에 어떤 노력이 있었을지를 분석해야 합니다.
우선 알파고가 추가로 습득한 '인간의 기보'는 과거에 습득한 것에서 크게 늘지 않았을 것이 확실합니다. 저작권 문제가 있다면 더욱 그러했을 것이고, 저작권 문제가 아니더라도, 추가할 수 있는 기보가 있다면 과거에 추가하지 않았을 까닭이 없습니다.
그렇다면 알파고가 그 사이에 기력을 저 정도로 올릴 수 있는 유일한 방법은 "인간vs인간" 또는 "인간vs알파고"의 대국이 아니라 "알파고vs알파고"의 셀프대국일 것이라는 추정이 가능해집니다.
이는 '허사비스'가 밝히기도 한 내용인데, 셀프대국을 통해 좋은 데이터를 만들고, 그것으로 기력이 오르고, 오른 기력으로 더 좋은 데이터를 만들고, 또 기력이 오르고... 이러한 과정이 현재의 알파고를 만드는데 가장 중요한 역할을 했다고 볼 수 있습니다.
5개월간 얼마나 많은 self-play 를 하였는지 아직 밝혀진 바가 없습니다만, 알파고 싱글머쉰과 Dist 버전을 적절히 상대를 조합하여 대국하고, 또 속기바둑을 두는 식으로 대량의 기보를 만들어냈을 가능성이 높아 보입니다.
(인터넷에 떠도는 소문에 의하면 매일3만판=매월100만판을 학습한다고 합니다. 공식 확인되지 않은 정보입니다.)
이러한 셀프기보 중에서 좋은 수준이라고 평가한 기보는, 기존 16만건이라는 인간의 기보중에서 하급이라고 평가되는 것들을 대체하였을 가능성이 높습니다. 그 결과 "Human expert positions" 였던 정책망은 "Human expert positions+Alphago's positions" 로 변화되면서 네트워크 기반이 탄탄해졌을 것입니다.
3. 알파고의 미래
누군가는 알파고의 약점을 보았으니 '이제 잡을 수도 있다'라고 생각하겠지만, '잡을 수도 있는 대상'은 오늘의 알파고이지 미래의 알파고가 아닙니다. 인간이 오늘의 알파고에 있는 약점에 집착하는 동안, 알파고는 계속 강해질 것입니다. 분명 미래의 알파고는 오늘의 알파고보다 강합니다. 알파고의 집은 커지고, 맛은 줄어듭니다. 5개월만에 강해진 오늘의 알파고에게 느낀 충격을, 5개월 후의 알파고에게 또 느끼게 될 가능성이 높습니다.
오늘의 알파고를 만든것은 8할이 알파고 자신입니다. 미래의 알파고를 만드는 것은 10할이 알파고 자신이 될 것입니다. 다만 인간이 그러하듯 기력이 오르면 오를수록 기력을 빠른 시간에 올리는 일은 AI에게도 어려운 일이 될 것입니다. 그것이 저의 오판일수도 있습니다만...
허사비스 ""
알파고가 오를 수 있는 어떤 한계에 다다랏다고 판단되는 때는, 정책망/가치망 이외의 새로운 망을 추가한 베타고가 탄생할 수 있는 순간이기도 할 겁니다. 현재보다도 더 신의 바둑에 가까운 미래의 알파고라는 좋은 사범이 있다면, 새로운 망으로 태어난 베타고를 만드는 것은 그렇게 어렵지 않은 일일지도 모르겠습니다.
문제는 구글이나 딥마인드에게 바둑AI시장은 최후의 목표가 아니기 점입니다. 돈이 된다고 판단하지 않는 이상 추가적인 투자 내지는 연구를 지속할 것인지 불분명합니다.
세상의모든계산기 님의 최근 댓글
수치해석 방법 method 를 강제로 선택할 수 있으면 좋을텐데... 위의 스샷을 보면 되는 듯 하면서도 아래 스샷을 보면 안되는 것 같기도 합니다. solve(Expr,[Var]) csolve(LstEq,LstVar) nSolve(Expr,Var,[Guess or Interval],[Method]) deSolve(Eq,[TimeVar],FncVar) linsolve(LstLinEq,LstVar) fsolve(Expr,Var,[Guess or Interval],[Method]) 2025 10.17 종합해서 답변을 드리면 HP Prime 에 solve 에서 변수명에 구간을 입력하면 수치해석 방식으로 bisection 을 사용함. 이 bisection 방식은 해의 좌-우 부호가 서로 바뀌어야만 해를 인식하고 해의 좌-우 부호가 같으면 해를 인식하지 못합니다. 이 때문에 본문 sin 의 예나 아래 사진의 예에서는 해를 인식하지 못하는 것으로 보입니다. 2025 10.17 Gemini-2.5-pro 답변 ✦ 현대 컴퓨터 대수 시스템(CAS) 계산기에 탑재된 solve 기능의 일반적인 내부 동작 원리에 대해 설명해 드리겠습니다. 현대 CAS의 solve 기능은 단순히 하나의 알고리즘으로 작동하는 것이 아니라, 마치 '순수 수학자'와 '문제 해결 공학자'가 협력하는 것처럼, 여러 단계에 걸친 정교한 '하이브리드(Hybrid)' 방식으로 동작합니다. solve 함수의 작동 과정 1단계: 기호적 해법 (Symbolic Solver) - '순수 수학자'의 접근 계산기는 가장 먼저 방정식을 대수적으로, 즉 정확한 수학적 해를 찾으려고 시도합니다. 이 단계는 마치 사람이 공식을 이용해 문제를 푸는 과정과 같습니다. 1. 방정식 분석: solve 명령을 받으면, 시스템은 먼저 입력된 방정식의 구조를 분석합니다. (예: 이것이 다항식인가? 삼각방정식인가? 로그방정식인가?) 2. 규칙 기반 풀이: 분석된 구조에 따라, 시스템은 내장된 방대한 수학 규칙 라이브러리를 적용합니다. * 선형/이차 방정식: ax+b=c 나 ax²+bx+c=0 같은 형태는 이항, 인수분해, 근의 공식 등을 이용해 즉시 풉니다. * 고차 다항식: 인수분해, 조립제법 등의 규칙을 적용하여 유리수 해를 찾습니다. * 삼각방정식: sin(x) = 0.5 와 같은 경우, x = nπ + (-1)ⁿ * (π/6) 와 같이 주기성을 고려한 일반해 공식을 적용합니다. * 기타: 로그, 지수 법칙 등 해당 방정식에 맞는 대수적 풀이법을 총동원합니다. 3. 결과: 이 단계에서 해를 찾으면, 1.414... 와 같은 근사값이 아닌 √2 나 π/3 와 같은 정확한 기호 형태의 해를 반환합니다. > 강점: 수학적으로 완벽하고 정확한 해를 제공합니다. > 한계: 대수적인 풀이법이 알려져 있지 않은 방정식(예: cos(x) = x 또는 eˣ = x+2)은 풀 수 없습니다. --- 2단계: 수치적 해법 (Numerical Solver) - '문제 해결 공학자'의 접근 만약 1단계의 '순수 수학자'가 "이건 공식으로 풀 수 없어"라고 결론 내리면, solve 기능은 포기하지 않고 2단계인 '문제 해결 공학자'에게 문제를 넘깁니다. 이 단계의 목표는 정확한 해는 아니더라도, 매우 정밀한 근사해를 찾는 것입니다. 1. 반복적 탐색: 수치적 해법은 방정식을 직접 푸는 것이 아니라, 해가 있을 만한 지점에서부터 시작하여 반복적인 계산을 통해 해에 점점 더 가까워지는 방식을 사용합니다. * 적당한 값을 추측해서 대입해 봅니다. * 결과가 0보다 큰지 작은지에 따라, 다음 추측값을 어느 방향으로 수정할지 결정합니다. * 이 과정을 수없이 반복하여 오차가 거의 0에 가까워질 때까지 해를 좁혀나갑니다. 2. 핵심 알고리즘: 이때 사용되는 대표적인 알고리즘은 다음과 같습니다. * 뉴턴-랩슨법 (Newton-Raphson Method): 미분(접선)을 이용하여 매우 빠른 속도로 해에 수렴하는 강력한 방법입니다. * 이분법 (Bisection Method): 해가 존재하는 특정 구간을 계속 절반으로 나누어 범위를 좁혀나가는 방식으로, 속도는 느리지만 안정적으로 해를 찾을 수 있습니다. 3. 결과: 이 단계가 성공하면, 시스템은 0.739085133215 와 같이 소수점 아래 여러 자리까지 표현되는 매우 정밀한 부동소수점 형태의 근사해를 반환합니다. > 강점: 대수적으로 풀 수 없는 복잡한 방정식의 해도 근사적으로 찾아낼 수 있습니다. > 한계: 근사해이며, 알고리즘의 특성상 특정 조건(예: 해가 중근을 갖는 경우)에서는 해를 찾지 못하고 실패할 수도 있습니다. 결론: 왜 하이브리드 방식인가? 분석 → 기호적 풀이 시도 → (실패 또는 불가능 시) → 수치적 풀이로 전환 이처럼 현대 CAS의 solve 기능은 정확성(기호적 해법)과 범용성(수치적 해법)이라는 두 마리 토끼를 모두 잡기 위해 설계된 정교한 협력 시스템입니다. 먼저 가장 이상적인 '정확한 해'를 추구하되, 그것이 불가능할 경우 차선책으로 '정밀한 근사해'라도 찾아내어 사용자에게 최대한의 결과를 제공하는 것입니다. 2025 10.17 hp prime 이 solve 함수에서 해를 찾는데 어떤 방법(method)을 사용하는지 공식적인 무서로 정확하게 파악되진 않습니다. 2025 10.17 참고 x=guess 는 iterative 방식(일반적으로는 newton's method를 의미함)을 x=xmin .. xmax 는 bisection 방식을 사용하는 듯 합니다. // 구간지정 개념과는 차이가 있는 듯? 2025 10.17