.... 기계학습의원리, 능력과한계 2016.3. 김진형 소프트웨어정책연구소소장 KAIST 전산학부명예교수 국제패턴인식학회 Fellow 정보과학회명예회장
결과는종종혁신적이지만 진화는항상점진적이다 * 혁신적인알파고, 딥러닝은 70 년동안의인공지능기술진화의산물 * 출처 : 기술의진화 : 비유와함의들, 이관수 ( 동국대다르마칼리지이관수교수 ) 에서
지능적행동을자동화하기위한컴퓨터과학의한분야 (Luger & Stubblefield, 1993) 현재사람이더잘하는일을컴퓨터가하도록하는연구 (Rich & Knight, 1991) 컴퓨터를좀더스마트하게만들기 생각하는컴퓨터만들기 3
2013 년신규과목 인공지능 ACM/IEEE 제안커리큘럼 2013.12 (308 Hrs) Discrete Structure SW Dev. Fundamentals Algorithm & Complexity Architecture & Organization Operating Systems Networking & Communication Programming Languages Human-Computer Interaction Grophics & Visualization Intelligent Systems Information Management Social Issues & Professional Practice SW Engineering Computational Science Information Assurance & Security Parallel & Distributed Computing System Fundamentals Platform-based Development Computer Science Body of Knowledge ( 학사과정학습내용 ) 4 [ 자료출처 : http://www.acm.org/education/cs2013-final-report.pdf]
1983 년 1 월호 15 가상비서? 00 자연언어처리 10 딥러닝 70 Expert System 50s- 60s AI 개념정립다양한방식시도 85 신경망 2000 Google Multiple Language Translatation 2012 Google Deep Learning 고양이인식 2016 AlphaGo 이세돌제압 1950 튜링테스트 1956 다트머쓰회의에서 AI 개념정립 1970~80 MYCIN, XCON Expert System 1986 Backpropagation Multilayer Network 1997 IBM Deep Blue 체스인간에게승리 2011 IBM 왓슨 Jeopardy 승리 2014 Facebook DeepFace 5
Computing Power 강력한병렬및분산처리능력 알고리즘 공개소프트웨어 개방 공유 협업의성과 Big Data Power 인터넷, IOT, Sensor 기술을통한수집능력 6
7
지식처리형 사람의지식을기호의조합으로표현 이슈 : 언어이해, 지식획득 데이터기반형 신호데이터에서공통성질추출 이슈 : 훈련, 기계학습 전문가시스템 IBM Watson 음성인식 영상인식 뉴럴네트웍 딥러닝 가상비서 그림내용설명하는로봇 8
기계학습 (Machine Learning) 명시적으로프로그램하지않고, 데이터로부터학습하는능력을컴퓨터에게주기위한연구
지도학습 (Supervised learning) 올바른입력 / 출력쌍으로된훈련데이터로부터입출력간의함수학습 자율학습 (Unsupervised learning) 데이터의무리짓기 (Clustering) or 일관된해석의도출 증강학습 (Reinforcement learning) 계속된행동으로얻은보상으로부터올바른행동을학습 10 10
키 (Cm) 180 178 176 174 철수 광수 영식 172 170 168 길동 영호 성수 영철 166 55 60 65 70 75 80 85 몸무게 (Kg) 11
키 (Cm) 180 178 176 174 철수 광수 영식 172 170 168 길동 영호 성수 영철 166 55 60 65 70 75 80 85 몸무게 (Kg) 12
키 (Cm) 180 178 176 174 철수 광수 영식 172 170 168 길동 영호 성수 영철 166 55 60 65 70 75 80 85 몸무게 (Kg) 13
키 (Cm) y 180 178 176 174 172 광수광수에의한오차철수철수에의한오차성수 영식 영철 영식에의한오차 영철에의한오차 직선의식 h(x)= ax+b 170 168 길동 영호 성수에의한오차영호에의한오차 166 길동에의한오차 55 60 65 70 75 80 85 몸무게 (Kg) x i 가만드는오차 14
Gradient Descent ( 급한기울기따라가기 ) 반복하여가장경사가급한곳으로 Parameter를변화시켜최대 ( 최소 ) 점도달 복잡한함수의최적화에많이사용, 특히신경망학습등에서 문제점 시작위치에따라서종종 Local 극점에도달 특이지형에서방향상실 얼마만한보폭으로? 15
키 (Cm) 180 178 176 174 철수 광수 영식 172 170 168 길동 영호 성수 영철 166 55 60 65 70 75 80 85 몸무게 (Kg) 16
키 (Cm) 180 178 176 174 철수 광수 영식 172 170 168 길동 영호 성수 영철 166 55 60 65 70 75 80 85 몸무게 (Kg) 17
키 (Cm) 180 178 176 174 철수 광수 영식 172 170 168 길동 영호 성수 영철 166 55 60 65 70 75 80 85 몸무게 (Kg) 18
어떤철학에의하여 좋음 을정의 예 ) Ockham s Razer 단순한 (Simple) 것을선호 예 ) 함수의복잡도와데이터적합성간의타협 (Tradeoff) 예 ) 일반화능력이강한것 훈련에참여하지않은데이터에대하여도좋은성능을보일것 19
키 (Cm) 180 178 176 174 철수 광수 영식 172 170 168 길동 영호 성수 영철 166 55 60 65 70 75 80 85 몸무게 (Kg) 20
패턴인식시스템설계 패턴인식은지능이필요한 일반적인문제풀이능력
22
농어 연어 Length Lightness Width 23 Number and shape of fins Position of the mouth 23
Sensor? Sensor signal 특징추출 패턴인식기 특성값 분류기연어 어떤특징을보고어떻게분류할것인가를결정하는것이기계학습 의역할 패턴인식과기계학습은동전의앞뒷면! 24
길이가 l 보다크면연어라고하고작으면농어라하자 오류를최소화하는 l* 구할수있다 25 25
길이를보고분류하면밝기에의한분류보다오류가많다 밝기가 x보다어두우면연어라고하고밝으면농어라하자 오류를최소화하는 x* 구할수있다 특성의선택이패턴인식의성패를좌우 특성이주어지면훈련데이터로부터최적의분류방법학습가능 26 26
length 더많은특징을보면더좋을까? 길이밝기, 폭, 핀의개수, 핀의모양, 입의위치, 27
특성의선택이패턴인식성능좌우 더많은특성은더좋은성능? 상관관계가깊은특성은성능을 향상시키지못한다 특성에따라학습의어려움이상이 28
훈련에참여하지않은데이터에얼마나좋은성능을보일까? Simple Model A Complex Model B 훈련데이터에는완벽하도록복잡한모델을고를수있다. 일반화능력이최상이되도록모델을선택해야 29
underfitting good fit overfitting 복잡도에대한패널티를포함하여최적화 Validation Error 훈련데이터와별도의검증데이터로최적 의모델선택 Training Error 특성의수 30
유한한데이터를가지고특징을추가하면공간의크기가너무급하게증가하여가용한데이터가희소화 통계적으로신뢰할수있는결과얻기어려움 적절한일반화능력을위해요구되는훈련데이터양은급격히증가하는현상을 차원의저주 (Curse of Dimensionality) 라함 예 : 총 Sample 수의 20% 를확보하기위한차원별노력 31
데이터수집 Probably the most time-intensive component of project How many examples are enough? 특성의선택 Critical to the success of the PR project Require basic prior knowledge, engineering sense 인식방법론의선택과설계 Statistical, neural and structural Parameter settings 훈련 Given a feature set and blank model, adapt the model to explain the training data Supervised, unsupervised, reinforcement learning 평가 How well does the trained model do? Overfitting vs. generalization 32
신경망 (Neural Network)
x 1 w k1 x 2 w k2 활성화함수...... v k (.) 출력 y k x m w km Summing 입력 가중치 weights v k m j 1 w kj x j y k (v k ) 34
O j O j O j +1 +1 +1 t in i t in i in i Threshold Function Piecewise-linear Function Sigmoid Function (differentiable) ( v) 1 1 exp( av) a is slope parameter 35
신용평가분류기 직업 (1/0) 나이 good 급여 medium 가족수 bad 빚 36
단층구조 입력과출력층만 2 층구조 하나의은닉층 고충 (N>2) 구조 N-1 개의은닉층 Recurrent Networks 최소한하나의 feedback loop Network of Networks 복잡한모델형성가능 inputs outputs 37
By Rosenblatt, 1957년 간단한가중치 Update Rule W i W i + Δ W i Input Δ W i = η (D-Y) x i Learning rate = 1 Desired output Actual output 학습데이타를직선으로구분할수있 으면항상해에수렴 XOR 문제 곧실망 - 선형분류기의한계 XOR 문제는해결못함 38
은닉노드의층을가진구조 은익노드 (Hidden Node) 란 입력단 ( 저층 ) 에서오는값을처리하여출력단 ( 고층 ) 으로전파하는역할 은닉노드수를늘려서복잡한함수표현가능 모든 Boolean logic, 선형함수의조합 39
40
. 입력값에대한은닉노드의바람직한출력값을모름 직접학습불가능 해결 : 오류역전파알고리즘 1974 년 Werbos, 1986 년경부터널리알려짐 총오류함수를줄이는방향으로가중치수정 Gradient Descent ( 급한기울기따라가기 ) 출력노드의오류는이노드에양향을미친은닉노드들이책임져라 얼마나? 출력노드에공헌만만큼 출력단에서부터가중치를역방향순차적으로수정 41
간단한문제에는좋은성능을보이지만, 여러가지문제점이 ( 차원의저주 ) 신경망 parameter 수가쉽게증가 Overfitting 을피하기위하여너무나많은훈련데이터가요구됨 은닉노드가무엇을배울지, 어떤특성을갖게될런지모름 지가알아서뭔가를하는데잘하지도못한다 하위계층의학습부진 상위노드에서다양한방향으로수정요구가들어옴 오차신호가약해져서학습의방향성소실 훈련에많은시간소요, Local 극점문제가골치 여러학습촉진하는팁 42
딥러닝 : 고층신경망에잘작동하는학습방법론의총칭, 2005 ~ 층층이별도로훈련 Pre Training 자율학습기법으로특성미리학습 훈련된은닉층을층층이쌓는다 그후통합훈련으로미세조정 Local 극점에강인하고학습이잘됨 무작위초기화보다좋은자리에서출발하는효과 적은데이터로도 Overfitting 회피가능 은닉층이원하는특성을갖도록학습가능 입력단에가까운은닉층은저수준특성 고층에서는고수준특성으로추상화가능 효과검증된기법으로은닉층구성가능 변형을흡수하는층삽입가능 43
Pre Training : 입력과출력이동일하도록은닉층을훈련 시각화를통해서 원하는특성 이발현되는지확인가능 Auto Encoder Ristricted Boltzman Machine 은닉층시각화 44
45
Google s Face 와 Cat 자율학습 10 억개연결, 16000 개컴퓨터 음성인식오류률 3 일간의 You-Tube 영상 Facebook, DeepFace 97.25% 1억2천만개의연결 4000명의 4백만얼굴사진 층층의독립적으로훈련덕분에 46
어린아이들이고양이를아는데몇백만장의고양이사진이필요하지않다 Tomaso Poggio, MIT 50년만에만난친구도한눈에알아본다 신경세포의계산은느리지만 딥러닝은뭘그렇게계산하니? 47
현재의딥러닝은얼마나배울수있을까? 순수딥러닝 Go 는언제나? (10, 7) 에놓아요
5 년내에모든기업이 머신러닝을사용할것이다 - Eric Schumidt Google Tensor Flow Microsoft CNTK, DMTK Skymind DL4j 기계학습은로켓의엔진과같다. 로켓이날아가려면엔진에넣을연료가필요한데이것이바로데이터이고, 데이터는 IoT를이용한센서에서얻어진다. Baidu WARP-CTC Facebook Torch OPEN AI Community http://ml.cmu.edu/research/index.html, Google 49
단일기능수행 다양한기능수행 AlphaGo Watson 50