Life Logs && *Timeline

  • 🎯 딥러닝 출력층 설계: 회귀 vs 분류, 핵심 차이 완전 정리

    딥러닝 모델을 설계할 때 출력층의 구성과 활성화 함수 선택은 문제의 성격에 따라 달라집니다. 이 글에서는 회귀와 분류 문제에서 출력 구조가 어떻게 달라지는지, 그리고 모든 출력은 사실상 선형 회귀에서 출발한다는 점을 중점적으로 정리합니다.


    🔍 1. 모든 레이어의 본질: 선형 회귀

    딥러닝에서 각 레이어는 기본적으로 다음과 같은 선형 연산으로 구성됩니다:

    iniCopyEditz = Wx + b
    

    이것은 전형적인 선형 회귀의 형태입니다.
    즉, **모든 출력은 활성화 함수가 적용되기 전까지는 ‘선형 회귀 출력값’**이라고 볼 수 있습니다.


    ⚙️ 2. 중간층의 변화: 비선형성 도입

    중간층에서는 단순 선형 조합만으로는 복잡한 패턴을 학습할 수 없기 때문에 비선형 활성화 함수를 추가합니다:

    iniCopyEdita = activation(Wx + b)
    
    • ReLU, Tanh, LeakyReLU 등이 대표적
    • 이를 통해 모델 전체가 비선형 함수 근사가 가능해집니다

    🧮 3. 출력층의 차이: 문제에 맞는 활성화 선택

    ✅ 회귀 (Regression)

    • 목적: 실수값 예측 (예: 주가, 온도)
    • 출력: 제약 없는 연속 실수값
    • 활성화 함수: 없음 (activation=None 또는 'linear')
    • 손실 함수: MSE, MAE

    🎯 “그대로 예측값으로 사용해야 하므로 선형 출력이 핵심”


    ✅ 분류 (Classification)

    (1) 이진 분류 (Binary Classification)

    • 출력: [0, 1] 사이의 확률
    • 활성화 함수: Sigmoid
    • 손실 함수: Binary Cross Entropy

    (2) 다중 클래스 분류 (Multi-class, 하나만 정답)

    • 출력: 클래스별 확률, 합이 1
    • 활성화 함수: Softmax
    • 손실 함수: Categorical Cross Entropy

    (3) 다중 레이블 분류 (Multi-label, 여러 개 정답 가능)

    • 출력: 클래스별 독립 확률
    • 활성화 함수: Sigmoid (각 클래스별 개별 적용)
    • 손실 함수: Binary Cross Entropy (클래스별)

    📌 4. Sigmoid vs Softmax 차이

    항목SigmoidSoftmax
    출력 범위(0, 1)(0, 1)
    확률 합계1이 아닐 수 있음항상 1
    클래스 관계독립상호 배타적
    사용 사례다중 레이블 분류다중 클래스 분류

    🧠 5. 정리: 모델 구성 핵심 요약

    구성 요소회귀분류
    중간층선형 + 비선형 활성화선형 + 비선형 활성화
    출력층선형 (활성화 없음)비선형 (Sigmoid / Softmax)
    출력값실수 전체 범위확률 (0~1), 해석 가능한 범위
    손실 함수MSE, MAE 등Binary 또는 Categorical CrossEntropy

    🔚 마무리

    딥러닝 모델은 겉으로 보면 복잡하지만, 모든 출력은 선형 회귀에서 출발합니다. 문제 유형에 따라 마지막 출력층에서 어떤 비선형 변형(=활성화 함수) 을 적용하느냐가 전체 모델의 목표와 해석을 결정합니다.
    모델을 설계할 때 가장 먼저 고려해야 할 것은, “이 출력이 어떤 의미를 가져야 하는가?” 입니다.