Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
신경망 (Neural Networks)
<인공지능입문>강의
허 민 오
Biointelligence LaboratorySchool of Computer Science and Engineering
Seoul National University
목차
신경망이란?
퍼셉트론
- 퍼셉트론의구조와학습목표
- 퍼셉트론의활성화함수
- 퍼셉트론의학습: 델타규칙
신경망의학습
- 다층퍼셉트론
- 다층퍼셉트론의학습: 오류역전파알고리듬
활용사례
2© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
• 본자료는 <기계학습입문> (2017) 강의자료를바탕으로재작성된자료입니다.
• 더공부하고싶은경우, 위강좌홈페이지를참고바랍니다.
* 참고서:장교수의딥러닝,홍릉과학출판사, 2017.
Playground (playground.tensorflow.org)
© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 3
© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr 4
n 오늘의퀴즈링크: (1주차)https://goo.gl/forms/tTR1dcuzhEYTBs8G2
(종료)
© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
인공신경세포 (Artificial Neuron)
생물신경세포 인공신경세포
신경망이란?
6© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
신경망이란?à뇌의신경세포망에서의정보처리기작을모사한머신러닝모델
인공신경망과생물학적신경망
n 부정확한소자 (1011개뉴런)n 소자속도느림 (10-3 초)n 아날로그회로망 (1014개연결선)n 내용기반메모리 (전역적/관계적)n 패턴/연상기반연산 (연관적)n 분산적병렬처리n 학습(경험/데이터)기반암묵적지식
n 정확한소자 (논리소자)n 소자속도매우빠름 (10 –9 초)n 디지털회로망 (전자회로망)n 주소기반메모리 (국지적/독립적)n 논리/산술적연산 (조작적)n 중앙집중식순차처리n 프로그래밍기반명시적지식
컴퓨터와뇌의비교
7© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
다양한인공신경망
8© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
n 딥큐넷(Deep Q-Net)
n 뉴럴튜링머신(Neural Turing Machine)
n 오토인코더(Auto-encoder)
n 메모리망(Memory Network)
n 생성대립넷(Generative Adversarial Network)
n 딥잔차넷(Deep Residual Net)
n 퍼셉트론(Perceptron): 인공뉴런
n 다층퍼셉트론(MLP)
n 컨볼루션신경망(Convolutional Neural Network)
n 순환신경망(Recurrent Neural Network)
n 장단기메모리망(Long short-term memory)
n 딥빌리프넷(Deep Belief Net)
인공신경세포 (Artificial Neuron)
퍼셉트론 (Perceptron)
9© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
n 퍼셉트론n 생물학적신경세포의작동방식을수학적으로모델링한인공뉴런
n 뇌의구조를모사한정보처리방식
n 1958년 Rosenblatt가학습이가능함을증명
퍼셉트론 (Perceptron)
n 퍼셉트론n 목표: 주어진데이터를기준으로두개의클래스로분류하는경계면찾기n 인접한두뉴런의연결부분인시냅스에서학습이일어남
n 출력노드의값
10
= + =
=
퍼셉트론 (Perceptron)
n활성화함수 (Activation function)n 경계면의부근의모양을결정
n 선형활성화함수 (Linear Activation function)
n 시그모이드함수 (sigmoid function)
11© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
= = = () = 11 +
퍼셉트론 (Perceptron)
n활성화함수 (Activation function)n 경계면의부근의모양을결정
n 하이퍼볼릭탄젠트함수 (tanh function)
n ReLU (Rectified Linear function)
12© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
=
= 1 − 1 +
= max(0, )
여러퍼셉트론들
n 단순퍼셉트론(Simple Perceptron)n 활성화함수로임계논리활성화함수를가지는퍼셉트론
n 임계논리활성화함수(threshold logic unit)
n입력의총합이임계치를넘으면 +1, 그렇지않으면 -1을출력
n 1958년에 Rosenblatt이학습방법을제안
n 선형퍼셉트론
n 활성화함수로선형활성화함수를가지는퍼셉트론
n 선형분리가가능한패턴분류문제만해결가능
n 1960년에 Widrow와 Hoff가학습방법을제안: 델타규칙 (Δ-rule)
13© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
여러퍼셉트론들
n 시그모이드뉴런n 선형퍼셉트론은선형분리가가능
한패턴분류문제만해결가능
n 복잡한문제를풀기위해서는
비선형결정경계를생성해야함
n 미분이가능하려면
연속함수일필요가있음
n 시그모이드(sigmoid)함수: 비선형, 미분가능한연속함수
14© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
Classic Perception 1
0.8
0.6
0.2
-2-4-6 642
0.4 = ()(1 − )Sigmoid function is Differentiable
⋮ =
= ( ) = 11 +
= 1ΣΣ
델타규칙
n 델타규칙에의한학습알고리듬n 학습데이터 N개
n 가중치벡터 w를갖는선형유닛의계산
n 학습데이터집합에대한오차 E
15© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
= , () () = (); = ()
= = 12 () − ()
델타규칙
n 선형퍼셉트론의구조
16© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
() () ⇔ ()
() = ; = ∑
⋮⋮ = 12 −
= { , }
델타규칙
n 델타규칙에의한학습알고리듬(cont.)n 오차를줄여주는방향으로시냅스가중치를교정
오차를가중치 에대해서미분
17© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
← + ∆∆ = − = () () = () 12 () − () ()= 12 −2 () − () () = − () − () ()
델타규칙
n 델타규칙에의한학습알고리듬(cont.)n i번째가중치의학습식
n ∈ (0,1)은학습률 (learning rate)
18© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
← + () − () ()
델타규칙
n 선형퍼셉트론학습을위한델타규칙
19© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
선형퍼셉트론학습 (학습예_집합 , )
각학습예는 <, > 꼴의쌍을이루며 는입력값벡터, 는목표출력값이다. 는학습률이다 (e.g., .05).
1) 각 를크기가작고랜덤한값으로초기화2) 종료조건이만족될때까지아래를반복
A. 각 ∆를 0으로초기화
B. 학습예_집합 의각 <, > 에대해아래를실행
i. 선형유닛에 를입력하고출력 를계산ii. 각선형유닛가중치 에대해∆ ← ∆ + − 를계산iii. 각선형유닛가중치 에대해 ← + ∆를실행
델타규칙
n 시그모이드뉴런신경망n 가중치입력계산시비선형의시그모이드전이함수를거쳐서출력함
(Aizerman, Braverman, & Rozonoer, 1964)
n [−∞, +∞]의입력구간 s에대한출력을 0, 1 의구간으로변환해줌n미분가능
20© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
= = = = 11 + exp −
= ()(1 − )
델타규칙
n 시그모이드뉴런의델타규칙n 시그모이드유닛의계산
n 오차의가중치에대한미분
21© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
() = () () = ((); ) = 11 + exp −() = () () = () 12 () − () ()() ()= 12 −2 () − () () 1 − () ()= − () − () () 1 − () ()
← + () − () ()(1 − ())()
델타규칙
n 시그모이드뉴런의델타규칙(cont.)n i번째가중치의학습식
n ∈ (0,1)은학습률 (learning rate)n 시그모이드를미분한항 ( − )가추가된것외에동일함
22© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
다층퍼셉트론
n 다층뉴런의필요성n 복잡한패턴분류를위해서는입출력간의복잡한변환구조가필요n 단일뉴런으로는선형분리가 가능한결정경계선만을생성가능n 사용하는뉴런의수를늘리고층을추가하여복잡한구조의의사결정경계(decision boundary)를 생성할수있음
n 다층퍼셉트론 (Multilayer Perceptron, MLP)n 여러개의퍼셉트론뉴런을여러층으로쌓은다층신경망구조n 각층안에서는뉴런간연결이없으며인접한두층의뉴런간에는완전연결됨n 층별활성화값
n j: 시냅스후뉴런, i: 시냅스전뉴런
23© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
= = = 11 + exp −
다층퍼셉트론
n 다수 / 다층뉴런의필요성
24© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
다층퍼셉트론
n다층퍼셉트론신경망(MLP)
25© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
다층퍼셉트론
n 다층퍼셉트론의혁신n 시그모이드뉴런의사용
n비선형모델로확장가능n연속함수이므로미분가능n은닉뉴런층의학습을가능하게하는오류역전파알고리듬의개발로이어짐
n 은닉뉴런층추가n 은닉층학습방법도입
26© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
n 다층신경망모델n 입력층, 은닉층, 출력층으로구성
n 각층의뉴런개수가각각 I, H, K라하면 I-H-K 다층퍼셉트론이라부름n 입력유닛, 은닉유닛, 출력유닛을가리키는기호로 i, h, k를각각사용
n 입력뉴런 i의출력 는모든은닉뉴런 h와의연결가중치 를통해서전달됨n 은닉뉴런 h의출력은모든출력뉴런 k의입력으로연결선 를통해서전달됨
n 매개변수n : 입력층과은닉층을연결하는가중치벡터n : 은닉층과출력층을연결하는가중치벡터
27© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
다층퍼셉트론
다층퍼셉트론
n 다층신경망모델n 출력값벡터 f
n 출력값의계산과정n 은닉뉴런의출력값 의계산n 출력뉴런의값 의계산
28© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
= , , … , = (, ) = ()
= = 11 + exp − = ()
= = 11 + exp −
= , = () ()
오류역전파알고리듬
n 출력뉴런 j에대한가중치벡터변경
n (): − 1층에있는뉴런들의활성화값n (): 층의 j번째뉴런의총입력값
29© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
← + ∆∆ = − 1 −
() = () () = ()()() = () = (())()() = ()()() = ()(1 − ())
오류역전파알고리듬
n 단순퍼셉트론에서다층퍼셉트론으로
30© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
오류역전파알고리듬
n 출력뉴런 j에대한가중치벡터변경(cont.)n 번째학습예에대한오차함수n 출력층 층에있는 j번째뉴런의델타값 ()
n 해당뉴런의입력총합에대한에러변화율의음수값n 교정할오류를의미
31© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
= 12 − ()
() ≜ −
오류역전파알고리듬
n 델타값의계산n 연쇄규칙을사용n 목표출력치가주어지는출력뉴런에대한델타값
n 출력층 층에있는 j번째뉴런에연결된시냅스의경사도
32© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
() = () ()() = − − () () 1 − ()
() = − () ()(1 − ())() = () ()() ()() = − − () ()() ()= − − () () 1 − () () = −()()
오류역전파알고리듬
n 델타값의계산(cont.)n 은닉층에서는목표출력치가없으므로델타값을추정해야함n 은닉층 층에있는 j번째뉴런의가중치수정
n + 1층의델타값 ()을이용한 ()의계산
33© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
() = () ()() = −()()
() = () ()() ()()∈ = −()()()(1 − ())∈ = −()(1 − ()) ∑ ()()∈ () = − ()
오류역전파알고리듬
n 델타값의계산(cont.)n 층의 j번째뉴런에연결된시냅스가중치벡터의일반변경식
34© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
() ← () + ∆()∆() = − () = ()()() = () 1 − () − () for ∈ () 1 − () ()()∈ for ∈
오류역전파알고리듬
n 상위층의델타값을이용한하위층뉴런의델타값계산
35© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
= +
오류역전파알고리듬
n 오류역전파알고리듬의한계n 학습속도가느림n 극복방법: 모멘텀항을추가하여학습을가속(Yin, 1996)(Bishop, 2006)
36© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
∆ = ∆ = + ∆ − 1 , 0 < < 1
오류역전파알고리듬
37© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
오류역전파(error back-propagation) 학습알고리듬
Given: 학습데이터 = (), () , 학습률 , 다층퍼셉트론구조 (, )
Find: 다층퍼셉트론연결가중치벡터 = ∑ ∑ (), − () Procedure: 다층퍼셉트론학습
1. 연결가중치 를임의의작은값으로초기화한다.
2. 입력데이터 () 하나를입력층에넣고활성화값을전방으로전달하면서출력값 (), , = 1, … , 를계산한다.
3. 각출력뉴런 k에대한오차 = − 1 − 를계산한다( = (), ).
4. 출력뉴런 k에대한연결가중치값의증분 ∆ = − = 을계산한다.
5. 은닉뉴런 h에대한오차 = 1 − ∑ 를계산한다.
6. 은닉뉴런 h에대한연결가중치의증분 ∆ = − = 를계산한다.
7. 가중치의값을모두수정한다. ← + ∆ for ∈ ()
활용사례
n 다층신경망의활용n 다양한감독학습문제에적용가능
n입력과출력이다차원인경우n입력과출력이이산값 / 연속값인경우
n MNIST 데이터셋에적용(LeCun, Cortes, & Burges, 1998)n입력: 숫자이미지픽셀값의벡터n출력: 0부터 9까지의숫자클래스값
n 스팸메일여과기만들기(Clark, Koprinska, & Poon, 2003)n입력: 메일에나오는단어들에대한빈도수벡터n출력: 스팸인지아닌지를판별하는두개의클래스값
38© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
n 신경망의응용사례
39© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
활용사례
n 다층신경망의구체적인활용사례: 얼굴방향인식n 학습데이터: 20명의다른사람을촬영한 624장의흑백이미지
(Mitchell, 1997)n가로 120픽셀, 세로 128픽셀의이미지를가로 30픽셀, 세로 32픽셀로가공
n 신경망의입력층뉴런수를줄여계산부담을더는효과
n각픽셀은 0에서 255 사이의밝기를가짐n사진속얼굴이바라보는방향은상, 좌, 우, 정면 4가지로분류
40© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
활용사례
n 다층신경망의구체적인활용사례: 얼굴방향인식(cont.)n 실험에사용한모델
n 입력층뉴런: 가공이미지의픽셀수와같은 960개n 은닉층뉴런: 3개n 출력층뉴런: 4개
n 각뉴런이얼굴이바라보는방향중하나에대응됨n 가장큰값을보이는뉴런의방향이이미지속얼굴방향과같도록학습을진행
n 학습방법n 신경망의가중치는크기가작은랜덤값으로초기화n 학습가속을위해경사도계산시모멘텀항추가n 학습을 50번반복할때마다검토용데이터(validation set)에대한성능을측정, 가장높은인식정확도를보이는신경망을얻음
41© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
활용사례
n 얼굴방향인식문제를학습한신경망과학습된가중치의분포
42© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
활용사례
n 다층신경망의구체적인활용사례: 얼굴방향인식(cont.)n 은닉층의경우뉴런개수를자유롭게조절하여모델성능에변화를줄수있음n Mitchell의실험결과
n은닉층뉴런이 3개인경우n 학습시간: 5분n 테스트데이터에대한방향인식정확도: 90%
n은닉층뉴런이 30개인경우n 학습시간: 60분n 테스트데이터에대한방향인식정확도: 91.5%
43© 2017, 장교수의딥러닝, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
활용사례
n 퍼셉트론n 생물학적신경세포의작동방식을수학적으로모델링한인공뉴런
n 델타규칙n 선형퍼셉트론의학습을위해사용
n 다층퍼셉트론n 비선형모델로확장됨, 미분가능: 오류역전파알고리듬의개발로연결
n 오류역전파알고리듬n 상위층뉴런의델타값을이용하여하위층뉴런의델타값을계산
n 활용사례n 얼굴인식, 음성인식등복잡한패턴인식에응용됨
44© 2018, 인공지능입문, SNU CSE Biointelligence Lab., http://bi.snu.ac.kr
요약