#neural network

back propagation 이란?

multi layer perceptron에서의 학습 알고리즘 이다.

Back propagation Algorithm

다음과 같은 이유로 multi layer perceptron에서 BP를 사용한다.

  1. 넓은 입력공간에서 복잡한 패턴을 가진다.
  2. 병렬 처리를 통해 빠른 계산속도를 가진다.
  3. adaption을 위해 error back propagation을 한다.

Back propagation을 하는 MLP의 구조를 BPN(Back Propagation Network)라고 한다.

작동 원리

BPN은 다음과 같은 복잡한 패턴 매칭 문제를 해결할 수 있다.

  1. 입출력 쌍 패턴 분석을 propagation adoption 방식을 사용하고 학습할 수 있다.
  2. 입력 자극이 hidden layer로 그리고 output layer 로 전달된다.

다음과 같은 순서로 학습이 이루어 진다.

  1. 패턴 입력이 인풋으로 주어짐
  2. 히든 레이어로 전달된
  3. 출력 레이어로 전달되고 출력 패턴이 나옴
  4. desired pattern에서 output pattern의 차를 통해 error를 검출
  5. 검출된 error가 출력 레이어로 부터 히든 레이어로 전달되고 다시 입력단으로 전달됨
  6. 히든 레이어에서 에러의 상대적 기여도가 사용되고, 모든 노드에 대해 수행됨
  7. connection strength가 업데이트 되고, 트레이닝 패턴이 다시 encode됨

BPN Learning Process(Encoding)

히든 레이어의 노드가 모든 입력 패턴을 인식할 수 있도록 스스로 재구성됨

BPN Retrieving Process(Decoding)

  1. 입력된 입력패턴이 학습된 패턴과 같거나 유사하면 output layer에 나타남
  2. 입력된 입력 패턴이 학습된 데이터가 아니면, 히든 레이어에서 자극값을 생성하는 것이 억제됨

BPN

Back propagation 알고리즘의 핵심은 error가 weight를 스스로 업데이트 하는 것이다.
error BP는 지도 학습(supervised learning)의 핵심이다.
여러개의 입출력 쌍을 통해 출력을 예상할 수 있다.

Mapping network
:input과 output을 계산하는 함수

bpn image

GDR(Generalized Delta Rule)

입력 벡터를 통해 i 번체 히든 노드의 입력의 합을 구한다.

gdr image

gdr2

output of th k^th output unit
output of kth output unit

BPN Learning Algorithm

  1. 적용된 input으로 부터 전달된 신호를 기반으로 관련 출력을 계산하라
  2. 에러를 계산하라(desired-actual)
  3. error 를 감소시키기 위한 weight update의 방향을 결정하라.
  4. weight update의 양을 계산하라
  5. weight를 업데이트 하라
  6. 1~5의 과정을 에러가 tolerance ranges 안에 들어갈 때 까지 반복하라.

Perceptron 이란?

frank rosenblatt 박사가 1950년 발표한 내용으로 McCulloch-pitts 모델의 확장 개념이다.
통계적으로 구분된 이론이다.(확률적, 거시적)

photo perceptron의 예

photo perceptron의 예

Perception Convergence Theorem

두개의 패턴을 학습하는 과정에서, 유한번의 사이클 내에 두 개의 패턴을 구분할 수 있다.

perceptron learning algorithm

여기서 N과 P는 각각 Negative, Positive를 의미한다.
P와 N에서 랜덤하게 벡터를 뽑아서 Weight와 곱해준 값이
P의 경우 Positive 해 질때 까지 계속 덧셈을 하고
N의 경우 Negative 해 질때까지 계속 뺄셈을 하여 Positive 하고 Negative 함을 맞추어 준다.

problems in perceptron (single layer) - XOR 문제

single layer perceptron에서는 XOR 함수를 만족하는 weight를 찾을 수 없는 문제가 발생한다.

problems in perceptron

problems in perceptron2

problems in perceptron3

하이퍼 플레인과 hidden node

하이퍼 플레인이란 n차 공간에서 TLU(Threshold Logic Unit)역할을 하는 n-1차 공간이다.

hidden node란 xor 문제를 해결하는 mid-layer들을 의미한다.

하이퍼 플레인과 hidden node

multi layer perceptron을 이용한 XOR 문제의 해결

멀티레이어 퍼셉트론을 이용하여 XOR 문제를 해결할 수 있다.
multi layer perceptron solving XOR Problems

weight vector는 왜 hyper plane과 수직을 이루는가?

weight vector는 hyper plane과 수직을 이룬다.

weight vector is perpendicular to hyper plane

ADALINE(ADAptive LInear NEuron)이란 무엇이며 perceptron 과의 차이점은 무엇인가?

ADALINE이란 adaptive signal processing을 수행한다.

다음과 같은 면에서 perceptron과 차이점을 가진다.

  1. dc 바이어스와 그에 대한 weight가 포함되어 있다.
  2. perceptron은 0, +1의 출력을 가지는데 반해 -1 +1의 bipolar 출력을 가진다.
  3. TLU가 단지 선형함수이다.

perceptron and ADALINE

ADALINE

ALC: Adaptive Linear Combiner
adaline

Least Mean Squares(LMS)

L개의 입력값을 통한 출력값과 L개의 desired output을 비교하여 mean of square error가 가장 작은 weights를 구한다.

ADALINE LMS

solution
ADALINE LMS Solution

RLMS(Relative Least Mean Squares)

학습되어야 할 데이터의 숫자가 증가하거나 벡터의 사이즈가 증가하는 경우에 문제가 생긴다.
모호한 방정식을 풀어야 하거나, 방정식의 개수가 weight보다 많은 경우 문제가 생긴다.
또한 inverse matrix를 구해야 하는 경우도 문제가 되는데, 데이터의 숫자가 많아짐에 따라 Determination이 0이 되는 값이 있을 수 있다.
이 경우 LMS를 줄여주는 방향으로 weight를 스스로 변화시키는 방법으로 weight를 조절해 갈 수 있는데 이를 RLMS라고 한다.

RLMS image

RLMS process

Neural network 설계 프로세스

perceptron의 경우 TLU가 non-linear하기 때문에 계산하기 어려우므로 ADALINE을 이용한다.

1. 학습되어야 할 데이터쌍이 몇개인가?
문제의 복잡도에 따라 다르다. 학습되어야 할 데이터가 많을 수록 더 많은 learning cycle을 필요로 한다.
neural net의 저장용량에 따라 cross-talk 없이 효과적인 학습과 재현이 가능해야 한다.
최종적으로, incremental learning이 필요하다.

2. 각 학습 입력쌍의 기대되는 출력값은 무엇인가?
GMP(Genralized Modus Ponens)와 밀접한 관련이 있다.
학습 쌍이 학습 알고리즘 상의 weight에 저장되어 있다면, 같은 입력 패턴이 들어갔을ㄷ대 반드시 같은 결과 패턴이 나와야 한다.

3. weight vector의 차원은 무엇이며 초기 추측값은 무엇인가?
센서의 개수와 잘 정의된 입력값에 관계가 있다.
초기 추측값은 랜덤하게 선택하거나 대충 선택한다.

4. bias weight이 필요한가? 필요하다면 언제 필요한가?
어떤 필터에서는 필요가 없다.
hyper plane이 원점과 거리가 매우 멀다면 필요하다.

5. pattern의 통계적 성질이 시간에 따라 변하면 어떠한가?
일반적으로 시간에 따른 변수들의 통계적 특성이 불변한다고 가정한다.
만약에 변한다면 학습 주기는 처음부터 다시 시작되어야 한다.

incremental learning을 한다면 하나의 패턴쌍을 제거할 수 있는가? 어떤것이 변하는가?

6. learning coefficient 적합한 값은 얼마인가?
학습계수는 최저값과 최고값이 있어야 한다. 학습에서 이 크기는 매우매우 중요하다.
작은 학습계수는 학습의 수렴이 천천히 일어나게 하고, 큰 학습 계수는 가끔 매우 긴 수렴 주기로 가게 하거나 혹은 발산하게 할 수 있다.

learning coefficient

7. learning cycle의 종료 규칙을 어떻게 정하는가?
출력 조건과 관련이 있다. 만약 기대값과 실제 출력값이 허용치 안에서 계속 머문다면 학습 주기를 종료한다.


neural network의 역사

1940년 후반, 디지털 컴퓨터의 출현

1950년 후반, perceptron과 ADALINE의 출현

1969년 ~ 1980년 초반, single layer perceptron에서 xor 문제 발생

1986년, 전환점을 맞이하게 된다.
multi layer perceptron이 xor 문제를 해결하다.

1990년, optical neural network, 디지털 하드웨어

왜 인공신경망이 각광을 받게 되었는가?

  1. 경험, 데이터, 실험을 통해 강력한 학습이 가능하다.
  2. 물체의 분류와 식별이 가능해진다.
  3. 빠른 병렬연산으로 이상적으로 빛의 속도로 연산이 가능하다.
  4. 잠재 지능이 존재한다.
  5. 수많은 범용 어플리케이션이 나오고 있다.

인공신경망이란?

인공 신경망이란 processing elements 로 구성된 여러개의 장치들이 connection strength or weight이 다른 여러 개의 연결망을 통해 연결된 복합체이다.
많은 패턴들과 수치 데이터들이 학습되고 저장될 수 있다.
여기서 weights란 인공 신경만이 학습하고 저장하기 위한 수치값들로 메모리에 저장되는 값이다.

adaption이란 예제와 실험들로 학습하는 것을 말한다.

생체 신경망과 컴퓨터 신경망의 연산속도

컴퓨터의 속도가 생체 신경망에 비해 10,000,000배나 더 빠른 속도를 보인다.
하지만 컴퓨터는 병렬적 처리를 하지 못하는데 반해 생체신경망은 막대한 병렬연산이 가능하고 복잡하게 연결되어 있기 때문에 컴퓨터가 100msec가 걸려야 풀 수 있는 한번의 인식을 단지 0.1msec 만에 해결한다.

문자의 인식

손으로 작성되었는가 혹은 컴퓨터로 타이핑 되었는가, 기울기 확대율, 회전율 등에 따라 다른 인식율을 보인다.

기본적인 패턴인식은 패턴을 픽셀단위로 분해아여 벡터화 시킨다.
인공 신경망의 node와 connection strength를 조절하여 분석한다.

character recognition

기초적인 생체 신경망

뉴런

  1. 부분적인 투과성을 가진다.
  2. potential 차이가 존재하며 이온들이 이동한다.

이온들이 potential차가 평행을 이루는 지점까지 운동한다.

시냅스

시냅스는 Neuro-transmitter이다.
시냅스가 Ca(+)의 투과성을 높여주면 action potential이 증가한다.

투과성이 critical point를 넘기게 되면 action potential이 이동하여 다른 뉴런에 연결된다.

Neural Network Computation

뇌는 수많은 연결을 통해 어떻게 엄청난 능력을 가지게 되었는가?

McCulloch-Pitts Theory(old)

  1. 뉴런의 활동은 일어나거나 일어나지 않거나 두가지 상태를 가진다. 중간은 없다.
  2. 신경이 흥분되려면 두 개 이상의 시냅스가 흥분되어야 한다.
  3. delay는 오직 스냅스에서만 발생한다.
  4. 억제 시냅스는 뉴런 활동성을 저해한다.
  5. 연결망의 구조는 시간에 따라 변하지 않는다.

뉴런은 단순한 장치이지만, 적절하게 연결되어 신경 시스템을 구성하면 막대한 계산이 가능하다.

Hebbian Learning

생체신경망은 최초에 직렬적으로 작동할 능력과 지식을 갖추지 못했다.

Pavlov’s Conditioned Response

뉴런 A 의 축색돌기가 뉴런 B를 자극하기에 충분하고 지속적으로 계속적으로 자극이 발생한다면 하나 혹은 여러개의 뉴런에서 성장 혹은 신진대사가 이루어 지고 뉴런 C의 효율이 높아진다.
그리고 마침내 뉴런 C를 자극하는 다른 뉴런인 뉴런 B가 증가하게 된다.

파블로프의 모델

파블로프의 조건적 반응

Hebb’s assumption says, “The excitation of neuron A has enough stimulus for neuron B, but that of neuron C doesn’t have. Now, with neuron A, the connection strength of neuron C increases, and eventually, without neuron A, neuron B can be excited by neuron C only.”

General Processing Element

인공 신경세포를 노드 혹은 유닛으로 나타내는 단위이다.

PE의 개념도

PE를 이루는 기본 공식

수학에서 뉴럴 네트워크의 설계는 시간에 따라 변하는 역동적인 시스템이다.

학습 법칙
connection strength는 학습이 진행됨에 따라 업데이트되며, data of weights가 무엇을 배우지에 관한 정보를 기록하게 된다.

vector notations
PE 모델링을 위한 벡터 표기


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×