[신경망-손실함수] 손실함수란?

2026. 1. 25. 12:22·AI/이론
반응형

 

🏁 학습할 내용

  • 손실함수란의 역할
  • 손실함수의 종류
  • 미니 배치란
  • 손실함수를 설정하는 이유

🧩 역할

신경망의 성능이 얼마나 나쁜지,
훈련 데이터를 얼마나 잘 처리하지 못하느냐를 나타냄
즉, 손실함수의 결과값이 적으면 적을수록 잘 학습한 신경망이라고 할 수 있다.

 

 

📌 종류

  • 오차제곱합(SSE)
  • 교차 엔트로피 오차(CEE)

1️⃣ 오차 제곱합 (sum of squars for  error)

 

🔎 수식 해석

  • yk: 모델이 예측한 값
  • tk: 실제 정답 레이블
  • k: 데이터 차원(클래스) 수

 

1. (yk-tk)

  • 정답으로 부터 얼마나 떨어져있는 지
  • 부호가 존재하기때문에 문제가 있음, 아래 제곱으로 보완

2. 제곱

  • 오차의 범위를 생각하지 않겠다. 얼마나 떨어져있는 지 거리만 보겠다.
  • 오차를 증폭한다. 많이 차이날수록 더 커지게

3. 1 / 2이 붙은 이유

  • 지금 당장은 큰 이유는 없지만, 나중에 미분할 때 지수 2가 내려오면서 계산의 편의성을 위해

2️⃣ 교차 엔트로피 오차 (cross entropy error)

 

🔎 수식 해석

  • yk: 모델의 예측 확률 (SoftMax의 출력값, 0 ~ 1 사이)
  • tk: 실제 정답 레이블 (원-핫 인코딩 형태, 정답만 1 나머지 0)
  • ln: 자연로그

 

1. tk(원-핫 인코딩) 역할

  • 정답만 추출한다.
  • 시그마 연산을 수행해도 정답인 1만 기억되기 떄문에

2. ln yk

  • 정답에서 멀어질수록 폭발적인 패널티
  • yk가 1에 가까우면(정답에 가까우면) ln yk가 0으로 수렴
  • yk가 0에 가까우면(정답에서 멀면) 무한대로 치솟음

3. -(마이너스)

  • 로그 함수는 0과 1사이에서 항상 음수를 갖음, 그래서 계산의 편의성을 위해 -를 붙힘
  • 오차를 양수로 표현하기위

🎁 미니 배치란?

 

🔎 수식 해석

1. 1/N

  • 평균화 배치의 크기 N으로 나누어 데이터 1개당 평균 손실을 구한다.

2. 시그마 n

  • 미니 배치에 포함된 N개의 데이터 각각에 대한 손실을 모두 더한다.

 

❓ 데이터가 N이 크면 어떨가?

앞에서 살펴본 MNIST 데이터셋은 훈련데이터가 6만개였다.

모든 데이터를 대상으로 손실 함수의 합을 구하려면 시간이 비교적 많이든다.

 

현실적으로 우리는 일부만 골라 학습을 진행한다.

 

대표적으로 TV 시청률을 계산할 때, 모든 세대의 시청률을 확인하지 않고

무작위로 선택된 집합의 시청률을 이용한다.

 

이처럼 N이 비교적 커서, 모든 데이터를 이용하지 않고, 일부분만 사용하는 방법을

미니배치 학습이라고 한다.

 

 

🤖 파이썬에서 랜덤 선정을 하는 법

np.random.choice(범위,개수) = 범위에서 개수만큼 골라냄

❓왜 손실함수란 개념이 필요할까?

 

손실함수의 역할이 결국, 최적의 가중치를 찾아가는 지표인데, 손실이라는 부정적인 개념말고

 

정확도가 높은 모델 같이, 정확도라는 긍정적인 개념을 왜 지표로 정하지 못했을까??

 

이 답은, 다음 포스팅 내용과 관련이 있다.

 

다음 포스팅은 오랜만에 미분이라는 수치해석이 들어가는데, 정확도를 지표로 삼으면

매개변수의 미분이 대부분(기울기) 0으로 귀결되기때문에 한계가 너무나 명확했다.


출처

반응형

'AI > 이론' 카테고리의 다른 글

[미분 - 편미분] 편미분(Partial Derivative)  (0) 2026.02.02
[미분 - 수치 미분] 수치 미분  (0) 2026.01.31
[신경망-학습] 학습이란?  (0) 2026.01.24
[신경망-MNIST] MNIST 데이터셋  (1) 2026.01.22
[신경망-활성화 함수] 소프트맥스 함수  (1) 2026.01.14
'AI/이론' 카테고리의 다른 글
  • [미분 - 편미분] 편미분(Partial Derivative)
  • [미분 - 수치 미분] 수치 미분
  • [신경망-학습] 학습이란?
  • [신경망-MNIST] MNIST 데이터셋
Hamp
Hamp
남들에게 보여주기 부끄러운 잡다한 글을 적어 나가는 자칭 기술 블로그입니다.
  • Hamp
    Hamp의 분리수거함
    Hamp
  • 전체
    오늘
    어제
    • 분류 전체보기 (325) N
      • CS (30)
        • 객체지향 (2)
        • Network (7)
        • OS (6)
        • 자료구조 (1)
        • LiveStreaming (3)
        • 이미지 (1)
        • 잡다한 질문 정리 (0)
        • Hardware (2)
        • 이론 (6)
        • 컴퓨터 그래픽스 (0)
      • Firebase (3)
      • Programing Langauge (41)
        • swift (34)
        • python (6)
        • Kotlin (1)
      • iOS (133) N
        • UIKit (37)
        • Combine (1)
        • SwiftUI (33) N
        • Framework (7)
        • Swift Concurrency (22)
        • Tuist (6)
        • Setting (11)
        • Modularization (1)
        • Instruments (6)
      • PS (59)
        • 프로그래머스 (24)
        • 백준 (13)
        • LeetCode (19)
        • 알고리즘 (3)
      • Git (18)
        • 명령어 (4)
        • 이론 (2)
        • hooks (1)
        • config (2)
        • action (7)
      • Shell Script (2)
      • Linux (6)
        • 명령어 (5)
      • Spring (20)
        • 어노테이션 (6)
        • 튜토리얼 (13)
      • CI-CD (4)
      • Android (0)
        • Jetpack Compose (0)
      • AI (9)
        • 이론 (9)
        • MCP (0)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    protocol
    CS
    lifecycle
    boostcamp
    AVFoundation
    dispatch
    Tuist
    concurrency
    백준
    프로그래머스
    UIKit
    dp
    Swift
    투포인터
    GIT
    SwiftUI
    property
    Spring
    IOS
    dfs
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
Hamp
[신경망-손실함수] 손실함수란?
상단으로

티스토리툴바