프로그래밍[Univ]/인공지능

[인공지능] 인공신경망(ANN : Artificial Neural Network) Part 1

Cloud Travel 2012. 11. 22. 23:11

* 기계 학습

 - 주변 환경 및 데이터를 통해서 공통점을 뽑아 내는 것

 - 학습 능력에 의해서 지능형 시스템의 성능은 개선되어 간다.

 - 대표적인 방법 : 유전알고리즘(Genetic algorithm), 인공신경망(Artificial Neural Network)


* 신경망

 - 뇌 : 서로 연결된 신경 세포의 집합

 - 신경세포(Neuron) : 정보처리 단위

 - 여러개의 뉴런을 병렬처리 함으로써 인간은 어떤 컴퓨터보다 빠르게 그 기능을 수행할 수 있다.

 - 복잡하며, 비선형적이고, 병렬적인 처리가 가능하다.

 - 인공신경망 : 인간의 뇌를 부분적으로 흉내낸 것


* 인공신경망의 모델

 - 사람 신경망의 단순화 : 여러가지 데이터를 합쳐서 처리를 한후 다음 노드로 결과를 전달

 - 가중치가 있는 링크들의 연결로 이뤄진다.

 - 각각의 뉴런은 여러 뉴런에게 데이터를 받지만, 단하나의 결과만을 낸다.

   

 - 각각의 신호값을 가중치와 곱한 값들의 합과 뉴런이 가지고 있는 한계치와 비교한다.

 - 간단한 경우 한계치를 넘어서면 1을 그렇치 않다면 -1을 출력하여 다음 노드로 전달한다.


* 인공신경망의 학습 : 반복적인 조정으로 학습을 실시한다.


* 활성화 함수(Activation function)

 - 결과값을 내보낼때 사용하는 함수

 - 전이 함수라고도 한다.

 ⓐ 계단함수

  - 한계치를 넘으면 1을 출력 그렇지 않으면 0을 출력

 ⓑ 부호함수

  - 한계치를 넘으면 1을 출력 그렇지 않으면 -1을 출력

 ⓒ 시그모이드 함수

  - X에 따라 Y값을 계산한다

  - Y는 0~1값을 갖는다.

  

 ⓓ 선형함수

  - Y = X

  - 크게 의미가 없다.

 ⓔ 쌍곡 탄젠트 함수

  - 시그모이드 함수를 변형하여 갖는 값을 -k~k사이로 바꾼 함수. (k는 a, b값에 의해 달라진다)

  - 시그모이드 함수보다 빠른 학습을 위해서 사용되는 함수

  

 - ⓐ와 ⓑ는 흑백 논리로서 사람이 생각하는 것과 다르다

 - ⓒ, ⓔ를 주로 많이 사용한다. 가중치 값을 학습해나가는데 에러가 더 적게 나도록 도와준다.