본문 바로가기
🤖 Artificial Intelligence/Intelligent System

[지능형 시스템] Chapter 6. 오차역전파법 ( Backpropagation )

by 파띵 지수 2023. 6. 9.
728x90

본 < 지능형 시스템 > 시리즈는 부산대 정보컴퓨터공학과 차의영 교수님의 '지능형 시스템' 강의에서 배운 내용을 바탕으로 작성합니다.


배경

  • 신경회로망의 부활
    • Minsky와 Papert의 Perceptrons(1969)이후 20년간 침체.
    • PDP(Parallel Distributed Processing (1986) group :
      (1) Rumelhart(사진), McClelland, Elman, Sejnowski, Smolensky, Zipser 등
      (2) Backpropagation 알고리즘의 유행.
      (3) 선형분리 등 여러 문제점 해결.
  • Multi-layer Perceptron의 등장
    • Input layer와 output layer 사이에 하나 이상의 중간층을 가지는 구조.
    • Input layer, hidden layer, output layer로 된 전방향 네트워크(feedforward network).
    • 단층 퍼셉트론과 구조 유사.
    • 각 층의 입출력 특성을 비선형으로 함으로서 단층 퍼셉트론의 단점 극복.
    • 단층의 경우 pattern space를 두 구역으로 분할.
    • 2층은 convex open 혹은 closed 형성. 3층은 어떤 형태의 영역도 구성.

Backpropagation

🔑 출력값과 목표값을 비교하여 차이(오차)를 줄이는 방향으로 연결강도를 조정한다.

  • 신경회로망을 학습시키기 위하여 경사 하강법(gradient-descent 혹은
    steepest-descent)을 사용한다.
    • 경사도 방법은 오차 최소화(error minimization) 과정과 유사하다.
  • 상위층에서 하위층으로 역전파하면서 자기층의 연결강도를 조정한다.

🔑 지도학습(supervised learning)의 전형적인 예 이다.

  1. 입력, 목표값이 제시된다.
  2. 입력패턴이 주어지면 출력값이 계산되고 목표값과 비교한다.
  3. 출력값과 목표값이 같으면, 학습끝나고, 같지않으면, 에러를 줄이는 방향으로 연결강도를 조정한다.

알고리즘

(1) 가중치 wij 에 작은 임의의 값을 할당.
(2) 모든 훈련 벡터에 대하여, 입력 벡터 X와 목표 출력 T를 입력.
(3) 신경망의 출력 Y를 계산.
(4) 학습 : 만약 Y 가 목표 출력 벡터 T와 일치되지 않으면, 가중치는 다음과 같이 조정한다.

예제

1과 4를 학습 시킨 Target Output은 각각 0,1 이고, 가중치는 아래와 같다.
이때, 히든층과 출력층의 가중치를 각각 수정해보자.

 

 

여기까지가 한번의 실행이고, 두번째에서 또 1과 4에 대해서 반복 계산하여 가중치를 수정해나간다.

한계 및 대안

한계

  1. local minima에 빠질 수 있다.
  2. 학습률이 너무 작으면 학습이 끝이 없으며, 반대로 학습률이 너무 크면 계속 진동을 한다.

대안

  1. momentum을 추가하여 전이(transition)를 원만하게 한다.

기타 사항

  1. 가중치가 몇개인지에 따라 x-layer가 결정된다.
    (예) 입력층 1개, hidden 층 2개, 출력층 1개 가 있다.
    층은 총 4개가 있지만 실질적으로 가중치는 세 개 있기 때문에 three-layer 라고 부른다.
반응형