2023.05.07 - [인공지능(AI; Artificial Intelligence)] - 인공지능(AI) 연구의 분야 별 발전 과정 (1)
5. [1960년~] 퍼셉트론과 오차역전파법
1) 인공 신경망(Artificial Neural Network)
인공 신경망(Artificial Neural Network)은 생물의 신경세포가 구성하는 회로망을 모델로 해서 수학적으로 모방한 계산 기구입니다. 신경세포를 모방한 구성 요소인 인공 뉴런(Artificial Neuron)이 복수 결합해서 신경망을 형성합니다.
인공 신경망의 개념을 처음 제창한 사람은 워렌 매컬로치(Warren McCulloch)와 월터 피츠(Walter Pitts)입니다. 이들은 1943년 논문에서 인공 뉴런의 수학적 모델을 발표하였습니다. 그 모델이 현재 사용되고 있는 신경망을 구성하는 인공 뉴런의 원형이라고 합니다.
2) 퍼셉트론(Perceptron)
퍼셉트론은 인공신경망의 한 종류로서, 1957년 코넬 항공연구소의 프랑크 로젠블라트(Frank Rosenblatt)에 의해 고안되었습니다. 퍼셉트론은 뉴런을 층 상태로 병렬로 연결한 계층형 신경망의 일종입니다. 계층은 입력층, 은닉층, 출력층의 세 부분으로 구성되어 있습니다. 상기 그림에서 볼 수 있듯이 입력층(Input Layer)에서 은닉층(Hidden Layer) 결합이 임의의 수로 결정되는 무작위 결합이고, 출력층(Output Layer)의 출력값은 0 또는 1 두 개입니다. 이 설정으로 입출력 쌍으로 주어진 데이터를 사용해 은닉층에서 출력층으로 이어지는 결합을 조절하면서 입출력 관계를 반복적으로 학습합니다. 특히 퍼셉트론 학습법은 특정 목적에 맞는 정확한 연결강도에 수렴한다고 입증되었습니다. 초기에 퍼셉트론은 인지가 가능하다는 관점에서 상당한 관심을 모았으나 AND, OR 연산 등 선형분리가 가능한 문제의 해결에만 사용될 수 있다는 약점도 밝혀졌습니다. 그 결과 퍼셉트론이 적용 가능한 문제의 범위도 명확해졌습니다.
3) 오차 역전파법(Back-propagation)
퍼셉트론(Perceptron) 붐 이후 한동안 신경망 연구는 진정되고 잠잠해졌습니다. 그러다 1986년에 신경망 학습을 다룬 데이비드 럼멜하트(David E. Rumelhart) 등의 논문이 발표되면서 신경망 연구가 다시 관심을 끌게 되었습니다. 논문에서 퍼셉트론과 같은 다층 신경망을 학습하는 방법으로 오차 역전파법(Back-propagation)을 발표했습니다. 오차 역전파법은 다층 신경망 학습에 사용되는 통계적 기법으로 출력층에서 발생한 결과를 입력층 방향으로 전송하면서 오차의 수정을 통하여 가중치를 재설정하는 과정으로 계층형 신경망 학습을 효율적으로 할 수 있는 알고리즘입니다.
오차 역전파법을 사용하면서 초기 퍼셉트론이 안고 있던 한계를 극복하여, 더욱 확장된 영역에서 계층형 신경망을 적용할 수 있게 되었고 신경망 연구도 다시 활성화되었습니다. 그러나 연구가 활발해지면서 이 알고리즘의 한계도 밝혀졌습니다. 특히 대규모적이고 현실적인 데이터 처리에는 당시의 컴퓨터 능력이 충분하지 않은 데다 신경망의 구조 설계와 학습에 많은 문제가 발생되어 오차 역전파법의 적용이 어려운 상황이 되었습니다. 이러한 문제를 위해서는 21세기 컴퓨터 용량의 확장과 딥러닝(Deep Learning) 기술이 출현할 때까지 기다려야 했습니다.
6. [1950년~] 체스, 체커, 바둑 프로그램
1) 체커 게임 프로그램 (1950~ )
인공지능 연구가 시작된 1950년 당시부터 체커나 체스 같은 보드게임에 인공지능 기술을 사용하는 시도가 이루어졌습니다. 왜냐하면 보드게임은 지적 활동이면서도 게임 세계는 규모가 한정된 작은 세계여서 인공지능 기술의 대상으로 삼기 쉬웠기 때문입니다.
초기 게임 연구에는 아서 사무엘(Arthur Lee Samuel)의 체커 게임 프르그램이 있습니다. 체커는 두 명이 대전하는 보드게임으로, 상대의 말을 전부 따먹거나 상대편의 말을 움직일 수 없는 상태로 만드는 쪽이 이기는 게임입니다. 사무엘은 1950~1970년에 걸쳐 체커 게임 프로그램을 연구했습니다. 그 과정에서 사무엘은 프로그램에 게임의 지식을 넣기 위해 지식표현이나 탐색과 같은 인공지능의 기초적인 기술을 사용했습니다. 여기서 지식표현이란 사실과 사실관계 또는 규칙 등을 시스템이 이용할 수 있는 형식으로 기술하는 방법을 의미합니다. 그리고 탐색은 지식표현으로 주어진 데이터 구조를 통해서 조건에 일치하는 데이터를 찾아내는 알고리즘입니다. 지식표현과 탐색은 인공지능 시스템을 구성하는데 꼭 필요한 기초기술들입니다.
사무엘은 수작업으로 전략지식을 체커 게임 프로그램에 심는 방법 말고도, 프로그램이 스스로 학습해서 더 나은 전략을 획득하는 시스템을 도입했습니다. 이것이 머신러닝이라 불리며 요즘 인공지능의 중심이 되는 기술로 발전했습니다. 이처럼 게임 프로그램의 개발을 통해 인공지능의 기초 기술이 발전했습니다.
2) 체스 게임 프로그램 (1990~ )
체커는 비교적 단순한 내용의 게임인 반면에, 같은 보드게임인 체스는 상당히 복잡한 게임입니다. 게임이 복잡하다는 의미는 규칙에 따라 보드가 변하는 경우의 수가 많다는 것을 의미합니다. 따라서 복잡한 게임에서 컴퓨터 프르그램이 처리해야 할 데이터 양이 많아져서 보드의 변화를 충분히 조사하기가 어려워집니다. 이렇게 복잡한 게임을 다루기 위해서는 더 빠른 컴퓨터와 더욱 고도의 처리 알고리즘이 가동되어야 하므로 체스 게임 프로그램은 전체적인 구성이 어렵습니다. 인공지능 분야에서 체스는 체커와 비슷한 시긴부터 연구가 시작 되었으나 컴퓨터 하드웨어 성능의 한계로 1990년대까지는 인간 챔피언과 실력을 겨룰만한 컴퓨터가 출현하지 않았습니다. 인간 체스 챔피언과의 컴퓨터 대전은 1980년대 후반부터 시작되었습니다. 처음에는 인간보다 약하던 컴퓨터가 1990년대 후반에 들면서 우열을 가릴 수 없을 정도의 실력을 보였습니다. 1997년 컴퓨터 딥블루(DeepBlue)는 당시 체스 세계 챔피언이던 가리 카스파로프를 상대로 인간의 대국과 동일한 규칙을 적용한 싸움에서 승리하였습니다. 딥블루(DeepBlue)는 병렬 컴퓨터에 체스 전용 탐색 하드웨어를 추가한 체스 전용 컴퓨터입니다. 전용 하드웨어를 추가하면서 소프트웨어의 부족한 계산 속도를 보완한 것으로 대규모적으로 신속한 데이터 처리가 가능해졌기 때문입니다. 대국이 끝나고 딥블루는 해체되었으나 인공지능 분야의 체스게임 연구는 꾸준히 진행되고 있습니다.
3) 바둑 프로그램 (1990~ )
보드게임 중 가장 복잡한 게임이 바둑입니다. 체스와 비교해 보드가 넓은데다 선택(경우)의 수가 많은 것이 특징입니다. 그래서 바둑은 체커나 체스 등의 게임에 비해 매우 복잡합니다. 인공지능에서 바둑 연구는 다른 게임과 비교해 성과가 나타나기까지 긴 시간이 필요했습니다. 바둑게임 컴퓨터가 인간 챔피언의 수준에 오늘 것은 체스보다 훨씬 늦은 20년 후에 일입니다. 그 선두주자는 우리도 잘 알고 있는 알파고(AlpaGo)라는 소프트웨어입니다. 알파고는 2015년에 유럽 챔피언인 프로 2단인 기사를 이겼습니다. 이듬해인 2016년에는 이세돌 9단에게 승리하고, 2017년에는 당시 세계 최강 프로기사로 촉망받던 커제 9단에게 완승을 거두었습니다.
알파고(AlphaGo)는 머신러닝, 특히 딥러닝(deep learning)으로 바둑판 평가 시스템을 연습하고, 그 결과를 탐색기술과 융합하여 얻은 성과로 평가 됩니다. 이후 알파고는 딥러닝에 더 중점을 둔 알파고 제로(AlphaGo Zero) 시스템으로 발전하였고, 바둑 외 보드 게임도 학습 대상으로 삼을 수 있는 알파 제로(Alpha Zero)로 발전하였습니다.
(다음 편에서는 딥러닝과 빅데이터 시대에 대해 알아보겠습니다.)
2023.05.07 - [인공지능(AI; Artificial Intelligence)] - 인공지능(AI) 연구의 분야 별 발전 과정 (1)
'인공지능(AI)이란? - 기초 개념 및 이론' 카테고리의 다른 글
인공지능(AI)에 적합한 프로그래밍 언어 (1) | 2023.05.10 |
---|---|
인공지능(AI) 연구의 분야 별 발전 과정 (3) (0) | 2023.05.09 |
인공지능(AI) 연구의 분야 별 발전 과정 (1) (0) | 2023.05.07 |
우리 생활 및 산업에 인공지능(AI) 기술 활용 사례 (0) | 2023.05.06 |
인공지능(AI)란 무엇인가? (2편) (0) | 2023.05.03 |
댓글