일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- CTF
- Python
- FastAPI
- Python Challenge
- 소프트맥스 함수
- 책
- HTML
- 기울기
- 딥러닝
- PostgreSQL
- 백준
- 아파치
- PHP
- picoCTF
- Apache2
- 신경망 학습
- sgd
- 리뷰
- 오차역전파법
- 코딩
- 신경망
- 설치
- 역전파
- C언어
- 파이썬
- 우분투
- AdaGrad
- PICO CTF
- flag
- 순전파
- 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..
저번 글 ( 딥러닝 2.3 ) 을 이어 이번에는 2층에서 출력층으로 신호 전달을 하는 과정을 볼 것이다. 2층에서 출력층으로의 신호 전달 그림1에서 출력층에서 활성화 함수가 다르다는 것을 알 수 있다. h()가 아닌 σ( 시그마 ) 를 표시하였다. 이제 파이썬으로 구현해본다. import numpy as num X = num.array ( [ 1.0, 0.5 ] ) W1 = num.array ( [ [ 0.1, 0.3, 0.5 ], [ 0.2, 0.4, 0.6 ] ] ) B1 = num.array ( [ 0.1, 0.2, 0.3 ] ) W2 = num.array ( [ [ 0.1, 0.4 ], [ 0.2, 0.5 ], [ 0.3, 0.6 ] ]) B2 = num.array ( [ 0.1, 0.2 ] ) ..
3층 신경망 구성 입력층 ( 0층 ) -> 첫 번째 은닉층 ( 1층 ) 3개 -> 두 번째 은닉층 ( 2층 ) 2개 -> 출력층 ( 3층 ) 2개 그림 1에서 x1,x2는 입력층이고, y1,y2 는 출력층이다 중간에 아무것도 안 적힌 상자들은 은닉층 들이다. 그림 2는 입력층의 뉴런 x2에서 다음 층의 뉴런으로 향하는 선 위에 가중치를 표시하고 있다. 그림 2의 과정을 표기한 밑의 그림 3을 본다. 그림 3에서 w오른쪽 위에는 ( 1 )이 붙어있는데 이것은 1층의 가중치를 뜻하는 것이다. w의 오른쪽 밑 첫 번째 숫자인 1은 다음 층의 1번째 뉴런을 뜻하고, w의 오른쪽 밑 두 번째 숫자인 2는 앞 층의 2번째 뉴런을 뜻한다. 해석을 해보면 앞 층의 2번째 뉴런 ( x2 ) 에서 다음 층의 1번째 뉴런 ..