유용한 사고 모델

신경망을 조절 가능한 필터를 여러 개 쌓아 놓은 것으로 생각해 보세요.

각 필터는 이전 계층에서 숫자를 입력받습니다. 각 숫자에 서로 다른 영향력을 부여하고, 오프셋을 더한 뒤 결과를 변환합니다. 한 계층은 변환된 숫자를 다음 계층으로 보냅니다. 이러한 변환을 여러 번 거치면 출력 계층이 예측값, 점수 또는 생성된 값을 출력합니다.

일반적인 다이어그램이 그물처럼 보이는 이유는 값이 유닛 사이를 흐르기 때문입니다.

input values          hidden layer             output

x₁ ───────────────┐   h₁ ───────────────┐
                  ├──>                  ├──> score
x₂ ───────────────┘   h₂ ───────────────┘

        weighted sums      weighted sum
        + activation

하나의 유닛은 흔히 인공 뉴런이라고 부릅니다. 이 명칭은 역사적으로 생겨났습니다. 실질적으로 뉴런은 작은 수치 함수입니다. 생물학적 뉴런과의 유사성은 제한적입니다.

이 단순한 그림은 완전 연결 피드포워드 네트워크를 보여 줍니다. 여기서는 정보가 입력에서 출력으로 이동하고, 각 유닛이 다음 계층의 모든 유닛과 연결됩니다. 모든 신경망이 정확히 이러한 연결 방식을 사용하는 것은 아닙니다. 어떤 신경망은 이미지 전체에서 동일한 작은 필터를 재사용하고, 어떤 신경망은 시퀀스를 따라 상태를 전달하며, 또 어떤 신경망은 어텐션을 통해 입력의 여러 부분이 상호작용하도록 합니다. 그래도 연결된 연산으로 학습 가능한 계산을 구성하므로 신경망입니다.

신경망의 작동 방식

일반적인 뉴런 하나의 계산은 다음과 같습니다.

output = activation(w₁x₁ + w₂x₂ + ... + wₙxₙ + b)

x 값은 입력입니다. 각 w는 입력이 이 뉴런에 얼마나 강하게 영향을 미치는지를 조절하는 가중치입니다. 편향 b는 결과를 이동시킵니다. 그런 다음 활성화 함수가 결과를 변환하고, 변환된 값이 네트워크를 따라 계속 전달됩니다.

일반적인 활성화 함수로는 정류 선형 유닛, 즉 ReLU가 있습니다.

ReLU(x) = max(0, x)

ReLU는 음수 입력에 대해 0을 반환하고 양수 입력은 그대로 둡니다. 다른 활성화 함수는 값을 다른 방식으로 변환합니다.

활성화는 장식처럼 추가되는 요소가 아닙니다. 모든 계층이 곱셈과 덧셈만 수행한다고 가정해 보세요. 그러한 계층 두 개는 언제나 하나의 곱셈·덧셈 단계로 다시 나타낼 수 있습니다. 계층을 더 추가해도 네트워크가 비선형 관계를 표현할 수 있게 되지는 않습니다. 계층 사이에 비선형 활성화를 추가하면 이러한 결합을 막을 수 있고, 네트워크가 단순한 구성 요소로부터 더욱 다양한 형태를 만들 수 있습니다.

네트워크가 입력을 받으면 순전파를 수행합니다.

  1. 입력이 숫자로 표현됩니다.
  2. 각 계층은 이전 계층으로부터 새로운 숫자를 계산합니다.
  3. 출력 계층이 네트워크의 결과를 생성합니다.

학습 중에는 손실 함수를 사용해 결과를 원하는 결과와 비교하며, 손실 함수는 오차를 측정합니다. 역전파는 각 가중치나 편향을 조금 변경했을 때 손실이 어떻게 달라지는지를 효율적으로 계산합니다. 그런 다음 옵티마이저가 이러한 값을 조정하고, 이 과정이 많은 예제에 걸쳐 반복됩니다.

“학습한다”는 것은 조절 가능한 숫자를 변경한다는 뜻입니다. 개발자는 대략적인 아키텍처와 학습 과정을 정하고, 학습 알고리즘이 매개변수 값을 찾아냅니다.

손으로 순전파 계산하기

카드 거래에 대해 정규화된 신호 두 개를 입력받는 장난감 네트워크를 생각해 보겠습니다.

  • x₁ = 0.8 — 금액이 얼마나 이례적인지를 나타냄
  • x₂ = 0.3 — 기기가 얼마나 낯선지를 나타냄

이 값들은 설명을 위한 예시일 뿐 실제 사기 탐지 모델이 아닙니다. 이 네트워크에는 ReLU 활성화를 사용하는 은닉 유닛 두 개가 있습니다.

첫 번째 은닉 유닛은 다음을 계산합니다.

h₁ = ReLU(1.0 × 0.8 − 1.0 × 0.3 − 0.2)
   = ReLU(0.3)
   = 0.3

두 번째 은닉 유닛은 다음을 계산합니다.

h₂ = ReLU(−0.5 × 0.8 + 0.5 × 0.3 + 0.1)
   = ReLU(−0.15)
   = 0

출력 유닛은 은닉값을 결합합니다.

score = 1.5 × h₁ + 0.5 × h₂ − 0.4
      = 1.5 × 0.3 + 0.5 × 0 − 0.4
      = 0.05

이것이 완전한 순전파 한 번입니다. 실제 분류기는 원시 점수를 확률로 변환하기 위해 다른 함수를 적용하거나, 점수를 결정 임계값과 비교할 수 있습니다.

프로그래머가 이러한 가중치가 나타내는 구체적인 규칙을 직접 작성할 필요는 없었습니다. 학습을 통해 데이터에서 가중치가 조정되기 때문입니다. 가중치 하나만 바뀌어도 어떤 은닉 유닛이 활성화되는지와 그 유닛이 결과에 미치는 영향의 크기가 달라질 수 있습니다.

h₁을 “금액 위험”이라고, h₂를 “기기 위험”이라고 부르고 싶을 수 있습니다. 하지만 계산만으로는 이러한 이름을 정당화할 수 없습니다. 은닉 유닛은 여러 조합으로만 의미가 있는 패턴에 참여하는 경우가 많으며, 그 의미가 사람이 깔끔하게 해석할 수 있는 형태가 아닐 수도 있습니다.

신경망이 중요한 이유

신경망은 사람이 사전에 지정한 특성에만 의존하지 않고 유용한 중간 표현을 학습할 수 있습니다. 이미지 시스템에서는 초기 계산이 국소적인 시각 패턴에 반응하고, 이후 계산이 이러한 패턴을 결합할 수 있습니다. 언어 시스템에서는 많은 계층이 문맥에 따라 텍스트 표현을 변환합니다. 정확한 동작은 이름이 붙은 특정 뉴런 하나에 할당되는 것이 아니라 네트워크 전체에 걸쳐 학습됩니다.

함수 형태가 유연하기 때문에 신경망은 이미지, 언어, 오디오, 예측, 제어 및 생성에 유용합니다. 그렇다고 모든 문제에서 자동으로 가장 좋은 선택이 되는 것은 아닙니다. 더 단순한 모델이 비용이 적고 살펴보기 쉬우며, 데이터가 제한적이거나 관계가 단순할 때 더 나을 수 있습니다.

수학적 결과에 따르면 특정 신경망은 충분한 은닉 유닛이 주어질 때 광범위한 함수 부류를 근사할 수 있습니다. 이는 네트워크가 무엇을 표현할 수 있는지에 대한 설명입니다. 특정 데이터셋과 학습 실행이 좋은 함수를 찾아내거나, 예제를 암기하는 일을 피하거나, 익숙하지 않은 입력에서 안정적으로 동작한다는 보장은 아닙니다.

흔한 오해

신경망은 뇌처럼 작동한다

용어는 생물학에서 영감을 받았지만 인공 뉴런에는 생물학적 뉴런의 구조와 동작 대부분이 빠져 있습니다. “디지털 뇌세포”보다 “가중치가 적용된 수치 연산”이 더 신뢰할 만한 사고 모델입니다.

모든 뉴런은 발화 여부를 결정한다

일부 초기 모델은 임계값을 사용했고, ReLU는 음수 값을 0으로 만들기도 합니다. 그러나 현대의 유닛은 일반적으로 단순한 예·아니오 결정을 내리는 것이 아니라 수치 활성화를 출력합니다.

계층이 많을수록 네트워크는 항상 더 좋아진다

깊이를 추가하면 네트워크가 표현할 수 있는 것과 일부 패턴을 얼마나 효율적으로 표현할 수 있는지가 달라집니다. 또한 모델을 학습하기 더 어렵거나 비용이 많이 들 수 있습니다. 성능은 계층 수만이 아니라 아키텍처, 데이터, 목적 함수, 최적화 및 평가에 따라 달라집니다.

은닉 계층은 자동으로 모델을 비선형으로 만든다

선형 계층을 쌓아도 여전히 선형입니다. 계층 사이의 비선형 활성화가 스택이 하나의 선형 변환으로 결합되는 것을 막습니다.

네트워크는 이해할 수 있는 규칙을 발견한다

네트워크는 학습 목표를 줄이는 매개변수 값을 찾아냅니다. 이러한 값은 사람이 읽을 수 있는 짧은 규칙에 대응하지 않으면서도 유용한 동작을 뒷받침할 수 있습니다. 해석을 위해서는 별도의 증거가 필요합니다.

신경망과 딥러닝은 같은 의미다

딥러닝은 일반적으로 여러 처리 계층을 포함하는 신경망을 사용하는 머신러닝을 가리킵니다. “딥”에 해당하는 보편적인 계층 수 기준은 없으며, 신경망에는 얕은 모델도 포함됩니다.

신경망이 AI에서 차지하는 위치

신경망은 머신러닝 안에 속하는 한 계열입니다. 신경망 아키텍처는 계산이 어떻게 배열되는지를 지정합니다. 학습을 통해 학습된 모델 가중치가 생성되며, 이는 모델의 매개변수에 포함됩니다. 학습된 네트워크를 새로운 입력에 실행하는 것이 추론입니다.

AI 모델이라고 부르는 많은 시스템은 신경망을 사용하지만, 두 용어가 서로 바꿔 쓸 수 있는 것은 아닙니다. “AI 모델”이 더 넓은 개념입니다. 예를 들어 트랜스포머는 어텐션, 피드포워드 연산, 정규화 및 계층을 우회해 정보를 전달하는 연결로 구성된 신경망 아키텍처입니다.

이러한 설계 전반에서 핵심 아이디어는 동일합니다. 미분 가능한 계산을 유용한 구조로 배열한 다음 데이터에서 조절 가능한 값을 학습하는 것입니다.

다음 단계

네트워크가 학습한 연결 강도와 아키텍처를 구분하려면 모델 가중치란 무엇인가요?를 읽어 보세요. 조절 가능한 값의 더 넓은 범위를 알아보려면 모델 매개변수란 무엇인가요?를 읽고, 용어를 직접 비교하려면 모델 매개변수와 모델 가중치를 활용하세요. 신경망이 언어를 생성하는 방식을 알아보려면 LLM이란 무엇인가요?로 계속 진행하세요.