104
인공지능 개론 (인공지능, 머신러닝 그리고 딥러닝) 2017. 4. 강병호수석

인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

Embed Size (px)

Citation preview

Page 1: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

인공지능 개론

(인공지능, 머신러닝 그리고 딥러닝)

2017. 4.

강병호수석

Page 2: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

I. 인공지능 개요

II. 인공지능의 역사

III. 머신러닝 개요

IV. 통계학과 기초수학

V. 머신러닝 알고리즘

VI. 강화학습

VII. 딥러닝 개요 및 사례

VIII.딥러닝 원리

IX. 딥러닝 학습 및 알고리즘

X. 딥러닝 오픈 프레임워크

Contents

Page 3: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

작성자 소개

학력

• 1993년 숭실대학교 인공지능학과 입학

• 2000년 숭실대학교 컴퓨터학부 졸업 (학사)

근무 경력

• 2000년 SKC&C(현, SK주식회사) 입사

• 국내 프로젝트 수행

• 2000년 ~ 2003년 SK Telecom 웹 프로젝트

• 2010년 ~ 2014년 SK Telecom 웹/모바일 프로젝트

• 미국 프로젝트 수행

• 2005년 ~ 2009년 Virgin Mobile USA 프로젝트

• 2009년 ~ 2010년 미국 Mobile Banking 프로젝트

• 중국 프로젝트 수행

• 2015년 ~ 2016년 SKC&C 중국법인 역량개발 총괄

• 베트남 프로젝트 수행

• 2003년 ~ 2004년 베트남 S Telecom 영업시스템 운영

기타 경력

• 회사 사내 강사 (2012년~)

• Spring Framework, Java Web Programming 등 다수

• 국가 자격증 문제 출제 위원 (Pilot, 2014년)

• 한국소프트웨어기술협회(KOSTA) SW개발자 L4 자격

강병호 수석

[email protected]

Page 4: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 인공지능이란?

2. 인간과의 게임

3. DARPA 경연대회

4. Hype Cycle 2016

I. 인공지능 개요

Page 5: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 인공지능이란?

인공지능(AI, Artificial Intelligence)은 사람과 유사한 지능을 가진 기계, 또는 컴퓨터 프로그램을 만드는 학문분야이다.

I. 인공지능 개요

인간의

학습능력, 추론능력, 지각능력, 자연어 이해능력

등을 컴퓨터 프로그램으로 실현한 기술.

Page 6: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 인공지능이란? (2)

Deep Learning은 Machine Learning의 일종이고, Machine Learning은 인공지능의 일종이다.

I. 인공지능 개요

Page 7: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. 인간과의 게임 (1)

1997년 IBM Deep Blue는 세계 체스 챔피언을 이기고, 2011년에는 Watson이 Jeopardy 퀴즈 쇼에서 우승한다.

【 Deep Blue 】 【 Watson 】

I. 인공지능 개요

1996년 세계 체스 챔피언 Garry Kasparov (가리 카스

파로프)에게 도전 : 1승 2무 3패로 패배

1997년 재도전 : 2승 3무 1패로 승리

챔프언급 체스 선수들은 약 10수 정도를 예측하는 데

딥 블루는 12수를 예측할 수 있었음.

Deep Blue에 대한 비판

IBM의 마케팅 전략

개발자들이 게임 도중 상대에 맞게 코드를 수정할

수 있었다.

2011년 일반 상식 퀴즈 프로그램 Jeopardy 쇼에서 역대

최다 우승자(74회 연속)와 최고 상금 수상자 상대로 우

4TB의 데이터를 오프라인으로 보유 (2억 페이지 정보)

다양한 비구조적인 많은 데이터를 종합적으로 처리.

수 많은 가설을 세우고 검증하는 일을 3초에 처리

Page 8: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. 인간과의 게임 (2)

2014년 구글은 DeepMind를 인수하고, 2016년 AlphaGo는 이세돌 9단을 4:1로 물리친다.

【 DeepMind 】 【 AlphaGo 】

2011년 설립된 스타트업으로 구글 인수 전 12명의

Deep Learning 전문가로 구성. 사업 모델은 없었음.

2014년 4억 달러 (약 4,000억원)에 구글에 인수

인수조건으로 구글에 인공지능윤리위원회 설치 요구

강화학습(Reinforcement Learning) 분야 최고의 회사

알파고 알고리즘 버전 13 : 2015년 10월 유럽 바둑 챔

피언 Fan Hui 2단을 5:0으로 승리

알파고 알고리즘 버전 18 : 5개월 만인 2016년 3월 이

세돌 9단을 4:1로 승리

5개월 간 100만 번 이상의 대국. 인간 기준으로 매일 한

번씩 대국을 한다면 2,700년을 훈련한 것과 같다.

두 대국의 컴퓨터 규모는 CPU 1,202개, GPU 176개로

동일

DQN(Deep Q-Network) 알고리즘

점수를 얻는 방법과 조이스틱을 조작하

는 요령만 교육 받음.

https://youtu.be/Q70ulPJW3Gk

I. 인공지능 개요

Page 9: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. 인간과의 게임 (3)

2016년 11월 ETRI (한국전자통신연구원) 에서 개발한 Exobrain은 EBS장학퀴즈에서 우승

【 Exobrain 】

엑소브레인은 한국전자통신연구원에서 개발한 인공지

능으로 토종 AI 임.

지식 베이스를 중심으로 퀴즈를 풀어갈 때 정답의 일

치 확률이 80%를 넘어가면 그 데이터를 답으로 제출

엑소브레인은 미래창조과학부에서 2013년부터 추진

중인 SW분야 과제로 20개 기관이 연구개발에 참여.

http://exobrain.kr/

엑소브레인 핵심기술

: 자연어 이해, 지식축적 및 탐색, 자연어 질의응답

I. 인공지능 개요

Page 10: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. DARPA(미 국방성 방위고등연구계획국) 경연대회 (1)

DARPA는 세계 최초로 자율 주행차 경주대회 (DARPA Grand Challenge, DARPA Urban Challenge)를 열었다.

I. 인공지능 개요

【 DARPA Urban Challenge 】 【 자율주행차 운행의 합법화 】

2007년 캘리포니아 옛 공군 기지에서 진행된 무인 자

동자 경주 대회에 출전한 자동차

많은 종류의 센서와 위치 정보 시스템을 이용하여 운

2012년에 네바다, 플로리다, 캘리포니아에서 자율 주행

차 운행이 합법화

2014년 미시건, 워싱턴 D.C.가 추가로 합법화

2015년 미 운송업체 ‘프레이트라이너’가 상업용 대형

트럭 자율주행을 최초로 네바다에서 허가 받음.

Page 11: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. DARPA(미 국방성 방위고등연구계획국) 경연대회 (2)

DARPA는 DARPA Urban Challenge 후속 프로그램의 반 자동 로봇 경연대회 (DARPA Robotics Challenge, DRC)를 개최

I. 인공지능 개요

【 DARPA Robotics Challenge 】 【 DRC Finals 2015 】

Mission : 위험하고 활동이 제한된 상황에서 도구들을

활용하며 복잡한 임무를 수행하는 반 자동 로봇 개발

* 반 자동 로봇 : 일정한 규칙에 따라 원격으로 로봇 조작

한 시간 내에 8개 임무 수행 (2015년)

로봇이 차를 주행하여 현장에 도착

차에서 내려 장애물 피해거나 치우고 지나가기

문 열고 실내로 들어가고 계단 오르기

도구를 사용하여 벽 뚫기

새고 있는 수도관 옆의 벨브 찾아 잠그기

소방호수를 수도관에 연결하고 벨브 열기

1위 : 대한민국 KAIST DRC-Hubo

2위 : 플로리다 인간&기계 연구소 Running Man

3위 : 카네기 멜론대 CHIMP

참여 로봇의 안타까운 모습들

https://youtu.be/7A_QPGcjrh0

Page 12: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. Hype Cycle 2016

가트너의 관심주기(Hype Cycle)는 기술의 관심, 유용성, 성숙도를 비교하여 기술 Trend를 살펴 볼 수 있다.

I. 인공지능 개요

Hype Cycle for Emerging Technology 2016

Page 13: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 인공지능 연대표

2. Turing Test

3. 인공지능의 등장

4. 1st AI Winter

5. 인공지능의 재도약

6. 2nd AI Winter

7. 현재의 인공지능

8. 인공지능의 미래

II. 인공지능의 역사

Page 14: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 인공지능 연대표

Alan Turing (1912~1954)

1950 1960 1970 1980 1990 2000 2010

Turing Test (‘1950) :

기계(컴퓨터)가 인공지능을

갖추었는지를 판별하는 실험

(‘1956)

인공지능 용어 등장

1st AI Winter

60년대 말 ~ 70년대

AI Boom (80년대 중반)

전문가시스템

전문가와 동일한 또는 그 이상의

문제 해결 능력을 가질 수 있도록

만들어진 시스템

2nd AI Winter

80년대 후반 ~ 90년대 초

AI Resurgence (부할)

Deep Learning

2020 2040 2060

Artificial Super Intelligence

초 인공지능

모든 영역에서 가장

유능한 사람보다

뛰어난 능력을 보유

Artificial General Intelligence

강한 인공지능

인간의 수준의 지능을

보유하여 전반적인

문제 해결 가능

Artificial Narrow Intelligence

약한 인공지능

정해진 목적에 특화된

작업 수행

자율 주행차, 번역기

II. 인공지능의 역사

Page 15: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. Turing Test (1) II. 인공지능의 역사

사람의 대화상대가 컴퓨터인지 사람인지 구분할 수 없다면 그 컴퓨터가 지능을 가지고 있다고 봐야 한다.

1950년 Alan Turing이 Computing Machinery and Intelligence

논문에 발표

후대 과학자가 인공지능의 대해 논의하고 연구하는 바탕이 됨

레딩대에서 Turing Test 방식 개발 (2014년)

심판은 5분 동안 각각 5회 대화 후 어느 쪽이 사람인지 판별

심판진의 1/3을 속이면 통과

Alan Turing

영국의 수학자

제2차 세계대전 당시 독일군의 암호 체계(에니그마)를 깨뜨려

연합군의 승리에 결정적으로 기여

1950년 흉내내기 게임 (Imitation Game, Turing Test)을 제안

1954년 자살

Page 16: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. Turing Test (2) II. 인공지능의 역사

2014년 6월 Eugene Goostman이 최초로 Turing Test를 통과한다.

미리 정의된 주제 없음.

심판 33%가 인간으로

판단

유진은 우크라이나의

13살 소년인 척 소개

그럴싸한 대답을 하고

불리한 질문은 피함

“Eugene의 Turing Test 통과는 꼼수임”

Page 17: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. Turing Test (3) II. 인공지능의 역사

CAPTCHA는 인터넷에서 특정 웹 페이지에 접속하고 있는 행위자가 사람인지 컴퓨터 인지 구별하기 위해 고안

CAPTCHA

• Completely Automated Public Turing test to tell Computers

and Humans Apart

• 인터넷에서 특정 웹 페이지에 접속하고 있는 행위자가 사람인지

컴퓨터인지 구별

• 여기에서 컴퓨터 프로그램은 웹 페이지를 자동 방문하는 검색 엔

진, 제 3자 서비스를 제공하기 위한 프로그램, 악의적인 해킹 툴

등이 될 수 있다.

• CAPTCHA는 기기가 사람을 대상으로 하는 테스트이므로

Reverse Turing Test라고 부르기도 한다.

[ 보안문자를 입력하도록 하여 자동 프로그램을

통한 업무처리를 막을 수 있다. ]

CAPTCHA 를 넘은 인공지능

비카리우스(Vicarious)라는 회사는 2013년에 CHAPCHA 이미지

를 인식하는 데 성공

Google, Yahoo, PayPal, Captcha.com 등의 CAPTCHA 이미지를

90% 성공률로 인식

Page 18: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. 인공지능의 등장 II. 인공지능의 역사

인공지능과 머신러닝의 등장과 최초의 인공신경망 Perceptron.

John McCarthy (‘1927 ~ ‘2011)

1956년 John McCarthy가 Dartmouth 대학 Conference에서 최초로 인공지능 용어를 사용

1958년 LISP 프로그래밍 언어 개발 (인공지능용 프로그래밍 언어)

인공지능 연구에 지대한 영향을 미침

Arthur Samuel (‘1901 ~ ‘1990)

1959년 논문에서 Machine Learning 용어를 처음 사용

“명시적으로 프로그램을 작성하지 않고 컴퓨터에 학습할 수 있는

능력을 부여하기 위한 연구 분야”

2000년대 Deep Learning으로 기계학습의 비약적인 발전

Frank Rosenblatt (‘1928 ~ ‘1971)

1958년 인공신경망(ANN: Artificial Neural Network)을 실제로 구현한 Perceptron 이론을 발표

맥컬록과 피츠의 인공신경망 이론에 헵(Hebb)의 생물학적 신경망의 학습효과를 인공신경망에

적용

400여 개 빛 감지 센서와 512개의 증폭기, 40개 제어 부품으로 8개의 뉴런(Neuron, 신경세포)을

시뮬레이션 함.

Page 19: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 1st AI Winter II. 인공지능의 역사

60년대 말, 70년대 초에 인공지능 분야에서 발생한 일련의 비관적인 사건들이 일시적인 인공지능 침체기를 불러오다.

Perceptron 이론의 한계 발견

Perceptron은 학습이 진행될수록 선형 분리(linear boundary)를 업데이트하면서 학습

하지만, 간단한 XOR문제에는 적용할 수 없는 한계가 발견 인공지능의 외면

프로젝트 실패와 연구비 중단

【 미국 】

57년 소련에서 최초로 인공위성은

스푸트닉 발사 후 러시아어 자동

기계 번역 프로젝트 진행하였으나

66년 연구 중단 (약 2천만 달러 사

용)

69년 이후 국방 연구 예산을 실무

적인 분야에 투자함으로 인공지능

연구자금 확보 어려움

【 영국 】

71년 James Lighthill 경의 영국 인

공지능 현황 분석 보고서

인공지능 기술이 현실적인 대규모

문제를 풀기에는 역부족이다.

연구비 중단

“AI work within the UK was unproductive”

Page 20: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

5. 인공지능의 재도약 II. 인공지능의 역사

1980년대 산업계의 전문가시스템의 도입과 정부 주도의 대규모 프로젝트로 새로운 전환기를 맞는다.

【 산업계 주도 】

전문가 시스템의 일련의 성공 산업계로 확산

【 정부 주도 】

추론 엔진은 베이즈

(Bayes) 기반 확률적

방법이나 퍼지 이론

(Fuzzy theory)을 활용

기업 내 데이터를 활용하는 Business Intelligence 활용

확대 Data Warehouse 및 Data Mining 기술 발달

[일본] 5세대 컴퓨터

(5th Generation of Computer)

개발 상업화에 실패 중단

도쿄 국립과학관에 보관되어 있는 PIM/m (Parallel Inference Machine)

[미국] 미 국방성 전략 컴퓨팅 계획

더욱 진화된 컴퓨터와 인공지능에 중점

새로운 칩 설계 및 생산, 컴퓨터 시스템 개발

인공지능 기술 개발

인공지능 가시적 성과 없음. 슈퍼 컴퓨팅 분야로 연

구 방향 전환

【 연결주의 (Connectionism 】 【 기호주의 (Symbolism】

지능은 복잡하게 연결된 신경망에 의

해 이루어진다.

다층 퍼셉트론으로 선형 분리만 가능

한 단층 퍼셉트론 문제 해결

1970년대 중반부터 80년대 후반까지 인공지능의 핵심

접근법

기호를 통해 개념을 정의하고, 이 기호들을 가지고 일정

한 논리적 규칙에 따라 추론 전문가시스템으로 발전

인공지능의 발전 방향

Page 21: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

6. 2nd AI Winter II. 인공지능의 역사

실용성을 중시하는 정책이 주류를 이루면서 연구자금이 고갈되고, 전문가 시스템도 문제가 드러나면서 또 한번의 침체를 맞이함.

전문가 시스템의 실패

전문가 시스템의 성능 대비 높은 가격의 문제

높은 유지보수 비용

업데이트가 매우 어려움.

Desktop PC의 보급은 Lisp machine보다 더 강력

해 짐

정부 과학 정책의 변화

일본의 5세대 컴퓨터 프로젝트 실패

실용 중심의 정부 정책으로 정부 주도의 전략 과

제 부제

Page 22: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

7. 현재의 인공지능 II. 인공지능의 역사

인공신경망 기반의 Deep Learning, 폭발적 Data의 증가, Robotics 기술의 발전으로 인공지능은 괄목할만한 성장 중.

【 Deep Learning 】

다층 구조의 인공신경망의 문제

지나치게 긴 학습 시간

훈련데이터의 편중되어 일반성을 잃는 과적합

(Overfitting)

2000년대 중반부터 하나씩 해결

【 Big Data 】

【 Robotics 】

로봇산업의 발전

• 산업 로봇 : 공장자동화

• 전문 로봇 : 재난용, 물류운송, 군사용

• 개인 로봇 : 장애인/노인 도우미, 개인비서 로봇

AI Industries

개인비서

자율주행차 택배드론

번역

추천 인공지능 변호사

돌보미 로봇

챗봇

Page 23: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

8. 인공지능의 미래 (1) II. 인공지능의 역사

인공지능의 수혜자는 인간이 될 것인가?

Ray Kurzweil (‘1948 ~)

구글의 미래학자

80년대 부터 IT 발전 방향에 대한 예상을 적중

저서 “특이점이 온다 (Singularity is Near)”에서

2045년경 인공지능 기술이 완만하게 발전하다

가 급속하게 팽창하는 시점이 올 것으로 예측

인공지능과 인간의 두뇌가 자연스럽게 하나가

될 것이다.

강한 인공지능에 대한 경고

컴퓨터 스스로가 알고리즘을 개선할 수 있다면 인간이 제어할

수 있는 수준을 벗어 날 수 있다.

Elon Musk, Stephen Hawking, Bill Gates

Elon Musk는 안전한 인공지능 개발을 위해 1000만 달러 기부

최윤식 (‘1971 ~)

아시아를 대표하는 미래학자

저서 “미래학자의 인공지능 시나리오”에서 아주 약한 인공지능, 약한 인공지능, 강한 인공지능,

아주 강한 인공지능 4단계로 분류

인공지능이 선도하는 새로운 산업혁명이 시작되었다.

Page 24: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

8. 인공지능의 미래 (2) II. 인공지능의 역사

인공지능 시대 사라질 직업과 탄생할 직업

(영국 내)

미래 아이들의 65%는 현재는 존재하지 않는 새로운 형태의 직업을

가질 것.

710만개의 일자리가 없어지고 200만개의 새로운 일자리 생길 것.

여성 일자리 수는 더 급격하게 줄어들 것.

Will a robot take your job?

: http://www.bbc.com/news/technology-34066941

Page 25: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

8. 인공지능의 미래 (3) II. 인공지능의 역사

인공지능이 인간 통제를 못하게 하도록 윤리지침이 필요

스티븐 호킹 박사

AI와 로봇이 급성장하며 사람의 힘으로 통제 불가능한 시

점이 빠르게 다가오고 있다.

세계 정부기관을 신설해 AI의 용도와 규제에 대한 법규를

만들어야 한다.

완전한 인공지능의 개발은 인류 멸망을 초래할 수 있다.

【 Asilomar AI Principles 】

17년 초 미국 캘리포니아 아실로마에

서 수백 명의 AI 전문가가 모여 회의를

열고 23개 조항의 아실로마 AI 원칙을

발표 ( https://futureoflife.org/ai-

principles/ )

살상 가능한 자율적 무기를 개발하기

위한 경쟁은 지양해야 한다.

AI연구의 목적인 목적이 없는 지능을

개발하는 것이 아니라 인간에게 유용

하고 이롭고 혜택을 주는 지능을 개발

하는 것이다.

AI는 인간의 존엄성, 권리, 자유 및 문

화 다양성의 이상과 양립되어야 한다.

【 일본 인공지능학회 】

17년 일본 인공지능학회 이사회에서 AI

윤리지침을 승인

인간 연구자가 갖춰야 할 윤리성을 AI도

똑같이 준수해야 한다.

【 유럽 결의안 】

17년 유럽의회는 AI 로봇의 법적 지위를

‘전자 인간’으로 규정하는 결의안을 통과

로봇은 인간에 도움이 주는 존재로 머물

러야 한다.

로봇이 인간에 반항하는 비상상황에 대비

해 언제든 로봇의 움직임을 멈출 수 있는

킬 스위치를 달아야 한다.

Page 26: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 머신러닝의 정의

2. 머신러닝의 분류

3. 지도학습

4. 비지도학습

5. 강화학습

6. 과적합

III. 머신러닝 개요

Page 27: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 머신러닝의 정의 (1) III. 머신러닝 개요

인공지능의 한 분야로 기계 스스로 대량의 데이터로부터 지식이나 패턴을 찾아 학습하고 예측을 수행하는 것.

Arthur Samuel

명시적으로 프로그램을 작성하지 않고 컴퓨터에 학습할 수 있는 능력을 부여하기 위한 연구 분야

Tom Mitchell (카네기멜론대 교수)

만약 컴퓨터 프로그램이 특정한 태스크 T를 수행할 때 성능 P만큼 개선되는 경험 E를 보이면, 그 컴퓨터 프로그램은 태스트 T와

성능 P에 대해 경험 E를 학습했다라고 할 수 있다.

Machine Learning의 예 (y=3x)

학습데이터 (1,3), (3,9), (4,12), (6,18)

컴퓨터에 y=3x의 함수를 프로그래밍하지 않아도 앞의 학습데이터를

학습한 후 (8, ?) (10, ?)의 질문을 던져도 그 대답을 할 수 있게 만드는

것.

머신러닝, 데이터 마이닝과 무엇이 다를까?

분류, 예측, 군집 같은

기술, 모델, 알고리즘을

이용

데이터의 몰랐던

속성 발견에 집중

학습데이터 기반

예측에 집중

Machine Learning Data Mining

Page 28: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 머신러닝의 정의 (2) III. 머신러닝 개요

순서나 이유를 명확하게 설명하지 못하는 일을 처리하기 위한 방법으로 기계 학습을 선택할 수 있다.

【 순차적 처리】 【 기계 학습 】

월별 매출 집계

종업원 개인 정보 관리

상품 재고 관리

Data

Program

처리 결과 Data

학습모델

처리 결과

앞에 있는 과일을 보고 사과라고 인식한다.

오늘은 상대의 기분이 안 좋아 보인다.

한눈에 반해서 사랑에 빠진다.

Training Set (학습 데이터)

Machine Learning이 학습 모델을 만들기 위해 사용하는 데이터

학습 데이터가 나쁘면 실제 현장의 특성을 제대로 반영하지 못하므로, 학습 데이터 확보 시 실제 데이터의 특성이 잘 반영되고 편향

되지 않는 학습 데이터를 확보하는 것이 매우 중요함.

Model (학습 모델)

Machine Learning에서 구하려는 최종 결과물로 가설(Hypothesis)이라고도 부른다.

Inference (추론)

학습된 모델을 실제 현장에서 사용하는 과정

Page 29: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. 머신러닝의 분류 III. 머신러닝 개요

학습 데이터에 레이블(label)이 있는 경우와 그렇지 않은 경우에 따라 지도학습과 비지도학습으로 구분하고, 강화학습은 지도학

습 중 하나로 분류되거나 또는 독립적인 세 번째 머신러닝 모델로 분류하기도 한다.

Types Tasks Algorithms

지도학습

(Supervised Learning)

분류

(Classification)

KNN : k Nearest Neighbor

SVM : Support Vector Machine

Decision Tree (의사결정 나무)

Logistic Regression

예측

(Prediction)

Linear Regression (선형 회귀)

비지도학습

(Unsupervised Learning)

군집

(Clustering)

K-Means Clustering

DBSCAN Clustering

Hierarchical Clustering (계층형 군집)

강화학습

(Reinforcement Learning)

MDP : Markov Decision Process

기계 학습 시 고려해야 할 사항은?

그 방법으로 문제를 풀 수 있는가?

그 방법을 적용할 경우 성능에 문제가 없는가?

그 방법을 적용하기 위해 데이터를 충분히 준비할 수 있는가?

Page 30: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. 지도학습 III. 머신러닝 개요

Label이 있는 학습 데이터(Training Set)를 이용해서 학습.

【 지도학습의 Training Set의 예】

분류 (Classification) 회귀 (Regression)

결과 학습데이터의 레이블 중 하

나를 예측 (discrete)

연속된 값을 예측

(Continuous)

예제 학습데이터가 A, B, C 인 경

우 결과는 A, B, C 중 하나다.

예) 스팸메일 필터

결과 값이 어떠한 값도 나올

수 있다.

예) 주가 분석 예측

분류와 회귀의 비교

Page 31: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 비지도학습 III. 머신러닝 개요

Label이 없는 학습 데이터(Training Set)를 이용해서 학습.

【 비지도학습의 Training Set의 예】

분류 (Classification) 군집 (Clustering)

공통점 입력된 데이터들이 어떤 형태로 그룹을 형성하는지가 관

심사

차이점 레이블이 있다. 레이블이 없다.

예) 의학 임상실험 환자군 구별

예) 구매자 유형 분류

분류와 군집의 비교

Page 32: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

5. 강화학습 III. 머신러닝 개요

상과 벌이라는 보상을 통해 현재의 행위의 그 방향 혹은 반대 방향으로 행위를 강화화는 학습 방향

강화학습

시행착오 과정을 거쳐 학습하기 때문에 사람의 학습방식과 유사

Agent는 환경으로부터 상태를 관측하고 이에 따른 적절한 행동을 하

면 이 행동을 기준으로 환경으로부터 보상을 받는다.

관측 – 행동 – 보상의 상호작용을 반복하면서 환경으로부터 얻는 보상

을 최대화하는 태스크를 수행하기 위한 일련의 과정.

관측 – 행동 – 보상의 과정을 경험(Experience)이라고도 한다.

Page 33: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

6. 과적합 (Overfitting) (1) III. 머신러닝 개요

학습 데이터에 너무 지나치게 맞추다 보면 일반화 성능이 떨어지는 모델을 얻게 되는 현상을 과적합(Overfitting)이라고 한다.

Under Fitting

적정 수준의 학습을 하지 못하여 실제 성능이 떨어지는 경우

Normal Fitting (Generalized Fitting)

적정 수준의 학습으로 실제 적정한 일반화 수준을 나타냄. 기계 학습이 지향하는 수준.

Over Fitting

학습 데이터에 성능이 좋지만 실제 데이터에 관해 성능이 떨어짐. 특히 조심해야 함.

Page 34: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

6. 과적합 (Overfitting) (2) III. 머신러닝 개요

과적합을 피하는 다양한 방법 중 검중(Validation) 기법을 알아본다.

학습 데이터의 일부를 따로 떼어 내어 학습이 아닌 검증용으로 사용하는 기법

보유하고 있는 데이터셋을 Training set (50%~60%), Validation set (20%~25%), Test set (20%~25%) 으로 구분

(1) Training set 을 가지고 예측 혹은 분류 모델을 훈련시키고

(2) Validation set을 가지고서 훈련 중인 모델이 혹시 과적합(over-fitting)인지 검증, 감시를 하면서 최적의 적정 적합

(generalized-fitting) 구간을 찾아 모델을 선택한 후

(3) Test set을 사용해서 최종 모델(final model)에 대해서 평가

교차 검증 (Cross Validation)

학습 데이터를 용도별로 나누는 것은 같은데, 처음에 나눠진 데이터를 그대로 사용하는 것이 아니라 중간중간에 서로 다시 나눠 줌

Page 35: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 통계학

2. 상관분석과 회귀분석

3. 빈도론과 베이지안

4. 벡터와 행렬

5. 미분

IV. 통계학과 기초수학

Page 36: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 통계학 IV. 통계학과 기초수학

통계학에서는 자료를 수집, 분류, 분석, 표현해 어떤 현상의 인과관계를 설명하고, 나아가서는 미래에 벌어질 상황을 예측한다.

【 기술 통계】 【 추측 통계 】

관찰된 자료(전체 or 표본)를 수집 및 정리

자료 형태를 표현 (중심의 측정, 산포의 측정)

자료의 특성 값 도출 (대표 값 도출, 변동의 크기, 등)

모집단에서 추출된 표본 자료를 분석하여 특성 값 도

출 (단, 표본은 모집단을 잘 대표하여야 한다.)

확률 이론을 바탕으로 모집단의 특성을 파악

통계학은 크게 기술 통계학 (Descriptive Statistics)과 추측 통계학 (Inferential Statistics)로 구분된다.

데이터를 수집하고 분류하고 분석해 컴퓨터에 학습

시키는 과정에 주로 사용

새로운 입력 값에 대해 결과를 예측하는 과정에 주로

사용

통계학 (Statistics)의 어원은?

그리스 로마시대의 국가(State)의 통치 상태(Status)를 살피는 것에서 유래

과거 징세를 목적으로 인구수 조사와 지가 계산에서부터 시작

Statistics = State (국가) + Arithmetic (산술)

统计 = 모아서(统) 계산하다(计)

Page 37: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. 상관분석과 회귀분석

상관분석은 독립변수와 종속변수 간의 관계의 정도를 확인하고, 회귀분석은 변수들 간 인과관계를 설명한다.

【 상관 분석 】 【 회귀 분석 】

상관계수(𝑟) : 변수간의 관계 정도

-1 ≤ 𝑟 ≤ 1

측정된 변수들의 데이터로부터 관계를 함수식으로 설명

독립변수의 값에 의해 종속변수의 값을 예측

결정계수(𝑟2) : 독립변수를 가지고 얼마나 의미 있게 종

속변수를 예측할 수 있는지를 판별

0 ≤ 𝑟2≤ 1

일반적으로 𝑟2≥ 0.65 이면 의미 있는 회귀식으로 본다.

독립변수와 종속변수

종속변수 (dependent variable) : 우리가 알고 싶어하는 결과 값

독립변수 (independent variable) : 결과 값에 영향을 주는 입력 값

강한 음의 상관관계

음의 상관관계

있다

상관관계가 없다

양의 상관관계 있다

강한 양의 상관관계

믿을 게 못 되다 어느 정도 믿을 만 하다

믿을 만 하다

IV. 통계학과 기초수학

Page 38: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. 빈도론과 베이지안

확률은 어떤 사건이 일어날 수 있는 경우를 신뢰할 수 있는 정도를 규정하는 방법인데 이 방법에는 두 가지 큰 축이 있다.

【 빈도론자 (Frequentist) 】 【 베이지안 (Bayesian) 】

얼마만큼 빈번하게 특정한 사건이 반복되어 발생하

는 가를 관찰하고, 이를 기반으로 가설을 검증

즉, 사전 확률이 없다.

어떤 가설의 확률을 평가하기 위해 주관적으로 또는 임

의적으로 사전확률을 먼저 정하고 관찰된 데이터를 기

반으로 가능도를 계산해서 처음의 설정된 확률을 보정

데이터 확률 모델 가설 검증 확률 모델 가능도 가설 검증

데이터 사전 확률

[ 빈도론 접근 방법에 의한 추론 모델링 ] [ 베이지안 접근 방법에 의한 추론 모델링 ]

사건이 독립적이고 반복적이며, 그 확률 분포가 정규

분포를 보이는 문제에 잘 맞는다.

도박에서의 승률 계산

환경 변화에 따른 농작물 수확량 계산

보험금 계산

사전 관찰 지식이 없는 불확실한 상황 예측에 적합

관찰된 데이터를 가지고 조건부로 가설을 검정

IV. 통계학과 기초수학

Page 39: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 벡터와 행렬

벡터와 행렬은 인경신경망을 이해하기 위한 기초 수학이다.

【 벡터 】 【 행렬과 벡터의 연산 】

행렬과 벡터의 곱셈은 일정한 규칙에 따라 계산하며 행

렬과 벡터의 크기에 따라 그 결과가 달라진다.

벡터는 방향과 크기의 의미를 모두 포함하는 수학으로

스칼라 값들을 순서대로 가진다.

선형대수학에서 n-차원 벡터

n개의 원소를 갖는 벡터로 열 벡터(Column Vector)

로 표현

열 벡터는 행 벡터(Row Vector)로 전치해서 표현하

기도 함

IV. 통계학과 기초수학

행렬은 원소들이 놓여지는 행과 열을 가진다.

2 x 3 행렬의 예

행 또는 열의 크기가 1이고, 다른 열 또는 행의 크기

가 1이 아닐 때, 그 행렬은 벡터로 볼 수 있다.

【 행렬 】

Page 40: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

5. 미분

인공신경망의 알고리즘에 미분은 매우 중요한 개념이다.

【 미분 】 【 합성함수의 미분 및 편미분】

합성함수의 미분

합성함수란 함수 𝒈 𝒙 의 결과값이 다시 다른 함수

𝒇 𝒙 의 입력 값으로 들어가는 𝒇(𝒈 𝒙 )구조를 가진다.

합성 함수의 미분은 아래와 같이 표기 한다.

여러 번 함성된 함수의 경우도 동일한 규칙을 적용할

수 있으며, 인공신경망의 역전파 알고리즘에서 사용

하는 중요한 개념이다.

편미분

다변수 함수를 미분할 때 미분 대상 변수 외에 나머

지 변수를 고정시켜 상수처럼 생각하여 미분하는 방

다변수함수 𝒇가 독립변수 𝒙, 𝒚를 가지고 있을 때, 함

수 𝒇 를 𝒙 에 대해서 편미분한 것은 아래와 같이 표기

한다.

연속적이고 매끄러운 함수 (미분 가능한 함수)에서 특정

지점의 접선의 기울기는 그 점에서의 미분 값과 같다

점 Q가 점 P로 움직일 경우 직선 PQ의 기울기는 점 P

에서의 접선의 기울기와 같다.

미분 가능하지 않는 경우

IV. 통계학과 기초수학

Page 41: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. kNN (k-Nearest Neighbor)

2. SVN (Support Vector Machine)

3. Decision Tree

4. Linear Regression

5. Logistic Regression

6. K-means Clustering

7. DBSCAN Clustering

8. Hierarchical Clustering

V. 머신러닝 알고리즘

Page 42: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. kNN (k-Nearest Neighbor) V. 머신러닝 알고리즘

새로운 데이터가 어느 그룹에 속하는지 분류하기 위해 그 데이터에 가장 가까이에 있는 학습 데이터를 알아본다.

kNN 원리

레이블된 학습데이터들의 특성을 정량화한 후 좌표 공간에 표현

만약 특성이 2개이면 2차원 평면에 각 학습 데이터가 표현

k=1 인 경우 가장 가까운 데이터가 속해 있는 그룹(레이블)로 분류

k=3 인 경우 가장 가까운 3개의 데이터 발견한 후 가장 많은 그룹으로 분류.

좌측 그림에서 k=3 인 경우 새로운 데이터 (★)는 ●로 분류

k=6 이면 새로운 데이터 (★)는 ●로 분류 된다.

(*보통 특성이 2개 인 경우 k는 홀수 값을 선택한다.)

k 값의 선정 (예)

언더피팅 (underfitting) 노멀피팅 (normal fitting) 오버피팅 (overfitting)

K=1

학습 에러율 높음

검증 에러율 높음

노이즈에 너무 민감하게 반응.

데이터를 판별할 수 있는 특성을

찾지 못함

K=9

학습 에러율 낮음

검증 에러율 낮음

데이터의 특성을 잘 대표하도록

학습 됨

K=25

학습 에러율 낮음

검증 에러율 높음

의사 결정 경계가 둔감하여 변별력

부족

Page 43: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. SVM (Support Vector Machine) V. 머신러닝 알고리즘

두 범주를 갖는 데이터를 분류하는 방법으로 주어진 데이터들을 가능한 멀리 두 개의 집단으로 분리.

SVM 원리

Hyberplane : 데이터를 분류하는 선.

Support Vector와 Margin을 통해 두 클래스 사이를 분류하는 최적의

Hyperplane을 구한다.

Hard Margin 방법 : 매우 엄격하게 두 개의 그룹을 분리하는 경계식을 구

하는 방법으로 몇 개의 노이즈가 있으면 사용이 어렵다.

Soft Margin 방법 : Support Vector가 위치한 경계선에 약간의 여유 (Slack)

을 두는 방식

n차원 공간에서 hyperplane은 n-1차원

Support Vectors

2차원 공간에서

hyperplane은 선

3차원 공간에서

hyperplane은 면

비선형 SVM

선형 분류가 불가능한 현재 분포를 변환함수를

통해 선형 분류가 가능하게 되는 공간으로 변환

한 후 소프트마진 방법을 이용하여 분류

Page 44: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. Decision Tree V. 머신러닝 알고리즘

학습 데이터를 이용하여 트리 모델을 생성 후 분류 및 예측을 한다.

Decision Tree 원리

Root Node : 맨 상위의 Decision Node

Attribute : green, red 같이 분기를 결정하는 값.

Root Branch Leaf 순서로 하향식 의사 결정

키가 작고 가지가 별로 없는 모델이 신속한 의사 결정이

됨으로 좋은 모델이 됨.

장점 : 학습 모델 이해가 쉽다.

단점 : 연속적인 속성의 처리의 문제가 있다.

Decision Tree 알고리즘

종류 설명

ID3 Iterative Dichotomiser 3, 가장 표준적인 Decision Tree 모델

C4.5 Successor of ID3, ID3 알고리즘을 보안, Pruning 기법 도입

C.5.0 C4.5 알고리즘을 보완

CART Classification And Regression Tree

CHAID Chi-squired Automatic Interaction Detector

MARS Multivariate Adaptive Regression Splines

C-Tree Conditional Inference Trees 조건부 추론 트리

Pruning

ID3 알고리즘 기반으로 의사결정 트리

모델을 완성 한 후

의사결정 노드에 있는 줄기를

효율적으로 제거하고

합치는 기법

Page 45: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. Linear Regression V. 머신러닝 알고리즘

회귀 분석은 독립변수와 종속변수의 관계를 설명하는데, 독립변수의 수에 따라 단순선형회귀와 다중선형회귀로 구분 된다.

선형 회귀의 구분

단순 선형 회귀 (Simple Linear Regression) 다중 선형 회귀 (Multiple Linear Regression

𝒙 ∶ 독립변수 𝒚 ∶ 종속변수 𝜷𝟎 : y절편 (bies) 𝜷𝟏, 𝜷𝟐 : 기울기 (weight)

𝒚 = 𝜷𝟎 + 𝜷𝟏𝒙 𝒚 = 𝜷𝟎 + 𝜷𝟏𝒙𝟏 + 𝜷𝟐𝒙𝟐…

독립변수 x가 하나

예) 키와 몸무게의 상관관계

독립변수 x가 하나이상

예) 수면시간, 운동시간, 라면 먹는 횟수가 몸무게에 미치는 영향

타당한 회귀식

잔차 (Residual) : 회귀분석에서 예측한 결과값과 실제 값의 차이 (Deviation, 편차라고도 함)

최소제곱법(method of least squares) : 잔차를 제곱해서 모두 더한 값이 최소가 되는 선

영 회귀식이 타당하다.

최소제곱법의 이해 : http://blog.naver.com/mykepzzang/220936552823

Page 46: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

5. Logistic Regression V. 머신러닝 알고리즘

선형회귀의 종속변수는 일반적으로 연속적이지만, 만약 종속변수가 예/아니오, 종속변수가 구매/비구매 같은 범주형으로 표현

해야 한다면 로지스틱 회귀를 사용한다.

로지스틱 회귀분석의 활용 예

연속형 자료에 따른 범주형 자료의 영향력을 파악하기 위함

예) 정치참여도, 여당선호도, 야당선호도가 선거참여에 미치는 영향

독립변수 (연속형자료) : 정치참여도(5점 척도), 여당선호도(5점 척도), 야당선호도(5점 척도)

종속변수 (범주형자료) : 선거참여여부 (참여/비참여)

특히 예/아니오 처럼 종속변수가 2가지 범주에 속할 때는 이진형 로지스틱 회귀 모델이라고 한다.

[ 선형회귀식과 로지스틱 회귀식 예측값의 범위 ]

0.5

로지스틱 곡선

Sigmoid 함수인 로지스틱 함수를 사용하면 종속변수는

항상 0과 1 사이에 있게 된다.

로지스티 회귀식에서는 𝜷𝟎 + 𝜷𝟏𝒙 = 𝟎 이고

𝑥 = −𝜷𝟎

𝜷𝟏 이면 p=0.5가 되므로 𝑥 = −

𝜷𝟎

𝜷𝟏는 이진 분류의

기준점이 된다.

학습 모델을 생성 시 1차 목표는 𝜷𝟎, 𝜷𝟏를 구하는 것.

로지스틱 회귀식은 𝜷𝟎, 𝜷𝟏를 구하는 방법으로 최대가능

도법 (maximum likelihood method)를 사용한다.

Page 47: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

6. K-means Clustering V. 머신러닝 알고리즘

중심값을 선정하고, 중심값과 다른 데이터 간의 거리를 이용하여 분류를 수행하는 비지도 학습 (군집)

K-means clustering 알고리즘 수행 절차

Step 1

Cluster 수인 k를 정의

초기 k개 군집 중심 임의

지정 (initial centroid)

위 그림에서는 k=3

Step 2

모든 데이터들의 거리

계산 후 가장 가까운

Centroid로 Clustering

Step 3

각 Cluster마다 계산하여

새로운 중심 계산

Step 4

Step 2, 3 을 반복

데이터가 자신이 속하는

Cluster를 변경하지 안으면

학습 완료

장/단점

직관적 알고리즘

데이터 계산이 빠르다.

볼록한 구형의 데이터

세트는 잘 적용

오목한 형태의 군집

모델은 적용 어렵다.

동떨어져 있는 데이

터나 노이즈에 민감

사전에 클러스터 수

잘못 지정하면 문제

발생

k-medoids clustering

k-means clustering과 유사하다.

차이점은 cluster의 중심을 임의의 점이 아니라 데이터

세트 중 하나를 선정한다.

장점 : 실 데이터를 중심점으로 함으로 노이즈 처리가

우수

단점 : k-means에 비해 계산양이 많다.

Page 48: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

7. DBSCAN Clustering V. 머신러닝 알고리즘

밀도 있게 연결돼있는 데이터 집합은 동일한 Cluster이다.

DBSCAN (Density Based Spatial Clustering of Application with Noise) 알고리즘

먼저 좌표 공간에 학습 데이터를 표시

밀도 : 반경 (𝜀, Epsilon) 안에 있는 다른 좌표 점의 수

MinPts : 어떤 좌표점이 Cluster를 형성할 수 있는 최소 좌표점

의 개수

A 점의 밀도가 MinPts 이상이면 Core, 미만이면 Noise 로 정의

Cluster 구성 후 이웃 점을 차례로 방문하면서 Core인지를 판단

(p1 p2 p3 p4, 즉 p1과 p4는 같은 Cluster이다)

𝜺 = 1.72, MinPts = 4

노이즈 식별에 강하다

군집의 수를 미리 정할

필요가 없다.

밀도 반경(𝜀)과 최소

이웃 수(MinPts)가

민감하게 작용

Cluster별 밀도가 서

로 다른 경우 적용

어려움

장/단점

Page 49: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

8. Hierarchical Clustering V. 머신러닝 알고리즘

처음에 데이터 세트의 모든 점을 군집의 원점으로 시작해 유사한 Cluster로 합쳐 나간다.

Hierarchical Clustering 알고리즘 (agglomerative clustering, 병합적 또는 상향식 군집)

Step 1 : 모든 데이터를 단일 클러스터로 정의 한다.

Step 2 : 각 클러스터간 유사성을 계산한다.

Step 3 : 유사성이 높은 두 개의 Cluster를 합한다.

Step 4 : 2, 3단계를 전체 Cluster 수가 1이 될 때 까지

반복한다.

초기에 Cluster 개수를

정할 필요가 없다.

직관적 이해가 편하다

자료가 크기가 크면

복잡해져 적용하기

어렵다.

장/단점

divisive clustering

위에서 설명한 것은 Hierarchical Clustering 중 Agglomerative

Clustering (병합적 군집) 이다

Divisive Clustering (분할적 군집) 은 위 방법과 반대로 전체를

하나로 묶은 후 유사성이 낮은 Cluster로 분리하는 방법이다.

분할적 접근은 잘못된 결정이 하위 클러스터로 파급되는 영향

도가 크다는 단점이 있다.

Page 50: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 강화학습 개요

2. Markov Process

3. Markov Reward Process (MRP)

4. Markov Decision Process (MDP)

VI. 강화학습

Page 51: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 강화학습 개요 VI. 강화학습

강화학습은 주어진 문제만 지도를 받고, 그 해결방법은 시행착오를 통해 스스로 찾아낸다.

강화학습과 연계된 학문 분야

Reinforcement Learning

Artificial Intelligence

신경과학 Neuroscience

운용과학 Operations Research

행동심리학 Behavioral Psychology

제어이론 Control Theory

Marvin Minsky (‘1927 ~ ‘2016)

인공지능 분야에 시행착오라는 행

동심리학 이론을 처음으로 적용

SNARC 설계 (쥐가 미로를 찾는 것

을 시뮬레이션하는 컴퓨터)

1961년 발표한 논문 “Step Toward Artificial

Intelligence”에서 시행착오 이론 사용 강화학습에

영향

Richard Bellman (‘1920 ~ ‘1984)

동적시스템 (Dynamic System)의

최적화 문제 연구

: 시간의 흐름에 따라 각 과정별 최

적의 의사결정을 내리는 것

Markov Decision Process (MDP) 모델로 해결

강화학습은 결국 MDP 문제를 해결하는 효율적인 알

고리즘을 찾는 것.

Page 52: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. Markov Process VI. 강화학습

강화학습을 이해하기 위해서 Markov Process를 이해할 필요가 있으며, Markov Process는 상태와 상태변이확률로 표현된다.

【 Markov Property 】 【 Markov Process 】

𝑃[𝑆𝑡+1 | 𝑆𝑡] = 𝑃[𝑆𝑡+1 |𝑆1 … , 𝑆𝑡]

과거 상태 𝑆1 … , 𝑆𝑡 를 고려했을 때 상태 𝑆𝑡+1가 나타

날 확률과, 상태 𝑆𝑡 만을 고려했을 때 상태 𝑆𝑡+1 가 발

생할 확률은 동일하다.

현재 단계의 상태에서 예상되는 다음 단계의 상태는

과거의 사건과 무관하다.

즉, 지금 취할 행동에 영향을 주는 것은 과거가 아니

라 미래의 상태와 그에 따른 보상이다.

Markov Property(특성)을 띤 프로세스를 Markov

Process 라 함.

Markov Process는 상태(State)와 상태변이확률(State

Transition Probability)로 표현

𝑷𝒔𝒔′ : 상태 𝑠에서 상태 𝑠′로 변이할 때의 확률

(𝑷 ∶ 확률 𝑆𝑡:시간 𝒕 에서의 상태)

Markov Process 의 예

𝑃𝐹𝑎𝑐𝑒𝑏𝑜𝑜𝑘,𝐶𝑙𝑎𝑠𝑠1 = 0.1, 𝑃𝐹𝑎𝑐𝑒𝑏𝑜𝑜𝑘,𝐹𝑎𝑐𝑒𝑏𝑜𝑜𝑘 = 0.9

𝑃𝐶𝑙𝑎𝑠𝑠1,𝐹𝑎𝑐𝑒𝑏𝑜𝑜𝑘 = 0.5, 𝑃𝐶𝑙𝑎𝑠𝑠1,𝐶𝑙𝑎𝑠𝑠2 = 0.5

상태 변이 확률을 행렬로 표현

Page 53: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. Markov Reward Process (MRP) VI. 강화학습

Markov Process에 보상을 고려한 것이 Markov Reward Process 이다.

시나리오 별 미래 가치(Value) 의 계산 예 (𝒓 = 0.5)

• 시나리오 1 : Class2 Sleep 의 가치 : 𝒗𝟏 = −𝟐 + 𝟎𝟏

𝟐

• 시나리오 2 : Class2 Class 3 Pass 의 가치 : 𝒗𝟐 = −𝟐 − 𝟐𝟏

𝟐+ 𝟏𝟎

𝟏

𝟐𝟐

• 시나리오 3 : Class2 Class 3 Pub Class3 Pass 의 가치 : 𝒗𝟑 = −𝟐 − 𝟐𝟏

𝟐+ 𝟏

𝟏

𝟐𝟐− 𝟐

𝟏

𝟐𝟑+ 𝟏𝟎

𝟏

𝟐𝟒

• …

각 𝑺𝒕𝒂𝒕𝒆 마다 𝑹𝒆𝒘𝒂𝒓𝒅를 추가

【 Markov Reward Process 】 【 미래가치(value)의 계산 】

상태가치함수(state value function) 𝒗(𝒔) :

어떤 상태 s에서 미래에 발생할 수 있는 상태의 보상 값을

모두 더한 값.

미래 보상을 현재 기준으로 어느 정도로 고려할까?

감쇄계수 (discount factor) 𝑟

0 ≤ 𝑟 ≤ 1

𝑟 = 0 : 미래 상태의 보상을 고려하지 않음

𝑟 = 1 : 미래 상태의 보상을 현재와 같은 비중으로 고려

Page 54: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. Markov Decision Process (MDP) VI. 강화학습

MRP에 행동(A)이라는 의사결정을 추가한 것이 Markov Decision Process 이다.

벨만의 최적 방정식을 직접 풀기에는 너무 복잡함

이를 해결하는 알고리즘의 등장

【 Markov Decision Process 】

MRP에서는 상태 가치를 평가했다면 MDP는 행동 중심으로

가치 평가가 이루어진다.

Policy (정책) : 어떤 상태를 만나면 행동을 취하게 되는데, 각

상태에 따라 취할 수 있는 행동을 연결해 주는 함수

𝜋 𝑠, 𝑎

MDP의 목적은 가장 좋은 정책을 찾는 것이다.

벨만의 최적 방정식

최적 상태가치함수 𝒗∗ 𝒔 = max𝑎𝑅𝑠𝑎 + 𝑟 𝑃𝑠𝑠′

𝑎 𝑣∗(𝑠′)𝑠′𝜖𝑆

최적 행동가치함수 𝒒∗ 𝒔, 𝒂 = 𝑅𝑠𝑎 + 𝑟 𝑃𝑠𝑠′

𝑎 max𝑎𝑞∗(𝑠

′, 𝑎′)𝑠′𝜖𝑆

동적 프로그래밍 가치 반복법 (VI : Value Iteration)

정책 반복법 (PI : Policy Iteration)

몬테카를로 방법

시간차 방법 Q-Learning

SARSA (State Action Reward State Action)

차원의 저주

Curse of Dimensionality

Richard Bellman이 처음 쓰

기 시작

차원이 늘어날 수록 데이터

양은 기하급수적으로 늘어난

다.

Google DeepMind는 Q-Learning을 Convolution 신경망에 접목하여 DQN (Deep Q-Network)를 개발했다.

Page 55: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 딥러닝 정의

2. 인공신경망

3. 딥러닝의 역사

4. 딥러닝의 성과

5. 기업별 활용사례

VII. 딥러닝 개요

및 사례

Page 56: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 딥러닝 정의 VII. 딥러닝 개요 및 사례

컴퓨터가 스스로 학습할 수 있게 하기 위해 인공 신경망을 기반으로 하는 기계 학습 기술

딥러닝이란?

인간의 신경망(Neural Network) 이론을 이용한 인공 신경망 (ANN, Artificial Neural Network)의 일종으로, 계층 구조

(Layer Structure)로 구성하면서 입력층(Input Layer)과 출력층(Output Layer) 사이에 하나 이상의 은닉층(Hidden

Layer)을 가지고 있는 심층 신경망(DNN, Deep Neural Network) 이다.

Hidden Layer 수

Deep Learning의 깊이는 Hidden Layer 개수에 하나를 더하면 된다.

굳이 구별하면 2~3개 층의 신경망을 Shallow (Non-deep) Learning, 10개 이상이면 Very Deep Learning이라 한다.

Deep Learning의 신경망 계층 수를 늘리면 연산에 필요한 복잡도가 제곱 크기로 늘어난다.

Page 57: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. 인공신경망 (ANN, Artificial Neural Network) VII. 딥러닝 개요 및 사례

인공신경망(ANN)은 인간의 뇌 구조를 모방하여 모델링 한 수학적 모델이다.

신경세포 (Neuron, 뉴런)

Neuron의 입력은 다수이고 출력은 하나이며, 여러 신경세포로부터 전달되어 온 신호들은 합산되어 출력된다.

합산된 값이 설정 값(역치, Threshold) 이상이면 출력 신호가 생기고 이하이면 출력 신호가 없다.

생물 신경망 인공 신경망

세포체 (Cell Body) 노드 (Node)

수상돌기 (Dendrites) 입력 (Input)

축삭 (Axon) 출력 (Output)

연결 : Synapse vs. weight

다수의 Neuron이 연결되어 의미 있는 작업을 하듯, 인공신경망의 경우도 노드들을 연결시켜 Layer를 만들고 연결 강

도는 가중치로 처리된다.

생물 신경망 인공 신경망

Synapse 가중치 (Weight)

Page 58: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. 딥러닝의 역사 (1) VII. 딥러닝 개요 및 사례

딥러닝의 근간이 되는 시작된 인공신경망의 연구는 1950년대부터 시작되었다.

Perceptron(1958)

1960 1970 1980 1990 2000

역전파 이론 (‘1981, ‘1986)

• 폴 워보스가 74년에 적용, 81년에 발표

• 러멜하트, 제프리힌톤, 로날드윌리엄스가

역전파 학습모델 발표 (‘1986)

인공신경망 연구 활성화

다층 퍼셉트론 출현 (‘1968)

네오코그니트론(neocognitron) 모델 (‘1979)

• 후쿠시마 쿠니히코가 발표 (일본)

• 최초로 신경생리학이 융합된 인공신경망

(뇌가 시작정보를 처리하는 구조를 기반으로 모델 작성)

• 현재 Convolution 신경망(CNN)과 매우 유사

순환신경망 (RNN, Recurrent Neural Network, ‘1992)

• 장단기 기억법 (Long Short-Term Memory) 개발 (‘1991)

: 출력증의 정보를 계속 메모리에 저장하여 역전파에 이용

• 순환신경망 개발 (‘1992) : 장단기 기억법을 개선

: 후에 심층신뢰망 (DBN, Deep Belief Network)에 영향

딥러닝 용어 등장 (‘2000)

손글씨 문자 인식 연구 (‘1998)

• CNN을 활용하여 높은 정밀도의

손글씨 문자 인식 (LeCun 팀)

Page 59: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. 딥러닝의 역사 (2) VII. 딥러닝 개요 및 사례

2000년대 초 빙하기를 거치지만 2006년 부터 딥러닝 문제가 해결되면서 딥러닝이 부활되었다.

2000 2010 2020

딥러닝 부활 (‘2006)

• 심층신뢰망 (DBN)

제프리 힌튼, 사이먼 오신데로, 이-화이테가 심층신뢰망 발표

RBM(Restricted Boltzmann Machine)이라는 사전학습(Pre-Training)

이용

• Auto-Encoder

벤지오 팀이 발표, DNN을 최적화하는 사전학습(Pre-Training) 방법

사전 학습을 통해 가중치 초깃값을 정하면 DNN이라도 학습이 잘 됨

Dropout 알고리즘 (‘2012)

• Sigmoid 형 함수 대신 ReLU 형 함수 사용

(*ReLU : Hinge(힌지)함수 또는 Ramp(램프)함수라고도 함)

• Dropout 알고리즘 : 학습 시 오버피팅(overfitting)을 줄임.

(*Overfitting : 노이즈까지 포함된 학습데이터를 과도하게 학습된

모델이 테스트나 검증 시 정확성을 떨어뜨리는 현상)

GPU를 이용한 연산 풍부한 데이터 오픈 소스 개발 프레임워크

최근

DNN 최적화 어려움 엄청난 계산량 머신러닝알고리즘 발전

딥러닝 빙하기 (2000~2005)

Deep Learning은 왜 주목 받는가?

Difficulties 해결 방안

학습 DNN 학습이 잘 안 됨. Unsupervised Pre-Training를 통한 해결

계산량 학습이 많은 계산이 필요함 H/W의 발전 및 GPU 활용

성능 다른 Machine Learning

Algorithm의 높은 성능

Dropout 알고리즘 등으로 Machine

Learning 대비 월등한 성능

Page 60: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 딥러닝의 성과 (1) VII. 딥러닝 개요 및 사례

음성 인식 분야의 성과 (Speech to Text)

음성 인식을 학습

• 학습데이터로 대량의 음성과 음성이 나타내는 텍스트를 쌍을 이용해서 학습 모델을 작성

• Deep Learning 이전에는 Machine Learning 알고리즘인 Hidden Markov Model (은닉 마르코프 모델)을 주로 이용

• Deep Learning을 음성 인식에 이용한 후, Hidden Markov Model 보다 정확성이 대폭 개선됨.

• 음성 인식의 입력 데이터의 길이는 가변적임으로 순환 신경망 (RNN, Recurrent Neural Network)을 주로 이용

Baidu Deep Speech

• Baidu의 Deep Speech는 은닉층으로 입력되는 값이 앞 층 뿐만 아니라 직후 층에도 입력되는 구조

즉, 양방향에서 입력된다는 의미로 Bidirectional Recurrent Neural Network (양방향 순환 신경망)를 사용했다.

• 사람의 사용하는 말의 문맥이 있어서 이를 활용한다는 의미임.

음성 인식에서의 RNN 활용 Bidirectional Recurrent Neural Network

Page 61: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 딥러닝의 성과 (2) VII. 딥러닝 개요 및 사례

이미지 인식 분야의 성과

【 MNIST 손글씨 인식 】

1998년 Lecun팀은 CNN을 이용하여 손으로 쓴

숫자를 판별 Layer 수 8층

입력 이미지 화소 32x32

출력 크기 (분류) 10 (0~9)

총 노드 수 9118

[ ILSVRC ]

ImageNet이 주관하는 이미지 인식 콘테스트 (매년)

ImageNet Large Scale Visual Recognition Challenge

이미지넷이 보유한 레이블된 이미지를 학습데이터로 하여

1,000가지 종류로 분류하는 대회

2012년 CNN을 적용한 팀이 우승 후 2013년 부터 딥러닝을

이용해 참가한 팀이 급증 Layer 수 13층

입력 이미지 화소 224x224

출력 크기 (분류) 1,000

총 노드 수 831304

MNIST

MNIST (Mixed National Institute of Standards and

Technology) 데이터베이스는 기계학습을 위하여 손

으로 쓴 숫자를 7만개 보유하고 있는 데이터베이스.

각 숫자는 가로, 세로 각각 28 픽셀 크기의 흑백이미

지 임

https://en.wikipedia.org/wiki/MNIST_database

기존의 이미지 인식 기법인

BoF(Bag of Features)와 비

교해 정밀도가 압도적으로

높아짐

Page 62: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 딥러닝의 성과 (3) VII. 딥러닝 개요 및 사례

딥러닝을 이용한 이미지 주석 만들기

A neural image caption generator

• Google의 Oriol Vinyals팀은 딥러닝을 이용해 이미지 주석을 만들어 내는 기술을 발표.

• 처리는 크게 두 단계로 나누어지는 데 첫 단계는 이미지를 처리해 추상화 하는 부분(CNN 활용)이고, 두 번째 단계는

이미지 정보를 이용해 문장을 작성하는 부분(RNN 활용)이다.

Page 63: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 딥러닝의 성과 (4) VII. 딥러닝 개요 및 사례

딥러닝을 이용한 예술 - 그림 그리기

A neural algorithm of artistic style (2015) - https://arxiv.org/abs/1508.06576

• 독일 튀빙겐 대학교 연구팀에서 딥러닝(CNN)을 이용해 유명 화가의 화풍을 학습한 후 이를 이용하여 그림을 그리다.

원본 사진

윌리엄 터너

‘수송선의 난파’

에드바르 뭉크

‘절규’

이중섭 화풍

Page 64: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 딥러닝의 성과 (5) VII. 딥러닝 개요 및 사례

딥러닝을 이용한 예술 - 음악 작곡

Kulitta - http://donyaquick.com/kulitta/

• 예일대 컴퓨터 사이언스 박사 Donya Quick이 개발한 인공지능 작곡

• 특정 장르의 음악에 대해 딥러닝을 통해 스스로 학습하고 비슷한 특성을 가진 창작곡을 내놓는 방식

Page 65: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 딥러닝의 성과 (6) VII. 딥러닝 개요 및 사례

딥러닝을 이용한 독순술

Lip Reading Sentences in the Wild - https://arxiv.org/pdf/1611.05358.pdf

• 구글 DeepMind와 옥스포드대학 연구진이 딥러닝을 활용해 독순술 정확도를 대폭 끌어올린 시스템을 개발

• 훈련 데이터 : BBC 영상 5천 시간 분량으로 11만 8천여 개의 문장과 17,500여 개의 고유명사가 포함

• 테스트 결과 약 절반 수준을 인식 (참고, 독순술 전문가는 12.4% 인식)

인공지능이 독순술로 작성한 자막

Page 66: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 딥러닝의 성과 (7) VII. 딥러닝 개요 및 사례

딥러닝을 이용한 필기

Generating Sequences With Recurrent Neural Networks - https://arxiv.org/pdf/1308.0850.pdf

• 토론토 대학에서 LSTM RNN (Long Short-term Memory recurrent neural netweork)를 이용하여 손글씨를 만드는 기

술 개발

• Demo 사이트 : https://www.cs.toronto.edu/~graves/handwriting.html

Deep recurrent neural network prediction architecture

Page 67: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 딥러닝의 성과 (8) VII. 딥러닝 개요 및 사례

딥러닝을 이용한 번역이 등장하면서 기계 번역이 훨씬 자연스러워 짐

Neural Machine Translation (NMT)

• 기존의 통계 기반의 번역(SMT, Statistical Machine Learning)과는 달리 신경망 번역 문장 전체를 인식해서 번역한다.

• NMT는 인공신경망 구조만 잘 결정해 주면 학습이 많을수록 더 자연스러운 번역이 가능해진다.

• 인공신경망을 이용한 번역기

Page 68: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

5. 기업별 활용 사례 (1) VII. 딥러닝 개요 및 사례

구글 외에도 Netflix에서도 Deep Learning에 엄청난 투자를 하고 있음.

【 Netfilx 】 【 Google 】

Netflix 자체개발 영화 추천엔진 CineMatch 성능을 개

선하고자 10억원 상금을 걸고 Open Innovation 대회

실시 (2006년 부터)

2009년 10.06% 성능 향상 기록으로 우승 팀 탄생

최근 딥러닝 기술을 적극 활용

현재 Netflix 소비 콘텐츠의 75%는 CineMatch가 추천

한 것.

“추천엔진 성능 향상에 사활” “Deep Learning 기술 확보 위한 파격적 투자”

Demis Hassabis (‘2014) Geoffrey Hinton (‘2013)

2011년 딥러닝 기술이 이미지 검색에 활용하는 PoC

진행 가능성 확인 후 본격적 이미지 검색 기술 개

발 (Google Brain Project)

• YouTube의 동영상 이미지 검색

2013년 Geoffrey Hinton 교수 영입

2014년 DeepMind 인수

Page 69: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

5. 기업별 활용 사례 (2) VII. 딥러닝 개요 및 사례

구글을 따라잡기 위한 마이크로소프트와 바이두.

【 Microsoft】 【 Baidu】

이미지 인식 데모 프로젝트 ‘Adam’

• ImageNet의 1,400만개 이미지를 22,000로 분류

• Google Brain 대비 30배 적은 컴퓨터로 50배 이상의 성

능향상 두 배의 정확도로 성공

Cortana : 음성인식 기반의 지능형 개인 도우미 앱 (11

개 국가에서 사용 중)

Skype Translator

Email 클러터

(스팸차단,

이메일 자동분류)

주로 음성인식과 자연어 처리 분야에 집중

IQ 테스트에 도전 (중국 Microsoft 딥러닝 연구소)

2014년 앤드류 응 교수 영입

(Google Brain 프로젝트 리딩)

Deep Speech (‘2014) 발표

• 순환신경망(RNN) 활용 음성인

식 프로그램

• 소음이 심한 환경에서 소음 제

거에 탁월

Deep Speech 2 (‘2015) 발표

• 중국어 음성 인식 (동일한 음에

다른 의미)

앤드류 응 바이두 사임

(2017.3월)

“Deep Learning의 모범” “Google에 대한 도전”

Andrew Ng (‘2014)

Page 70: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

5. 기업별 활용 사례 (3) VII. 딥러닝 개요 및 사례

디지털 영토 확장을 위한 딥러닝의 활용 : 페이스북, IBM

【 Facebook 】 【 Baidu】

몬트리올 대 요수와 벤지오 교

수와 협업 (왓슨에 적용)

• 세계 5대 딥러닝 전문가

Jeopardy Show 우승 당시

(‘2011) 인공지능 기술

• 음성인식, 자연어처리

• 확률기반의 질의 응답

“사람을 더 많이 연결하기 위해 딥러닝 활용” “Watson에 Deep Learning 적용”

yoshua bengio (‘2014)

얀 르쿤 영입

(‘2013)

세계 5대 딥러닝

전문가

DeepFace 시스템 발표 (‘2014)

• 두 개 인물사진 비교 후 동일인 여부 판단 시스템

• 정확도가 97.25% (참고로 사람은 97.53%)

Facebook M (‘2015)

• 개인비서 (식당예약, 스케줄관리, 항공편 예약 등)

Watson 상품화

• Watson에 딥러닝 기술 추가

• https://youtu.be/oTOAIdlqNi0

Page 71: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

5. 기업별 활용 사례 (4) VII. 딥러닝 개요 및 사례

한발 늦은 애플과 여러 스타트업들

【 Apple 】 【 스타트업 】

“인공지능에 소극적이었던 애플의 변화” “딥러닝 기반 AI Startup들의 확산”

스타트업

시리 인수

(‘2010)

• 인수 당시 혁신적인 서비스라고 평가 받음.

• 최근 MS의 코타나나 구글 나우보다 떨어진다는 평가

2015년 이후 인공지능 분야 투자 확대

• Perceptio인수 : 스마트폰에 저장된 이미지 자동분류

• VocalIQ인수 : 자연어 처리 전문 스타트업

• 인공지능 전문가 영입 지속

전 세계 인공지능 스타트업 투자규모 변화 (2011~2016)

분야 설명 회사

알고리즘 또는 프레임워크

다양한 산업 및 사용처에서 공통적으로 필요한 알고리즘 및 개발 환경 기술 제공

Skymind, Nervana, MetaMind

컴퓨터 비전 컨볼루션 신경망을 이용한 컴퓨터 비전 정확도 증가

Madbtis, Lookflow

자연어 처리 순환신경망(RNN) 활용한 자연어처리 관련 스타트업

AlchemyAPI, Idibon

응용 서비스 헬스케어 같은 틈새시장 겨낭 Enlitic,, StocksNeural

분야별 스타트업 현황

Page 72: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 최초의 인공신경망

2. 단층 퍼셉트론

3. 다층 퍼셉트론

4. 노드값의 전달

5. 활성화 함수

6. 계층의 종류

VIII. 딥러닝 원리

Page 73: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 최초의 인공신경망 VIII. 딥러닝 원리

1943년 워렌 맥컬록(McCulloch)과 월터 피츠(Pitts)는 생물학적 신경망 이론을 단순화 해서 최초로 인공신경망 이론을 제시.

인공신경망(ANN, Artificial Neural Network)

최초의 인공신경망은 생물학적 신경망을 단순화 해서 논리, 산술, 기호 연산을 구현할

수 있게 하였는데 이것을 TLU (Threshold Logic Unit, 한계 논리 단위)라고 정의했다.

헵의 학습 (Hebb’s Learning)

생물학적 신경망에서 뉴런 사이에서 신호전달 시 반

복적 또는 지속적으로 신호가 자극됨. 이 결과로 뉴런

A에서 뉴런 B로 가는 경로인 시냅스 연결이 강화된다.

Hebb은 이것이 신경 레벨의 일종의 학습/기억의 과정

이라고 보고 인공신경망에 가중치 개념으로 도입했다.

이것이 헵의 규칙 또는 헵의 학습이라 한다.

𝒙𝟏

𝒙𝟐

Σ 𝜃 = 2

𝒚

McCulloch-Pitts 논문에 표현된 TLU

인공신경망 TLU를 AND 논리 연산에 적용한 예

입력 x1 입력 x2 출력 y

0 0 0

0 1 0

1 0 0

1 1 1

만약 𝜃=1이면 OR 연산이 적용된 TLU가 된다.

Page 74: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. 단층 퍼셉트론 (SLP, Single-Layer Perceptron) VIII. 딥러닝 원리

로센블래트는 사람의 시각 인지 과정에 영감을 얻어 퍼셉트론 이론으로 인공적인 시각 인지 과정을 구현하는 데 적용했다.

단층 퍼셉트론 (Single-Layer Perceptron)

McCulloch-Pitts TLU 이론 + Hebb의 가중치 이론으로 입력층과 출력층만으로 구성

활성화 함수 (Activation Function)

일정크기(Threshold 𝜃)이상의 신호가 올 경우 값을 전달

계단함수 대신 Sigmoid 함수나 tanh함수 또는 ReLU함수

를 사용할 수도 있다.

AND / OR Perception 예

AND : 𝑦 = 0.6𝑥1 + 0.6𝑥2 이고 𝜃 = 1

OR : 𝑦 = 1.2𝑥1 + 1.2𝑥2 이고 𝜃 = 1

적당한 가중치를 알아내는 학습이 필요함.

Widrow-Hoff Learning Rule

Widrow-Hoff Learning Rule (Delta Rule)

단층 신경망에서 적당한 가중치를 알아내기 위해 출력

층의 출력 값의 오차에 비례해 가중치를 조절하는 것.

델타 규칙은 신경망의 오차가 충분히 들어들 때 까지 학

습 데이터를 반복해서 재 학습해야 한다.

델타 규칙은 후에 역전파의 기본이론이 된다.

1960년 스탠포드대 Bernard Widrow교수는 Perceptron과 유사한 ADALINE (Adaptive Linear Neuron) 단층 신경망 모델

과 위드로-호프 학습규칙(Widrow-Hoff Learning Rule)을 공개

Page 75: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. 다층 퍼셉트론 (MLP, Multi-Layer Perceptron) VIII. 딥러닝 원리

XOR 문제는 단층 퍼셉트론에서는 해결할 수 없는데, 입력층과 출력층 사이에 은닉층 수를 하나만 더하면 쉽게 해결할 수 있다.

2층 Perceptron을 이용한 XOR 판별식

𝒙𝟏

𝒙𝟐

Σ|𝜃=1 𝒚

Σ|𝜃=1

Σ|𝜃=1

입력 x1 입력 x2 은닉층 뉴런#1

은닉층 뉴런#2

y

0 0 0 0 0

0 1 0 1 1

1 0 0 1 1

1 1 1 1 0

𝑤1 = −1.2

𝑤2 = 1.2

𝑤1 = 1.2

𝑤2 = 0.6

𝑤2 = 1.2

𝑤1 = 0.6

[ 은닉층 뉴런#1은 AND연산, 은닉층 뉴런#2는 OR연산, 출력층은 XOR연산이 된다. ]

은닉층뉴런#1

은닉층뉴런#2

은닉층 (Hidden Layer)

Hidden Layer을 추가하면 선형분리 불가능

(linearly inseparable) 문제를 풀 수 있다.

하지만, 다층 퍼셉트론 발견 상시에는 다층 퍼

셉트론을 학습시킬 수학적 모델이 없었다.

은닉층의 개수가 늘어나면 더욱 복잡한 문제를

풀 수 있으나 컴퓨터 계산량이 늘어난다.

Hidden Layer의 역할

앞 단계에서 받은 데이터(신호)를 필터링해서

좀 더 구체화 한 후 다음 단계 층으로 전달

각 은닉층마다 몇 개의 뉴런(노드)이 최적인지

는 문제에 따라 다르다.

신경망 층에 따라 Decision Boundary는 더 정확

해 진다.

[ 2차원 평면에 분포된 데이터 세트를 은닉층 개수에 따라 분리 비교 ]

Page 76: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 노드 값의 전달 VIII. 딥러닝 원리

다층 퍼셉트론에서 정보의 흐름은 입력층 은닉층 출력증으로 진행되는데 이렇게 정보가 전방으로 전달되는 인공신경망을 피드포워드 신경망 (FNN, Feedforward Neural Network)라고 한다.

Feedforward Neural Network Input Layer (입력층)

입력 데이터를 받아들인다.

입력층의 노드(뉴런) 수는 입력 데이터의 특성 개수와 일치 한다.

Hidden Layer (은닉층)

은닉층의 뉴런 수와 은닉층의 개수는 신경망 설계자의 직관과 경험에

의존

은닉층의 뉴런 수가 너무 많으면 Overfitting이 발생, 너무 적으면 충

분히 표현하지 못함.

은닉충의 개수가 너무 많으면 비효율적 (예, 은닉층 수를 2배로 늘리

면 컴퓨팅 시간은 400% 증가하지만 정확성은 10%로 증가함)

Output Layer (출력층)

해결하고자 하는 문제의 성격 (예, 필기체 숫자를 인식한다면 0에서 9

까지 10개 노드로 선정)

학습이란?

Feedforward 신경망에서 원하는 결과를 얻기 위해 뉴런 사이의 적당한 가중치

를 알아내는 것

Page 77: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

tanh

함수

(Hyperbolic

Tangent Function,

쌍곡 탄젠트 함수)

Sigmoid 함수

ReLU 함수

(Rectified Linear

Unit Function)

5. 활성화 함수 (1) VIII. 딥러닝 원리

활성화 함수 (Activation Function)

Synapse는 전달된 전기 신호가 최소한의 자극 값을 초과하면 활성화되어 다음 뉴런으로 전기신호를 전달한다.

활성화 함수는 이것을 모방하여 값이 작을 때는 출력 값을 작은 값으로 막고, 일정한 값을 초과하면 출력 값이 급격히 커지는

함수를 이용한다.

신경망에서 Node는 전달받은 데이터를 가중치를 고려해 합산하고, 그 값을 활성화 함수를 적용해 다음 층에 전달한다.

뇌 신경망에는 시냅스가 있는데 인공 신경망에서는 이런 방식을 모방한 활성화 함수를 이용한다.

은닉층에서 자주 이용되는 활성화 함수

𝑦 = tanh (𝑥)

𝑦 = 1

1 + 𝑒−𝑥

𝑦 = 0 𝑖𝑓, 𝑥 < 0 𝑦 = 𝑥 (𝑖𝑓, 𝑥 ≥ 0)

• 예전에는 활성화 함수로 tanh함수나 Sigmoid함수를 자주 사용했으나 최근에는 ReLU 함수를 사용

ReLU 함수는 상대적으로 학습 속도가 빠르고 학습이 잘 됨.

Parametric ReLU 함수

• ReLU함수는 0보다 작은 값에서 경사가 0이다.

• 그래서 이 부분에 작은 경사 값을 준 Parametric

ReLU함수도 자주 이용된다.

Page 78: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

5. 활성화 함수 (2) VIII. 딥러닝 원리

Softmax 함수

출력 층에서의 Activation Function으로 자주 사용

인공신경망의 출력 값으로 확률 벡터를 얻고 싶을 때 사용 (출력 값의 해석을 용이하기 한다.)

출력 층에서는 출력 값으로 확률벡터를 얻기 위해 softmax 함수를 자주 사용한다.

Softmax 함수는 각 output node의 출력을 0~1로 제한

output node의 출력을 모두 합한 값은 항상 1

Softmax function의 수식

Softmax 함수 원리

𝒆𝒚𝒊 : 지수함수 (exponential function)

Page 79: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

6. 계층의 종류 VIII. 딥러닝 원리

인공신경망에서 계층을 연결 방법이나 노드 값 계산 방법에 따라 몇 가지 종류로 분류 할 수 있다.

Fully Connected Layer Convolution Layer Pooling Layer

앞 층 노드와 자기 층 노드가 모두 연결

많은 계산량

앞 층 인접 노드 집합과 자기 층 노

드가 연결

이미지에서 특징을 추출할 때 주로

사용

앞 층 인접 노드 집합에서 결정된 값을

자기 층의 노드 값으로 취함

예를 들어 최대값을 자기 값으로 취함

대표적인 계층

다른 타입의 층을 조합 (예, Deep Face Neural Network)

Page 80: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 신경망 학습방법

2. 경사 하강법

3. 역전파

4. 사전학습

5. Dropout

6. 딥러닝 알고리즘

7. 컨볼루션 신경망

8. 순환 신경망

9. 심층 신뢰망

10. GPGPU

IX. 딥러닝 학습 및

알고리즘

Page 81: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 신경망 학습방법 IX. 딥러닝 학습 및 알고리즘

학습이란 신경망에서 원하는 결과를 얻기 위해 뉴런 사이의 적당한 가중치를 알아내는 것. 즉 가중치를 최적화 하는 것이다.

신경망에서 지도학습

a. 훈련 데이터 (Training Set) 준비 : 입력 데이터와 출력 데이터

b. 신경망에 데이터 훈련 : 출력층 값을 확인

c. 지도학습 데이터와 차이 (오차) 계산

d. 오차가 최대한 작도록 가중치를 최적화

가중치를 어떻게 최적화 할까요?

Gradient Method(경사하강법)를 이용한다.

Gradient Method에서 경사는 어떻게 계산하나요?

Back Propagation(오류 역전파)를 이용한다.

심층 신경망(Deep Neural Network)에서 더 정밀하게 최적화하는 방법은 무엇인가요?

Dropout 알고리즘을 이용한다.

심층 신경망(Deep Neural Network)에서도 학습이 잘 되게 하려면?

Pre-Training(사전학습)을 이용한다.

Page 82: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. 경사 하강법 (Gradient Descent Method) (1) IX. 딥러닝 학습 및 알고리즘

Gradient Descent Method의 최솟값을 계산하는 알고리즘을 이용해 신경망의 연결가중치를 최적화한다.

Gradient Descent Method 란?

수치 계산에서 함수의 최솟값을 계산할 때 사용되는 가장 보편적인 알고리즘

a. 먼저 변수의 초기값을 선정

b. 변수 값에 해당하는 함수의 경사도 계산

c. 변수를 경사 방향으로 움직여 다음 숫자값으로 설정

a~c를 반복하며 함수의 최솟값이 되는 변수값으로 근접해 나간다.

Gradient Descent Method를 신경망에 적용

제곱합의 총합을 계산하는 부분에서 훈련 데이터가 늘어날수록 시간이 많이 걸림.

𝒙𝒊+𝟏 = 𝒙𝒊 − ℰ𝝏𝒇

𝝏𝒙

경사 하강법 신경망

변수 𝒙 각 연결의 Weight

함수 𝒇 훈련데이터의 훈련 결과와 실제 값의 차이를 제곱해서 더한 값에 훈련 데이터의 개수만큼 반복 계산

함수의 경사 𝝏𝒇

𝝏𝒙 최소화하기 위해 어떻게 계산할까요?

움직임의 정도 ℰ 학습률 2차원에서의 Gradient Descent Method (Parameter가 하나인 경우)

Parameter가 두 개인 경우

Page 83: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. 경사 하강법 (Gradient Descent Method) (2) IX. 딥러닝 학습 및 알고리즘

신경망의 지도학습에서 가중치를 갱신 값을 계산하는 방법(Gradient Descent Method)은 3가지가 있다.

Gradient Descent Method의 종류

종류 계산방법

Batch

Gradient Descent

(배치 경사 하강법)

• 모든 데이터를 학습하고 오차를 이용하여 가중치 갱신 값을 계산한 다음, 가중치를 한 번에 갱신

• 단점 : 학습 데이터가 많으면 가중치 갱신 값 평균 계산 시 계산량 많음. SGD 대비 학습이 오래 걸림.

• 단점 : 가중치 𝒙의 초기 설정에 따라 글로벌 최솟값(Global minimum)이 아닌 지역 최솟값(local

minimum)을 수렴할 수 있다.

Stochastic

Gradient Descent

(확률적 경사 하강법)

• 하나의 학습 데이터마다 오차를 계산해서 신경망의 가중치를 바로 조절

• 한 개의 학습 데이터마다 매번 가중치를 갱신함으로 신경망의 성능이 들쑥날쑥 변함.

• 단점 : 최적의 학습률을 구하기 위해 일일이 튜닝하고 수렴조건을 조정해야 함

• 단점 : 학습 데이터를 순차적으로 사용해야 함 (병렬 컴퓨팅 효과를 얻기 어려움)

Mini-Batch

Gradient Descent

(미니배치 경사 하강법)

• 훈련데이터에서 소량의 데이터를 적당히 선택해 학습 후 갱신 처리를 수행

• 장점 : 위 두 가지 경사 하강법의 단점을 보완하고 장점을 취함.

• 장점 : GPU 기반의 효율적인 병렬 컴퓨팅이 가능해 진다.

epoch

• 전체 학습 데이터를 한 번씩 모두 학습

시킨 횟수

• 학습 시킨 데이터도 재 학습 시키면 신

경망이 개선

Page 84: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. 역 전파 (1) IX. 딥러닝 학습 및 알고리즘

예측된 결과와 실제값의 차이인 에러의 역전파를 통해 가중치를 구한다. (Backward propagation of errors)

역 전파 알고리즘 (Back propagation algorithm)

• Deep Learning의 대표적인 지도학습 알고리즘.

• 역 전파 : 역방향으로 오차를 전파

• Back propagation 알고리즘은 Gradient descent rule과 결합되어 인공신경망 학습 알고리즘으로 많이 이용된다.

• 학습된 출력 값과 실제 값과의 차이인 오차를 계산하여 Feedforward 반대인 역방향으로 전파(Propagation) 한다.

• 전파된 오차를 이용하여 가중치를 조정한다.

• 출력층의 오차 : 지도학습 데이터의 정답과

출력층의 출력값의 차이

• 은닉층의 오차 : 출력층의 오차가 가중치를

고려하여 역방향으로 전달

• 델타(𝜹)규칙 : 어떤 입력 노드가 출력 노드

의 오차에 기여했다면, 두 노드의 연결 가중

치는 오차에 비례해 조절한다.

• 델타(𝜹) : 델타는 활성함수의 도함수

(derivatives)를 이용해 계산됨.

즉, 델타를 이용해 가중치를 조절(compute

gradient)하고 앞 은닉 노드들의 델타를 계

산함.

• 비용함수(cost function) : 오차를 계산하는

함수로 Cross Entropy 함수가 많이 사용

대부분의 딥러닝 오픈 프레임워크에는 역 전파 알고리즘이 구현되어 있음.

Page 85: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. 역 전파 (2) IX. 딥러닝 학습 및 알고리즘

신경망의 계층을 깊게 만들면 역 전파 알고리즘으로 심층 신경망을 학습 시킬 때 어려움을 겪는다.

Vanishing Gradient (기울기 소멸) 문제

• 역 전파 알고리즘으로 학습시킬 때 앞쪽의 은닉층으로 오차가 거의 전달 안됨 (즉, 학습이 잘 안됨)

학습 거의 안됨 학습 잘 됨

• 해결 방안: 은닉층 활성화 함수로 ReLU(Rectified Linear Unit Function) 함수를 사용

간단한 구현 : 입력이 음수이면 0을 출력하고 양수이면 입력 값 그대로 출력

참고로 Sigmoid 함수는 입력 값이 아무리 커도 출력은 1을 넘지 못하였음.

학습 속도가 Sigmoid 보다 빠르고 Vanishing Gradient 문제가 적어 학습이 잘 됨.

Over-fitting (과적합) 문제

• 신경망이 깊어지면 복잡한 모델이 되어 과적합에 취약

• Dropout 기법으로 해결

많은 계산량 문제

• 신경망이 깊어지면 가중치가 기하급수적으로 증가되고, 학

습 데이터도 많이 필요하고, 계산량이 급증함.

• GPU의 활용과 배치 정규화(Batch Normalization, 2015년)

등의 알고리즘으로 개선

Page 86: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 사전학습 (Pre-Training) (1) IX. 딥러닝 학습 및 알고리즘

비지도 학습인 사전 학습(Unsupervised Pre-Training)을 통하면 신경망이 깊어도 학습이 잘 된다.

비지도 사전학습 (Unsupervised Pre-Training)

• Deep Neural Network에서 지도학습만으로는 학습이 잘 이루어 지지 않는다.

*기울기 소멸 문제 (Vanishing Gradient Problem) : 출력 층에서 이전 층으로 갈 수록 전달되는 오차가 줄어들어 학습이 안 되는 현상

• 2006년 Hinton이 DBN(Deep Belief Network)에서 비지도 사전학습을 소개

• 그 이후 Stacked Auto-Encoder (SAE) 등 다른 신경망에서도 적용

Auto-Encoder

• 오토인코더는 입력층과 출력층의 노드 수가 같은 신경망

• 입력 값과 출력값이 가능한 같게 가중치를 최적화.

• 은닉층 노드 수가 입력 층 보다 작음으로 입력 층 정보가 가능하면 손실되지 않게 정보를 압축

• 은닉층이 좌우대칭 되도록 복수로 하는 것도 가능 (Stacked Auto-encoder)

Auto-Encoder Stacked Auto-Encoder

Page 87: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 사전학습 (Pre-Training) (2) IX. 딥러닝 학습 및 알고리즘

가중치를 무작위로 초기화 하는 대신 비지도 학습에 의한 초기 가중치를 결정한다.

Auto-encoder를 이용한 사전학습

• 2006년 Bengio 팀에서 제안

• 가중치의 초기값으로 난수 대신 Auto-encoder로 특성을 반영한 값을 초기값으로 선택

• 아래층(입력층) 부터 순차적으로 가중치를 초기화

가중치초기화 #1 가중치초기화 #2

Page 88: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

5. Dropout IX. 딥러닝 학습 및 알고리즘

Dropout은 신경망을 학습할 때 계산 과정에서 임의의 노드 몇 개를 생략해 학습하는 방법이다.

정밀 학습 방법

• 오류역전파법으로 신경망 학습이 가능하지만 그것만으로는 Multi-layer 신경망 학습이 잘 되지 않는다.

• 이를 위해 더 정밀하게 최적화하는 학습 방법이 나오고 있다.

• 정밀 학습 알고리즘 : Dropout, Drop connect, Adaptive dropout, AdaGrad, AdaDelta, Adam

Dropout Algorithm

• 2012년 Hinton 교수가 제안한 것으로 과적합 문제를 개선.

• 신경망 학습 시 임의의 노드 몇 개를 생략해 학습하고, 다음 계산 시 또 다른 노드를 생략하고 학습

• 일반적으로 입력층에서 20%~25% 정도, 은닉층에서 50% 정도의 노드를 생략한다.

• 효과

“학습 시 학습 데이터에 의해 연결의 weight가 동조화 되는 현상 (co-adaptation)을 피한다.”

* Co-Adaptation : 노이즈에서 발생한 잘못된 특성이 모든 노드에 전파되어 의미 있는 특성을 선별하는데 부정적인 영향을 미치는 것

[ Dropout Algorithm ] [ Dropout 효과 ]

Page 89: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

6. 딥러닝 알고리즘 IX. 딥러닝 학습 및 알고리즘

딥러닝 알고리즘은 크게 세 분류로 나눌 수 있다.

딥러닝 알고리즘의 분류

Convolution Neural Network 계열 Recurrent Neural Network 계열 Deep Belief Network 계열

• 국소 정보를 추상화하거나 위치가 변

하지 않는 신경망을 이용

• 이미지 인식에 자주 이용

• 재귀적 접속이 있는 은닉층을 사용한

신경망으로 가변적 길의의 데이터를

취급

• 자연어 처리나 음석 인석에 주로 이용

• Label된 데이터세트가 충분하지 않은

경우 사용

• Deep Belief Network (DBN, 심층 신뢰

망) : Restricted Boltzmann Machine

(RBM) 이 여러 층으로 연결

[ Convolution Neural Network ]

[ Recurrent Neural Network ]

[ Deep Belief Network ]

Page 90: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

7. 컨볼루션신경망(CNN, Convolution Neural Network, 합성곱신경망) (1) IX. 딥러닝 학습 및 알고리즘

CNN은 Convolution Layer와 Pooling Layer를 포함하는 신경망으로 이미지 처리에 좋은 성능을 보인다.

Convolution의 이해 • 기존 영상처리에 잘 사용하는 기법으로 영상필터로 사용된 기술

• 가중치를 갖는 마스크(Convolution Filter, 커널)를 이용해서 특징 추출 (Feature

Map)

• Convolution 의 결과 예 (Filter 수 만큼 Feature Map이 나온다.)

• 필터의 값은 학습에 의해 바뀐다.

CNN은 Convolution과 Subsampling(Pooling)을 반복하면서 영상을 줄이고 특징을 추출한 후에 분류를 판별한다.

Page 91: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

7. 컨볼루션신경망(CNN, Convolution Neural Network, 합성곱신경망) (2) IX. 딥러닝 학습 및 알고리즘

CNN에서 Pooling은 통해 데이터의 크기를 줄이고 특징을 추출해 낸다.

Pooling(Subsampling)

Max Pooling (최대 풀링) Average Pooling (평균 풀링) Stochastic Pooling (확률적 풀링)

• 컨볼루션 데이터에서 가장 큰 것을 대표

값으로 취함

• 직관적 계산이 편리

• 최대값이 노이즈이면 Overfitting 유발

• 컨볼루션 데이터에서 모든 값의 평균을

취함

• 직관적이고 간편

• 낮은 활성화 값이 평균에 포함됨으로 특

성 대비율을 떨어뜨림

• 컨볼루션 데이터에서 임의의 확률로 한

개를 선정 취함

• 실행 방법이 단순

• 범위 내 동일한 값이 여러 개 있다면 확

률적으로 선택 가능성이 높아 대표성을

띰.

[ Convolution후 Subsampling 처리 ]

• Pooling 계층은 주위의 픽셀을 묶어서 하나의 대표 픽셀로 바꾼다. 즉 이미지의 차원을 축소한다.

• 이미지의 인식 대상이 한 쪽으로 치우치거나 돌아가 있어도 어느 정도 보상을 해 줌.

• 이미지 크기를 줄이고 과적합을 방지하는 데 도움이 됨

Page 92: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

7. 컨볼루션신경망(CNN, Convolution Neural Network, 합성곱신경망) (3) IX. 딥러닝 학습 및 알고리즘

Convolution과 Pooling 후 나온 특징을 Fully Connected 신경망에 입력하여 최종적을 1차원 벡터 형태의 특성으로 압축한다.

특성의 추출

[1, 3, 1, 0, 0, 0, 0, 0, 0, 0]

[6, 12, 15, 11, 0, 0, 0, 0, 0, 0]

[10, 0, 0, 0, 0, 0, 0, 3, 4, 2]

[0, 4, 9, 0, 0, 8, 21, 0, 0, 0]

[ 편의상 10개의 특성이라고 가정 ]

Layer 의 수

Layer가 많으면 계산량은 늘지만

학습 결과는 좋음

Mircosoft는 152개 Layer를 적용

옆의 그림에서 개와 고양이를 아

주 잘 골라 냄

Page 93: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

8. 순환신경망(RNN, Recurrent Neural Network) IX. 딥러닝 학습 및 알고리즘

RNN은 은닉층에서 재귀적 접속이 있는 것으로 입력 데이터가 가변적인 것에 많이 사용된다.

재귀적 접속

RNN은 좌측처럼 단순한 구조지만 학습 시에는 우측처럼 자기 순환하면서 학습한다. (신경망이 깊어진다.)

RNN 학습은 BPTT (Back Propagation Through Time, 시간을 거슬러 올라가는 역전파) 학습 방법을 적용한다.

주로 Time-series data (시계열데이터, 시간의 흐름에 따라 변하는 데이터, 문장 및 음성 데이터)를 적용한다.

LSTM (Long Short Term Memory) 유닛

RNN은 인공신경망이 너무 깊어서 오랜

시간 전의 데이터를 잊어버리는 현상

(Vanishing Gradient Problem)이 존재

Schmidhuber 교수의 Long Short Term

Memory (LSTM, 장단기 기억) 유닛을 각

노드 마다 배치하여 이 문제를 극복

Page 94: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

9. 심층신뢰망 (DBN, Deep Belief Network) IX. 딥러닝 학습 및 알고리즘

DBN은 입력층과 출력층으로만 구성되어 있는 RBM (Restricted Boltzmann Machine) 이 쌓은 형태의 신경망이다.

RBM (Restricted Boltzmann Machine, 제한된 볼츠만 머신)

RBM은 여러 가지 형태의 레이블된 데이터 또는 레이블되지 않은 데이터

를 확률적 방법으로 판별하는 생성모델(Generative Model) 이다.

생성모델(Generative Model)은 머신러닝에서 사용되는 확률적 분류 기법

중 하나이다.

RBM은 이러한 생성모델을 기반으로 하며 입력층과 은닉층 2개 층으로

구성되어 있는 단층 신경망이다.

DBN (Deep Belief Network, 심층 신뢰망)

DBN은 RBM을 기반으로 일종의 비지도 학습인 사전학

습 (Pre-Training)을 통해 가중치를 어느 정도 보정해 놓

고, 마지막 튜닝 과정을 통해 최종 가중치를 계산한다.

레이블된 데이터 세트가 충분하지 않은 경우 사용

1단계 RBM 학습이 종료되면 1단계 결과를 2단계 RBM

의 입력 값으로 이용한다.

DBN은 RBM을 빌딩 블록과 같이 계속 층층이 쌓인 형태로 연결된 신경망이다.

RBM이 여러 층으로 연결되어 있기 때문에 심층 신뢰망이라고 한다.

Page 95: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

10. GPGPU IX. 딥러닝 학습 및 알고리즘

GPGPU 기술을 이용한 병렬 계산은 고속 연산 처리가 가능해 딥러닝 활성화에 기여함.

GPGPU (General-Purpose computing on Graphics Processing Units)

GPU는 Graphic 처리에 특화되어 있는 H/W

단순하면서도 높은 병렬 처리가 요구됨

CPU보다 월등히 빠른 연산 능력

GPGPU

GPU를 그래픽처리 외에 범용적인 용도로 사용할 수 있

도록 하자는 데서 출발

인공신경망에 적용하여 계산량 문제를 크게 개선 시킴

CUDA (Compute Unified Device Architecture)

2006년 엔비디아가 발표

GPU에서 수행하는 병렬 처리 알고리즘을 C 프로그래밍 언어를 비롯한 산업 표준 언어로 작성

할 수 있게 함.

이전에는 OpenGL, Direct3D 같은 것을 이용했어야 함.

현재 Python, Perl, Java에서도 이용할 수 있도록 Wrapper도 제공

그래픽 처리 구조를 몰라도 프로그래밍 가능함으로 GPGPU 활성화에 크게 기여

CUDA 개발정보 (CUDA Zone) : https://developer.nvidia.com/cuda-zone

Page 96: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 오픈 프레임워크

2. 시아노

3. 카페

4. 토치

5. 텐서플로우

6. 딥러닝포제이

X. 딥러닝 오픈

프레임워크

Page 97: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

1. 오픈 프레임워크 X. 딥러닝 오픈 프레임워크

딥러닝 오픈 프레임워크는 다양한 라이브러리와 사전학습 된 알고리즘을 포함하고 있다.

딥러닝 프레임워크

각 프레임워크마다 전문화된 딥러닝 분야와 차별화된 기능을 보유하고 있음.

프레임워크 사이트 개발

Theano http://deeplearning.net/software/theano/ 캐나다 몬트리올 대학 딥러닝 연구소 (MILA)

Caffe http://caffe.berkeleyvision.org/ 캘리포니아 버클리 대학 시각 및 학습 연구 센터 (BVLC)

Torch http://torch.ch/ 뉴욕대학교

TensorFlow https://www.tensorflow.org/ 구글 브레인 프로젝트 팀

DeepLearning4J https://deeplearning4j.org/ 스카이마인드 (Startup)

MXNet http://mxnet.io/ 여러 대학과 회사의 협업 (아마존, 바이두, NVIDIA, MS등)

어떤 프레임워크를 선정해야 하는가?

컴퓨팅 환경을 고려 : 프로그래밍 언어, 운영체계, 하드웨어

플랫폼 (PC or Cloud), GPU 사용여부

사용 목적을 고려 : 간단한 개념증명인가? 수업이나 간단한

프로젝트인가? 실제 서비스 인가?

응용 분야를 고려 : 이미지 분석인가? 음성인식인가? 자연어

처리인가? 강화학습인가?

Page 98: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

2. 시아노 (Theano) X. 딥러닝 오픈 프레임워크

프레임워크 개요

Python 프로그래밍 언어를 위한 Deep Learning Framework

캐나다 몬트리올 대학 딥러닝 연구소 (MILA, Montreal Institute for Learning

Algorithm)에서 개발

몬트리올 대학 요수아 벤지오 교수가 MILA의 책임자

오픈소스 라이선스 (BSD)로 제공

프레임워크 특징

Convolution Neural Network 와 Auto-Encoder (노이즈 제거 알고리즘), Deep Belief Network에 최적화된 프레임워크

Theano Framework에 편리한 API를 보강한 상위 버전의 Framework가 많음.

(Blocks(블럭스), Keras(케라스), Lasange(라자냐), OpenDeep(오픈딥), Pylearn2(파이런2))

역전파 알고리즘 같은 인공신경망 구현에 편리

Convolution 신경망 같은 분야에 유익한 학습자료(Tutorial) 제공

프레임워크 단점

불충분한 에러 메시지

규모가 큰 모델은 시간이 많이 걸려 적합하지 않음.

사전학습(Pre-Training) 모델 지원 불충분

프레임워크 구조가 복잡

Page 99: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

3. 까페 (Caffe) X. 딥러닝 오픈 프레임워크

프레임워크 개요

캘리포니아 버클리 대학교 시작 및 학습 연구 센터 (BVLC, Berkeley Vison and

Learning Center에서 개발

C/C++/Python을 지원

오픈소스 라이선스 (BSD)로 제공

산업 부분에서 일부 사용

Pinterest (소셜 미디어 서비스 업체), DeepDream (구글의 이미지 변환 프

로젝트)의 기본 프레임워크, 야후에서는 Spark와 Caffe를 연동해서 사용

Caffe 이미지 분류 Demo 확인 : http://demo.caffe.berkeleyvision.org/

프레임워크 특징

Computer Vision 분야 적용 시 적절 : Convolution 신경망을 포함한 이미지 분석 라이브러리를 제공.

Caffe Model Zoo (많은 개발자들이 Caffe로 만든 모델을 Share 하는 곳) 제공

Caffe 커뮤니티 활동이 왕성함.

프레임워크 단점

대학에서 만든 연구개발용 프레임워크로 빠르게 변하는 IT환경에 능동적인 대처가 어려움

최신 버전의 GPU 호환성 검증 및 최적화 지원이 늦음.

확장형 분산 컴퓨팅 API 지원 부족

Page 100: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

4. 토치 (Torch) X. 딥러닝 오픈 프레임워크

프레임워크 개요

뉴욕대에서 개발한 과학계산용 프레임워크

: 행렬과 벡터 연산에 최적화된 라이브러리와 각종 수학 및 과학 계

산에 필요한 함수 라이브러리를 편리하게 사용

Lua (루아)라는 스크립트 언어 사용

C/C++로 개발된 수학 라이브러리를 사용 (성능이 뛰어나다)

오픈소스 라이선스 (BSD)로 제공

산업계 사용 현황

페이스북 인공지능 연구소 : 뉴욕대 출신 페이스북 얀 르쿤 교수

가 사용

구글 딥마인드 : 강화학습에 필요한 다양한 라이브러리를 제공

프레임워크 특징

Torch에 적용된 Tensor 라이브러리가 Python 계열의 NumPy와 비슷.

Lua 스크립트 언어는 JavaScript와 비슷해서 배우기 쉽고 직관적이며 빠르고 쉽게 이해 가능

기본 엔진이 C/C++이라서 성능이 우수하다.

프레임워크 단점

Lua 스크립트 사용자 그룹이 활성화되지 않아 생태계 조성에 한계가 있다.

Page 101: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

5. 텐서플로우 (TensorFlow) X. 딥러닝 오픈 프레임워크

프레임워크 개요

구글이 2015년에 공개한 Deep Learning Framework

Apache 오픈소스 라이선스 제공

C/C++로 개발된 엔진 위에 Python을 지원하는 구조 (카페나 시아노와 유사)

딥러닝 신경망과 강화학습 알고리즘을 지원

Java와 Scala 프로그래밍 언어는 지원하지 않는다.

프레임워크 특징

기본 엔진이 C/C++이라서 성능이 우수하다.

GPU에 최적화되어 있다.

분산 병렬컴퓨팅 환경을 지원한다.

(단, 구글 Cloud 서비스인 구글 Cloud Machine

Learning에서만 사용가능)

TensorBoard라는 시각화 도구가 제공된다.

프레임워크 단점

사전학습 모델이 많지 않다.

다양한 플랫폼에서 최적화가 덜 되어 있다.

Page 102: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

6. 딥러닝포제이 (DL4J, DeepLearning4J) X. 딥러닝 오픈 프레임워크

프레임워크 개요

SkyMind가 개발한 프레임워크

자바를 지원하는 프레임워크

연구 목적의 다른 프레임워크와는 달리 상용서비스를 위해 설계

아파치 2.0 라이선스로 공개

Skymind는 유료로 전문적인 유지보수, 문제해결, 사용자 교육 지원

IBM, Accenture, Chevron 등의 Reference 보유

프레임워크 특징

과학계산 라이브러리로 DN4J(N-Dimensional Arrays for Java) 라는 라이브러리를 직접 개발해서 사용

DN4J는 NumPy(파이선 기반의 과학계산 라이브러리)보다 약 2배 정도 빠르다.

분산 컴퓨팅 환경은 Hadoop과 Spark와 통합해 사용할 수 있다.

심층신뢰망(DBN)과 RBM을 지원하고, Convolution 신경망 모델 지원

순환신경망과 장단기 기억법 알고리즘 제공

https://deeplearning4j.org/kr-index

Page 103: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

참고문헌

Page 104: 인공지능개론 (인공지능, 머신러닝 그리고 딥러닝)

The End

감사합니다.

강병호수석 (SK주식회사 통신개발2팀)

[email protected]