ADsP 내용 정리

분류분석 - 인공신경망 분석

여연찌 2024. 4. 25. 09:54

인공신경망

: 인공신경망은 인간의 뇌를 기반으로한 학습 및 추론 모형

: 뇌의 구조를 수학적으로 단순화하여 모델링 한 것

: 입력 > 시냅스에 해당, 개별신호의 강도에 따라 가중

: 활섬함수 > 인공신경망의 출력을 계산

: 많은 데이터에 대해 학습을 거쳐, 원하는 결과가 나오도록(오차가 작아지도록) 가중치가 조정

 

인공신경망 분석의 장단점

장점 - 스스로 가중치를 학습하므로 다양하고 많은 데이터에 효과적
- 잡음에 민감하게 반응하지 않음
- 여러개의 은닉층을 갖고 있는 구조로 비선형적인 문제 분석에 유용
- 패턴인식, 분류, 예측 등의 문제에 효과적
단점 - 초기 가중치에 따라 전역해가 아닌 지역해로 수렴할 수 있다.
- 결과해석이 쉽지 않다.
- 모형이 복잡할 경우 학습에 오랜 시간이 소요됨
- 추정한 가중치의 신뢰도 낮음
- 은닉층의 수와 은닉 노드의 수를 결정하기가 어려움

* 전역해: 손실 함수를 최소화하는 가중치와 편향 값의 조합 중에서 가장 작은 값을 갖는 해

* 지역해: 함수가 최솟값을 갖는 지점 중에서 특정 영역 안에 있는 해를 의미

* 은닉층: 주어진 입력에서 학습된 가중치와 활성화 함수를 통해 출력을 생성

* 노드: 가중치와 함께 가중합을 계산, 그 결과를 활성화 함수를 통해 출력을 생성

 

 

활성함수

: 인공신경망은 노드에 입력되는 값을 바로 다음 노드로 전달하지 않고 비선형 함수에 통과시킨 후 전달하는데 이 때 사용되는 비선형 함수를 말한다

: 입력값에 따라 출력 신호를 내보낼지 여부를 결정하는 요소

 

많이 사용되는 활성함수

① 계단(step) 함수

: 기본적인 활성함수로 0 또는 1을 반환하는 이진형 함수

 

② 부호(sign) 함수

: 기본적인 활성함수로 -1 또는 1을 반환하는 이진형 함수

 

③ 시그모이드(sigmoid) 함수

: 로지스틱 회귀분석의 확률값을 구하기위한 계산 식과 유사하며 0과 1 사이의 값을 반환

 

④ 소프트맥스(softmax) 함수

: 표준화지수(일반화로지스틱) 함수로도 불린다.

: 출력값이 다범주인 경우에 사용

: 각 범주에 속할 확률값을 반환

 

⑤ tanh 함수

: 확장된 형태의 시그모이드 함수로 중심값은 0이며, -1과 1사이의 값을 출력

 

⑥ 가우스(gauss) 함수

: 결과는 연속형, 0과 1사이의 값을 반환

 

⑦ ReLU 함수

: 최근 딥러닝에서 많이 사용되는 함수

: 입력값과 0 중에서 큰 값을 반환

: 입력값이 0 이하는 0, 0 이상은 x 값을 가지는 함수

 

 

인공신경망의 계층 구조

- 단층신경망과 다층신경망으로 구분

- 입력층: 데이터를 입력받아 시스템으로 전송하는 역할

- 은닉층

: 신경망 외부에서 은닉층의 노드에 직접 접근할 수 없도록 숨겨진 은닉한 층

: 입력층으로부터 값을 전달받아 가중치를 계산한 후에 활성함수에 적용하여 결과를 산출하고, 출력츠으로 보낸다

- 출력층

: 학습된 데이터가 포함된 층

: 활성함수의 결과를 담고 있는 노드로 구성된다

: 출력층의 노드수는 출력 범주의 수로 결정된다.

- 은닉층과 은닉노드가 많으면 가중치가 많아져서 과대 적합 문제가 발생할 수 있다.

- 은닉층과 은닉노드가 적으면 과소적합 문제가 발생한다.

- 은닉노드의 수는 적절히 큰 값을 놓고 가중치를 가소시키며 적용하는 것이 좋다

 

 

인공신경망 학습(역전파 알고리즘)

- 입력층과 출력층의 데이터에 따른 이상적인 가중치 값을 결정해야 한다.

- 가중치 값의 결정은 입력층에서 출력층으로 찾아 나가는 순전파 알고리즘을 먼저 활용한다.

- 이때 발생한 오차들을 줄이고자 출력층에서 입력층 방향으로 거꾸로 찾아 나가는 역전파 알고리즘을 활용하여 조정한다.

- 훈련용 데이터의 자료들이 순차적으로 입력될 때마다 가중치가 새롭게 조정되는 것을 인공신경망이 학습한다고 표현

- 가중치가 0이면 시그모이드 함수는 선형이 되고 신경망 모형은 근사적으로 선형모형이 된다.

- 순전파 → 역전파

 

인공신경망의 종류

- 단층 퍼셉트론 (단층 신경망)

: 하나의 인공신경망은 데이터를 입력하는 입력층, 데이터를 출력하는 출력층을 갖고 있다.

: 입력층이 은닉층을 거치지 않고 바로 출력층과 연결된다.

: 여러 개의 개별 입력 데이터를 받아 하나의 입력 데이터로 가공하여 활성함수에 의하여 출력값을 결정

: 퍼셉트론의 출력값은 또 다른 퍼셉트론의 입력 데이터가 된다.

: 다수의 입력값을 받아 하나의 출력값을 출력하는데, 이 출력값이 정해진 임곗값을 넘었을 경우 1을 출력하고 넘지 못했을 경우에는 0을 출력한다.

 

- 다층 퍼셉트론 (다층 신경망)

: 입력층과 출력층 사이에 보이지 않는 다수의 은닉층을 가지고 있을 수 있다.

* 입력층: 하나의 퍼셉트론은 데이터를 입력

* 단층 퍼셉트론: 데이터를 출력하는 출력층을 가지고 있음

: 단층 퍼셉트론보다 학습하기가 어려우며 은닉층의 노드의 수가 너무 적으면 복잡한 의사결정 경계를 구축할 수 없다.

: 은닉층이 존재하지 않는 단층신경망은 한계점이 있기에 일반적인 인공신경망을 의미

 

 


 

다층신경망에서 은닉층의 수와 은닉노드의 수가 너무 많으면 과적합이 발생할 수 있다.

은닉노드의 수는 적절히 큰 값을 놓고 가중치를 감소시키며 적용하는 것이 좋다.

출력층의 노드수는 출력 범주의 수로 결정된다.