신경망 연구가 암흑기를 맞이한 이유로 사고 범위 문제를 해결하는 컴퓨팅 연산 성능의 한계를 맞았습니다. 1990년대에는 컴퓨팅 연산 성능도 더욱 향상되었습니다. 사실 컴퓨팅 연산 성능이 향상된 이유는 신경망 연구 때문이 아닙니다. 1990년대 후반 고속 인터넷망 보급과 함께 대용량 이미지나 동영상 등이 만들어지기 시작했고, 이를 처리하거나 분석할 필요성이 생겼기 때문입니다.

 

색상 수에 따른 데이터 크기 비율

 

이미지는 색상 수에 따라 처리해야 할 데이터양이 늘어나게 됩니다. 그리고 이미지와 음성으로 구성하는 동영상은 다양한 데이터들을 한꺼번에 처리합니다.

그런데 대용량 이미지나 음성 데이터 분석은 컴퓨터 한 대의 컴퓨팅 연산 성능으로 처리하기가 어렵습니다. 그 결과 하드웨어와 소프트웨어 모두를 고려하는 데이터 분산 처리 기술을 주목하기 시작합니다.

GPU

 

하드웨어의 관점에서는 OpenMP나 그래픽 카드의 GPU를 이용하는 GPGPU(General-Purpose computing on Graphics Processing Units) 관련 기술인 CUDA (Compute Unified Device Architecture)이 나오면서 주목을 받기 시작했습니다. 이를 이용하면 개인도 슈퍼컴퓨터와 비슷한 멀티 코어 컴퓨팅 또는 이기종 컴퓨팅 환경을 구축할 수 있게 되었습니다.

CUDA 실행 플로우

소프트웨어 관점에서는 명령 실행 분산 처리를 관리하는 구조가 발전했습니다. 즉, 미리 설정한 컴퓨터 자원을 사용하고, 네트워크로 작업을 관리하며, 자유자재로 자원을 늘리거나 줄일 수 있습니다. 대표적인 예로는 구글 파일 시스템에서 촉발된 맵리듀스(MapReduce) 아키텍처와 야후가 중심이 되어 개발한 하둡(Hadoop) 등이 있습니다.

MapReduce

 

오토인 코더(Autoencoder)

 

무어의 법칙에 따른 하드웨어 성능 향상과 분산 처리 기술이 결합하면서 2000년대 중반부터 다시 신경망 연구가 활발해졌습니다. 2006년 오토인 코더(Autoencoder)의 등장과 함께 딥러닝의 시대로 연결됩니다. 최신 딥러닝 연구에서 주목하는 것은 심층 신경망(Deep Neural Network)입니다. 심층 신경망은 딥러닝을 할 수 있을 정도의 깊은 계층으로 구성된 신경망을 말하며 보통 계층이 5개 이상이면 심층 신경망이라고 부릅니다. 2000년대 이전에는 컴퓨터 연산 성능의 한계로 심층 신경망 구성 자체가 어려웠지만 2010년 이후에는 계층이 100개 이상인 신경망을 구축할 수 있게 되었습니다.

인공지능의 발전 흐름도

 

3. 2000년 ~ 2010년 : 통계 기반 머신러닝과 분산 처리 기술의 발전

인공지능 연구는 앞에서 설명한 신경망 외에도 통계 모델링을 중심으로 한 머신러닝 알고리즘이 있습니다. 이 연구는 신경망 연구만큼 주목받지는 않았지만 착실히 발전한 분야입니다. 그리고 컴퓨팅 연산 성능을 개선하는 분산 처리 기술또한 같이 발전하게 됩니다.

 

머신러닝을 이용하는 대표적인 작업: 분류와 예측

 

통계를 이용해 문제를 해결하는 방법은 크게 어떤 기준으로 데이터를 나누는 분류(Classification)와 데이터로 앞으로 필요한 결과를 예측(Prediction)으로 나눌 수 있습니다. 통계 기반 머신러닝은 이 분류와 예측을 프로그램화한 것으로 분류와 예측을 주어진 데이터를 자동으로 계산해 특징량 (feature)을 추출합니다.

추출한 특징량은 구성 요소와 기여도를 사람이 직접 확인하는 등의 추가 분석을 거쳐 통계 모델링을 하면 자동 처리에 이용할 수 있습니다.

이러한 머신러닝 시스템의 대표적인 예로는 추천 엔진과 로그 데이터, 온라인 데이터를 이용한 이상 탐지 시스템 등이 있습니다.

 

 

 [Sampling-Based Approaches to Calculating Marginal Densities]

 

통계 기반 머신러닝 연구가 활발해진 계기는 1990년대 베이즈 정리를 출발점에 둔 베이즈 통계학의 재조명입니다. 앨런 E. 겔펀드(Alan E. Gelfand)와 에이드리언 F. M. 스미스 (Adrian F. M. Smith)는 1990년 [Sampling-Based Approaches to Calculating Marginal Densities] 에서 현대 베이즈 통계 계산의 핵심이 되는 마르코프 연쇄 몬테카를로 방법의 초기 형태를 제안했습니다. 이는 현재 우리가 연구하는 머신러닝 알고리즘의 기반이 되기도 했습니다.

2000년대에는 베이즈 필터를 이용한 머신러닝 시스템을 도입했습니다. 이 시스템을 이용한 대표적인 예로는 이메일 스팸 판정, 음성 입력 시스템의 노이즈 줄이기, 발음 식별 처리 등이 있습니다.

 

 

베이즈 정리와 필터

 

 

※ 베이즈 정리

토머스 베이즈가 최초로 정리했고, 피에르시몽 라플라스가 확립했습니다.

조건은 다음과 같습니다.

- 사건 A가 일어날 확률 P(A)

- 사건 B가 일어날 확률 P(B)

- 사건 A가 일어났을때 사건 B가 함께 일어날 조건부 확률 P(B|A)

- 사건 B가 일어났을때 사건 A가 함께 일어날 조건부 확률 P(A|B)

 

베이즈 정리 (Bayes Theorem)

인공지능의 발전 흐름도

 

CPU 발전 그래프

 

2. 1980 ~ 2000년 : 2차 인공지능 붐과 신경망의 암흑기

1980년대에는 반도체 개발 비용이 낮아지면서 CPU, RAM, 캐시 메모리 용량이 늘어난 대규모 직접회로를 만들 수 있게 되었습니다. 이를 통해 메인 연산 영역에서 다룰 수 있는 데이터의 단위가 달라지고 연산 속도가 빨라졌습니다. CPU 역사에서 자주 언급하는 무어의 법칙이 이때 유명해졌습니다.

이러한 성능 향상을 그냥 두고 볼 연구자들이 아닙니다. 이번에는 국가 차원에서 "컴퓨터의 성능 향상을 고려하는 새로운 인공지능 연구" 라는 관점으로 연구가 이뤄졌습니다. 이는 2차 인공지능 붐으로 연결 되었습니다.

 

 

2차 인공지능 붐은 신경망 연구가 발전했던 시기입니다. 2차 인공지능 붐 전의 신경망 연구에서는 단순 퍼셉트론을 이용한 패턴 인식 알고리즘을 만들었습니다.

 


 

그러나 다음 2가지의 문제로 인기가 시들해진 상태였습니다.

1. 명제 중 1개만 참일 경우를 판단하는 배타적 논리합을 다룰 수 없음

2. 앞에서 설명한 사고범위 문제를 계산할 정도로 컴퓨터 연산 수준이 높지 않음

그런데 2차 인공지는 붐 때는 퍼셉트론의 다중화 (다층 퍼셉트론)와 오차역전파법으로 2가지 문제점을

해결할 수 있게 되었습니다.

하지만 실제 연구한 결과 1980년대의 컴퓨터 연산 성능으로는 사고범위 문제를 해결하기 어렵다는 한계에 도달했습니다.이렇게 1990년대의 인공지능 연구는 암흑기를 맞이합니다.

 

 

인공지능 발전 흐름도

 

 

1) 1960 ~ 1980년 : 전문가 시스템과 1차 인공지능 붐

1950년대 이후 다수의 조건 분기를 사용하는 규칙 기반 자동 판정 프로그램이 발전하기 시작했습니다.

(자동 판정 프로그램은 오늘날까지도 규칙 기반을 기본으로 발전해오고 있었습니다.)

Dendral (전문가 시스템)

 

 

그리고 이 프로그램은 규칙을 이용해 새로운 사실을 탐색하는 추론 엔진과 이를 기반으로 일반인도 기계가 판단한 지식 탐구의 결과를 참고할 수 있도록 하는 전문가 시스템 (expert system)이 등장했습니다. 전문가 시스템은 전문가가 실행하는 조건 판단을 프로그램화해 문제를 처리하는 시스템으로 유명한 전문가 시스템으로는 Dendral이 있습니다. 또한 전문가 시스템은 상용 시스템에 통합되어 1970년대에는 의료현장에서 사용하는 MYCIN 같은 전문가 시스템이 시범적으로 운영되기도 했습니다.

 

에드워드 파이겐바움 (Edward Feigenbaum)

 

 

Dendral은 1965년 Stanford 대학의 에드워드 파이겐바움 (Edward Feigenbaum)등이 개발하기 시작한 인공지능 프로젝트입니다. 아직 알려지지 않은 유기화합물에 질량 분석법을 적용해 화합물의 구조를 파악해서 분석합니다. 원래 화학자가 해야할 일을 자동화한 세계 최초의 전문가 시스템으로 알려져 있습니다.

 

 

이 시기부터 1차 인공지능 붐이 시작되었습니다.

1차 인공지능 붐과 함께 인공지능이 풀어야 할 과제도 논의되기 시작했습니다. 이중 주목할만 한 것으로 1969년 존 매카시(John McCarthy)와 패트릭 헤이즈(Patrick John Hayes)가 제기한 사고범위 문제(frame problem)가 있습니다. 인공지능은 제한된 범위에서만 정보를 처리하므로 실제 발생하는 문제를 모두 처리할 수 없다는 것이 핵심입니다.

 

1956년 미국 뉴 햄프셔 주에 있는 다트머스 대학에서 개최된 다트머스 회의에서 'Artificial Intelligence' (인공지능)이라는 용어가 처음 제창되었습니다. 그 회의의 멤버였던 존 매커시가 제안했던 용어입니다.

 

 

존 매커시

 

매커시는 '인공지능의 아버지'라고 불리는 컴퓨터 과학자입니다. 그 밖에 인공지능이란 용어는 아니지만, 동일한 개념은 1947년 '컴퓨터 과학의 아버지'라고 불리는 앨런 튜링에 의해 제안 되었습니다.

 


 

※ 오늘은 'AI라는 이름을 지은 사람​'에 대하여 알아보았습니다.

이 포스트는 학부에서 제공하는 기본적인 강의와 책들을 토대로 알기 쉽게 내용을 작성하였습니다. 하지만 계속 더 유익하고 논문 및 전문 서적을 읽어가며 더 추가돼야 할 내용이 있으면 인공지능 포스트와 콘텐츠들을 계속 고도화하는 방식으로 진행하려고 합니다.

보통 우리가 인공지능이란 단어를 듣게 되면 제일 먼저 떠오르는 것은 아마 흔히 핸드폰에서 쓰이는 Apple의 시리(Siri)나 Samsung의 빅스비(Bixby) 등의 인공지능 비서가 떠오를 것입니다. 인공지능은 인간의 학습능력과 추론 능력, 지각 능력, 자연언어의 이해 능력 등을 컴퓨터 프로그램으로 실현한 기술을 의미하고 있습니다.

위에 언급한 시리, 빅스비와 대화할 때 아이폰, 갤럭시의 인공지능은 자연언어 처리를 통해 우리가 사용하는 언어를 컴퓨터가 인식을 하게 됩니다. 여기서 자연 언어는 우리가 사용하는 언어를 뜻합니다. 그러면 컴퓨터는 우리가 사용하는 언어를 자연언어처리를 통해서 우리가 쓰는 언어를 인식하여 처리하게 됩니다. 시리 와 빅스비와 대화할 때처럼 음성을 인식하고 번역하고 정보를 처리하며, 마지막으로 음성을 모두 종합하여 분석 후에 사용자에게 대답을 주게 됩니다.

 


영국의 천재 앨런 튜링(Alan Turing)

 

그러면 서론에서 간단하게 인공지능에 대한 소개와 일상생활에서의 예를 들어보았습니다. 이제 컴퓨터가 인공지능을 갖추고 있는지 판별하는 실험인 앨런 튜링이 고안한 '튜링 테스트'에 대해서 다루어 보겠습니다. 영국의 수학자, 논리학자인 앨런 튜링을 소개하면 그는 세계 2차 대전 때 독일군의 에니그마라는 암호기를 해독하여 연합군을 승리를 이끌었습니다. 1950년에 튜링은 [계산 기계와 지성 / "Computing Machinery and Intelligence]이라는 제목으로 논문을 발표하였고, 이를 통해 컴퓨터가 사람처럼 생각할 수 있다는 의견을 제시하였습니다.

튜링은 컴퓨터와 대화를 나누어서 컴퓨터의 반응을 인간과 구별할 수 없다면 해당 컴퓨터가 사고(인식, 판단 능력 기준) 할 수 있는 것으로 간주하여야 한다고 주장하였습니다.

 

그리고 50년 후에는 보통 사람으로 구성된 질문자들이 5분 동안 대화를 하며 컴퓨터의 진짜 정체를 알아낼 확률이 70%가 넘지 않도록 프로그래밍하는 것이 가능할 것이라고 말하였습니다.

하지만 앨런 튜링은 이런 포괄적인 논리만 제시했을 뿐, 구체적인 실험 방법과 판별 기준은 언급하지 않았습니다. 그리하여 나중에 수대 과학자들이 그의 논리와 주장을 바탕으로 실험 방법을 고도화시켜 테스트화를 시키게 됩니다. 이 테스트는 앨런 튜링의 이름을 따 '튜링 테스트(Turing Test)'라고 불리게 됩니다.

튜링 테스트는 서로 보이지 않는 공간에서 질의자가 인간과 컴퓨터가 정해진 시간 안에서 서로 질문과 응답을 하며 대화를 하는 방식으로 이루어졌습니다.

컴퓨터가 전체 심판진 가운데 1/3(3분의 1) 이상을 속이면 그 컴퓨터는 사람의 사고를 기반한 인공지능을 가지고 있다고 인정을 받게 됩니다.


◎ 개발자의 관점으로 봤을 때는 많은 심사원이 인간이라고 믿게 하는 기계를 만드는 것이 목표이며, 심사원은 자유롭게 질문할 수 있으며 이야기나 음악 감상을 듣는 등의 의견을 요구할 수도 있습니다.

튜링 테스트

 

튜링 테스트

 

챗봇의 역사 타임라인


튜링 테스트와 관해서 대표적인 예로 2 가지 시스템이 알려져 있습니다. 1966년 발표된 '일라이저(ELIZA)'와 1972년 발표된 '패리(PARRY)입니다.

일라이자(Eliza)= 사람과 채팅하는 프로그램 (1966)

 

조셉 와이젠바움이 발표한 일라이저는 당시 컴퓨터의 성능이 높지 않다는 배경 때문에 할 수 있는 작업이 한정돼 있었습니다. 거기서 규칙 베이스의 답변을 기본으로 한 시스템을 만듭니다. 질문 내용을 단어로 분석해 기계가 이미 알고 있는 단어가 있으면 그에 대해 답을 내놓는데, 모르는 것에 대한 내용은 "그 질문은 중요합니까?"라고 하는 등 인간이 일상적으로 자주 받아치는 말을 던져 인간다운 모습을 보여주었습니다. 이는 심리요법 치료사의 응답을 참고하였다고 합니다.

일라이저와 패리는 튜링 테스트에 합격하지는 못했지만 각각 30%, 50% 미만의 판정자가 잘못 판단했고, 결국 가까운 미래에 테스트에 합격하는 기계가 등장할 것이라는 말이 꾸준히 나왔습니다. 튜링 테스트에 시험하는 것은 '인간다운 행동'이기 때문에 모든 질문에 정답을 내놓을 필요 없이(인간이라도 그게 가능하다고 단정할 수 없고, 정답이 없는 종류의 질문도 많음) 인간을 모방하는 기술과 화술이 중요합니다.

 


 

※ 위에 실험 기준과 사람이 가지고 있는 사고를 모두 통합해 보았을 때 사람이 유리한 테스트입니다. 하지만 2014년 6월 영국 왕립협회가 실시한 튜링 테스트에서 영국의 레딩대학교가 개발한 컴퓨터 프로그램 '유진 구스트만'이 처음으로 테스트를 통과하였습니다.

레딩대학교에서 발명한 컴퓨터 프로그램 유진 구스트만(Eugene Goostman)

 

유진 구스트만은 러시아의 블라디미르 베셀로프와 우크라이나의 유진 뎀첸코가 개발한 슈퍼컴퓨터 '유진(Eugene)으로서 '우크라이나에 사는 13세 소년'이라는 설정으로 튜링 테스트에 도전했습니다. 튜링 박사 사후 60주년인 2014년 영국 레딩 대학에서 개최된 '튜링 테스트 2014'에서 5분 동안 튜링 테스트가 진행되었고 33%의 판정자들이 기계라고 판단하지 못하여 첫 합격의 영예를 안았습니다.

반면에 '특이점(싱귤래리티)'을 제창한 레이 커즈와일을 비롯해 일부 전문가들은 이 합격에 이의를 제기했습니다. 그 이유로는 '우크라이나에 사는 13세 소년'이라는 설정이라 영어가 능숙하지 않다는 전제를 깔았고, 시험 기간 5분은 너무 짧으며 실제로 인터넷을 이용해 유진과 대화를 해봤더니 대화의 맥락을 따라오지 못했다 등의 이유를 들며 유진이 컴퓨터가 아니라 단순한 '챗봇'이라고 주장한 것입니다.


마지막으로 튜링 테스트에 대한 반론 의견을 설명한 포스트도 참조하시면 도움이 되실 것 같습니다.

 

 

[인공지능 기초] 중국어 방 / 튜링에 대한 반론

https://blog.naver.com/j767asde/221575226071


※ 인공지능을 연구하는 관점에서 보면 챗봇은 지성을 가지고 있다고까지는 할 수 없고, 이해할 수 없는 내용에 대한 질문을 받으면 얼버무리며 대답하는 식으로 인간답게 보이는 기법을 썼을 뿐이라는 의견을 자주 듣게 됩니다.

이 포스트는 학부에서 제공하는 기본적인 강의와 책들을 토대로 알기 쉽게 내용을 작성하였습니다. 하지만 계속 더 유익하고 해당 논문 및 전문 서적을 읽어가며 더 추가돼야 할 내용이 있으면 인공지능 포스트와 콘텐츠들을 계속 고도화하는 방식으로 진행하려고 합니다.

 

+ Recent posts