본문 바로가기
공부 목록/IT & 프로그래밍

인공지능 알파고는 어떤 알고리즘을 사용했을까?

by 독학박사 2023. 1. 26.

목차


     지금까지 데이터 전처리 방법에 대해 정리하여 공유하였습니다. 데이터 전처리는 최종적으로 어떠한 알고리즘에 입력값으로 사용하기 위해 필요합니다. 오늘은 조금 쉬어가는 측면에서 인공지능(Artificial Intelligence), ML(Machine Learning)과 DL(Deep Learning)의 차이 및 관계에 대해 설명하고, AI계에 엄청난 이슈를 만들었던 알파고는 당시 어떤 알고리즘을 사용했는지에 대해 알아보겠습니다.

     

     

    인공지능 썸네일 이미지
    인공지능 / 머신러닝 / 딥러닝

     

    1. 인공 지능

     인공 지능이란 자연어 이해, 이미지 인식 및 의사 결정과 같이 일반적으로 인간 지능이 필요한 작업을 수행할 수 있는 기계 또는 소프트웨어를 만드는 것을 다루는 컴퓨터 과학의 한 분야입니다. 영화를 보면 인공 지능이 무엇이든 다 할 것처럼 하지만 사실 rule-base의 프로그래밍도 이 범주 안에 들어갑니다. 아래 관계도를 보면 룰베이스의 프로그래밍도, 머신러닝과 딥러닝을 포함하여 인공지능에 포함됩니다.

     

    컴퓨터 로직 관계도
    컴퓨터 로직 관계도

     

    2. 머신러닝

    기계 학습으로 불리는 머신러닝은 룰베이스 프로그래밍과 달리 명시적으로 프로그래밍되지 않고 데이터로부터 학습하여 계산식의 파라미터를 도출하게 합니다. 이를 통해 컴퓨터는 사람의 개입 없이 시간이 지남에 따라 특정 작업에 대한 성능을 향상할 수 있습니다.

     

     간단한 예로 아래와 같은 1차 방정식(y=ax+b)이 있다고 합시다. 룰베이스 프로그래밍은 x, y의 2개의 셋을 이용하여 정확한 a, b를 구하게 됩니다. 하지만, 현장에서의 많은 데이터들의 관계는 우리가 모르는 많은 변수들이 포함되어 있을 겁니다.(non-linear system) 우리는 이것들을 풀기 위해 수식을 단순화하는 과정을 거칩니다.(linearlization) 이렇게 선형화된 수식을 풀기 위한 현장의 데이터는 무수히 많은 답을 내놓을 겁니다. 이때 많은 데이터를 학습시켜 현장에 가장 근접한 수식을 만들어 내게 하는 것이 머신러닝입니다.

     

     

    3. 딥러닝

     딥 러닝(DL)은 데이터에서 학습하기 위해 심층 신경망이라고도 하는 여러 계층이 있는 신경망을 사용하는 것과 관련된 ML의 하위 집합입니다. 이러한 네트워크는 인간 두뇌의 구조와 기능을 모방하도록 설계되었으며 이미지 및 음성 인식, 자연어 처리 및 의사 결정과 같은 작업에 특히 적합합니다.

     

     사실 머신러닝과 딥러닝의 설명만 해도 하루 이상의 시간을 들여야 합니다. 오늘 중요한 부분은 위의 관계도를 말씀드리기 위한 것이었고 알파고의 로직은 어느 부분에 속해지는지 한번 알아보겠습니다.

     

     

    4. 알파고가 사용한 로직

     2016년 바둑 세계 챔피언 이세돌을 꺾은 구글 딥마인드가 개발한 AI 프로그램 알파고는 머신러닝(ML)과 인공지능(AI) 분야의 여러 기술을 조합한 것입니다. 

     

    알파고는 Monte Carlo Tree Search 알고리즘 사용으로 많은 잠재적 움직임을 시뮬레이션하고 승리로 이어질 가능성을 평가했습니다. 또, 두 개의 신경망을 사용했습니다. 하나는 정책 네트워크로 보드의 위치가 주어진 다음 돌의 이동을 예측하기 위해 사용되었습니다. 다른 하나는 가치 네트워크로 게임의 결과를 예측하기 위해 보드 위치를 평가하는 데 사용하였습니다. 

     

     알파고는 강화 학습까지 사용하여 자체 실수로부터 재학습하면서 시간이 지남에 따라 자체적으로 성능을 개선할 수 있었습니다. 이 접근 방식을 통해 AI는 신경망의 매개 변수를 조정하여 작업 결과에서 다시 학습할 수 있었습니다.

     

    이러한 기술을 결합하여 AlphaGo는 많은 수의 가능한 동작을 분석하고 자체 경험을 통해 학습하며 종종 예상하지 못하고 인간 플레이어가 대응하기 어려운 결정을 내릴 수 있었습니다.

     

     

    5. 마치며

    지금까지 평소에 자주 접하는 단어인 인공지능 / 머신러닝 / 딥러닝에 대해 가볍게 설명드려봤습니다. 상식으로 알고 있으면 좋을 법한 알파고의 로직도 가볍게 살펴봤습니다. 최근에는 컴퓨터의 성능이 그때보다 더 좋아지고 있어 고도화된 로직들이 쏟아져 나오고 있습니다. 관련 전공자가 아니어도 AI를 활용하는 시대에 있어 관련 상식을 알고 가자는 의미에서 포스팅을 해 봤습니다.

    댓글