일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- flag
- picoCTF
- 리뷰
- HTML
- 역전파
- 순전파
- CTF
- PHP
- 코딩
- 파이썬
- 신경망 학습
- Python Challenge
- 아파치
- 오차역전파법
- sgd
- 소프트맥스 함수
- Python
- 딥러닝
- 기울기
- PICO CTF
- Apache2
- C언어
- 책
- FastAPI
- 우분투
- 백준
- PostgreSQL
- 설치
- AdaGrad
- 신경망
- Today
- Total
목록소프트맥스 함수 (3)
Story of CowHacker
이번 글에서는 먼저 출력층에서 사용하는 소프트 맥스 함수에 대해 알아보겠다. 소프트맥스 함수는 입력값을 정규화하여 출력한다. 그림1은 간소화한 Softmax-with-Loss 계층의 계산 그래프다. 여기서 이름에 -with-Loss가 붙는 이유는 손실함수인 교차 엔트로피 오차도 포함했기 때문이다. 그림1의 계산 그래프를 해석해보면 1. 3클래스로 가정하고 3개의 입력을 받는다. 2. 입력 ( a1, a2, a3 ) 을 정규화 하여 출력 ( y1, y2, y3 ) 을 한다. 3. Cross Entropy Error 계층은 Softmax의 출력 ( y1, y2, y3 )과 정답 레이블 ( t1, t2, t3 )를 받고 이 데이터로 부터 손실 L을 출력한다. 이제 파이썬으로 구현해보겠다. class Softm..
이번 글에서는 먼저 앞 글에서 언급한 소프트맥스 함수의 취약점을 보안한 식을 알아볼 것이다. 소프트맥스 함수에서 지수함수 ( 분자 ) 는 쉽게 아주 큰 값을 낸다. 예를 들어 e^10 은 20,000이넘고, e^100 은 0이 40개가 넘는 큰 값이 된다 이런 큰 값끼리 나눗셈을 하면 결과 수치가 불안정 해진다. 즉, 오버플로 문제가 생긴다. 이제 한번 앞에서 언급한 소프트맥스 함수를 개선 해본다. 개선전 소프트맥스 함수 일단 개선 전 소프트맥스 함수식을 본다. 소프트맥스 함수 개선 과정 첫 번째 과정에서는 C라는 임의의 정수를 분자, 분모 양쪽에 곱했다. 두 번째 과정에서는 C를 지수 함수인 exp() 안으로 옮겨 logC로 만든다. 세 번째 과정에서는 logC를 C` 라는 새로운 기호로 치환한다. 결..
머신러닝은 분류와 회귀로 나뉜다. 분류 : 데이터가 어느 클래스에 속하는지를 뜻한다. ex) 사진 속 사람의 성별을 분류하는 작업이 있다. 회귀 : 입력 데이터에서 수치를 예측하는 것을 뜻한다. ex) 사진 속 사람의 몸무게가 대략 몇 kg 할 것이다와 같이 예측에 해당한다. 여기에서 어느 문제를 쓸 것인지에 따라 신경망의 출력층에서 사용하는 활성화 함수가 달라진다. 분류를 사용 시 소프트맥스 함수, 회귀를 사용 시 항등 함수를 사용한다. 소프트맥스 함수 식 그림1은 소프트맥스 함수를 식으로 나타낸 것이다. exp ( x )는 e^x을 뜻하는 지수 함수다 ( e는 자연상수 ). n은 출력층의 뉴런 수다. yk는 그중 k번째 출력임을 뜻한다. 소프트맥스 함수의 분자는 입력 신호 ak의 지수 함수, 분모는 ..