13
www.iitp.kr 12 딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960 년대 후반부터 1970 년대 초반까지는 인공지능의 암흑기로 불린다. 1950 년대에 는 인공지능이라는 이름이 붙은 과제제안서는 많은 기대 속에 수월하게 심사를 통과하였 다. 그러나 이러한 기대에도 불구하고, 알고리즘의 복잡도에 대한 연구[1],[2]가 발전하면 서 기존의 컴퓨터로는 효과적으로 다룰 수 없는 문제들이 많다는 사실들이 드러났고, 컴 퓨터 비전 및 기계 번역 등의 분야에서 단순하게 생각하고 프로그램을 개발하기보다는 좀 더 심층적으로 의미론적 추상화(abstraction)를 실현한 상태에서 이를 토대로 자동화시켜 야 한다는 점들을 깨닫게 되었다. 1970 년대 초반부터 1980 년대 중반까지는 전문가 시스템이 성공을 거두었으나 심볼 기반 인공지능이 가지는 한정된 분야에만 적용 가능한 점, 수동적인 지식의 입력 및 모순 되는 지식의 충돌 등의 여러 문제로 제한적인 성공을 거두고, 1980 년대 중반부터는 신경 망에 대한 연구가 활발해지기 시작했다. 이 시기에는 그로스버그의 Adaptive Resonance Theory(ART)[3], 홉필드 신경망[4], 자기조직 맵[5], 강화 학습(Reinforcement Learning: RL)[6] 등이 연구되었고, 가장 두드러진 성과는 역전파 학습 알고리즘[7]-[11]으로 나타 기획시리즈 강대기 동서대학교 컴퓨터공학부 부교수 [email protected] 1. 딥 러닝 기계 학습의 역사적 배경 2. 컨볼루션 신경망 3. 딥 빌리프 네트워크 4. 딥 Q-러닝 5. 딥 러닝 기반 공개 소프트웨어 6. 결론 * 본 내용과 관련된 사항은 동서대학교 컴퓨터공학부 강대기 교수(☎ 051-320-1724)에게 문의하시기 바랍니다. ** 본 내용은 필자의 주관적인 의견이며 IITP 의 공식적인 입장이 아님을 밝힙니다.

딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

주간기술동향 2016. 4. 20.

www.iitp.kr 12

딥 러닝 기반 기계학습 기술 동향

1. 딥 러닝 기계학습의 역사적 배경

1960 년대 후반부터 1970 년대 초반까지는 인공지능의 암흑기로 불린다. 1950 년대에

는 인공지능이라는 이름이 붙은 과제제안서는 많은 기대 속에 수월하게 심사를 통과하였

다. 그러나 이러한 기대에도 불구하고, 알고리즘의 복잡도에 대한 연구[1],[2]가 발전하면

서 기존의 컴퓨터로는 효과적으로 다룰 수 없는 문제들이 많다는 사실들이 드러났고, 컴

퓨터 비전 및 기계 번역 등의 분야에서 단순하게 생각하고 프로그램을 개발하기보다는 좀

더 심층적으로 의미론적 추상화(abstraction)를 실현한 상태에서 이를 토대로 자동화시켜

야 한다는 점들을 깨닫게 되었다.

1970 년대 초반부터 1980 년대 중반까지는 전문가 시스템이 성공을 거두었으나 심볼

기반 인공지능이 가지는 한정된 분야에만 적용 가능한 점, 수동적인 지식의 입력 및 모순

되는 지식의 충돌 등의 여러 문제로 제한적인 성공을 거두고, 1980 년대 중반부터는 신경

망에 대한 연구가 활발해지기 시작했다. 이 시기에는 그로스버그의 Adaptive Resonance

Theory(ART)[3], 홉필드 신경망[4], 자기조직 맵[5], 강화 학습(Reinforcement Learning:

RL)[6] 등이 연구되었고, 가장 두드러진 성과는 역전파 학습 알고리즘[7]-[11]으로 나타

기획시리즈

강대기

동서대학교 컴퓨터공학부 부교수

[email protected]

1. 딥 러닝 기계 학습의 역사적 배경

2. 컨볼루션 신경망

3. 딥 빌리프 네트워크

4. 딥 Q-러닝

5. 딥 러닝 기반 공개 소프트웨어

6. 결론

* 본 내용과 관련된 사항은 동서대학교 컴퓨터공학부 강대기 교수(☎ 051-320-1724)에게 문의하시기 바랍니다.

** 본 내용은 필자의 주관적인 의견이며 IITP의 공식적인 입장이 아님을 밝힙니다.

Page 2: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

기획시리즈 – 인공지능

13 정보통신기술진흥센터

났다. 그러나 이러한 알고리즘들은 상대적으로 적은 수의 레이어(layer)로 구성된 얕은 네

트워크에 대해서만 효과적으로 사용되었다. 레이어의 계층이 많아지거나 네트워크가 복잡

해지면 매우 느린 학습시간[12]의 문제, 학습이 수렴(convergence)이 안되고 발산하는

문제, 생성된 모델이 학습 데이터에 지나치게 가까워지는 오버피팅(overfitting) 등의 치명

적인 문제점들을 보이게 되어 비현실적인 방법으로 간주되었다.

이러한 문제들에도 불구하고 본 고의 딥 러닝 주제에 맞춰 초기의 혁신적인 연구들을

언급할 필요가 분명히 있을 것이다. 1960 년 초에는 고양이의 시각령(視覺1; visual cortex)

에서 발견되는 단순한 세포들과 복잡한 세포들에 대한 연구들이 수행되었다[13],[14]. 이

러한 세포들은 특정한 특성을 가진 시각적인 입력에 반응하였고, 복잡한 세포들은 단순한

세포들에 비해 공간적으로 불변한 특성을 보였으며, 관찰 결과는 지금까지도 깊은 구조를

가지는 신경망에 대한 연구에 영향을 주고 있다.

1965 년부터 1971 년까지는 Ivakhnenko 등에 의해 이른바 데이터 핸들링을 위한 그

룹 메소드(Group Method of Data Handling: GMDH)에 의해 훈련되는 딥 러닝을 수행하

는 최초의 전방향 다층 퍼셉트론인 deep GMDH network 이 등장하였다[15]-[18].

Ivakhnenko 가 1971 년에 발표한 논문[18]에 따르면 deep GMDH network 은 8 개의

계층구조를 가지고 있으며, 다양한 분야에 사용 가능성을 보인바 있다.

그리고 1979 년 Kunihiko Fukushima 는 컴퓨터 비전 문제를 위한 본격적인 딥 러닝

네트워크인 Neocognitron[19]을 소개했다. Neocognitron 은 컨볼루션 신경망의 개념을

소개했으며, 이는 2 차원 입력으로 구성된 컨볼루션 유닛의 수용부(receptive field)에서

상위 노드들까지가 가중치 벡터를 통해 연결되어 필터 역할을 하며 추상화를 제공하는 구

조이다. 이 수용부가 활성화된 결과들은 상위 계층의 입력으로 스태킹되어 올라가는 과정

이 반복된다. Neocognitron 은 컨볼루션과 서브샘플링을 사용하는 현대의 지도 학습

(Supervised Learning: SL)을 통한 전방향 그래디언트 기반 딥 러너(컨볼루션 신경망)와

비슷하지만 승자독식(winner-take-all: WTA) 기반의 비지도 학습 규칙을 사용하여 맥스

풀링(max-pooling)이 아닌 공간 평균(spatial averaging)을 사용한다.

1989년에 이르러 얀 러쿤과 동료들은 오류 역전파 알고리즘(backpropagation algorithm)

[11]에 기반하여 우편물에 손으로 쓰여진 우편번호를 인식하기 위한 깊은 구조를 가지는

신경망을 소개했다[20]. 알고리즘이 성공적으로 동작했지만, 10 개의 숫자를 인식하기 위

Page 3: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

주간기술동향 2016. 4. 20.

www.iitp.kr 14

해 학습하는 시간이 거의 3 일이 걸렸다. 따라서 탁월한 성과에도 현실에 적용하기에는 실

용적이지 않은 것으로 간주되었다.

1990 년대와 2000 년대 초까지는 서포트 벡터 머신(support vector machines)[21]과

같이 quadratic programming 최적화 문제를 푸는 방법을 통해 마진을 최대화하는 hyperplane

을 찾는 방식들이 상대적으로 높은 성능을 보임으로써 각광 받았다. 이러한 학습은 대부

분 1 개 또는 많아야 3 개 정도의 레이어에서 이루어졌으며, 돌이켜보면 사실 많은 차원

의 레이어를 통해 학습하고 표현하고자 하는 개념을 보다 복잡하게 구현할 수만 있다면

사람 수준의 높은 인식률을 보일 수 있는 가능성이 있었음에도 불구하고, 원하는 수준까

지 접근할 수 없었던 것은 오버피팅 내지 속도 등의 여러 문제에 기인한 것이었다.

2012년에 세계적인 이미지 인식 경연대회인 ImageNet Large Scale Visual Recognition

Challenge(ILSVRC)에서 제프리 힌튼(Geoffrey Hinton) 교수가 지휘하는 토론토대학의

슈퍼비전팀이 다른 팀들을 압도적인 차이로 누르고 1, 2 등을 차지하면서 사람들의 딥 러

닝에 대한 관심은 폭발적으로 증가하게 된다. 이미 2007 년에 기존 신경망의 오버피팅 문

제를 해결하기 위해 리스트릭티드 볼쯔만 머신(Restricted Boltzmann Machine: RBM)을

통해 학습시킬 피드포워드 신경망(Feedforward Neural Network)의 각 층을 효과적으로

프리트레이닝(pre-trainning)하여 오버피팅을 방지할 수 있는 수준의 초기점을 잡았고, 이

를 다시 지도학습 기반 오류 역전파 알고리즘(supervised backpropagation)을 사용[22]

하는 형태로 학습을 진행하는 방안에 대한 논문을 발표한 바 있다. 또한, 2013 년 신호처

리학회인 International Conference on Acoustics, Speech and Signal Processing

(ICASSP)에서 RBM 을 훈련시키는 과정에서 오버피팅을 방지할 수 있는 드랍 아웃

(drop-out)[23] 개념을 소개하여 프리트레이닝에서 보다 훨씬 더 간단하고 강력한 형태

로 오버피팅을 방지할 수 있게 되었다.

딥 러닝은 엄 히 말하면 새로운 개념이 아니다. 전술한 바와 같이 이미 1965 년부터

학자들이 연구하고 고심해 온 것으로, 최근 딥 러닝이 다시 부활하게 된 것은 오버피팅 문

제가 어느 정도 완화되고 하드웨어가 발전함으로 인해 느린 학습 시간의 문제가 해결됨으

로 인한 자연스러운 현상으로 봐야 할 것이다. 또한, 과거에는 대부분의 도메인에서 데이

터를 수집하는 양이 제한적이어서 학습에 사용할 수 있는 데이터가 많지 않았다. 이러한

적은 양의 데이터가 상대적으로 복잡한 학습 표현에 적용될 경우, 언더피팅(underfitting)

Page 4: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

기획시리즈 – 인공지능

15 정보통신기술진흥센터

을 유발할 수 있다. 그러나, 빅데이터의 시대를 예로 들어 소셜 네트워크와 같은 분야에서

는 엄청난 양의 데이터가 쏟아져 나옴으로 인해 학습 데이터의 양이 방대해져서 더 복잡한

개념이나 표현을 학습하는 것이 용이해졌기 때문이다.

2. 컨볼루션 신경망

컨볼루션 신경망(Convolutional Neural Network: CNN)은 기본적으로 동물의 시각령

을 흉내 내어 뉴런들의 연결 패턴을 구성한 전방향 인공 신경망[24]이다. CNN 은 동물의

시각령처럼 하위 레이어들에서 전처리(preprocess)를 수행하도록 설계되었다. 즉, 하나 또

는 여러 개의 컨볼루션 레이어와 그 위에 올려진 일반적인 인공 신경망 레이어들로 이루어

져 있다. 또한, 추상화를 위해 풀링 레이어를 가지고 있다. CNN 의 이러한 구조는 2차원 입

력 데이터에 적합한 구조이며, 따라서 음성이나 영상 분야에서 좋은 성능을 보여준다.

(그림 1)의 CNN 을 더 자세히 뜯어보면, 우선 기존의 신경망과 비슷하나 컨볼루션을

통해 유의미한 특징을 추출한다는 점이 다르다. 또한, CNN 은 다른 딥 러너처럼 여러 레

이어들이 스태킹(stacking)되어 있으며, 레이어들의 종류는 다양하나, 기본적인 레이어들

을 세 가지 들자면, 다음의 세 가지 종류의 레이어들을 가지고 있다.

- 컨볼루션 레이어(convolution layer): 컨볼루션 연산을 통해 특징들을 추출하는 레이어

- 풀링 레이어(pooling layer): 입력 공간을 추상화하는 레이어, 예를 들어 영상 데이

터의 경우 픽셀의 수가 많으면 서브샘플링(sub-sampling) 등의 과정을 통해 차원

축소(dimensionality reduction)의 효과를 얻는다.

<자료> By Aphex34-Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=45679374

(그림 1) 컨볼루션 신경망(Convolutional Neural Network: CNN)

Convolution Subsampling Subsampling Convolutions Fully connected

Feature maps

Input f.mapsf.maps

Output

Page 5: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

주간기술동향 2016. 4. 20.

www.iitp.kr 16

- 전방향 레이어(feedforward layer): 최상위 레이어들에서 마지막에 적용되며, 하위

레이어에서 전달된 특징들을 분류하는 역할을 한다. 일반적인 신경망처럼 행동한다.

기본적으로 학습 모델은 추론과정과 학습과정을 가지게 된다. 추론과정은 학습된 내용

을 기반으로 새로운 입력에 대해 답을 얻어내는 과정이며, 학습은 주어진 학습 데이터를

기반으로 최적의 추론을 수행하기 위해 추론 구조 또는 학습 패러미터(가중치)들을 설정

하는데, 간단히 말하면 귀납적으로 배우는 단계로 볼 수 있다. CNN 의 추론과 학습은 표

준적인 오류 역전파 학습 알고리즘이나 그보다 더 단순한 공식들을 통해 수행될 수 있다.

CNN 의 전방향 레이어의 경우, 일반 전방향 다층 퍼셉트론(Feedforward Multilayer

Perceptron: MLP)처럼 추론을 위해서는 하위 레이어의 출력에 대해 가중치를 곱한 것에

대한 바이어스의 합을 시그모이드 함수와 같은 활성 함수(activation function)에 통과시킨

값이 된다. 학습의 경우도 전방향 MLP처럼 실제 값과 예측 값에서 구해지는 에러 값에 대

해 가중치, 바이어스 등을 그레디언트(gradient)를 구해 업데이트하는 방향으로 이루어진다.

CNN 의 컨볼루션 레이어의 경우, 전방향 레이어와 크게 다르지 않으나, 하나의 필터를

하나의 이미지에 적용하는 역할을 하므로 하나의 레이어에 대해 각 노드들에 특정 가중치

는 모두 동일하게 된다. 하나의 이미지가 여러 픽셀들에 대해 동일한 필터를 적용하는 것

이 일반적인 전처리 과정으로 각각의 픽셀에 대해 동일한 가중치 집합이 적용된다고 보면

될 것이다. 또 한 가지 다른 점은 하위 레이어 노드에서 상위 레이어 노드의 연결 형태를

보면, 완전히 연결된 그래프(fully connected graph)의 형태가 아니다. 즉, 필터가 이미지

전체에 적용되는 것이 아니라, 이미지의 일부에 적용되는 형태인 것이다. 따라서, 이미지

의 어느 픽셀이 어느 출력에 영향을 주는지를 알고 있어야 한다.

풀링 레이어는 서브샘플링을 수행하는 방법으로 여러 개의 픽셀들을 하나의 픽셀로 사

상(mapping)시키는 추상화를 수행한다. 이론적으로는 여러 가지 방법의 서브샘플링이 수

행될 수 있으나 최대값을 반환하는 맥스 풀링 기법이 주로 사용된다.

2009 년에는 미시건대학 앤 아버 캠퍼스의 이홍락 교수에 의해 컨볼루션 딥 빌리프 네

트워크(Convolutional Deep Belief Network: CDBN)[25]가 개발되었고, 기존 CNN 과

구조적으로 매우 비슷하여 이미지의 2 차원 구조를 잘 이용할 수 있으며, 동시에 딥 빌리

프 네트워크(Deep Belief Network: DBN)[26]에서의 프리트레이닝(pre-training)에 의한

장점도 취할 수 있다.

Page 6: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

기획시리즈 – 인공지능

17 정보통신기술진흥센터

3. 딥 빌리프 네트워크

딥 빌리프 네트워크(Deep Belief Network: DBN)[26]는 기본적으로 생성 그래피컬

모델(generative graphical model)이다. 생성 모델은 배우고자 하는 것을 생성해 내는 방

식으로 고안된 모델을 의미하는 반면, 판별 모델(discriminative model)은 서로 다른 클래

스들을 서로 구별하려는 방식으로 고안된 모델을 말한다. 예를 들어, 나이브 베이스는 생

성 모델인 반면, 오류 역전파 알고리즘을 사용하는 MLP 은 판별 모델로 볼 수 있다.

DBN 은 생성 모델이므로 프리트레이닝을 통해 초기 가중치를 학습한 후, 오류 역전파

알고리즘이나 다른 판별 모델을 위한 알고리즘을 통해 가중치를 미세 조정할 수 있다. 이

러한 특성은 학습 데이터가 적을 때 유용하며, 이는 학습 데이터가 적을수록 가중치의 초

기값이 결과적인 모델에 끼치는 영향이 커지기 때문이다. 프리트레이닝된 가중치 초기값

은 임의로 설정된 가중치 초기값에 비해 최적의 가중치에 가깝게 되고 이는 미세조정 단

계의 성능과 속도 향상을 가능하게 한다.

다른 관점으로는 DBN 은 잠재변수(latent variable)의 다중 레이어들로 이루어진 네트

워크임을 알 수 있다. DBN 은 비지도 방식으로 레이어마다 학습을 진행하는데 이때 각각

의 레이어는 보통 리스트릭티드 볼쯔만 머신(RBM)[26]이나 오토인코더[27]의 형태를 띄

고 있다. RBM 은 에너지 기반의 생성 모델로 가시 유닛(visible unit)과 은닉 유닛

(invisible unit)으로 이루어진 무방향 이분 그래프(undirected bipartite graph)이다. 이분

그래프이므로 가시 유닛들과 은닉 유닛들 사이에만 연결이 존재한다. 따라서, DBN 의 레

이어 간에는 연결이 있지만 레이어 내의 노드들 간에는 연결이 없다. 기본적으로 볼쯔만

머신의 학습은 엄청난 양의 계산을 요구하지만, RBM 의 경우, 컨트래스티브 디버전스

(Contrastive Divergence: CD)를 통해 비교적 적은 양의 연산으로 학습이 가능해진다.

(그림 2)와 같이, 우선 DBN 은 프리트레이닝 단계에서는 RBM 들을 한 레이어를 학습

한 후 그 가중치를 그대로 고정(freeze)하여 쌓아 올리고(stacking), 그 위의 다음 레이어

의 학습으로 넘어가는 방식으로 훈련시킨다. 다시 말하면, 한 레이어의 RBM 들이 훈련되고

나면 다른 레이어의 RBM들이 그 위에 쌓아 올려짐으로써 다중계층 모형을 형성한다. 이

미 훈련된 RBM 의 최상위 계층이 새로 쌓이는 레이어의 RBM 들의 입력으로 쓰이고, 이

입력을 이용하여 새 RBM 이 훈련하여 원하는 만큼의 계층이 쌓일 때까지 해당 과정이 반

복된다. 물론 이러한 그리디 메커니즘(greedy mechanism)이 사용되는 이유는 로그 우도

Page 7: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

주간기술동향 2016. 4. 20.

www.iitp.kr 18

함수를 직접 구하는 것이 어렵기 때문이며, 대신 로그 우도의 하한(lower bound)을 구하

고, 이를 최대화하는 패러미터를 찾다가 제시된 대안으로 볼 수 있다.

학습된 DBN 을 생성 모델로서 더 세 하게 학습(fine tuning)시키기 위해서는 Wake-

Sleep 알고리즘을 사용한다. DBN 은 기본적으로 생성 모델이므로, 학습된 DBN 으로 데

이터를 판별하고자 한다면, 별도의 방법을 사용해야 한다. 주로, DBN 의 패러미터들을 시

그모이드 활성 함수를 사용하는 전방향 신경망(feedforward neural network)에 대입하여

오류 역전파 알고리즘으로 학습하는 방법이나 또는 RBM 이 associative memory 역할을

하므로 이에 레이블 레이어를 추가하여 class-RBM 을 구성하는 방법이다.

4. 딥 Q-러닝

강화학습에서 기본적으로 문제의 설정이 타 학습들과 다른 점은 다음과 같다. 어떤 환

경을 탐색하는 에이전트가 현재의 상태를 인식하여 어떤 행동을 취하면, 에이전트는 환경

으로부터 포상(양수와 음수 둘 다 가능)을 얻게 된다. 강화 학습의 알고리즘은 그 에이전

트가 앞으로 누적될 포상을 최대화 하는 일련의 행동으로 정의되는 정책을 찾는 방법이다.

이러한 방식의 문제가 어떤 것이 있을지 생각해 보면 바로 연상되는 것이 있을 것이다. 바

둑이나 체스와 같은 게임은 이러한 강화학습에 걸맞은 형태의 문제이다.

강화학습은 여러 분야에서 연구되었으며, 기계학습 분야의 경우, 환경을 주로 유한상태

마르코프 결정 프로세스(Markov Decision Process: MDP)로 표현한다. 이런 관점에서 강

화학습 알고리즘은 동적 계획법과 깊은 연관이 있다. MDP 에서 상태 전이 확률(state

<자료> http://www.iro.umontreal.ca/~lisa/twiki/bin/view.cgi/Public/DeepBeliefNetworks

(그림 2) 딥 빌리프 네트워크(Deep Belief Network: DBN)

RBM

RBM

RBM

Page 8: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

기획시리즈 – 인공지능

19 정보통신기술진흥센터

transition probabilities)과 포상은 확률에 따른 값일 수도 있고, 이미 결정되어 있는 값일

수도 있다.

이 중에서도 Q 러닝은 환경에 대한 모델을 필요로 하지 않는 model-free 강화학습

기법이다. 기본적으로 효용 기반 에이전트는 상태들에 대한 효용 함수를 학습하고 그것을

이용하여 결과 효용의 기대값을 최대화하는 동작을 선택한다. Q 러닝에서는 Q 함수(Q-

function)라는 동작-효용값 함수(action-utility value function)를 학습하고, 이 함수는 특

정 상태에서 특정 동작을 수행하였을 때 효용의 기대값을 반환한다. Q 러닝에서는 환경에

대한 모델이 필요하지 않은 대신에 자신의 동작이 어떠한 결과를 일으킬지 알지 못하기

때문에 미래에 대한 예측력이 약한 단점이 있다.

알파고에서 사용된 딥 Q 러닝 네트워크[28]를 보면 우선 검색 공간을 효과적으로 줄

이는 두 가지 방안을 제시하고 있다. 첫 번째는 위치의 평가(position evaluation)를 통해

탐색 깊이를 줄이는 것이다. 상태 s 의 서브트리를 s 로부터의 출력을 예측하는 근사치 함

수 v(s)를 기반으로 필요한 경우에는 s 이하를 잘라버리는 것이다. 기본적으로 몬테카를로

트리 탐색 기법을 통해 탐색 트리의 현재 위치에 대한 기대값 v(s)를 추정하는 방법은 체

스나 체커, 오셀로 등에서는 잘 통했지만, 바둑에서는 여전히 방대한 탐색 공간 문제를 해

결하지 못했다. 두 번째 방법은 주어진 위치 s 에서 a 라는 이동할 때의 확률 분포 p(a|s)

를 정책으로 하여 동작을 샘플링함으로써 탐색의 너비를 줄이는 것이다.

(a) SL 정책 네트워크와 RL 정책 네트워크 (b) 가치 네트워크과 정책 네트워크

<자료> David Silver et al., Mastering the game of Go with deep neural networks and tree search, Nature 529, 484–489,

January 2016.

(그림 3) 네트워크 학습 절차 및 구조

Page 9: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

주간기술동향 2016. 4. 20.

www.iitp.kr 20

알파고에서는 위치 s 에 대한 것은 컨볼루션 신경망에서 힌트를 얻어 비슷하게 구현하

였다. 보드의 위치를 19×19 의 크기를 가지는 이미지로 표현하였다. 이를 통해 v(s)에 대

한 가치 네트워크과 p(a|s)에 대한 정책 네트워크에 대한 효과적인 깊이 및 너비 탐색을

수행한다.

인간 전문가의 이동을 학습 데이터로 하는 지도학습을 통해 SL 정책 네트워크를 학습

하고, 강화학습을 통해 RL 정책 네트워크 학습은 자신과의 플레이를 통한 결과를 최적화

하는 방법으로 SL 정책 네트워크의 성능을 더욱 높인다. 그리고 나서 RL 정책 네트워크

를 기반으로 게임의 승자를 예측하는 가치 네트워크를 학습한다.

5. 딥 러닝 기반 공개 소프트웨어

파이선(Python) 언어의 경우, 몬트리올대학의 Yoshua Bengio 가 이끄는 그룹인 MILA

lab 에서 개발한 Theano 라이브러리(http://deeplearning.net/software/theano/)를 들 수

있다. Theano 기반으로 확장된 라이브러리들은 Keras, Pylearn2, Lasagne, Blocks 등이

있다. 또한, Google Brain Team 에서 공개한 TensorFlow(https://www.tensorflow.org/)

가 있다.

Matlab 사용자의 경우, 컴퓨터 비전 분야에서 유명한 매트랩 라이브러리 vlfeat 개발자인

Oxford의 Andrea Vedaldi 교수팀이 관리하는 라이브러리 MatConvNet(http://www.vlfeat.

org/matconvnet/)가 있다. R 언어의 경우, 우선 darch 패키지(https://cran.rstudio.com/

web/packages/darch/index.html)를 들 수 있으며, 이는 Deep Architectures and Restricted

Boltzmann Machines 을 의미한다. 또한, H2O 패키지와 deep learning toolkit in R 을 의

미하는 deepnet 패키지(https://cran.r-project.org/web/packages/deepnet/index.html)

가 있다.

C++의 경우, 캘리포니아대학 버클리 캠퍼스에서 개발한 Caffe(http://caffe. Berkeley

vision.org/)가 있다. 현재 국내에서 가장 많이 사용하고 있는 라이브러리 C++로 구현되

어 임베디드 환경과 같은 척박한 환경으로의 이식도 비교적 용이하다는 장점이 있다. 또

한, C++로 직접 사용할 수도 있지만 Python 과 Matlab 인터페이스도 잘 구현되어 있다.

Java 의 경우, JVM 을 위한 과학 연산 라이브러리인 N-Dimensional Arrays for Java

(ND4J: http://nd4j.org/)가 있다. 또한, Java 와 Scala 로 작성된 첫 상용 수준의 오픈소스

Page 10: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

기획시리즈 – 인공지능

21 정보통신기술진흥센터

분산처리 딥러닝 라이브러리인 Deeplearning4j(http://deeplearning4j.org/)가 있다.

6. 결론

앞에서 알파고를 언급했지만 딥 러닝 기술은 개인 비서 시스템에도 적용되고 있다. 예

를 들어, Siri 를 가지고 있는 애플은 최근 영국의 음성인식 및 딥 러닝 회사인 VocalIQ 를

인수하였다. VocalIQ 는 과거 Siri 의 기술을 혹평하고 자신들의 기술이 더 우월하다고 주

장한 바 있다. 애플은 기계학습 분야에 지속적인 투자를 하고 있으며, 최근에는 이미지를

인식하고 분류하는 기술을 가진 딥 러닝 회사인 Perceptio 를 인수하였다. 이미지를 인식

하고 분류하거나, Siri 가 주어진 이미지를 이해하고 대응하는 기술이 아이폰에 들어갈 날

이 머지 않은 것이다. 마이크로소프트의 Cortana 도 딥 러닝 프레임워크를 내세우고 있는

마이크로소프트의 프로젝트 Adam 의 기술을 적용하고 있다. 실제로 마이크로소프트 딥 러

닝 기술 센터(Deep Learning Technology Center)는 CNTK (Computational Network

Toolkit)이라는 딥 러닝 라이브러리를 개발하며 깊은 관심을 보이고 있다.

요즘 일부 학자들은 딥 러닝이란 결국 신경망에 대한 버즈워드(buzzword)에 불과하다

는 입장이다. 최근의 딥 러닝 기술들을 보면, 과거 신경망에 대한 연구에서 지적된 근본적

인 문제 중 하나가 여전히 남아 있음을 알 수 있다. 그것은 바로 신경망이 블랙박스와 같

이 취급되는 문제로, 심지어 신경망이 제대로 수행이 되어도 그 신경망 안에 든 학습된 지

식 자체를 우리가 이해하고 재사용할 수 없다는 문제가 있는 것이다. 왜 딥 러닝이 좋은

성능을 내는가, 신경망의 학습된 바가 어떻게 이해되고 표현되고 활용될 것인가에 대한

문제는 여전히 남아 있는 것이다.

딥 러닝이 유행하기 전의 대부분의 기계학습은 얕은 학습(shallow learning)에 국한되

어 있었다. 2014 년 이전까지도 국내에서 전공이 기계학습이라고 하면 사람들이 생소하게

여기는 경우가 많았다. 인공지능이라고 고쳐서 말하면 알아듣긴 하지만, 그다지 열광하지

않았고 심지어는 부정적인 반응까지 보이기도 했다. 2014 년부터 주변의 학자들이 딥 러

닝과 기계학습을 언급하기 시작했고, 최근 알파고와 이세돌의 대국은 사람들에게 상당한

충격이 되었다. 이제 인공지능은 다시 전성기를 맞이할 것처럼 보인다.

그러나, 최근의 경향이 고무적이긴 하나 다소 우려된다. 요즘 많은 연구자들이 갑자기

최신 기술이라고 기계학습과 딥 러닝을 언급하지만, 제프리 힌튼의 딥 러닝에 대한 연구

Page 11: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

주간기술동향 2016. 4. 20.

www.iitp.kr 22

성과는 하루 아침에 이루어진 것은 아니다. 과거 1989 년에(역시 딥 러너로 볼 수 있는)

Time-Delay Neural Networks(TDNN)[29]을 제안했던 제프리 힌튼은 그 동안 딥 러닝

에 대해 우직하게 꾸준히 연구해 왔다. 기계학습 자체도 일부의 착각처럼 최근의 새롭게

뜨는 그런 기술이 아니다. 기계학습 쪽으로 가장 권위 있는 학술대회인 국제 기계학습 학

술대회(The International Conference on Machine Learning: ICML)는 2016 년으로 33

회를 맞이하는 꽤 오래되고 권위 있는 학술대회이다.

과거 인공지능에 대한 사람들의 지나친 기대와 이에 편승하여 분수에 맞지 않는 펀딩

을 하고 이를 결국 소진해 버린 일부 학자나 일부 연구자들, 그들의 제대로 지키지 못했던

약속들, 그리고 이에 대한 사람들의 섣부른 실망 등이 겹쳐서, 인공지능 기술이 도에 넘는

지나친 비판을 받아야 했던 역사를 우리는 잘 알고 있다. 인공지능이란 어려운 문제이다.

이 점을 겸허히 받아들이고 거창한 결과보다는 조그만 기술적 진보라도 이루기 위해 노력

해야 할 것이다. 제프리 힌튼이나 얀 러쿤과 같이 우직하게 연구하던 분들 덕분에 새로운

기회가 온 건지도 모른다. 국내에는 개인의 명예나 부귀보다는 지적 탐구, 인류 진보, 하

다못해 국가 경제 기여 차원에서 이러한 기회에 어떻게 부응할지 고민하고 계시는 분들이

더 많으리라 믿는다.

그렇지는 않겠지만 만일 정부나 기업이 관성적으로 고질적인 하청 단가 인하나 지적

재산에 대한 존중 없이 단기적인 결과에만 급급한다면, 이번 국내의 인공지능의 붐에서

과연 새로운 혁신이 나타날지에 대해 사실 비관적인 견해도 상당히 존재한다. 반복하지만

인공지능은 어려운 주제이다. 심지어 세계적인 유수의 기업들에서도 많은 실패가 나타난

바 있다. 구글에서는 고릴라와 흑인 여성을 구별하지 못하는 문제가 있었고, 최근 마이크

로소프트의 채팅봇 테이는 욕설과 인종차별주의적 발언으로 서비스가 중단되었다. 그럼에

도 불구하고 세계적인 기업들 중에는 인공지능의 궁극적 목표에 대한 철학과 믿음, 그리

고 옥석을 가리는 비전이 있는 의사 결정권자들을 가진 기업들이 있어 왔다. 이런 기업들

은 장기적으로 혁신을 향해 나아갈 것으로 보이지만, 그 동안 일부 국내의 연구자나 일부

기업들이 기술에 대한 유행에 대응하는 모습을 볼 때 앞으로 몇 년 내에 눈에 띄는 성과

가 없이 실패가 반복된다면 과거처럼 인공지능에 대한 섣부른 불신이 다시 만연해질 수도

있다는 전망도 가능할 것이다.

Page 12: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

기획시리즈 – 인공지능

23 정보통신기술진흥센터

<참 고 문 헌>

[1] SA Cook, The Complexity of Theorem Proving Procedures. Proceedings Third Annual ACM

Symposium on Thoery of Computing, May 1971, pp.151-158.

[2] Richard M. Karp, Reducibility among combinatorial problems. Complexity of computer

computations, Proceedings of a Symposium on the Complexity of Computer Computations, held

March 20-22, 1972, at the IBM Thomas J. Watson Center, Yorktown Heights, New York, edited

by Raymond E. Miller and James W. Thatcher, Plenum Press, New York and London 1972,

pp.85–103.

[3] Stephen Grossberg, How does a brain build a cognitive code? Psychological Review, Vol 87(1),

Jan 1980, pp.1-51.

[4] J.J. Hopfield, Neural Network and Physical Systems with Emergent Collective Computational

Abilities. Proc. Natl. Acad. Sci. 79, 2554-2558

[5] Teuvo Kohonen, Self-Organized Formation of Topologically Correct Feature Maps. Biological

Cybernetics 43 (1): 59–69, 1982.

[6] A. G. Barto, R. S. Sutton and C. W. Anderson, Neuronlike adaptive elements that can solve

difficult learning control problems, in IEEE Transactions on Systems, Man, and Cybernetics, Vol.

SMC-13, No. 5, Sept.-Oct. 1983, pp.834-846.

[7] S. Linnainmaa, The representation of the cumulative rounding error of an algorithm as a Taylor

expansion of the local rounding errors. Master’s thesis, 1970, Univ. Helsinki.

[8] P. J. Werbos, Applications of advances in nonlinear sensitivity analysis. In Proceedings of the

10th IFIP Conference, Aug 31-Sep. 4, 1981, NYC, pp.762–770.

[9] J. L. McClelland, D. E. Rumelhart, & the PDP research group. Parallel distributed processing:

Explorations in the microstructure of cognition. Volume II, 1986, Cambridge, MA: MIT Press.

[10] DB Parker. Optimal algorithms for adaptive networks: second order back propagation. In:

Second order direct propagation, and second order hebbian learning: proceedings of the IEEE

first international conference on neural networks. 1987. San Diego, CA. 593-600

[11] Y. LeCun. A theoretical framework for Back-Propagation, in Touretzky, D. and Hinton, G. and

Sejnowski, T. (Eds), Proceedings of the 1988 Connectionist Models Summer School, 21-28,

Morgan Kaufmann, CMU, Pittsburgh, PA, 1988.

[12] S. Hochreiter et al., Gradient flow in recurrent nets: the difficulty of learning long-term

dependencies, In S. C. Kremer and J. F. Kolen, editors, A Field Guide to Dynamical Recurrent

Neural Networks. IEEE Press, 2001.

[13] D. H. Hubel and T. N. Wiesel, Receptive fields, binocular interaction and functional architecture

in the cat's visual cortex, J Physiol. 1962 Jan; 160(1): 106–154.2.

[14] D. H. Hubel, T. N. Wiesel, Receptive fields of single neurones in the cat's striate cortex. The

Page 13: 딥 러닝 기반 기계학습 기술 동향 - ITFIND...딥 러닝 기반 기계학습 기술 동향 1. 딥 러닝 기계학습의 역사적 배경 1960년대 후반부터 1970년대

주간기술동향 2016. 4. 20.

www.iitp.kr 24

Journal of Physiology 148 (3): 1959, 574–591.

[15] A.G. Ivakhnenko, and V.G. Lapa, Cybernetic Predicting Devices. CCM Information Corporation, 1965.

[16] A. G. Ivakhnenko, V. G. Lapa, and R. N. McDonough, Cybernetics and forecasting techniques.

American Elsevier, NY, 1967.

[17] A. G. Ivakhnenko, The group method of data handling – a rival of the method of stochastic

approximation. Soviet Automatic Control, 13(3):43–55, 1968.

[18] A. G. Ivakhnenko, Polynomial theory of complex systems. IEEE Transactions on Systems, Man

and Cybernetics, (4):364–378, 1971.

[19] K. Fukushima, Neural network model for a mechanism of pattern recognition unaffected by shift

in position - Neocognitron. Trans. IECE, J62-A(10):658–665, 1979.

[20] LeCun et al., Backpropagation Applied to Handwritten Zip Code Recognition, Neural

Computation, 1989, 1, pp.541–551.

[21] Vladimir N. Vapnik and Alexey Ya. Chervonenkis. On a class of perceptrons. Automation and

Remote Control, 25(1):103–109, 1964.

[22] G. E. Hinton., Learning multiple layers of representation, Trends in Cognitive Sciences, 11, 2007,

pp.428–434.

[23] George E. Dahl, Tara N. Sainath, and Geoffrey E. Hinton, Improving Deep Neural Networks for

LVCSR Using Rectified Linear Units and Dropout, ICASSP 2013.

[24] Yann LeCun, Yoshua Bengio, Geoffrey Hinton, Deep learning. Nature 521 (7553): 436–444,

2015.

[25] Honglak Lee, Roger Grosse, Rajesh Ranganath, and Andrew Y. Ng. Convolutional deep belief

networks for scalable unsupervised learning of hierarchical representations. In Proceedings of

the 26th International Conference on Machine Learning (ICML), 2009.

[26] G. Hinton, Deep belief networks. Scholarpedia 4 (5): 5947, 2009.

[27] G. E. Hinton, S. Osindero, Y. W. Teh, A Fast Learning Algorithm for Deep Belief Nets. Neural

Computation 18 (7): 1527–1554, 2006.

[28] David Silver et al., Mastering the game of Go with deep neural networks and tree search, Nature

529, 484–489, January 2016.

[29] A. Waibel, T. Hanazawa, G. Hinton, K. Shikano, and K. Lang, Phoneme recognition using time-

delay neural networks, IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol.37,

No.3, Mar. 1989, pp.328–339.