대학원 수업/패턴인식

[4장] 인공신경망(1/2)

따옹 2022. 10. 23. 09:10

4장 신경망

인공 신경망 Artificial Neural Network (ANN)

뇌의 정보처리 모방하여 인간에 필적하는 지능 컴퓨터에 도전

분류기로서의 신경망! 

 

신경망은 40년대 개발되어 인간 지능에 필적하는 컴퓨터 개발이 목표이다.

4.2절 : 선형분류기로서 퍼셉트론

4.3절 : 비선형분류기로서 다층 퍼셉트론

 

뇌에서 처리하는 방법을 컴퓨터 구조로 짜서 문제를 해결하려하는 시도

 

간략한 역사

1943 최조 신경망

1958 퍼셉트론 선형적인 문제를 풀기때문에 비선형적인 문제는 풀지 못한다

86 다층 퍼셉트론 single layer perceptron. - multi, 역전파

1990~2007 SVM

 

신경망 특성

학습을 통해 신경망 구성

일반화, 병령처리 가능, 현실적 문제에서 우수, 다양한 문제 해결 도구

기존에 비해서 성능이 좋아지고 상용화 된 것들이 있지만 여전히 우리가 원하는 지능 수준에는 도달하지 못하고 있음

복잡한 경우에서는 성능이 많이 떨어짐

 

퍼셉트론

레이어, 노드, 에지(커넥션), 웨이트, 학습, 활성함수 

input, output 구조는 퍼셉트론

 

linear regression

 

구조

d

d+1개의 노드가 존재

 

노드의 연산

입력노드 : 신호를 받는 노드

출력노드 : 전달된 값들의 웨이트 합을 구한 다음 활성함수를 반영

 

퍼셉트론은 선형 분류기

g(x) = g1(x)-g2(x) > , < 0

 

 

 

퍼셉트론 학습은?

학습 데이터가 주어졌을 때 그것을 올바르게 분류하는 w값들을 찾는것 

x는 특징 벡터 feature vector

t - true class

 

AND 분류 문제를 풀기 위해서는

y = -x + 1.5

 

AND 함수 구현 

x,y, 절편을 여러가지로 설정할 수 있음

 

 

패턴인식에서 일반적인 학습 알고리즘 설계 과정

1. 분류기 구조 정의와 분류 과정의 수학적 정의

2. 분류기 품질 (accuracy), error rate / 비용함수가 작아지는 방향으로(loss function, objective function목적함수)

3. 최적화

 

선형분류기로서의 간단한 ANN

J(Θ)

오분류된 샘플들 Y

오분류된 x들에 대해서 정답과 예측의 부호가 다름 그래서 앞에 -를 곱해줌 

에러함수를 양수로 만들어줌

 

내리막 경사법 iterative method답을 반복해서 local mina 위험(<->closed form eq 답이 한 번에 비교적 이론적)

j(Θ)가 감소하는 방향으로 더하거나 빼줌

목적함수에서 비용함수를 목적함수로 미분한 값을 빼주는 것이 학습의 방법

Θ 업데이트

 

j값이 더 이상 감소하지 않는 지점까지 진행

학습률 p(learning rate)를 곱하여 조금씩 이동

 

해가 하나면 문제가 잘 진행된 것

local mina가 있다면 여러군데에서 Θ를 랜덤하게 

j(Θ)값이 작아지는 방향으로 진행

 

 

 

알고리즘 스케치 

초기해 설정, 해를 업데이트

퍼셉트론 학습 규칙

 

퍼셉트론 학습 알고리즘 형태로 표현

batch mode

훈련 집합과 학습률 p가 주어졌을 때, 전체 샘플w와 b를 이용해 정답과 틀리면 오류 샘플로 수

오류 집합에 대해 txwk로 해서 현재 w업데이트 진행

위의 작업을 반복

y가 공집합이 될 때까지

퍼셉트론의 퍼레미터로 설정

 

초기값을 가지고 샘플들을 분류해봤을 때, 샘플의 오분류 집합을 넣고

w, b를 업데이트

2번 선분에 대한 오분류 샘플을 분류하고 a를 이요해서 w,b를 업데이트

이런 식으로 반복 작업 수행

 

포켓 알고리즘(패턴 모드)

선형 분리 불가능한 상황, j(Θ)=0 대신 j(Θ)를 최소화

pattern mode