신경망: 구조

특성 교차 단위에서 설명했듯이 다음 분류 문제는 비선형입니다.

데카르트 도표 기존의 x축에는 'x1''이라는 라벨이 지정되어 있습니다. 기존의 y축에는 'x2''라는 라벨이 지정되어 있습니다. 파란색 점은 북서쪽 및 남동쪽 사분면을 차지하고 노란색 점은 남서쪽 및 북동쪽 사분면을 차지합니다.

그림 1. 비선형 분류 문제입니다.

'비선형'은 모델의 모델을 사용하여 라벨을 정확하게 예측할 수 없음을 의미합니다. \(b + w_1x_1 + w_2x_2\) 즉, '결정 표면'은 선이 아닙니다. 이전에는 비선형 문제를 모델링할 수 있는 한 가지 접근 방식으로 특성 교차를 살펴보았습니다.

이제 다음 데이터 세트를 고려해 보세요.

데이터 세트에는 주황색과 파란색 점이 많이 포함되어 있습니다. 일관된 패턴을 결정하기는 어렵지만 주황색 점은 모호하게 나선형을 형성하고 파란색 점은 다른 나선형을 형성할 수 있습니다.

그림 2. 더 어려운 비선형 분류 문제입니다.

그림 2의 데이터 세트는 선형 모델로 해결할 수 없습니다.

신경망이 비선형 문제를 해결하는 데 어떤 도움이 될 수 있는지 알아보려면 선형 모델을 그래프로 표현하는 것으로 시작해 보겠습니다.

한 행에 놓인 파란색 원 3개가 화살표로 연결되어 있으며 그 위에 표시된 녹색 원

그림 3. 선형 모델로서 그래프입니다.

각 파란색 원은 입력 특성을 나타내고 녹색 원은 입력의 가중치 합계를 나타냅니다.

비선형 문제를 처리하는 기능을 개선하기 위해 이 모델을 어떻게 변경할 수 있나요?

히든 레이어

다음 그래프로 표현되는 모델에서 중개값의 '히든 레이어'를 추가했습니다. 히든 레이어의 각 노란색 노드는 파란색 입력 노드 값의 가중치 합계입니다. 출력은 노란색 노드의 가중치 합계입니다.

한 행에 3개의 파란색 원

그림 4. 2레이어 모델의 그래프

이 모델은 선형일까요? 예. 출력은 여전히 입력의 선형 조합입니다.

다음 그래프로 표현되는 모델에는 가중치 합계의 두 번째 히든 레이어가 추가되었습니다.

한 행에 3개의 파란색 원

그림 5. 3레이어 모델의 그래프

이 모델이 여전히 선형인가요? 맞습니다. 출력을 입력의 함수로 표현하고 단순화하면 입력의 또 다른 가중치 합계를 얻게 됩니다. 이 합계는 그림 2의 비선형 문제를 효과적으로 모델링하지 못합니다.

활성화 함수

비선형 문제를 모델링하기 위해 비선형성을 직접 도입할 수 있습니다. 각 히든 레이어 노드를 비선형 함수를 통해 파이핑할 수 있습니다.

다음 그래프로 표현되는 모델에서 히든 레이어 1의 각 노드 값은 비선형 함수로 변환된 후 다음 레이어의 가중치 합계에 전달됩니다. 이 비선형 함수를 활성화 함수라고 합니다.

이전 그림과 동일하지만 히든 레이어 두 개 사이에 '비선형 변환 레이어'라는 라벨이 있는 분홍색 원이 추가되었습니다.

그림 6. 활성화 함수가 있는 3레이어 모델의 그래프

이제 활성화 함수를 추가했으므로 레이어를 추가하면 더 큰 영향을 미칩니다. 비선형성을 쌓으면 입력과 예측 출력 간의 매우 복잡한 관계를 모델링할 수 있습니다. 간단히 말해, 각 레이어는 원시 입력에 대해 좀 더 복잡하고 상위 수준의 함수를 효과적으로 학습합니다. 이 작동 방식을 더 자세히 알아보려면 크리스 올라의 훌륭한 블로그 게시물을 참고하세요.

일반적인 활성화 함수

다음 시그모이드 활성화 함수는 가중치가 적용된 합계를 0과 1 사이의 값으로 변환합니다.

$$F(x)=\frac{1} {1+e^{-x}}$$

플롯은 다음과 같습니다.

시그모이드 함수

그림 7. 시그모이드 활성화 함수

다음 정류 선형 유닛 활성화 함수 (또는 간단히 ReLU)는 시그모이드와 같은 매끄러운 함수보다 조금 더 효과적이지만 훨씬 쉽게 계산할 수 있습니다.

$$F(x)=max(0,x)$$

ReLU의 우월성은 경험적 결과를 바탕으로 하며, 이는 ReLU에 좀 더 유용한 응답성이 있는 것이 원인일 수 있습니다. 시그모이드 응답성은 양쪽에서 상대적으로 빠르게 떨어집니다.

ReLU 활성화 함수

그림 8. ReLU 활성화 함수

사실 어떤 수학적 함수도 활성화 함수의 역할을 할 수 있습니다. \(\sigma\) 가 활성화 함수(Relu, Sigmoid 등)를 나타낸다고 가정해 보겠습니다. 결과적으로 네트워크의 노드 값은 다음 수식으로 주어집니다.

$$\sigma(\boldsymbol w \cdot \boldsymbol x+b)$$

TensorFlow는 많은 활성화 함수를 즉시 지원합니다. 이러한 활성화 함수는 TensorFlow의 기본 신경망 작업을 위한 래퍼 목록에서 찾을 수 있습니다. 그럼에도 여전히 ReLU로 시작하는 것이 좋습니다.

요약

이제 모델에는 사람들이 '신경망'이라고 말할 때 의미하는 모든 표준 구성요소가 있습니다.

  • 뉴런과 유사한 노드 집합을 레이어로 구성합니다.
  • 각 신경망 레이어와 그 아래 레이어 사이의 연결을 나타내는 가중치 집합입니다. 아래의 레이어는 다른 신경망 레이어 또는 다른 종류의 레이어일 수 있습니다.
  • 각 노드에 하나씩 편향되는 편향 집합
  • 레이어에 있는 각 노드의 출력을 변환하는 활성화 함수입니다. 레이어마다 활성화 함수가 다를 수 있습니다.

주의사항: 신경망이 항상 특성 교차보다 더 나은 것은 아니지만 신경망은 대부분의 경우 잘 작동하는 유연한 대안을 제공합니다.