YZ ZONE

[딥러닝] 1. 단층 퍼셉트론(SLP) _ 2.이진판단_ 2.3 시그모이드 함수 본문

IT/딥러닝

[딥러닝] 1. 단층 퍼셉트론(SLP) _ 2.이진판단_ 2.3 시그모이드 함수

러블리YZ 2023. 8. 1. 22:39

[접근1] 신경망 출력을 이진값으로

  • 퍼셉트론 구조상 0과 1 두 가지 값만 내도록 제한 곤란
  • 미분곤란: 역전파 학습 거의 불가능

[접근2] 신경망 출력을 ‘참’일 확률값으로

  • 퍼셉트론 구조상 [0.0, 1.0] 구간 내 값만 내도록 제한 곤란

[접근3] 신경망 출력을 ‘참’일 가능성의 로짓값으로

  • 로짓값: 상대적 가능성 정도를 로그 척도로 표현한 값
  • 간단한 변환 함수를 추가해 확률 값으로 변환가능
  • 값의 범위에 제한이 없어서 퍼셉트론 출력 형태로 적합
  • 미분 처리가 용이해 역전파 학습에 적당

딥러닝에서는 이진판단 처리에 [접근3]이용

  • 뒤에 소개될 시그모이드 함수를 퍼셉트론 안에 삽입하면 [접근2]도 가능

 

 💡 퍼셉트론 구조상 이진 판단 즉 0과 1을 두가지 값만 내도록하는 것은 미분이 곤란하며 역전파 학습이 거의 불가능해집니다.

이를 위해 신경망 출력을상대적 가능성(확률)을 로그 척도로 표현한 값인 로짓값을 이용하여 처리해야합니다.

이러한 로짓값을 만들기 위해 시그모이드 함수를 이용해도 되며 시그모이드 함수는 다음과 같습니다.

 

시그모이드 함수

  • 입력: 참일 가능성의 로짓값(적당한 상수가 더해진 로그 값). 거짓 가능성의 로짓값을 0으로 간주
  • 출력: 결과가 참일 확률의 추정값. 0과 1사이의 실숫값

0에서 1사이의 값으로 나오면서 확률(1일 확률이 얼마정도되느냐)을 로짓값으로 표현하면 좋겠다라는 관점에서 만든 함수이다.

이 시그모이드 함수를 활성화 함수activation function로 활용한다.

 

로짓값

  • 적당한 상수가 더해진 로그 값
  • 범위에 제한 없는 임의의 실숫값
  • 다수 후보의 상대적 가능성을 로그 값으로 표시

로짓값 활용 예

  • 별의 밝기: 1등급마다 밝기 2.5배 증가
  • 지진의 진도: 0.2마다 에너지 2배, 1.0차이는 32배

월드컵 우승 가능성 로짓값: 브라질5, 한국2, 피나마1이라면

  • 한국 우승 가능성: 피나마 우승 가능성의 e^2-1 = 2.7배
  • 브라질 우승 가능성: 한국 우승 가능성의 e^5-2 = 20.1배

 

시그모이드 함수의 정의

 

💡 핵심!! 로짓값을 확률로 변환 가능하다. 

 

 

시그모이드 함수의 그래프

  • 입력 범위와 제한 없음
  • 출력은 0과 1사이(제한)
  • 참 추정 판정: x≥0 또는 y≥0.5
  • 학습이 성공적으로 진행됨에 따라 출력은 대개 0 또는 1로 수렴

 

 

 

시그모이드 함수의 편미분

  • 분수식의 미분 규칙 적용 후 변형해 도출 가능
  • 시그모이드 함수의 입력보다 출력을 이용해 쉽게 계산 가능
  • 쓸모는 없다
  • 딥러닝에서 편미분은 손실기울기를 계산을 위해 필요
  • 시그모이드 함수의 계산 결과는 손실함수가 아님
  • 따라서 딥러닝 모델에서 실제로 이 편미분 수식은 이용되지 않음

💡 이진판단으로 출력이 어려워 확률을 로짓형태로 만들어 출력하면 상대적인 가능성을 확률로 계산 가능한 이점이 있다.

0-1로 범위를 제한하려하니 마지막에 퍼셉트론에 있는 구조에서 추가로 시그모이드(로짓값을 사용한)를 붙여 출력을 함.

이 구조로 만들면 입력에 대해 출력이 가지는 확률을 0-1사이로 제한을 해 비율로 표시가 가능하니 미분도 가능함으로 시그모이드를 사용하겠다.