다층 퍼셉트론의 학습과 최적화 알고리즘 부산대학교 전자전기컴퓨터공학과 김민호
Perceptron 새로운 개념들 등장 Input layer, output layer Node, Weight(connection strength) Activation function
Perceptron – 구조 구조 Input layer: d+1개의 node (특징 벡터 x=(x1 , … , xd)T) Output layer: 한 개의node (따라서 binary classifier) Edge와 weight
Perceptron - 원리 노드의 연산 Perceptron = Binary classifier 입력 노드: 받은 신호를 단순히 전달 출력 노드: 합 계산과 활성 함수(activation function) 계산 Perceptron = Binary classifier
Perceptron - 예제
Perceptron - 학습 Perceptron의 학습 a=(0,0)T b=(1,0)T c=(0,1)T d=(1,1)T ta= -1 tb= -1 tc= -1 td=1 1 c d ? ? x1 y ? a b x2
일반적인 학습 알고리즘 설계 과정 단계 1: 분류기 구조 정의와 분류 과정의 수학식 정의 단계 2: 분류기 품질 측정용 비용함수 J(Θ) 정의 단계 3: J(Θ)를 최적화하는 Θ를 찾는 알고리즘 설계 단계 1과 2 단계 3
Perceptron의 학습 – 단계 1 매개변수 집합 Θ={w, b}
Perceptron의 학습 – 단계 2 분류기 품질을 측정하는 J(Θ)를 어떻게 정의할 것인가? 𝑌: 오분류된 샘플 집합 𝐽(Θ)는 항상 양수 𝑌가 공집합이면 𝐽(Θ)=0 |𝑌|가 클수록 𝐽(Θ) 큼
Perceptron의 학습 – 단계 3 현재 해를 방향으로 이동 학습률(learning rate) ρ를 곱하여 조금씩 이동 J(Θ)=0인 Θ를 찾아라. 내리막 경사법 (Gradient descent method) 현재 해를 방향으로 이동 학습률(learning rate) ρ를 곱하여 조금씩 이동
Perceptron의 학습 – Delta rule 알고리즘 스케치 초기해를 설정한다. 멈춤조건이 만족될 때까지 현재 해를 방향으로 조금씩 이동시킨다. 알고리즘에 필요한 수식들 퍼셉트론 학습 규칙 (델타 규칙)
Perceptron의 학습 - 알고리즘
Perceptron의 학습 – 예제 ① ② w(0)=(-0.5,0.75)T, b(0)=0.375 d(x)= -0.5x1+0.75x2+0.375 Y={a, b} ② d(x)= -0.1x1+0.75x2+0.375 Y={a}
Perceptron의 학습 – 예제 ③ ④ d(x)= -0.1x1+0.75x2-0.025 Y={b} Y={a}
Perceptron의 학습 - 구현 구현 초기값 어떻게? 학습률 어떻게? 패턴 모드와 배치 모드 패턴 모드 학습 알고리즘
Perceptron의 학습 – 포켓 알고리즘 선형 분리 불가능한 상황 J(Θ)=0이라는 목표 를 버리고, J(Θ)를 최 소화하는 목표로 수 정
Multi-layer Perceptron(MLP) 선형 분리 불가능한 상황 퍼셉트론의 한계 퍼셉트론으로 최대 몇 개까지 맞출 수 있을까?
MLP - 구조와 원리 XOR 문제 퍼셉트론은 75% 정인식률이 한계 이 한계를 어떻게 극복? 두 개의 퍼셉트론 (결정 직선) 사용
MLP - 구조와 원리 두 단계에 걸쳐 문제 해결 단계 1: 원래 특징 공간을 새로운 공간으로 매핑 단계 2: 새로운 공간에서 분류
MLP - 구조와 원리
MLP - 아키텍처 입력층, 은닉층, 출력층 가중치: u와 v
MLP – 입/출력 신경망은 일종의 함수
MLP - 전방 계산 (forward computation)
MLP – Activation Function 시그모이드라는 비선형 함수 사용
MLP - 아키텍처 은닉층은 몇 개로? 층간의 연결은 어떻게? Free-forward MLP(FFMLP)? 각 층의 노드는 몇 개로? 어떤 활성 함수 사용할까? 2019-07-05
MLP - 학습 패턴 인식에서 일반적인 학습 알고리즘 설계 과정 단계 1: 분류기 구조 정의와 분류 과정의 수학식 정의 단계 2: 분류기 품질 측정용 비용함수 J(Θ) 정의 단계 3: J(Θ)를 최적화하는 Θ를 찾는 알고리즘 설계 2019-07-05
MLP – 학습 단계 1 & 2 단계 1 단계 2 (비용 함수 정의) (4.12)와 (4.13)의 전방 계산이 분류기의 식 매개변수 집합 Θ={u, v} 단계 2 (비용 함수 정의) 2019-07-05
MLP – 학습 단계 3 단계 3 (최적 해 찾음) 오류를 줄이는 방향으로 Θ를 수정해 나감 2019-07-05
MLP - 학습 vjk를 위한 갱신값 Δvjk 의 유도 vjk가 미치는 영향
MLP - 학습 uij를 위한 갱신값 Δuij 의 유도 uij가 미치는 영향
MLP – 오류 역전파
MLP 학습 예제
MLP 학습 예제
오류 역전파 알고리즘의 계산 복잡도 Θ((d+m)pHN) H는 세대 수 많은 시간 소요 예) MNIST 필기 숫자 데이터베이스는 N=60000
MLP - 인식 인식 알고리즘 시간 복잡도 Θ((d+m)p) N에 무관, 빠름 2019-07-05
구현과 몇 가지 부연 설명 몇 가지 부연 설명 네트워크 아키텍처 (은닉 노드 개수 등) 가중치 초기화 언제 종료할 것인가? 목적 벡터의 표현과 활성 함수 (이진 모드와 양극 모드) 샘플 처리 순서 학습률 국소 최적 점 탈출 2019-07-05
매개변수 설정 일반적인 경우에 적용되는 보편 규칙은 없다. 경험과 실험을 통해 설정해야 한다. 신경망 성능이 매개변수에 아주 민감하지는 않기 때문에 어느 정도의 실험과 경험을 통해 설정 가능