딥러닝 첫걸음

Similar documents
Introduction to Deep learning

전기설비의 검사˚점검 및 시험등

PowerPoint 프레젠테이션

10김묘선

1-1-basic-43p

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구


신경망 (Neural Networks) < 인공지능입문 > 강의 허민오 Biointelligence Laboratory School of Computer Science and Engineering Seoul National University

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jul.; 29(7),


Columns 8 through while expression {commands} 예제 1.2 (While 반복문의이용 ) >> num=0

PowerPoint 프레젠테이션

<4D F736F F F696E74202D EC1FDB4DCC1F6BCBAB0FA20BAB9C0E2B0E820B8F0B5A8C0C720B9E6B9FDB7D05F706D>

PowerPoint 프레젠테이션

<32332D322D303120B9E6BFB5BCAE20C0CCB5BFC1D6312D32302E687770>

DBPIA-NURIMEDIA

화판_미용성형시술 정보집.0305

PowerPoint Presentation

<BFACB1B831382D31365FBAF2B5A5C0CCC5CD20BAD0BCAEBFA120C0C7C7D120BFE4C0B2BBEAC1A420B9E6B9FD20BAF1B1B35F33C2F7BCF6C1A E687770>

USER GUIDE

1 수사 경과 수사 착수 배경 신용카드 및 현금영수증 결제승인 대행 서비스업체인 밴사와 대형 가맹점 간의 리베이트 수사 과정에서,밴 수수료로 창출되는 막대한 이익을 둘러싸고 밴 업계의 경쟁이 과열되고 있다는 점에 착안 관련 비리를 집중 내사한 결과,밴 사업자 선정을 위

Microsoft PowerPoint - es-arduino-lecture-03

AL181N,ÇѱÛ,Ù+An+pip[D¿ë

Artificial Intelligence: Assignment 5 Seung-Hoon Na December 15, Numpy: Tutorial 다음 자료를 참조하여 numpy기본을 공부하시오.

모바일동향

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

PowerPoint 프레젠테이션

<4D F736F F D20B1E2C8B9BDC3B8AEC1EE2DB1E2BFEBB0C9>

진단, 표시・광고법 시행 1년

MAX+plus II Getting Started - 무작정따라하기

14.531~539(08-037).fm

KEY 디바이스 드라이버

s SINUMERIK 840C Service and User Manual DATA SAVING & LOADING & & /

PowerPoint 프레젠테이션

untitled

( 분류및특징 ) 학습방법에따라 1 지도학습 (Supervised 2 비지도 학습 (Unsupervised 3 강화학습 (Reinforcement 으로구분 3) < 머신러닝의학습방법 > 구분 지도학습 (Supervised 비지도학습 (Unsupervised 강화학습 (

특집 2 부 3 신경회로망 신경회로망에대한연구는뇌신경생리학으로부터유래되어패턴인식이나연산기억장치, 최적화, 로봇제어, 문자인식, 음성인식, 신호처리등의분야로확대됐을뿐아니라경제, 경영분야의의사결정시스템에도응용되기에이르렀다. 최근에는데이터마이닝의주요기법으로손꼽히고있다. 신현

시장분석통계Ⅰ. 서론부록인공신경망의시초라할수있는퍼셉트론 (perceptron) 은 1957 년 Frank Rosenblatt 가발명했고딥러닝의 학습알고리즘인오차역전파법 (back-propagation) 은 1986년 LeCun에의해발명됐다. 이미딥러닝의핵심이론은 198

Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제

슬라이드 1

PowerPoint Presentation

<C6F7C6AEB6F5B1B3C0E72E687770>

03_queue

PowerPoint 프레젠테이션

SOSCON-MXNET_1014

소성해석

DW 개요.PDF

% Rectangular Value 입력 t = -50 : 1 : 50; % 시간영역 for i = 1 : 101 if abs ( t ( i ) ) < 10 x ( i ) = 1; else x ( i ) = 0; % 화면을 2 열 1 행으로나눈후 % 2 열 1 행에 R

untitled

Ⅰ. 개인저축률 변화의 주요 특징 2년대 우리 경제에 있어 급격한 변화를 보인 지표 중 하나가 개인저축률일 것이 다. 9년대 평균 2.6% 수준을 유지하던 개인저축률은 2년대 들어 평균 5.3% 로 낮아졌다(<그림 1> 참조). 1988년 이후 완만한 하락세를 보이던

REVERSIBLE MOTOR 표지.gul

Microsoft Word - SRA-Series Manual.doc

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

PowerPoint 프레젠테이션

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

untitled

PowerPoint 프레젠테이션

10X56_NWG_KOR.indd

때문이다. 물론가장큰이유는, 다음절에서살펴보겠지만최근들어딥러닝구조를학습하는데필요한여러가지테크닉들이개발되었기때문이다 [6,7]. 딥러닝이산업현장에서선호되는데는몇가지이유가있다. 일단은어려운문제를잘해결한다는것이다. 예를들어서, 물체인식과음성인식등전통적인패턴인식의문제에서딥러닝

빅데이터_DAY key

<312EB1E8C0CDBCF62E687770>

<C7D1B1B9B0E6C1A6BFACB1B8C7D0C8B828C0CCC1BEBFF85FC0CCBBF3B5B75FBDC5B1E2B9E9292E687770>

슬라이드 1

歯엑셀모델링

<313120C0AFC0FCC0DA5FBECBB0EDB8AEC1F2C0BB5FC0CCBFEBC7D15FB1E8C0BAC5C25FBCF6C1A42E687770>

윤활유 개발 동향 및 연구 사례

슬라이드 1

Structural SVMs 및 Pegasos 알고리즘을 이용한 한국어 개체명 인식

장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정

슬라이드 1

airDACManualOnline_Kor.key

(JBE Vol. 24, No. 2, March 2019) (Special Paper) 24 2, (JBE Vol. 24, No. 2, March 2019) ISSN

생들의 역할을 중심으로 요약 될 수 있으며 구체적인 내용은 다음과 같다. 첫째. 교육의 대상 면에서 학습대상이 확대되고 있다. 정보의 양이 폭발적으로 증가하고 사회체제의 변화가 가속화 되면서 학습의 대상은 학생뿐만 아니라 성인 모두에게 확대되고 있으며 평생학습의 시대가

Microsoft PowerPoint - AC3.pptx

Electronics and Telecommunications Trends 인공지능을이용한 3D 콘텐츠기술동향및향후전망 Recent Trends and Prospects of 3D Content Using Artificial Intelligence Technology

딥러닝튜토리얼 Deep Learning Tutorial - 신경망과딥러닝의이해 Understanding Neural Network & Deep Learning

PowerPoint 프레젠테이션

INDUCTION MOTOR 표지.gul

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

YPS1-KOREAN indd

Asia-pacific Journal of Multimedia Services Convergent with Art, Humanities, and Sociology Vol.7, No.11, November (2017), pp


PowerPoint 프레젠테이션

ez-shv manual

PowerPoint 프레젠테이션

AIGo 개발 줂갗 보곀.hwp

슬라이드 1

(Microsoft PowerPoint - Ch21_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

(b) 연산증폭기슬루율측정회로 (c) 연산증폭기공통모드제거비측정회로 그림 1.1. 연산증폭기성능파라미터측정회로

2

Pattern Recognition

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

<BFACB1B8BFF82031C1D6B3E2B1E2B3E4C0DAB7E1C1FD28C6EDC1FDBCF6C1A4292E687770>

Ch 8 딥강화학습

특허청구의 범위 청구항 1 삭제 청구항 2 삭제 청구항 3 하기 (A), (B) 및 (E)를 함유하는 세정제 조성물로서, (A)와 (B)의 배합 비율이 (A)/(B) = 99/1~70/30(중량% 비)이며, 또한, 이 조성물 중의 전체 계면활성제 성분 중에서 (A)의

< C6AFC1FD28B1E8C5C2C1A4292E687770>

2 : (Seungsoo Lee et al.: Generating a Reflectance Image from a Low-Light Image Using Convolutional Neural Network) (Regular Paper) 24 4, (JBE

레이아웃 1

Transcription:

딥러닝첫걸음 4. 신경망과분류 (MultiClass)

다범주분류신경망 Categorization( 분류 ): 예측대상 = 범주 이진분류 : 예측대상범주가 2 가지인경우 출력층 node 1 개다층신경망분석 (3 장의내용 ) 다범주분류 : 예측대상범주가 3 가지이상인경우 출력층 node 2 개이상다층신경망분석 비용함수 : Softmax 함수사용

다범주분류신경망 X1 1 0 0 X2 D = 0 1 0 X3 0 0 1 3

다범주분류신경망 : 입출력 Y^1_1 Y1 X1 Y^1_2 X2 Y2 Y^1_ 3 X3 Y3 Y^1_4 4

다범주분류신경망 : 역전파 X 1 X 2 X 3 5

다범주분류신경망 : 가중치조정 X 1 X 2 X 3 6

다범주신경망학습 7

다범주신경망학습 (2) 8

다범주신경망학습 (3) 9

Softmax function 1 계도함수는 Sigmoid 함수와동일

Softmax.m function y = Softmax(x) ex=exp(x); y=(ex)/sum(ex); end

예제 : 글자맟추기입력 25 -> 은닉 50 -> 출력 5 Y^1_1 Y1 X1 Y^1_2 X24 Y4 Y^1_49 X25 Y5 Y^1_50 12

학습데이터, 검증데이터 학습데이터 검증데이터

training function: Multiclass.m function [W1, W2] = Multiclass(W1,W2,X,D) 1. Learning Rate alpha=0.9; 2. Loop Setup.: SGD N=5; for k=1:n 3. Input-Output x=reshape(x(:,:,k),25,1); %25*1 d=d(k,:)'; %5*1 v1=w1*x; %(50*1=50*25 x 25*1 y1=sigmoid(v1); v=w2*y1; %(5*1=5*50 x 50*1 y=softmax(v); 4. Back Propagation e=d-y; delta=e; %(5*1) e1=w2'*delta; %(50*5)*(5*1) delta1=y1.*(1-y1).*e1; %(50*1) 5. Update dw1=alpha*delta1*x'; %(50*1)*(1*25) W1=W1+dW1; dw2=alpha*delta*y1'; %(5*1)*(1*50) W2=W2+dW2; End % end of SGD loop end % end of function 14

TestMulticlass.m clear all rng(3); 1. Data loading X=zeros(5,5,5); X(:,:,1)=[0 1 1 0 0; 0 0 1 0 0; 0 0 1 0 0; 0 0 1 0 0; 0 1 1 1 0 X(:,:,2)=[1 1 1 1 0; 0 0 0 0 1; 0 1 1 1 0; 1 0 0 0 0; 1 1 1 1 1 X(:,:,3)=[1 1 1 1 0; 0 0 0 0 1; 0 1 1 1 0; 0 0 0 0 1; 1 1 1 1 0 X(:,:,4)=[0 0 0 1 0; 0 0 1 1 0; 0 1 0 1 0; 1 1 1 1 1; 0 0 0 1 0 X(:,:,5)=[1 1 1 1 1; 1 0 0 0 0; 1 1 1 1 0; 0 0 0 0 1; 1 1 1 1 0 D=[1 0 0 0 0; 0 1 0 0 0; 0 0 1 0 0; 0 0 0 1 0; 0 0 0 0 1 2. 가중치초기화 W1=2*rand(50,25)-1; W2=2*rand(5,50)-1; W10=W1; W20=W2; 3. 기계학습 for epoch = 1:1000 [W1, W2]=Multiclass(W1,W2,X,D); end 4. 추정 N=5; for k=1:n x=reshape(x(:,:,k),25,1); v1=w1*x; y1=sigmoid(v1); v=w2*y1; y=softmax(v) end

RealMulticlass.m : 입력데이터 clear all rng(3); X=zeros(5,5,5); 1. 기계학습 TestMultiClass; 2. Data loading X=zeros(5,5,5); X(:,:,1)=[0 0 1 1 0; 0 0 1 1 0; 0 1 0 1 0; 0 0 0 1 0; 0 1 1 1 0 X(:,:,2)=[1 1 1 1 0; 0 0 0 0 1; 0 1 1 1 0; 1 0 0 0 1; 1 1 1 1 1 X(:,:,3)=[1 1 1 1 0; 0 0 0 0 1; 0 1 1 1 0; 1 0 0 0 1; 1 1 1 1 0 X(:,:,4)=[0 1 1 1 0; 0 1 0 0 0; 0 1 1 1 0; 0 0 0 1 0; 0 1 1 1 0 X(:,:,5)=[0 1 1 1 1; 0 1 0 0 0; 0 1 1 1 0; 0 0 0 1 0; 1 1 1 1 0 3. 추정 N=5; for k=1:n x=reshape(x(:,:,k),25,1); v1=w1*x; y1=sigmoid(v1); v=w2*y1; y=softmax(v) end

실습. Matlab => R Softmax.m Multiclass.m TestMulticlass.m RealMulticlass.m.m 에서과업특성파악 => 과업 list 작성 => R code

딥러닝첫걸음 5. 딥러닝 ( 심층신경망 )

심층신경망 : 은닉층 2 개이상다층신경망 심층신경망의문제점 : 그래디언트소실, 과적합, 계산부담 그래디언트소실 : 입력층에가까운은닉층에출력층의오차정보소실 ReLU 함수를활성화함수로활용 과적합 Dropout 으로해소 : 무작위로일부 node 를제외 계산부담 : 하드웨어의발달 + 병렬처리로해소 예제 : 글자맟추기 입력층 (25) 제 1 은닉층 ( 20) 제 2 은닉층 ( 20) 제 3 은닉층 (20) 출력층 (5)

예제 : 글자맞추기입출력 W_1 W_2 W_3 W_4 X Y_1 Y_2 Y_3 Y 20

예제 : 글자맞추기 -BackProp W_1^T W_2^T W_3^T W_4^T E_1 Delta_1 E_2 Delta_2 E_3 Delta_3 E delta 21

예제 : 글자맞추기 - 가중치조정 dw_1 dw_2 dw_3 dw_4 Y_1 Y^2 Y^3 X Delta_1 Delta_2 Delta_3 delta 22

심층신경망학습 2 3

심층신경망학습 (2) 24

심층신경망학습 (3) 25

심층신경망학습 (4) 26

ReLU function

ReLU.m function y=relu(x) y=max(0,x); end

학습데이터, 검증데이터 학습데이터 검증데이터

training function: DeepReLu.m function[w1,w2,w3,w4]=deeprelu(w1,w2,w 3,W4,X,D) 1. Learning Rate alpha=0.01; 2. SGD N=5; for k=1:n x=reshape(x(:,:,k),25,1); v1=w1*x; y1=relu(v1); v2=w2*y1; y2=relu(v2); v3=w3*y2; y3=relu(v3); v=w4*y3; y=softmax(v); 4. Back Propagation d=d(k,:)'; e=d-y; delta=e; e3=w4'*delta; delta3=(v3>0).*e3; e2=w3'*delta3; delta2=(v2>0).*e2; e1=w2'*delta2; delta1=(v1>0).*e1; 5. Update dw4=alpha*delta*y3'; W4=W4+dW4; dw3=alpha*delta3*y2'; W3=W3+dW3; dw2=alpha*delta2*y1'; W2=W2+dW2; dw1=alpha*delta1*x'; W1=W1+dW1; End % end of SGD loop end % end of function 30

TestDeepRelu.m clear all 1. Data loading X=zeros(5,5,5); X(:,:,1)=[0 1 1 0 0; 0 0 1 0 0; 0 0 1 0 0; 0 0 1 0 0; 0 1 1 1 0 X(:,:,2)=[1 1 1 1 0; 0 0 0 0 1; 0 1 1 1 0; 1 0 0 0 0; 1 1 1 1 1 X(:,:,3)=[1 1 1 1 0; 0 0 0 0 1; 0 1 1 1 0; 0 0 0 0 1; 1 1 1 1 0 X(:,:,4)=[0 0 0 1 0; 0 0 1 1 0; 0 1 0 1 0; 1 1 1 1 1; 0 0 0 1 0 X(:,:,5)=[1 1 1 1 1; 1 0 0 0 0; 1 1 1 1 0; 0 0 0 0 1; 1 1 1 1 0 D=[1 0 0 0 0; 0 1 0 0 0; 0 0 1 0 0; 0 0 0 1 0; 0 0 0 0 1 2. 가중치초기화 W1=2*rand(20,25)-1; W2=2*rand(20,20)-1; W3=2*rand(20,20)-1; W4=2*rand(5,20)-1; 3. 기계학습 for epoch = 1:1000 [W1, W2,W3,W4] =DeepReLU(W1,W2,W3,W4,X,D); end 4. 추정 N=5; for k=1:n x=reshape(x(:,:,k),25,1); v1=w1*x; y1=relu(v1); v2=w2*y1; y2=relu(v2); v3=w3*y2; y3=relu(v3); v=w4*y3; y=softmax(v) end

RealRelu.m : 입력데이터실험 clear all rng(3); X=zeros(5,5,5); 1. 기계학습 TestDeepReLU; 2. Data loading X=zeros(5,5,5); X(:,:,1)=[0 0 1 1 0; 0 0 1 1 0; 0 1 0 1 0; 0 0 0 1 0; 0 1 1 1 0 X(:,:,2)=[1 1 1 1 0; 0 0 0 0 1; 0 1 1 1 0; 1 0 0 0 1; 1 1 1 1 1 X(:,:,3)=[1 1 1 1 0; 0 0 0 0 1; 0 1 1 1 0; 1 0 0 0 1; 1 1 1 1 0 X(:,:,4)=[0 1 1 1 0; 0 1 0 0 0; 0 1 1 1 0; 0 0 0 1 0; 0 1 1 1 0 X(:,:,5)=[0 1 1 1 1; 0 1 0 0 0; 0 1 1 1 0; 0 0 0 1 0; 1 1 1 1 0 3. 추정 N=5; for k=1:n x=reshape(x(:,:,k),25,1); v1=w1*x; y1=relu(v1); v2=w2*y1; y2=relu(v2); v3=w3*y2; y3=relu(v3); v=w4*y3; y=softmax(v) end

실습. Matlab => R Relu.m DeepReLu.m TestdeepReLu.m.m 에서과업특성파악 => 과업 list 작성 => R code

Dropout: 일부 node 를임의로제외 과적합문제 : 학습데이터에서지나치게많은정보가들어간다 Dropout: 학습데이터에서무작위로일부정보를제외한다. Dropout 과정 1. Random sampling으로제외할 node를고른다 (Dropout.m) 2. 1. 에서제외한 node를빼고입력-> 출력과정을거친다. (y) 3. 2. 에서얻은 y를이용하여역전파과정을거친다. (delta, e) 4. 2. 3 에서얻은 y와 delta를이용하여가중치를조정한다. 5. 1.-4. 를반복한다. (2-5: DeepDropout.m) ( 실습하지않습니다.)

Dropout.m function ym=dropout(y1,ratio) [m,n]=size(y1); ym=zeros(m,n); num=round(m*n*(1-ratio)); idx=randperm(m*n,num); ym(idx)=1/(1-ratio); end

training function: DeepDropout.m function[w1,w2,w3,w4]=deepdropout(w1,w2,w3,w4,x,d) 1. Learning Rate alpha=0.01; 2. SGD N=5; for k=1:n v1=w1*x; y1=sigmoid(v1); y1=y1.*dropout(y1,0.2); v2=w2*y1; y2=sigmoid(v2); y2=y2.*dropout(y2,0.2); v3=w3*y2; y3=sigmoid(v3); y3=y3.*dropout(y3,0.2); v=w4*y3; y=softmax(v); 4. Back Propagation d=d(k,:)'; e=d-y; delta=e; e3=w4'*delta; delta3=y3.*(1-y3).*e3; e2=w3'*delta3; delta2=y2.*(1-y2).*e2; e1=w2'*delta2; delta1=y1.*(1-y1).*e1; 5. Update dw4=alpha*delta*y3'; W4=W4+dW4; dw3=alpha*delta3*y2'; W3=W3+dW3; dw2=alpha*delta2*y1'; W2=W2+dW2; dw1=alpha*delta1*x'; W1=W1+dW1; end % end of SGD loop end % end of function 36

TestDeepDropout.m clear all 1. Data loading X=zeros(5,5,5); X(:,:,1)=[0 1 1 0 0; 0 0 1 0 0; 0 0 1 0 0; 0 0 1 0 0; 0 1 1 1 0 X(:,:,2)=[1 1 1 1 0; 0 0 0 0 1; 0 1 1 1 0; 1 0 0 0 0; 1 1 1 1 1 X(:,:,3)=[1 1 1 1 0; 0 0 0 0 1; 0 1 1 1 0; 0 0 0 0 1; 1 1 1 1 0 X(:,:,4)=[0 0 0 1 0; 0 0 1 1 0; 0 1 0 1 0; 1 1 1 1 1; 0 0 0 1 0 X(:,:,5)=[1 1 1 1 1; 1 0 0 0 0; 1 1 1 1 0; 0 0 0 0 1; 1 1 1 1 0 D=[1 0 0 0 0; 0 1 0 0 0; 0 0 1 0 0; 0 0 0 1 0; 0 0 0 0 1 2. 가중치초기화 W1=2*rand(20,25)-1; W2=2*rand(20,20)-1; W3=2*rand(20,20)-1; W4=2*rand(5,20)-1; 3. 기계학습 for epoch = 1:1000 [W1, W2,W3,W4] =DeepDropout(W1,W2,W3,W4,X,D); end 4. 추정 N=5; for k=1:n x=reshape(x(:,:,k),25,1); v1=w1*x; y1=sigmoid(v1); v2=w2*y1; y2=sigmoid(v2); v3=w3*y2; y3=sigmoid(v3); v=w4*y3; y=softmax(v) end

Realdropout.m : 입력데이터실험 clear all rng(3); X=zeros(5,5,5); 1. 기계학습 TestDeepDropout; 2. Data loading X=zeros(5,5,5); X(:,:,1)=[0 0 1 1 0; 0 0 1 1 0; 0 1 0 1 0; 0 0 0 1 0; 0 1 1 1 0 X(:,:,2)=[1 1 1 1 0; 0 0 0 0 1; 0 1 1 1 0; 1 0 0 0 1; 1 1 1 1 1 X(:,:,3)=[1 1 1 1 0; 0 0 0 0 1; 0 1 1 1 0; 1 0 0 0 1; 1 1 1 1 0 X(:,:,4)=[0 1 1 1 0; 0 1 0 0 0; 0 1 1 1 0; 0 0 0 1 0; 0 1 1 1 0 X(:,:,5)=[0 1 1 1 1; 0 1 0 0 0; 0 1 1 1 0; 0 0 0 1 0; 1 1 1 1 0 3. 추정 N=5; for k=1:n x=reshape(x(:,:,k),25,1); v1=w1*x; y1=sigmoid(v1); v2=w2*y1; y2=sigmoid(v2); v3=w3*y2; y3=sigmoid(v3); v=w4*y3; y=softmax(v) end