170 likes | 440 Views
인터넷 환경의 지식시스템 제 13 장 신경회로망. 개요. 생물학적 뇌의 작동원리를 그대로 모방하여 새로운 형태의 컴퓨터를 만들려는 노력 현재 컴퓨터 구조의 한계 Einstein bottleneck : 한 기계 내에서 신호의 전달속도는 빛의 2/3 이상의 속도를 가질 수 없다 . CPU 의 크기가 1 입방피트일 경우 567MHz 를 넘어설 수 없다 .
E N D
인터넷 환경의 지식시스템제 13 장 신경회로망
개요 • 생물학적 뇌의 작동원리를 그대로 모방하여 새로운 형태의 컴퓨터를 만들려는 노력 • 현재 컴퓨터 구조의 한계 • Einstein bottleneck : 한 기계 내에서 신호의 전달속도는 빛의 2/3 이상의 속도를 가질 수 없다. CPU의 크기가 1입방피트일 경우 567MHz를 넘어설 수 없다. • Babbage/Von Neumann bottleneck : 연산장치와 주기억장치가 분리되어 있고 순차처리만이 가능한 통제구조를 가지고 있어 자원의 낭비가 심하다. • Feigenbaum bottleneck : 지식획득 과정 및 획득된 지식의 컴퓨터 내에의 표현을 전적으로 지식공학자의 손에 의존할 경우 너무 많은 시간과 노력이 필요하다. • 컴퓨터와 인간의 두뇌와의 차이 • 컴퓨터는 피코초 단위로 빠르지만 인간의 두뇌는 밀리초 단위 • 그러나, 물체의 인식, 인식된 물체간의 관계파악, 상황판단 및 상황에 적합한 정보의 이용 등에 있어 인간이 훨씬 빠름
뇌의 구조 • 두뇌들간의 비교 • 인간 : 10**14, 지렁이 : 10**3, 파리 : 10**7, 바퀴벌레 : 10**8, 벌 : 10**9 • 슈퍼컴퓨터 : 10**6 CPS(Connections per second) • 곤충 이하의 지능을 실현 • 뉴론 • 뇌를 구성하는 기본적 단위 • 각 뉴론들은 다른 뉴런들과 연결되어 있는 수상돌기를 통해 입력신호를 받아들인 후 간단한 변환과정을 수행한 후 축색을 활성화시켜 변환된 신호를 타 뉴런들에 전달 • 시냅스 : 전달되는 신호의 강도를 조절 • 뉴런간의 전달속도는 느리지만 동시에 수많은 뉴런들이 정보처리과정에 참여 • 뇌에 있어 학습된 내용의 기억 및 재생에 시냅스에 의해 강도가 조절되는 뉴런들간의 연결이 중요한 역할
신경회로망의 특징 • 신경회로망의 특징 • 초병렬분산처리 시스템으로서 정보의 저장, 처리 및 전달을 신경회로망 전체로 수행 • 자기조직화시스템으로서 새로운 이미지나 패턴 또는 사례가 주어졌을 경우 이를 기억하기 위해 자동적으로 자신의 내부상태를 바꾸지만, 이용자의 입장에서는 블랙박스로 존재. 학습된 이미지나 패턴의 일부 또는 손상된 정보로부터 완전하고 정확한 정보를 재생할 수 있는 능력이 있는 연상기억, 내용주소기억이 가능 • 신경회로망에서 학습된 지식은 뉴런들간의 연결강도에 의해 분산저장. 학습방법은 정답을 내도록 기여한 뉴런들간의 연결은 강화시키고, 반대의 경우는 연결을 약화시키는 과정을 반복. 분산저장방법은 Fault Tolerance기능을 가짐 • 복잡한 프로그래밍 과정을 요구하지 않는다. • 패턴의 분류나 인식에 있어 강력한 힘을 발휘한다.
신경회로망의 역사 • 1943년 McClloch와 Pitts에 의해 뉴런의 모형화가 최초로 시도 • 1949년 Hebb가 연결강도조정을 위한 학습규칙을 최초로 기술 • 1957년 Rosenblatt에 의해 최초의 신경회로망 모형인 Perceptron 개발 • 1960년 Widraw & Hoff가 최소자승오차 알고리즘에 근거한 델타 학습규칙을 사용하는 Adaline 발표 • 1969년 Minsky와 Papert에 의해 단일계층 퍼셉트론으로는 exclusive OR문제를 해결할 수 없음이 밝혀짐 • 1982년 Hopfield가 에너지 개념을 이용해 신경회로망의 행위를 분석하고 학습시키는 것이 가능함을 보임 • 같은 해 Werbos 등이 단일 퍼셉트론과는 달리 다계층 퍼셉트론은 학습시킬 수 있는 백프로파게이션(backpropagation)을 발견
문자인식 예제 출력층 (Output layer) 1 2 3 4 5 6 7 8 9 0 …… 은닉층 (Hidden layer) ……………. 입력층 (Input layer) 1 2 3 4 79 80
구성요소 - 처리요소 • 다른 처리요소들로부터 입력을 받아들여 하나의 출력값을 생성하고 이를 연결된 처리요소들에게 전달 • 처리요소들간의 연결강도를 반영하기 위해 연결가중치를 사용 • neti = WijXj , Xi = f(neti) • f : 전이함수 (Transfer function) • 순입력값을 출력값으로 변환시키는 함수 • 비선형함수를 사용하며 특히 시그모이드(sigmoid)함수를 많이 사용 Xj Net i Xi PEj Wi PEi
연결형태 • 전부 연결 • 첫 번째 층의 각 처리요소가 두 번째 층의 모든 처리요소와 연결 • 일부 연결 • 층간의 처리요소들의 연결이 일부만 이루어지는 것 • 전방향 연결 • 첫 번째 층의 처리요소의 출력값이 두 번째 층의 처리요소에 일방적으로 전달 • 양방향 연결 • 전방향 연결과 동시에 두 번째 층의 출력값이 다시 첫 번째 층의 처리요소로 전달되는 피드백 연결을 가짐 • 리커런트 연결 • 한 층 내의 처리요소들 간에 서로의 출력값이 교환될 수 있도록 전부 혹은 일부를 연결 • 온센터/오프서라운드 연결 • 특정처리요소를 기준으로 자신과 이웃하는 처리요소들과는 활성화를 자극하는 연결을 갖고 그 외의 처리요소들과는 활성화를 억제하는 연결을 갖는다.
학습방법 • 학습 : 주어진 사례들을 이용하여 처리요소들 사이의 연결가중치를 스스로 조정하는 과정 • 분류 • 지도학습 : 각 입력자료에 대해 원하는 목표출력값을 대응시켜 학습자료를 구성한 것 • 자율학습 : 목표출력값이 학습자료에 주어지지 않는 것으로 주어진 입력패턴 자체를 기억시키거나, 유사한 패턴을 군집화시키는데 사용 • 오프라인 학습 : 신경회로망의 학습이 끝나 운영상태로 넘어가면 연결가중치들은 더 이상 수정되지 않음 • 온라인 학습 : 운영상태에 있더라도 새로운 패턴이 나타나면 연결가중치를 조정 • 학습규칙 • 헤비안 학습규칙 : Wij = • xj • xi • 델타 학습규칙 : Wij = • xj • errori • 일반화 델타 학습규칙 : Wij = • xj • errori • f’(neti) • 코호넨 학습규칙 : Wij = (xj – Wijold) • : 학습계수, 학습속도를 조절하는 역할 • ti : 목표출력값, errori =(tj – xi), f’ : 전이함수의 미분값
신경회로망 모형 • 다층퍼셉트론 • 단층퍼셉트론의 문제 • Y = w1x1 + w2x2 linear separation • XOR를 해결하지 못함. 그림참조 • 다층퍼셉트론은 any convex shape를 만드는 것이 가능 • Hidden layer를 사용 • Backpropagation 알고리즘 • 전방향 계산과 역방향 계산의 두 단계로 이루어진다. • 전방향 계산 : 주어진 입력값에 대해 신경회로망의 출력값을 계산하는 과정 • 역방향 계산 : 전방향 계산에 의해 얻어진 출력값과 목표출력값의 차이, 즉 오류를 출력층으로부터 입력층으로 역전파시켜가며 연결가중치들을 저장. 이 과정으로 인해 backpropagation이란 이름을 붙음 • Epoch • 한번의 학습단위로서 epoch수를 결정하는 것도 좋은 신경회로망 모형을 결정하는 중요한 요소 중 하나이다. • Overfitting • 지나치게 많은 학습으로 인해 모형이 학습용 데이터에만 잘 맞게 되는 경우
학습의 예 W1 Y X1 = 1 X2 = 0 W2 • Yt : 참값, 즉 나오길 기대하는 값 • Y : 실제로 나온 값 • : Yt – Y • Wi = * * Xi • Wi(new) = Wi(old) + Wi ( =0.2) Yt Y W1 W2 W1 new W1 Case 1 1 0 1 0 1 0.2 0.2 Case 2 0 1 -1 1 0 -0.2 0.8 • Case 3 • Yt = 1, Y = 0.5, = 0.5 • New W1 = 0.5 + 0.2 * 0.5 * 0.7 = 0.57 • New W2 = 0.5 + 0.2 * 0.5 * 0.3 = 0.53 W1 = 0.5 Y X1 = 0.7 X2 = 0.3 W2 = 0.5
신경회로망의 응용 • 경영문제분석과 통계학, 신경회로망 • 경영문제분석의 유의사항 • 기업이 처한 환경은 계속 변화하며 분석자료들은 많은 잡음을 갖고 있다. • 주어진 문제에 대해 고려해야 할 변수가 너무 많고 정성적 변수들이 포함되는 경우가 일반적 • 통계적 분석방법론 적용의 문제 • 변화에 대한 적응이 힘들다 • 분석자료가 갖는 분포에 대한 엄격한 가정이 요구된다. • 계량적 변수와 정성적 변수가 혼합된 경우 성과가 좋지 못하다 • 신경회로망의 가능성 • 대규모 병렬성, 학습을 통한 적응을 이용해 통계학의 한계를 극복 • 지식획득 작업을 위한 수단
신경회로망의 개발방법론 전통적 개발 방법론 전문가 시스템 신경회로망 문제정의 문제정의 문제정의 요구분석사항 개발툴 전략결정 프로토타입 검증 및 수정 학습, 검증자료 수집 • 학습자료가 목표로 하는 문제를 잘 반영하지 못하는 경우, 실패가능성이 높다. • 빠른 시간 안에 원하는 시스템을 개발할 수 있다. 설계 프로토타입구축 전후처리 방법설계 코딩 최종시스템개발 신경회로망 설계 검증 검증 신경회로망 훈련 시스템 전달 시스템 전달 신경회로망 검증 시스템 전달
응용분야 • 시계열 분석 • 일정한 시간간격을 두고 모아진 자료를 그 자체에만 의존하여 예측 • 데이터 패턴의 변동에만 의존하여 이를 수학적 관계식으로 표현 • 자기상관계수 (autocorrelation)를 이용 • 비선형 자기회귀분석과 유사 • 뛰어난 적합능력을 입증 • 제조 및 운영관리 • 최적화 • Hopfield & Tank에 의해 신경회로망에 의한 판매원 여행문제를 해결할 수 있는 알고리즘이 발견됨 • 컴퓨터의 작업처리계획, 위성통신일정계획, 승무원탑승계획 등에 응용 • 품질관리 • 다양한 무늬를 갖는 직물, 가공된 목재의 표면검사 • 병이나 유리의 결점발견 • 물류관리 • 차량수송문제 : 복수대의 차량이 존재하고 각 차량에 적재할 화물의 종류와 양을 결정해야 하므로 순회판매원문제의 확장된 문제
주식시장의 분석과 신경회로망 • 연구형태 • 신경회로망을 이용한 주가예측이 가능한가? • 사례 : White의 IBM 주식에 대한 주가 예측 • 입력으로 예측시점 직전 5일간의 주가수익률을 사용했으나 실망스런 연구결과를 보임 • 주식매매 시점의 포착을 위해 신경회로망을 이용 • 사례 : 일본 후지쯔와 니코증권의 TOPIX 예측 시스템 • 벡터커브, 회전율, 이자율, 외환환율, 뉴욕증시의 다우존스지수 등을 입력으로 하는 여러 개의 작은 신경회로망을 사용 • 사례 : Neural Trading Company • 신경회로망과 전문가시스템을 결합한 하이브리드 시스템 사용 • 패턴인식을 이용해 주식의 매매시점을 포착한 후, 전문가 시스템을 이용하여 자금운영에 대한 최종 의사결정을 내리도록 함 • 재무위험 분석 • 보험, 대출심사, 기업신용평가 등과 같은 재무위험에 대한 분석에 사용
신경회로망의 응용방향 • 복잡한 문제에 대해서는 소규모의 신경회로망을 여러 개 계층적으로 조직하여 사용하는 것이 바람직 • 학습된 신경회로망의 일반화 능력을 높일 수 있는 방법 모색 • 통계분석 들을 통하여 신경회로망의 성과분석을 철저히 하는 검증과정이 필요 • 전문가시스템과 결합 사용함으로써 좋은 결과를 얻은 사례가 많다
연습문제 W1 X1 Y X2 W2 • Feigenbaum bottleneck을 설명하시오. • 신경회로망의 특징을 설명하시오. • 경영문제분석에서 신경회로망의 응용 가능성을 설명하시오. • 단층 Perceptron이 XOR 문제를 해결할 수 없는 이유를 설명하시오. • 오프라인 학습과 온라인 학습을 비교하여 설명하시오. • Backpropagation Algorithm을 간단히 설명하시오. • 다음 Perceptron 모형에서 새로운 W1 및 W2의 값(Wi(new))을 구하시오. 단, 계산 공식은 다음과 같으며, 자료는 다음 표와 같이 1개가 주어져 있다고 가정하시오. Yt : 참값, 즉 나오길 기대하는 값 Y : 실제로 나온 값 d : Yt – Y Wi(new) = Wi(old) + a * d * Xi a = 0.2 W1(old) = 0, W2(old) = 1