JANGUN


신경망 이론과 응용


지음 : 김대수 (2005)



목차

제1장 신경망의 개요
제2장 초기의 신경망 이론 및 모델
제3장 다층 퍼셉트론
제4장 홉필드 네트워크 (Hopfield Network)
제5장 코호넨 네트워크 (Kohonen Network)
제6장 ART 네트워크
제7장 시뮬레이티드 어닐링과 볼쯔만 머신
제8장 카운터프로퍼게이션 네트워크
제9장 Cognitron과 Neocognitron
제10장 퍼지 신경망 모델


제1장 신경망의 개요

1940년대 인공두뇌학(Cybernetics), 1960년대 퍼셉트론(Perceptron)
현재 신경망의 연구의 가장 두드러진 동기는 인간 두뇌의 기능과 유사한 신경망이 실현될 것 같은 가능성이다.
신경망은 위상(topology), 노드의 특성, 학습 규칙(learning rule) 등으로 특징지워지며, 많은 간단한 병렬처리 소자들로 이루어진다.

신경망의 배경 :
- 1943년 맥컬럭과 피츠 ‘인간의 두뇌를 수 많은 신경세포들로 이루어진 잘 정의된 컴퓨터'
- 헵(Hebb)의 학습 규칙은 두 뉴런 사이의 연결강도(weight)를 조정할 수 있는 최초의 규칙 => 적응적인 신경망 연구에 많은 영향
- 로젠블럿(Rosenblatt) 1957 퍼셉트론 : 최초의 신경망 모델로 알파강화 규칙을 사용
- 민스키(Minsky)와 파퍼트(Papert)의 ‘퍼셉트론즈‘ : 퍼셉트론 모델을 수학적으로 철저히 분석하여 그 모델의 단점들을 밝혀냄
- 백프로퍼게이션 학습 알고리즘 : 오차를 정정하는 규칙으로서, 입력에 대해 원하는 반응과 실제로 얻어진 것들에 대한 차이를 줄여 나가는 것이다. 오류전파(error propagation)에 의한 내부표현 학습에서, 입력 패턴은 충분한 은닉층 유니트들만 있으면 항상 코드화될 수 있다. 이 과정은 네트워크의 연결강도를 반복적으로 조정하여 실제 신경망의 벡터와 원하는 출력 간의 차이를 줄여 나간다.
- 신경망은 생물학적인 시스템에서 영감을 얻어 정보처리 시스템의 구조화에 관심이 있는 반면, 인공지능은 어려운 문제를 풀기 위해 여러 가지 형태의 지식을 표현하고 유추하는 데 많은 관심을 가지고 있다.
- 인간은 물체를 인식하거나 그것들의 관계들을 파악하고, 언어를 이해하며 기억장치들로부터 적절한 정보들을 문맥상으로 끄집어내고, 계획을 세우고, 전체적인 범위에서 일부분을 인식하는 능력 등에 대해서는 고도로 발달된 컴퓨터보다 아직까지는 훨씬 더 우수하다. 또한 인간은 이러한 것들을 컴퓨터보다 정확히 학습하고 경험을 효과적으로 이용한다. 인간의 두뇌는 인지적인 처리 과정이 컴퓨터보다 우수하는 것이 한 설명이 될 수 있을 것이다.

생물학적 뉴런 :
- 뉴런의 기능 : 정보의 수용, 연산 처리, 출력의 전송 등 3가지이다.
- 구조 : 축색(axon), 수상돌기(dendrite), 세포체
- 시냅스 (cynapse) : 흥분성 또는 억제성
- 인간의 대뇌피질 : 후각 이외의 감각, 지각, 인지, 학습, 기억, 사고 등의 고도의 정보처리 활동과 행동 프로그램 작성 및 운동 명령 등의 제어활동
- 정보처리 기능 : 다입력 1출력, 흥분성과 억제성의 시냅스 결합, 시간적, 공간적 연결강도, 펄스 발생, 아나로그 정보를 펄스 빈도로 전송, 비선형성, 절대 불응기, 상대 불응기, 시간 지연, 순응, 적응, 피로 등

신경망의 특성
- 신경망은 프로그램 되지 않는다. 신경망은 예제를 통하여 학습한다. (주로 지도학습) 예제를 통해 학습을 하는 신경망은 프로그램될 필요가 없는 컴퓨터 시스템을 만들 수 있는 잠재력이 있다. 이 점이 바로 프로그램에 의해서만 작동되는 전통적인 컴퓨터와는 전혀 다른 점이다. 컴퓨터 프로그램은 프로그래머에 의해 미리 정해진 순서를 따라 수행되는데 비하여 신경망은 입력값과 출력값이 주어지면 원하는 결과를 낼 수 있도록 학습하는 것이다.
- 신경망 구조는 정보를 분산된 형태로 코드화한다. 분산 저장 방법은 많은 장점들을 가지고 있는데 그 중 가장 중요한 장점은 정보의 표현이 풍부하다는 것이다. 그러므로 신경망은 네트워크가 일부 파손되더라도 제대로 작동할 수도 있다. 이런 면에서 신경망은 결함허용 시스템이다.
- 신경망은 분류 작업을 수행하는 데 필요한 두드러진 특징들을 발견할 수 있다.
- 신경망은 병렬 분산처리된다.

- 세포체(Cell Body) : Soma라고도 한다.
- 세포핵(Nucleus)
- 가지 돌기(Dendrites) : 여기에서 다른 뉴런으로부터 신호를 수용한다.
- 축삭 (Axon) : 신호를 내보내는 부분.
- 축삭소구 (Axon Hillock) : 활동전위(Action Potential)가 시작되는 곳.
- 축삭 말단 (Axon Ending[1]) : 다른 뉴런과 연접하는 곳.
- 말이집(Myelin sheath) : 일종의 절연체로 다른 곳으로 전기신호가 새나가는 것을 막는다.
- 랑비에 결절(Nodes of Ranvier) : 위의 말이집과 말이집 사이에 절연되지 않는 노출된 축삭이다.
- 뉴런의 접합부 시냅스(Synapse) : 종에 따라 그리고 같은 종이라도 뉴런마다 다르지만 대략 3000~8000개 많으면 10000개까지 있으며, 일반적으로 5000개 가량 있다.




신경망과 인공지능
- 인공지능은 일반적으로 '지능'을 필요로 하는 문제들을 해결하는 데 있어서 컴퓨터를 통하여 더욱 유용하게 만드는 분야로 기술된다.
- 인공지능 방법론은 문제해결을 위한 일반적인 연구에서 규칙이나 프레임의 형태로 이루어진 특정 영역의 지식을 사용하는 것으로 점차 방향을 바꾸었다.
- 신경망의 시작은 인공지능과 거의 같은 시대에 이루어졌다. 1950년대 후반기에 많은 과학자들이 ‘지능적인‘ 시스템을 개발하려고 했을 때 두가지 접근 방법이 대두되었다. 하나는 ‘어떻게 두뇌가 작동하나'에 대한 관점이었고 다른 하나는 ‘두뇌는 무엇을 하나'에 초점이 맞추어졌다. 그 당시에는 인공지능으로 발전한 후자의 견해가 신경망으로 발전된 전자의 경우보다 더 선호되었다.
- 인공지능은 복잡한 문제의 해결을 위하여 여러가지 형태의 지식을 이용한다. 때로는 인간의 문제해결 행위를 면밀히 관찰함으로써 필요한 지식을 얻기도 한다.
- 신경망 관계 연구가들은 아직도 생물학적인 시스템에 근거한 시스템의 구현을 위해 노력하고 있다. 생물학적인 시스템인 수 많은 단순한 뉴런과 같은 처리기를 병렬로 처리하는 것이다. 신경망은 학습과 병렬처리 구현에 중점을 두고 있다.

신경망 모델
- Perceptron (1957)
- Self-Organizing Maps (1980)
- Hopfield (1982)
- Back-Propagation (1974~85)
- Adaptive Resonance Theory (1978~85)
- Boltzmann & Cauchey Machines (1985~86)
- Counter Propagation (1986)

향후 연구 개발과제
- 신경망 크기의 확장
- 신경망 처리의 고속화
- 학습 데이터의 문제 (수집, 오류)
- 학습의 문제
- 실세계 모델링의 문제
- 뉴런 모델과 신경망 모델의 개선
- 새로운 컴퓨터의 개발


제2장 초기의 신경망 이론 및 모델

McCulloch-Pitts 뉴런 (1943)


헵의 학습 규칙 (The Organization of Behavior)
- 생물학적인 지식이나 능력은 계속적인 학습을 통하여 이루어지며 일정한 기간 동안 일어난 학습과정은 새로운 지식이 들어왔을 때 네트워크를 다시 수정하여 개선한다.
-‘헵의 시냅스'라고 알려진 시냅스의 연결강도 조정을 위한 생리학적 학습 규칙을 기술. => 컨넥셔니즘
- 중심 아이디어 : 두 개의 뉴런 A, B가 서로 반복적이고 지속적으로 점화하여 어느 한 쪽 또는 양 쪽 모두에 어떤 변화를 야기한다면 상호간의 점화 효율은 점점 커지게 된다.

퍼셉트론 (Frank Rosenblatt, 1957) 학습과정
- 연결강도들과 임계값을 초기화한다.
- 새로운 입력과 기대되는 출력을 제시한다
- 실제의 출력값을 계산한다.
- 연결강도를 조정한다.
- 퍼셉트론의 실제 출력과 목표 출력 간의 차이를 줄이도록 가중치를 조정하면서 학습한다.
- 2단계로 가서 반복 수행한다.
- 초평면으로 n차원 공간을 두 개의 결정 영역으로 나눈다.




신경망의 3가지 대표적인 비선형 함수
- 계단함수, 임계논리함수, 시그모이드함수


제3장 다층 퍼셉트론

Multilayer Perceptron
- 입력층의 각 유니트에 입력 데이터를 제시하면 이 신호는 각 유니트에서 변환되어 중간층에 전달되고 최종적으로 출력층으로 나오게 된다. 이 출력값과 원하는 출력값을 비교하여 그 차이를 감소시키는 방향으로 연결강도를 조정하는 것이다. 그러나 중간층이 있으면 학습은 어려워진다. 왜냐하면 어떤 연결강도가 오차를 유발시키는 지 알 수 없기 때문이다.

- 은닉층은 왜 필요한가? 다층 신경망의 각 층에는 각각 자신만의 특정함수가 있다. 은닉층에 있는 뉴런은 특성을 파악한다.
- 뉴런의 가중치는 입력 패턴에 숨겨져 있는 특성을 나타낸다. 출력층이 출력 패턴을 결정할 때 이 특성을 사용한다.
- 하나의 은닉층으로 입력 신호의 모든 연속 함수를 표현할 수 있으며, 두 대의 은닉층으로는 불연속 함수도 표현할 수 있다.
- 은닉층은 목표 출력을 '숨기고' 있다. 은닉층의 뉴런은 신경망의 입출력 동작을 통해 관찰되지 않는다.
- 은닉층의 목표 출력이 무엇이 될 것인지 알 수 있는 명확한 방법은 없다. 즉, 은닉층의 목표 출력은 해당 층에서 자체적으로 결정된다.
- 상업적인 ANN은 1~2개의 은닉층을 포함해서 3~4개 층을 사용하고, 각 층에는 10~1000개의 뉴런이 들어간다.
- 실험에 의해서는 3~5개의 은닉층을 포함해서, 5~7개 층까지 있을 수 있다.
- 100가지 이상의 서로 다른 학습 알고리즘이 있지만, 가장 인기 있는 방법은 역전파 방식이다. (1969, Bryson)
- 역전파 방식은 뉴런들 간의 연결(신경망의 구성), 뉴런이 사용하는 활성화 함수, 가중치를 조정하는 절차를 명시하는 학습 알고리즘 (또는 학습 법칙)에 의해 결정된다. (활성화 함수는 주로 시그모이드 함수를 주로 사용한다.)
※ 생물학적 뉴런은 서로 연결된 시냅스의 강도를 조절하기 위해 역방향으로 동작하지 않는다. 즉, 역전파 학습은 인간을 흉내낸 것은 아니다.

백프로퍼게이션 학습 알고리즘
- 백프로퍼게이션 학습 알고리즘은 최소자승 알고리즘의 비선형적인 확장이다.
- 미분의 반복 규칙(chain-rule)을 여러 번 반복적으로 적용하여 확률 근사치 프레임워크(stochastic-approximation framework)으로써 유도해낼 수 있다.
- 입력층의 각 유니트에 입력 패턴을 주면, 이 신호는 각 유니트에서 변환되어 중간층에 전달되고 최후에 출력층에서 신호를 출력하게 된다.
- 이 출력값과 기대값을 비교하여 차이를 줄여나가는 방향으로 연결강도를 조절하고, 상위층에서 역전파하여 하위층에서는 이를 근거로 다시 자기층의 연결강도를 조정해나간다.
- 지도학습에서는 입력 및 원하는 출력(목표출력) 패턴(벡터)이 네트워크에 제시된다. 네트워크는 입력층에 주어진 입력패턴이 출력층에 전파되면서 변한 출력패턴을 목표패턴과 비교한다.
- 네트워크에서 출력된 패턴이 목표패턴과 일치하는 경우에는 학습이 일어나지 않는다. 그렇지 않은 경우는 얻어진 출력패턴과 목표패턴의 차이를 감소시키는 방향으로 네트워크의 연결강도를 조절하여 학습을 한다.
- 델타 규칙은 입출력 함수가 선형의 유니트로부터 이루어진 네트워크에 대하여 모든 입력 패턴으로부터 얻어지는 출력과 목표 출력과의 오차의 제곱의 총합을 최소로 하도록 연결강도를 조정하는 것이다.
- 델타 규칙에 의해 연결강도의 변화가 연결강도 공간상에 주어지는 오차의 제곱을 높이로 하는 곡면에 대하여 최급하강(gradient descent method)을 한다. 즉 오차의 제곱이 가장 많이 감소하는 방향으로 변화한다.

백프로퍼게이션 학습 알고리즘의 문제점
- 지역 최소점에 빠질 가능성이 있다.
- 학습이 완료되기까지 많은 횟수의 반복학습이 필요하다
- 응용분야에 따라 학습 파라미터의 조절이 필요하다
- 추가 학습 시 전체적인 재학습이 필요하다
- 학습의 완료시점을 예측할 수 없다.


제4장 홉필드 네트워크 (Hopfield Network)

Hopfield Network (1982, John Hopfield) (단층 순환 신경망) : 출력에서부터 입력까지 피드백 루프가 있다. 피드백 루프는 신경망의 학습 능력에 많은 영향을 미친다.
- 상호결합형 신경망 모델로서 연상기억이나 최적화 문제를 병력적으로 푸는 데 많이 사용된다. 특히 연상기억에 있어서는 일정한 범용 패턴들을 연결강도로 저장하였다가 미지의 입력패턴이 주어질 때 외와 가장 유사한 패턴을 찾아낸다.
- 물리학적 스핀 모델로부터 착안하여 에너지 개념을 신경망에 도입함. 신경망의 행위가 어떤 양(에너지)을 감소시키는 방향으로 동작.
- 뉴런사이의 연결강도(weight)는 대칭이다. 즉, Wij = Wji
- 각 뉴런들은 완전히 비동기적으로 동작할 때만 안정된 상태에 도달할 수 있다.
- 뉴런의 작용을 단지 임계값의 작용으로 보고 훈련에 의한 정보가 연결강도에 의해 표현된다는 간단한 이론에 기초하고 있으며, 연상기억이나 순회판매원 문제와 같은 최적화 문제를 해결하는 데 있어 매우 유용하다.
- 자신을 제외한 모든 유니트들간에 양방향으로 상호연결된 네트워크인데, 초기 버전에서 입출력은 이진수, 전달함수는 계단함수를 사용함.


제5장 코호넨 네트워크 (Kohonen Network)

자기조직화(self organizing)란 주어진 입력패턴에 대하여 정확한 해답을 미리 주지 않고 자기 스스로 학습할 수 있는 능력

코호넨 네트워크
- 2개의 층으로 이루어져 있다. 첫번째 층은 입력층이고 두번째 층은 경쟁층으로 2차원의 격자로 되어 있다. 모든 연결들은 첫번째 층에서 두번째 층의 방향으로 되어 있으며 두번째 층은 완전 연결되어 있다.
- 뉴런의 연결강도 벡터가 임의값을 가지면서 적합하게 초기화되어야 하며, 연결강도 벡터와 입력벡터가 통상 0에서 1사이의 정규화된 값을 사용한다.
- 코호넨의 학습에서 각 뉴런은 연결강도 벡터와 입력벡터가 얼마나 가까운가를 계산한다. 그리고 각 뉴런들은 학습할 수 있는 특권을 부여받으려고 서로 경쟁하는데 거리가 가장 가까운 뉴런이 승리하게 된다.
- 코호넨 네트워크의 학습 철학은 ‘승자 독점 (winner take all)’이다. 승자만 출력을 낼 수 있으며, 승자와 그의 이웃들만이 그들의 연결강도를 조정할 수 있다.
- 𝑊_𝑛𝑒𝑤= 𝑊_𝑜𝑙𝑑+𝛼(𝑋 − 𝑊_𝑜𝑙𝑑 )
- 𝑊_𝑜𝑙𝑑는 조정되기 이전의 연결강도 벡터이며, 𝑊_𝑛𝑒𝑤는 조정된 후의 새로운 연결강도 벡터이고, X는 입력패턴 벡터이며, 𝛼는 학습 상수이다

코호넨 네트워크의 장점
- 구조상 수행이 상당히 빠른 모델이다
- 연속적인 학습이 가능하다
- 자기조직화를 통한 정확한 통계적 모델이다


제6장 ART 네트워크

ART (Adaptive Resonance Theory)
- 1976년, 보스턴 대학의 Stephen Grossberg, 경쟁학습의 약점인 안정성을 보강하여 제안한 모델
- 기존에 학습되었던 것이 새로운 학습에 의해 지워지지 않도록 새로운 지식을 자동적으로 전체 지식 베이스에 일관성 있는 방법으로 통합
- 적절하게 매치되는 새로운 정보를 이용하여 이미 배운 내용들을 정제(refine)하며, 새로운 인식 카테고리의 학습을 위하여 새로운 유니트를 선택하고, 기억용량을 넘어서는 과다한 새로운 입력에 의해 기존의 취득한 내용이 지워지는 것을 방지한다
- 끊임없이 변하는 환경에서 자신의 메모리 용량을 전부 소모할 때까지는 제한 없는 입력에 대해 실시간으로 빠르고 안정되게 배울 수 있는 구조
- ART-1 네트워크는 자동학습 시스템 구축에 적당하다. 그것은 입력 패턴을 자동적으로 분류하고 이미 알려진 패턴들을 회상(recall)할 수 있다.
- 어떤 새로운 입력패턴이 주어졌을 때 그것과 일치하는 패턴을 발견할 수 없을 때에는 새로운 입력패턴을 학습하게 된다. 단 하나의 변수를 조정함으로써 네트워크는 필요에 따라 패턴 카테고리를 새롭게 재조직할 수 있다.


제7장 시뮬레이티드 어닐링과 볼쯔만 머신

시뮬레이티드 어닐링 : 고체를 높은 온도에서 녹인 후에 지역 최소점에 빠지지 않도록 서서히 식히면서 에너지의 상태를 최소화시키는 방법

볼쯔만 머신
- 1984, G. E. Hinton과 T. J. Sejnowski, 홉필드 모델의 일반화로 여겨질 수 있는데, 홉필드 네트워크의 동작 규칙을 확률적인 동작 규칙으로 확장시킨 것
- 신경망과 시뮬레이티드 어닐링으로부터의 흥미로운 성질을 결합시킨 모델인데 대규모 병렬처리를 이용하는 강력한 계산 장치이다.
- 홉필드 네트워크는 네트워크의 상태를 에너지를 감소시키는 방향으로만 변화시키지만, 볼쯔만 머신에서는 에너지가 증가하는 상태의 전이에 대해서도 작은 확률로나마 허용하는 동작규칙을 사용한다.
- 각 상태의 에너지 값을 정하는 에너지 함수는 유니트 간 연결 강도나 유니트의 임계값 등의 네트워크 변수들에 의해 결정되므로 이 변수들을 적당히 조절함으로써 원하는 평형상태를 실현할 수 있다.
- 이처럼 원하는 평형분포를 실현할 수 있도록 네트워크의 변수들을 조절하는 것이 볼쯔만 머신의 학습이다.
- 볼쯔만 머신은 유니트들이 그들의 상태전이를 국부적으로 평가하기 때문에 병렬처리를 쉽게 해준다.


제8장 카운터프로퍼게이션 네트워크

카운터프로퍼게이션 네트워크
- 1987년 Robert Hecht Nielsen, 코호넨의 경쟁 네트워크와 그로스버그의 아웃스타 구조의 결합


제9장 Cognitron과 Neocognitron

네오코그니트론은 많은 셀들로 이루어진 층들이 여러 개 모여 구성된 계층적 다층 네트워크이다. 이 네트워크는 셀들 사이에 가변적인 연결을 가지고 있으며, 학습에 의하여 패턴을 인식할 수 있는 능력을 가지고 있다. 학습 과정이 끝난 후에 네트워크에서 가장 높은 단계에 있는 셀들의 반응은 패턴 인식의 최종 결과를 보여주며, 입력패턴의 범주에 대응하는 오직 하나의 셀만이 반응을 나타낸다.

코그니트론
- 1975, 후크시마, 패턴인식 모델로서 경쟁 학습을 하는 다층의 신경망 모델

네오코그니트론
- 많은 셀들로 이루어진 층들이 여러 개 연속적으로 연결된 구성을 갖는 다층 네트워크
- 셀들은 아나로그 타입으로 셀들의 입력들과 출력들은 생물학적 뉴런들의 순간적인 점화 빈도들에 대응하는 양의 아나로그 값을 취한다.
- 모양에서 유사성을 근간으로 정확하게 패턴을 인식하고 분류할 수 있는 능력을 혼자서 획득한다.
- 두 셀 사이의 가변적인 연결이 다음의 두 가지 조건을 동시에 만족할 때 강화된다.
-- 연결을 수신하는 셀이 그 주위의 셀들 사이에서 가장 강하게 반응
-- 연결을 보내는 셀이 또한 반응
- 승자독점, 엘리트 교육
- 계층적 네트워크에 있어서, 입력 패턴의 국부적인 특징들은 낮은 단계에 있는 셀들에 의하여 추출되고 이 특징들은 점점 전체적인 특징으로 집중되어 진다.
- 가장 높은 단계에 있는 각 셀은 입력 패턴에 대한 모든 정보를 집중하고 하나의 특정한 패턴으로 반응한다. 그리하여 가장 높은 단계에 있는 셀들의 반응은 네트워크에 있어서의 패턴 인식의 최종 결과를 타나낸다.
- 특징들을 추출하고 모으는 과정 동안 국부적인 특징들의 상대적 위치에 따른 오류가 점진적으로 허용된다. 각 단계에서 한번에 조금씩 위치 오류를 허용하는 동작과정은 한 단계에서 오류를 허용하는 것보다 왜곡된 패턴들을 인식할 수 있는 능력면에서 훨씬 좋은 결과를 가져온다.
- 선택적 주의의 방법이란 몇 개의 패턴으로 이루어진 복잡한 그림으로부터 한번에 한 패턴씩을 선택하여 차례로 인식하는 것을 말한다.


제10장 퍼지 신경망 모델

SONN (Self-Organizing Neural Networks) 모델
- 퍼지 c-means 알고리즘의 퍼지 멤버십 등식을 신경망과 융합한 자율적인 자기조직화 신경망 모델이다.
- 퍼지 c-means 알고리즘은 각각의 데이터와 각각의 클러스터 중심과의 거리를 염두에 두고 유사도 측정을 기반으로 한 목적함수의 최적화 방식을 사용