Cross Entropy 미분, 파트 5: 역전파를 이용한 바이어스 최적화

발행: (2026년 2월 7일 오전 05:01 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

Cover image for Cross Entropy Derivatives, Part 5: Optimizing bias with backpropagation

이전 기사에서는 교차 엔트로피 손실의 도함수를 계산했습니다.
이번 기사에서는 역전파를 사용해 편향 항 (b_3)을 최적화하는 작업을 시작합니다.

Source:

초기 바이어스 설정

우리는 바이어스 (b_3)를 초기값으로 고정합니다:

[ b_3 = -2 ]

역전파가 실제로 모델을 개선하는지 확인하기 위해, 먼저 이 (b_3) 값에 대해 훈련 데이터 전체에 대한 교차 엔트로피를 계산합니다.

사용된 바이어스 값

Bias values illustration

우리는

[ b_3 = -2 ]

를 유지합니다.

순방향 전달 계산

단일 입력 예제에 대해 중간 값을 다음과 같이 계산합니다.

상위 노드

상위 노드 계산

하위 노드

하위 노드 계산

원시 출력 값

원시 출력

소프트맥스 확률

소프트맥스 확률

샘플당 교차 엔트로피 손실

꽃잎꽃받침(p)교차 엔트로피
0.040.42Setosa0.151.89
1.000.54Virginica0.710.35
0.500.37Versicolor0.650.43

(b_3 = -2) 일 때 총 교차 엔트로피는

[ \text{Total CE} = 2.67 ]

손실 곡선 시각화

(b_3)의 다양한 값에 따라 전체 교차 엔트로피가 어떻게 변하는지 시각화하려면 (b_3)를 x축에, 전체 교차 엔트로피를 y축에 놓고 그래프를 그립니다. 여러 (b_3) 값을 평가하면 명확한 최소값을 가진 부드러운 핑크색 곡선이 나타납니다.

플롯을 생성하는 파이썬 코드

import numpy as np
import matplotlib.pyplot as plt

def relu(x):
    return np.maximum(0, x)

def softmax(raws):
    exp_vals = np.exp(raws)
    return exp_vals / np.sum(exp_vals)

# 고정된 바이어스
b1 = 1.6
b2 = 0.7
b4 = 0
b5 = 1

# 샘플 학습 데이터: (꽃잎, 꽃받침, 실제 클래스)
data = [
    (0.04, 0.42, 0),  # Setosa
    (1.00, 0.54, 2),  # Virginica
    (0.50, 0.37, 1),  # Versicolor
]

def total_cross_entropy(b3):
    total_ce = 0.0
    for petal, sepal, target in data:
        upper  = petal * -2.5 + sepal * 0.6 + b1
        bottom = petal * -1.5 + sepal * 0.4 + b2

        raw_setosa = relu(upper) * -0.1 + relu(bottom) * 1.5 + b3
        raw_versi  = relu(upper) * 2.4  + relu(bottom) * -5.2 + b4
        raw_virg   = relu(upper) * -2.2 + relu(bottom) * 3.7 + b5

        probs = softmax([raw_setosa, raw_versi, raw_virg])
        total_ce += -np.log(probs[target])
    return total_ce

b3_values = np.linspace(-6, 4, 200)
losses = [total_cross_entropy(b3) for b3 in b3_values]

plt.plot(b3_values, losses, color="pink")
plt.xlabel("b₃")
plt.ylabel("Total Cross Entropy")
plt.title("Cross Entropy vs b₃")
plt.show()

Loss curve (pink)

플롯은 핑크색 곡선을 보여주며, 가장 낮은 지점이 전체 교차 엔트로피를 최소화하는 (b_3) 값에 해당합니다.

다음은?

다음 기사 부분에서는 역전파(back‑propagation)를 사용하여 (b_3)를 이 최소값 쪽으로 이동시키고 단계별로 업데이트할 것입니다.


도구, 라이브러리 또는 전체 저장소를 더 쉽게 설치할 방법을 찾고 계신가요?
Installerpedia를 사용해 보세요 – 커뮤니티 기반, 구조화된 설치 프로그램.

설치 플랫폼최소한의 번거로움명확하고 신뢰할 수 있는 가이드로 거의 모든 것을 설치할 수 있게 해줍니다.

그냥 실행하세요:

ipm install repo-name

… 그리고 끝! 🚀

Installerpedia Screenshot

🔗 여기서 Installerpedia 탐색하기

Back to Blog

관련 글

더 보기 »

시계열 예측: 전통적 방법과 ML 접근법

시계열 예측: 전통적 접근법과 ML 접근법을 활용한 신뢰할 수 있는 예측 시스템 구축 상상해 보세요: 블랙 프라이데이 기간에 귀하의 e‑commerce 플랫폼이 갑자기 다운되는 상황을.