Study/AI System2009. 5. 23. 23:14

과제로 MLP를 이용한 데이터 분류기를 구현해 보았습니다.

 

1. 설계 주제

 

동물의 특성 hair, feathers, eggs, milk, airborne, aquatic, predator, toothed, backbone, breathes, venomous, fins, legs, tail, domestic의 15가지 특징 벡터를 입력으로 받아 들여 어느 동물인지 구별하여 동물의 특징(서식지, 이동형태, 먹이)과 이름, 사진을 보여주는 분류기를 설계합니다.

 

2. 데이터 설명

 

입력 데이터는 100개이며, legs특성을 제외한 모든 특성은 참과 거짓을 나타내는 0, 1의 두 가지 값을 가지며 legs특성은 0, 2, 4, 5, 6 8의 값을 가집니다.

출력 데이터 또한 100개 이며 1개의 데이터마다 각 동물의 특징을 분류 할 수 있는 10개의 값을 가지고 있다. 값은 0.1과 0.9 두 가지입니다.

 

3. 분류기 설계

 

3.1 선택 이유

동물에 대한 특성을 입력하여 판별하기에 MLP(Multilayer Perceptron)는 학습 알고리즘으로서 어느 정도 성능이 좋은 오류 역전파 알고리즘을 사용하여 학습을 하고 많은 양의 데이터에 성능이 좋은 신경망 회로이기에 선택하게 되었습니다.

 

3.2 구조

MLP는 입력 층, 중간 층, 출력 층의 3가지 층으로 구성되어 있으며 중간층과 각 unit 의 입출력 특성을 비선형으로 함으로써 네트워크의 능력을 향상시킬 수 있습니다. 출력 값과 원하는 출력 값을 비교하여 그 차이를 감소시키는 방향으로 연결강도를 조정합니다.

 

3.3 구현

http://lcn.epfl.ch/tutorial/english/ 사이트의 C언어로 작성된 MLP를 이용한 빨간 망토라는 간단한 예제 프로그램을 바탕으로 WPF를 사용하여 C#언어로 구현하였습니다.

패턴수와 중간층 개수를 입력받아 초기화 시킬 수 있다. 학습 결과 확인을 쉽게 하기 위하여 동물 이름을 선택하면 동물의 속성을 보여주어 쉽게 속성을 체크할 수 있도록 하였습니다.

 

영어로 된 동물이름을 한글화 하였고 데이터 파일은 xml포맷을 사용하였습니다.

입력 값은 체크박스와 콤보박스로 여러 가지를 선택할 수 있게 하였습니다.

결과 값은 패턴 오류율, 오류율 0.01을 기준으로 학습 충분 패턴과 학습 필요 패턴을 구분하고 동물의 특징과 동물 사진을 보여줌으로써 결과 값을 확실하게 인식할 수 있도록 하였습니다. 빨간 망토 예제와 같은 정확성을 위하여 c#의 random함수와 exp함수를 사용하지 않고 c언어의 random함수와 exp함수를 dll로 만들어 import하여 사용하였습니다.

 

4. 실험

 

4.1 실험 데이터

100개의 입력 데이터는 ZOO 데이터 베이스를 사용하였고 본래 17가지 특성 중 마지막 2가지 특성의 의미를 파악하지 못해 2가지를 제외한 15가지 속성을 가지게 되었습니다.

100개의 출력 데이터는 각 동물의 특성을 나타낼 수 있도록 10가지로 분류하여 만들었습니다.

 

4.2 분류기 학습 및 학습 결과

입력데이터와 목표 출력데이터에 대하여 동물패턴을 학습시킨 결과는 다음과 같습니다.

중간층은 10개로 정하고 두 패턴씩만 검색해 보았습니다. 학습 횟수는 한번에 1000회 하였습니다.

 

- 처음화면

                                                             

 

- 10패턴

                                     

                학습횟수: 1000                                                                    학습횟수: 1000

                송아지 검색 성공                                                                   메기 검색 성공

 

- 20패턴

                                                       

                학습 횟수: 1000                                                                    학습 횟수: 1000

                돌고래 검색 성공                                                                    가제 검색 성공

 

- 30패턴

                                   

                학습 횟수: 2000                                                                    학습 횟수: 3000

                개구리 검색 성공                                                                    큰 박쥐 검색 성공

 

- 40패턴             

                                   

                학습 횟수: 18000                                                                    학습 횟수: 2000

                홍학 검색 성공                                                                         고릴라 검색 성공

 

- 50 패턴

                                                   

                학습 횟수: 2000                                                                    학습 횟수: 32000

                밍크 검색 성공                                                                       갈매기 검색 성공

 

- 60 패턴

                                   

                학습 횟수: 14000                                                                    학습 횟수: 61000

                염소 검색 성공                                                                         종달새 검색 성공

 

- 70 패턴                

                                   

                학습 횟수: 5000                                                                     학습 횟수: 83000

                너구리 검색 성공                                                                     타조 검색 성공

 

- 80 패턴                   

                                   

                학습 횟수: 1000                                                                    학습 횟수: 11000

                해마 검색 성공                                                                       순록 검색 성공

 

- 90 패턴                   

                                     

                학습 횟수: 15000                                                                     학습 횟수: 48000

                작은 뱀 검색 성공                                                                      도둑 갈매기 검색 성공

 

- 100패턴                 

                                   

                학습 횟수: 4000                                                                     학습 횟수: 12000

                타조 검색 성공                                                                        백조 검색 성공

 

몇 십번의 실험을 하여 본 결과 대부분의 패턴들이 50000번 미만의 횟수로 학습이 되어 쉽게 검색 할 수 있었습니다. 학습 할수록 에러율이 감소 되었고 찾고자 하는 패턴의 값에 가까워 져 가는 걸 동물의 특징의 변화로 알 수 있었습니다.

패턴의 수가 증가할 수록 평균적으로 학습 횟수가 조금씩 증가 하였습니다. 하지만 간 혹 몇몇 패턴들은 오랜 학습 횟수에도 에러율이 감소하지 않고 일정 수준에서 맴돌았으며 검색이 되지 않았습니다. 또한 중간층의 개수가 증가 할수록 학습 속도가 감소 되어졌습니다.

 

4.3 실험 결과

패턴의 수가 증가 할 수 록 약간의 학습 횟수가 증가하였지만 대부분의 평균적 학습 횟수로 패턴을 찾을 수 있었습니다. 또한 학습 횟수에 따라 오류율이 줄어들면서 가까운 값을 찾아가는 것을 보고 오류역전파 알고리즘의 특징인 목표 출력 값에 가깝게 연결 강도를 조정하는 것을 볼 수 있었습니다. 그래서 많은 양의 데이터에 효율적인 MLP의 성능을 볼 수 있었습니다. 하지만 몇 몇 패턴들은 많은 학습 횟수에도 에러율이 줄지 않고 일정 수준에서 맴도는 현상으로 패턴을 찾지 못하여 오류 역전파 알고리즘의 문제점을 확인 할 수 있었습니다.

 

오인식의 이유는 오류역전파 알고리즘을 사용할 때 발생하는 다음 4가지 문제점과.

 

① 학습이 완료되기까지 많은 횟수의 반복학습이 필요.

② 응용분야에 따라 학습 파라미터의 조절이 필요.

③ 추가 학습시 전체적인 재학습이 필요.

④ 학습의 완료시점을 예측할 수 없음.

 

오류역전파 알고리즘의 문제점인 지역 최소점에 빠질 가능성이 있다는 점, 포화영역에서 잘 동작하지 않는다는 점, 신호기 입력에서 출력까지 한 방향으로만 흘러가는 전 방향 방식이라는 것입니다.

또한 중간층이 증가 할수록 학습 속도가 감소하는 것은 중간층이 있을 때 학습은 어려워 지기 때문이다. 왜냐하면 어떤 연결강도가 오차를 유발 시키는지 알 수 없기 때문입니다.

실험 결과가 간 혹 다른 동물이 나올 때가 있는데 입력 속성와 출력 속성이 같은 중복된 데이터가 몇 가지가 있어서 가장 나중에 일치하는 동물이 나오게 되는 것입니다.

 

실험결과 그래프는 다음과 같습니다.

                            

 

 

5. 요약

MLP를 이용하여 15가지의 특성을 가지는 동물 입력패턴 100개와 이에 대응하는 목표 출력 패턴 100개를 학습시킨 후 찾고자 하는 동물의 특성을 입력하여 찾아내는 동물 분류기를 WPF를 사용하여 C#으로 구현하여 보았습니다. 입, 출력 데이터는 zoo 데이터베이스를 사용하여 분류기에 맞게 수정 및 생성하였습니다. 실험 결과 패턴이 증가함에 따라 학습 횟수도 조금씩 증가하였지만 대부분 평균적인 학습 횟수로 찾고자 하는 패턴을 검색할 수 있었습니다. 하지만 몇몇 패턴들은 일정 값에 머무르는 오류역전파 알고리즘의 문제점을 보였습니다.

또한 중간층이 많아짐에 따라 학습 속도가 감소가 감소함을 보였습니다. 이것은 중간층이 있으면 학습은 어려워 지기 때문입니다. 왜냐하면 어떤 연결강도가 오차를 유발 시키는지 알 수 없기 때문입니다.

 

오류역전파 학습 알고리즘은 다층의 구조를 갖는 복잡한 신경망 학습 알고리즘으로 최급하강법을 기본으로 한 매우 유용한 패턴인식 해법입니다.

하지만 문제점도 여러 가지 존재합니다.

지역 최소점에 빠질 가능성이 있다는 점, 포화영역에서 잘 동작하지 않는다는 점, 신호기 입력에서 출력까지 한 방향으로만 흘러가는 전 방향 방식이라는 것입니다.

또한 사용할 때 다음의 문제점이 있습니다.

 

① 학습이 완료되기까지 많은 횟수의 반복학습이 필요.

② 응용분야에 따라 학습 파라미터의 조절이 필요.

③ 추가 학습시 전체적인 재학습이 필요.

④ 학습의 완료시점을 예측할 수 없음.

 

1, 2 번을 해결하기 위한 해결방안으로는 일괄 수정법, 출력값의 제한, 모멘텀 방법, 수정 모멘텀 방법, 학습계수의 최적화 방법, 복잡도 방법, 선택적 재학습 방법, 연결강도 개수의 축소의 8가지 방법입니다. 하지만 3, 4번은 피할 수 없습니다.

 

이번 실험에서도 위와 같은 여러 가지 문제점이 발생하였습니다.

 

6. 소감

MLP를 구현하면서 많은 시행 착오가 있었지만 신경회로망에 대해 열심히 공부하고 조금이나마 알 수 있었던 좋은 시간이었습니다. 처음 C언어로 된 소스를 분석해서 C#으로 작성하고 입력데이터 한글화와 목표출력데이터 100개를 만드는데 2일정도의 시간이 소요되었습니다. 그 후에 많은 실험으로 잘못된 부분을 수정하고 수정해서 실험하게 되니 참으로 기뻤습니다. 이론적으로만 공부하던 내용을 직접 구현하고 실험해보니 재미도 있고 여러 가지 사실들에 대해 직접 느낄 수 있어서 재미있고 보람있는 시간이었습니다.

 

[ 시연영상 ]

 

전체 소스는 첨부파일을 다운 받으시면 됩니다.

 

'Study > AI System' 카테고리의 다른 글

홉필드 신경회로망을 이용한 연상 메모리  (0) 2009.03.23
신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.17
Posted by 열ㅇl
Study/AI System2009. 3. 23. 00:01

❏ 문제 설명

홉필드 알고리즘을 이용하여 특정 패턴을 학습 시킨 후 노이즈가 있는 패턴을 입력하였을 때 근접한 패턴을 찾게 만듭니다.

 

프로그램 설명

WPF를 통해 구현하였으므로 .net Framework3.0이상에서 실행됩니다.

ㄱ,ㄴ,ㄷ, 세가지 패턴이 등록되어 있으며 노이즈가 있는 패턴 입력 시 근접한 패턴을 찾아 출력합니다.


[ 실행화면 ]


[ 시연영상 ]

'Study > AI System' 카테고리의 다른 글

Multilayer Perceptron을 이용한 Zoo 데이터 분류  (0) 2009.05.23
신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.17
Posted by 열ㅇl
Study/AI System2009. 3. 18. 01:08

퍼셉트론

  - 1957년 미국의 Rosenblatt가 단순히 패턴을 인식하기 위해 제안한 모델.

  - 입력 패턴이 두 개의 클래스 중 어느 하나에 속함을 결정할 때 주로 사용되는 모델.

  - 입력값이 정확하지 않고 다른 클래스에 대한 분포가 평균값에서만 차이가 난다는 점에서 최대유사 가우시안 분류기와 개념상 유

    사.

  - 이동,확대,중복 및 회전된 패턴인 경우 결정 경계선이 계속적으로 진동함으로써 정확히 분류되지 못하는 단점.

  - 이점을 보완하고자 최소 평균 자승 알고리즘 또는 Widrow-Hoff방법이 제시,

  - 이 방법은 원하는 출력값과 실제 출력값과의 평균 자승 오류를 최소화 시킨 것.

  - 3층의 퍼셉트론 모델에서는 활성화 함수로써 시그모이드 함수를 이용한 학습 방법이 오류 역전파 알고리즘.

 

  문제점:

  - XOR문제나 패리티 비트 문제 등의 학습이 불가능함.

  - 즉, 두가지 패턴을 동시에 선형 분리할 수 없다는 것.

 

다층 퍼셉트론

  - 입력층과 출력층 사이에 하나 이상의 계층을 갖는 신경 회로망

  - 예) 3층 퍼셉트론은 입력층과 출력층 사이에 하나의 은닉층을 갖음.

  - 단층 퍼셉트론의 단점을 해결하기 위해 제안된 모델.

  - 적당한 학습 알고리즘이 없다는 이유로 많이 사용되지는 못하였지만 새로운 알고리즘의 개발로 많이 사용되고 있음.

  - 그것이 오류 역전파 알고리즘.

 

오류 역전파 알고리즘

  - 델타 규칙에 하나 이상의 은닉층이 있는 3층 이상의 신경 회로망으로 확장한 학습 방법. (일반화된 델타 규칙)

  - 일반화된 LMS알고리즘.

  - 원하는 출력값과 실제 출력값과의 차이의 제곱을 가장 최소화 하고자 경사 하강 방법 적용.

  - 입력 노드와 관련없는 클래스의 모든 노드의 원하는 출력값은 점점 낮아지고 반대인 경우는 점점 높아짐.

  - XOR문제나, 음성 인식 및 합성 문제, 시각 패턴 인식 문제 등에 많이 이용되어 좋은 결과를 보여줌.

 

  몇가지 문제점

  - 첫째, 수렴을 위해 필요한 훈련 데이터의 입력 횟수가 대개 100번 이상으로 매우 많음.(특히 음성의 경우)

  - 둘째, 가중치가 수렴하지 않고 발산하는 경우 심각한 문제점을 초래할 수 있음.

 

다층 오류 역전파 알고리즘의 문제점

  - 지역 최소점에 빠질 위험이 있다.

  - 포화 영역에서 잘 동작하지 않는다.

  - 전방향 방식으로 입출력이 진행된다. (고차원 시스템 구현시 문제가 될수 있다.)

  - 기타 문제점: 학습이 완료되기까지 많은 횟수의 반복 학습이 필요.

                      응용분야에 따라 학습 파라미터의 조절이 필요.

                      추가 학습시 전체적인 재학습이 필요한 문제.

                      학습의 완료시점을 예측할 수 없다는 문제점.

 

다층 오류 역전파 알고리즘의 문제점에 대한 개선 방법

  - 일괄 수정법

  - 출력값의 제한 방법

  - 모멘텀 방법

  - 수정 모멘텀 방법

  - 학습 계수의 최적화 방법

  - 복잡도 방법

  - 선택적 재학습 방법

  - 연결 강도 개수의 축소방법

 

'Study > AI System' 카테고리의 다른 글

Multilayer Perceptron을 이용한 Zoo 데이터 분류  (0) 2009.05.23
홉필드 신경회로망을 이용한 연상 메모리  (0) 2009.03.23
신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.17
Posted by 열ㅇl
Study/AI System2009. 3. 18. 01:07

- 정보 전달 방식에 따라 대개 두형태로 분류

- 상호 결합형: 각 노드들이 서로 결합되어 결과를 서로 전달하는 피드백 과정이 있음.

- 계층적 입출력형: 각 노드들로 구성된 계층이 2개에서 n개까지의 계층으로 나누어져 있어 한 층의 노드들은 다른 층의 노드로 출력 결

   과만을 전달하는 방식으로 입출력 관계를 갖음.

 

신경회로망의 기능

  1. 연상기능.

  2. 최근접 데이터의 인출기능.

  3. 특징 추출 기능.

  4. 조합론적 폭발 문제 해결 기능.

  5. 비상 안전 기능.

  6. 감지 정보 처리 기능.

  7. 제어기능.

  8. 지식 정보 처리 기능.

 

홉필드 모델(Hopfield Network)

 
  
- 1982년 미국의 물리학자인 Hopfield가 발표한 모델.

  - 정보의 흐름이 양방향

  - 피드백이기 때문에 자신의 노드로부터 나온 출력값을 다시 입력으로 받는 상호 겷바형 네트워크 구조.

  - 모든 입출력값이 정확한 이진 상태로 표현 가능.

  - 문자를 ASCII나 픽셀값으로 표현이 가능할 경우 가장 적당한 모델.

  - 입력값이 연속적인 형태일 경우는 아날로그 값을 디지털 값으로 바꾸어 주어야 하는 문제점 때문에 다소 좋지 않은 결과 얻을 수

    있음.

 

  두 가지 제약 조건

  - 첫째, 노드간의 결합 강도가 대칭적.

  - 둘째, 신경 회로망내의 모든 노드들이 서로 비동기적으로 동작하는 병렬 컴퓨터 모델의 특징을 갖고 있음.

 

  - 각 뉴런이 그것에 들어온 신호의합계가 어떤 임계치를 넘으면 흥분하고, 그 이하이면 흥분하지 않는 상태가 되는 신경회망을 모델

  - 연상 메모리로 구현 가능.

  - 극소점: 시간이 변함에 따라 에너지의 산을 내려가서 계곡에 떨어져서 빠져나올 수 없는 점에 이른 점.

  - 연상 메모리: '하늘'이란 입력으로 부터 '파랗다', '높다' 등의 개념을 출력하거나, 불완전한 문자열 또는 이미지를 입력하여 완전
                       한
문자열 또는 이미지를 출력하는 원리.

                       기존의 컴퓨터에는 주소에 의해 기억한 내용을 찾아오는 방식과는 다른 방식.

                       기억된 내용과 같은 수준의 정보로부터 검색하는 방식이기 때문에 내용 주소 메모리라고도 불리움.

                       기억한 내용을 완전히 병렬로 검색할 수 있어서 고속의 데이터베이스 검색 등 많은 분야에 응용이 가능.

 

  두가지 제한점

  - 첫째, 너무나 많은 패턴이 기억된다면 분류하는데 제한점이 따름.

  - 학습에 필요한 클래스 수는 입력 노드 수보다 약 15%를 초과하지 않도록 하는 것이 효율적.

  - 둘째, 입력 패턴이 너무나도 부정확하면 다른 클래스로 분류될 가능성이 높음.

 

'Study > AI System' 카테고리의 다른 글

홉필드 신경회로망을 이용한 연상 메모리  (0) 2009.03.23
신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.17
지식의 표현  (0) 2009.03.17
Posted by 열ㅇl
Study/AI System2009. 3. 18. 00:54

연결성 모델 또는 뉴로 모르픽 시스템이라 불리움.

신경회로망을 구성하는 기본 단위는 뉴런.

음성, 이미지 분석등 계산량이 많고 병렬성을 요구하는 문제에 적합한 모델.

 

기본구성 요소

 
  1. 처리기(Processing units)

  - 신경 회로망 모델에서 매우 중요하고도 기본적인 단위.

  - features, letters, words, concepts 또는 abstract element 등의 보통 의미를 가진 작은 엔티티를 나타내는 패턴.

  - 즉, 단일 유니트 단일 개념 관계를 만족.

  - 여러 처리기들이 동시에 그들의 계산을 수행할 수 있기 때문에 PDP라고도 불리움.

  - 신경 회로망을 모델화 하려면 보통 세개의 처리기 종류를 갖는다.

  - 입력 처리기: 외부로 부터 시스템으로 입력을 받아들이는 처리기.

  - 출력 처리기: 반대로 시스템으로부터 출력을 내보내는 처리기.

  - 중간처리기: 시스템내에 입출력값이 모두 있으며 외부에는 전혀 보여지지 않는 처리기.

 

  2. 활성화 상태(activation state)

  - 각 처리기들이 시간 t에서의 시스템에서의 상태 의미.

  - 시스템이 시간  t에서 나타내는 처리기들의 활성화 패턴을 말하는 것.

  - 시간 변화에 따라 시스템의 내부 변화 상태를 알아 볼때 유용.

  - 활성화 상태값은 여러 모델에서 다양한 값을 갖음.

  - 연속적인 경우 0,1 사이의 값

  - 비연속적인 경우 0,1 두 이진값만을 나타냄. (0: 비활성화, 1: 활성화)

 

  3. 출력 함수(output function)

  - 처리기들은 이웃 처리기들에게 신호를 전달함으로써 정보를 전달.

  - 신호의 강도는 이웃처리기에 영향을 미치는 정도.

  - 즉, 활성화 정도에 의해 결정.

 

  4. 연결패턴(connectivity pattern)

  - 시스템이 임의의 처리기에 대해 어떻게 반응하느냐를 의미

 

  5. 전파규칙(propagation rule)

  - 한 처리기의 출력 벡터 o(t)와 처리기로의 각 입력 형태에 대해 순수 입력값을 생성하기 위해 가중치와 결합화 할 규칙.

 

  6. 활성화 규칙(activation rule)

  - 특정 처리기에 들어오는 각 순수 입력값들을 조합하여 그 처리기의 현재 상태로부터 새로운 상태를 구할 수 있는 규칙.

 

  7. 학습 규칙(learning rule)

  - 연결강도의 변화

  - 대표적으로 1949년 Hebb의 학습규칙.

  - 한 처리기의 지식 변화는 인접된 다른 처리기에도 변형을 주는데, 보통 세가지 형태로 영향을 주게된다.

  - 새로운 연결생성, 기존 연결의 상실, 기존 연결의 강도 수정

 

  8. 환경(environments)

  - 신경회로망 모델에서의 환경은 입력 패턴에 대해 시간이 변화하는 확률론적 함수.

 

신경 회로망의 특징

  - VonNeumann형 컴퓨터에 비해 다음과 같은 장점을 가진다.

  - 첫째, 시스템이 매우 견고하다.

  - 둘째, 결점에 강한 성질을 갖는다.

  - 셋째, 상속 병렬성을 가진다.

  - 넷째, 구현하기가 단순하다.

  - 다섯째, 분류 기능을 갖는다.

 

일반적인 디지털 컴퓨터와 신경 회로망의 비교

 
  - 디지털 컴퓨터은 정보처리 장치와 주기억 장치가 물리적으로 분리되었지만 신경회로망은 그렇지 않다.

  - 처리방식은 디지털 컴퓨터가 순차 처리 방식인 반면 신경 회로망 컴퓨터는 병렬처리 방식.

 

  1. 정보형태

  디지털 컴퓨터: 이진수로 정확하게 표현된 디지털 형태의 정보를 처리

  신경 회로망  : 아날로그 형태의 신호 정보를 처리

 

  2. 의사결정

  디지털 컴퓨터: 논리 연산에 의해서 가부가 확실한 의사 결정.

  신경 회로망  : 애매하고 모호하며 불완전한 데이터에 근거하여 비교하여 의사 결정.

 

  3. 처리 절차

  디지털 컴퓨터: 엄격하게 정해진 순서에 의해서 데이터를 다루므로 동작을 항상 통제할 수 있어 결과의 예측이 용이.

  신경 회로망  : 데이터를 처리하는 방법에 관하여 스스로 규칙을 만들어가기 때문에 때때로 의외의 결과를 산출.

 

  4. 처리 시간

  디지털 컴퓨터: 어떤 문제이든지 충분한 시간이 주어지면 정확한 해답 찾음.

  신경 회로망  : 대단히 복잡한 문제에 대해서 짧은 시간에 근사한 해답 찾음.

 

  5. 정보의 검색

  디지털 컴퓨터: 데이터 베이스를 검색해서 정확한 데이터를 분류.

  신경 회로망  : 근접한 데이터 분류.

 

  6. 정보의 저장

  디지털 컴퓨터: 특정의 데이터를 손쉽게 검색할 수 있도록 정보를 저장.

  신경 회로망  : 정보의 일부를 검색하면 관련된 모든 정보가 자동적으로 함께 인출될 수 있도록 정보를 저장.


학습

  - 신경 회로망을 구성할 때 가장 중요한 사항은 신경 회로망의 특성을 좌우하는 두가지 요소인 시냅스의 연결 방식과 뉴런의 학습
    규
칙.

  - 신경 회로망은 한마디로 가중치를 조절하는 과정이라 할수 있는데 이러한 과정을 학습이라 함.

  - 평가 방식은 두가지다.

  - 교사 학습: 외부에서 교사 신호로써 입력 신호에 대한 정답 출력을 주는 방식.

  - 무교사 학습: 평가 기준은 있으나 일일이 교사 신호를 주지 않은 학습 방법.

 

 

'Study > AI System' 카테고리의 다른 글

신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.17
지식의 표현  (0) 2009.03.17
지식의 표현  (0) 2009.03.17
Posted by 열ㅇl
Study/AI System2009. 3. 17. 22:53

신경회로망

  인간의 뇌의 구조를 컴퓨터로 구현하여 보다 인간과 유사한 기능을 가진 컴퓨터를 만들어 보자는 개념에서 출발된 이론.

 

제 1기(1940년대 - 1960년대): 초기 모방기

  - 1943년 McCulloch와 Pitts는 뇌의 기본 구성단위인 뉴런을 단순 모델화하여 연산 작용과 기억 체계등에 이용하고자 함.

  - Weiner의 Cybernetics와 Rosenblatt의 Perceptron 모델은 인간의 뇌가 학습한다는 중요한 원리 제공해준 계기.

 

제 2기(1960년대 - 1980년대): 침체기

  - 1969년 신경 회로망의 한계성에 관한 Minsky와 Papert의 신경 회로망의 한계성에 관한 연구에 따라 컴퓨터와 뇌의 연구가 점차
     분

  - Minsky는 퍼셉트론이란 책에서 신경 회로망의 결함 발표

     첫째: 퍼셉트론의 신뢰성 할당 문제

     둘째: 논리 연산 기능 중 XOR 문제에 정확한 해를 제시 할 수 없음.

 

제 3기(1980년대 - 현재): 발전기

  - Hopfield교수의 연구로 인해 신경회로망이 매우 활기를 띠기 시작

  - 제 2기의 Minsky가 제시한 문제점에 대한 해 제시

    첫째: XOR문제는 오류 역전파 알고리즘을 이용하여 해결

    둘째: 60년대보다 신경회로망을 지원하는 하드웨어의 성능이 2000배 이상 증가

    셋째: 다른 인공지능이 해결하지 못했던 패턴 인식 분야에 신경회로망이 이용되면서 좋은 결과 보여줌.

 

응용분야

  공학분야: 병렬 분산형 구조에 응용하려는 연구

  인지과학 분야: 병렬 분산 정보 처리를 지향하는 연결형 모델이나 PDP모델을 이용한 연구.

 

'Study > AI System' 카테고리의 다른 글

신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.18
지식의 표현  (0) 2009.03.17
지식의 표현  (0) 2009.03.17
인공지능시스템  (0) 2009.03.17
Posted by 열ㅇl
Study/AI System2009. 3. 17. 22:38

복합적 지식표현

  문제의 특성에 따라서는 하나의 표현 방법만으로는 표현하기 어려운 경우가 있다. 이때 여러가지 표현 방법을 혼합한다.

 

 지식공유 시스템

  - 피츠보그 대학의 요게시 말호트라 교수는 "예측할 수 없을 정도로 급변하는 경영 환경 속에서 기업의 생존과 경쟁력을 갖추는 경
    영으
로 정보 기술로서 데이터,정보의 가공능력과 인간의 창조적 혁신적인 능력을 통합해 가치창조의 극대화를 추구하는 기업의 조
    직적 프
로세스"라 정의.

 

META Group

  - 조직의 경쟁력을 갖추기 위해 반드시 필요한 지식을 형성해 정보를 확대하고 관리하며, 글로벌하게 전달하기 위해 활용되어지고 IT
    지
원 기술을 받침목으로 하여 형성된 조직 프로세스의 집합체

 

지식관리 시스템(KMS)

 - 조직내의 인적자원들이 축적하고 있는 개별적인 지식을 체계화하여 공유함으로써 기업경쟁력을 향상시키기 위한 기업 정보 시스
   템.

 - 개념: 인적 자원이 소유하고 있는 비정형 데이터인 지적 자산을 기업내에 축적, 활용할 수 있도록 하자는 것.

 

'Study > AI System' 카테고리의 다른 글

신경회로망  (0) 2009.03.18
신경회로망  (0) 2009.03.17
지식의 표현  (0) 2009.03.17
인공지능시스템  (0) 2009.03.17
인공지능의 연구분야  (0) 2009.03.17
Posted by 열ㅇl
Study/AI System2009. 3. 17. 22:00

지식표현의 필요성

  지식

  - 인간의 지적인 활동에 의해 획득된 의미를 나타네는 데이터의 집합.

  - 지식 표현 문제는 정보 의미론과 깊은 관계.

  - 컴퓨터에 지식을 조직화하고 축적하기 위해 지식 베이스와 지식의 표현방법들이 필요하게 됨.

 

지식의 정의 및 형태

 
 
데이터: 가장 1차원적인 자료.

            외부 세계에서 우리의 감각기관을 통해 인지 또는 인식된 자료.

  정보: 데이터를 정리한 것.

  지식: 정보를 개념화 한 것으로 데이터보다는 추상화 정도가 높은 자료.

          정보가 개념화 또는 체계화 되어 진 것.

  개념: 구조화된 정보의 구조가 인간에게 이해될 경우.

  유익한 지식: 합목적적으로 개념화된 형태의 정보

  지식베이스: 특정한 문제 분야의 지식을 쉽게 접근할 수 있는 형태로 컴퓨터 내에 체계적으로 축적한 것.

  지식 기반 시스템: 방대한 양의 특정 분야 지식을 축적하고 있는 지식 베이스를 이용하여 추론기관을 통해 문제를 풀게하거나 판단
                           작업
을 자동화화는 시스템.

  지식의 형태 분류:

  1. 대상과 그 속성에 관한 지식

     - 몇가지 속성에 의해 특성 지어지는 대상에 대한 기술 (새는 날개가 있다. 바다는 푸르다 등..)


  2. 대상간의 관계에 관한 지식

     - 2개 혹은 그 이상의 대상사이에 성립하고 있는 관계에 관한 기술. (교수는 학생을 가르친다. 너와 나는 친구사이이다 등..)


  3. 사상, 행위, 상태에 관한 지식

     - 사건 그 자체를 부호화 하는 것 뿐 아니라 일련의 사건에 관한 시간 경과와 인과관계를 나타내 줄 필요가 있는 것들을 기술

       (하늘에서 천둥이 친다. 자전거를 타다. 기압이 낮아지기 때문에 산에서 밥을 할 때에는 돌을 놓아야한다 등..)


  4. 인과 관계적인 지식

     - 사상이나 상태가 그들 사이의 인과 관계에 의해 변하는 세계의 기술(만약 내가 너라면 그렇게 하지 않았을 텐데.. 등..)


  5. 절차에 관한 지식

   - 어떤 목적을 수행하기 위한 일련의 행위를 기술하기 위해 절차 서술(자전거를 잘타려면 먼저 자전거에 앉아서 균형을 잡아야한
                                                                                                 다. 등..)

  6. 메타 지식

 - 지식에 관한 지식으로 우리가 알고 있는 것에 관한 모든 지식 (이 지식을 어떤 상황에서 사용해야 하며 이지식은 얼마만큼 중요한
                                                                                       가?등..)

 

지식 표현의 특징

  1. 표현 방법의 적합성

  2. 추론의 적합성

  3. 추론의 효율성

  4. 지식 획득 능력

 

  지식 표현 방법: 선언적 지식표현방법, 절차적 지식 표현 방법

  지식을 표현하려면 모듈성의 측면에 뛰어난 선언적 표현과 대화성 측면에 뛰어난 절차적 표현을 적절히 조합시키는 방법을 연구
  해야
함.

 

지식 표현의 방법

 
  1. 논리에 의한 지식표현

  - 명제 논리

    명제: 하나의 판단을 포함하는 문장이나 정보를 말하며 명제가 참 또는 거짓의 진리값을 가지게 되며 기호로써 나타냄.

    논리 연산자: 2개 이상의 기본 명제를 논리적으로 연결하기 위하여 사용되는 연산자.

    명제논리는 양자택일의 값을 갖는 지식 표현으로 인공지능에서는 그다지 유용하지 못함.

 

  - 술어 논리

  문장의 참과 거짓만을 따지는 것이 아니라 문장의 문법적 구조와 의미도 포함하는 논리적인 지식 표현 방법으로 명제 논리를 확장
  한 개
념.

  장점: 명제 논리보다 객체 상호간의 관계를 잘 표현할 수 있어서 보다 상세하고 정확한 형태로 지식을 표현하고 전달할 수 있음.

  정형식: 술어, 상수, 변수, 한정자, 논리 연산자를 문법적으로 허용된 방법으로 사용하여 만들어진 문장.

 

  논리에 의한 지식표현의 장점:

  - 논리 표현은 다른 지식 표현 형식과 비교하여 보다 선언적인 표현이기 때문에 모듈성이 뛰어나다. 따라서 지식의 가독성이 우수
    하고
정이나 확장이 용이.

  - 인간의 사고 작용과 유사하고 아주 자연적인 표현 수단 제공.

  - 추론 과정의 완전성 보장.

 

  논리에 의한 지식표현의 단점:

  - 지식 이용의 입장에선 도출원리에 기반을 둔 추론 전략은 일반적으로 쓸데없이 길어지는 경향.

  - 대규모 지식 베이스를 다룰 경우 조합에 의한 폭발 초래

  - 현실세계의 지식은 반드시 참, 거짓과 같이 명확하게 정의 할 수 있는 것이 아니고 불확실성이나 신념 등이 다수 내포되어 이들
    을 공리
론적인 단순 논리의 틀속에서 다루는 것은 곤란.

 

  2. 프로덕션 시스템에 의한 지식 표현

   프로덕션 규칙(규칙): 조건부와 결론부 형태로 쓰여진 지식

   규칙: 주어진 상황을 위한 권고, 지시 , 전략을 나타내는 정형화 된 표현 방법

           인공지능에서 매우 많이 사용되는 지식 표현 방법.

   추론 사슬: 여러개의 규칙을 적용할 경우 규칙들의 적용 순서.

   실행 방법:

   1. 전방향 추론: 현재의 상황이나 사실의 집합으로부터 목표상태 또는 원하는 결론을 얻기 위한 과정.

   2. 후방향 추론: 목표나 결론이 현재 상태 또는 알려진 사실들로부터 유도해 낼 수 있는가를 알아내기 위해 결론부와 조건부방향
                        으로 진
하는 추론 방식.

 

  3. 의미망에 의한 지식 표현

  Quillian이 1968년에 인간의 자기 기억의 심리학적인 모델로 제안한 것.

  장점: 지식 사이의 관계를 나타낼 수 있기 때문에 규칙 기반 시스템의 단점 보완.

 

  isa: 하나의 사례 즉, 인스턴스

  ako: 어떠한 부류를 나타내는 개념의 한 종류

  has-part: 한 객체를 구성하는 구성품을 나타내는 관계

 

  특성 상속: 하위노드가 상위노드의 속성을 따라는 것

                 부모의 속성은 자식에게 상속.

 

  4. 프레임에 의한 지식 표현

  프레임: 1974년 Minsky가 인간의 기억과 인지 과정을 모델화하기 위하여 제안한 지식 표현형식.

             전형적인 상황이나 행동의 기술, 객체 사이의 계층적 관계의 기술에 적합한 구조적 지식 표현 형식의 대표적인 모델.

             객체지향 개념이 프레임에서 유래.

  슬롯: 객체지향 개념에서 클래스의 멤버.

  프로시저: 객체지향 개념에서 멤버함수.

 

지식 표현 방법의 장단점 비교 

  - 논리에 의한 지식 표현

    장점: 인간의 사고 과정과 유사하며 추론 과정의 완성성이 보장.

   단점: 제어 지식의 표현이 불가능.

 

  - 프레임에 의한 지식표현

    장점: 지식의 모듈화 및 표현이 용이하며 변경, 추가, 삭제가 가능

    단점: 지식의 제어가 곤란하며, 지식의 전체 구조 파악이 어려움.

 

  - 프로덕션 시스템

    장점: 지식표현 방법이 자연스럽고 지식표현이 경제적이며 연상추적이 용이.

    단점: 지식의 수정이 곤란하며 논리적인 결합이나 인과관계의 표현이 곤란.

 

  - 의미망에 의한 지식표현

    장점: 구조적 지식과 통합적 지식의 표현이 용이하며 지식표현이 경제적.

    단점: 지식의 수정이 곤란하며, 추론 방법개발의 부담.

 

'Study > AI System' 카테고리의 다른 글

신경회로망  (0) 2009.03.17
지식의 표현  (0) 2009.03.17
인공지능시스템  (0) 2009.03.17
인공지능의 연구분야  (0) 2009.03.17
인공지능의 역사  (0) 2009.03.17
Posted by 열ㅇl
Study/AI System2009. 3. 17. 20:46

인공지능시스템

  - 인간의 정신적인 모델을 실세계의 모델로 구현한 것.

  - 시스템인식 문제와 시스템의 자동화 문제 고려해야 함.

  - 지식을 획득하여 내부의 표현 방법에 의해 표현하여 저장하고 인터페이스를 통해 처리 결과를 사용자에게 보여주는 시스템.

 

인간의 뇌의 구조를 컴퓨터로 모델화 할 때 고려해야 할 사항

  1. 지식의 정의 문제

     - 지식의 획득, 정의, 이해 등의 문제를 먼저 정의

  2. 지식의 표현 문제

     - 지식의 의미 표현 및 분할 문제 등을 정의

  3. 지식의 조작 문제

     - 지식 추론, 제어 전략, 불확실한 자료의 처리 문제, 학습 및 추론 방법등에 관해서도 정의.

  4. 모델의 정당성

    - 이 인공지능 시스템이 과연 최적인가? 아니면 그저 그러한가? 아니면 조금 나은가? 정도 등의 문제를 판단하여 적용성 여부 결
      정.

 

인공지능 시스템의 4대요소

  1. 사용자

  2. HCI 시스템

  3. 추론엔진

  4. 지식베이스(RB + DB)

 

인공지능 시스템이 적당한 영역

 
  1. 어떤 절차적인 알고리즘이 존재하지 않고 휴리스틱한 방법만이 사용 가능한 영역.

  2. 소수의 전문가가 존재하여 희소성이 있어서 필요하나 대중적이지 못한 영역.

  3. 주어진 데이터가 불확실성을 내포한 경우에 적당.

  4. 진단, 추론, 예측 시스템 등.

  5. 지식이 정형적이어서 융통적이지 못할 때.

 

인공지능 적용시 고려할 문제

 
  1. 과연 이 영역에 인공지능 기법을 도입하면 적당한가?

  2. 인공지능 시스템이 과연 실세계의 시스템을 잘 모델화 하고 있는가?

  3. 이 시스템은 진정한 인공지능 시스템인가?

  4. 적용한 인공지능 시스템은 효율적인가?

 

결론적으로 인공지능 시스템은 만능이 아니고 인간의 정신적인 작용을 컴퓨터로 모델화 하여 좀더 효율성을 높이고 자동화하자는 의도에서 개발된 시스템이기 때문에 이러한 목적에 부합될 경우 적용이 합리적이나 그렇지 못할 경우에는 오히려 비효율적이 될 수 있다.

'Study > AI System' 카테고리의 다른 글

지식의 표현  (0) 2009.03.17
지식의 표현  (0) 2009.03.17
인공지능의 연구분야  (0) 2009.03.17
인공지능의 역사  (0) 2009.03.17
인공지능이란 무엇인가?  (0) 2009.03.17
Posted by 열ㅇl
Study/AI System2009. 3. 17. 20:29

초기의 인공지능의 연구분야

 - 게임놀이와 정리의 증명

 

지식

  - 어떤 개념에 의해 표현된 축약된 내부지식과 외부지식

  - 지식의 지식

  - 도메인 종속 지식

  - 도메인 독립 지식

  - 여러 엔티티간에 복잡한 관계를 계층적 지식 등

 

RBS(Rule Based System)

 - 규칙 기반 시스템

 

인공지능의 연구 분야의 내부적인 기법 측면

  1. 인식: 보고 듣고 말하는데 해당되는 능력 (음성인식, 문자인식 및 문서인식, 화상인식 등)

  2. 추론: 주어진 사실이나 규칙으로부터 인지된 입력에 대해 결론을 얻는 과정 (예: 삼단 논법)

             최근 인공지능의 경향은 퍼지 추론방법 사용.

  3. 학습: 사실과 규칙을 계속적인 과정에 의해 습득하는 일련의 과정.

             대표적으로 신경회로망.

 

지능형 시스템

  - 학습, 추론, 인식이 모두 적용되어 완벽히 작용할 경우 완성

  - 21세기의 인공지능의 경향.

 

인공지능경향

  - 과거: 인간보다 빠르고 정확한 관심 있는 문제의 해결 과정에 초점.

  - 최근: 단순한 문제해결 뿐 아니라 인간의 지능을 컴퓨터로 구현하려는 지능형 시스템.    

 

'Study > AI System' 카테고리의 다른 글

지식의 표현  (0) 2009.03.17
지식의 표현  (0) 2009.03.17
인공지능시스템  (0) 2009.03.17
인공지능의 역사  (0) 2009.03.17
인공지능이란 무엇인가?  (0) 2009.03.17
Posted by 열ㅇl