소프트맥스(3)
-
[밑바닥딥러닝] 4. 신경망 구현 - 손글씨 인식
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 이번 장에서는 손글씨 이미지를 인식하는 신경망을 구현하여 신경망의 순전파(forward propagation)가 실제로 어떻게 이루어지는지 알아보도록 하자. 출처:https://ko.wikipedia.org/wiki/MNIST_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4 MNIST 데이터셋은 훈련용 이미지 60000개, 테스트용 이미지 10000개로 이루어진 손글씨 이미지 집합이다. 이미지 하나당 (28, 28)의 크기이며 각 픽셀은 0 ~ 255까지의 값을 취한다. import os import pickle from dataset.mnist..
2021.09.12 -
[밑바닥딥러닝] 3. 신경망 구현, 소프트맥스(softmax)
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 이번 장에서는 간단한 신경망을 구현하고 소프트맥스 함수에 대해서 알아보도록 한다. 신경망 구현 - 순방향(forward) 구현하고자 하는 신경망은 위와 같은 3층 신경망이다. (입력층은 0층부터 시작) 첫 입력(input)은 2개가 주어지고, 첫번째 은닉층에 3개의 노드, 두번째 은닉층에 2개의 노드 마지막으로 2개의 출력을 생성한다. 출력이 여러 개인 이유는 해당 신경망의 목표가 클래스 분류인 경우일 가능성이 높다. 노드 앞에 달린 작은 원은 활성화 함수를 거친 결과를 출력함을 나타낸다. 입력층에서부터 출력층까지 신호가 흘러가고, 최종적으로 특정값을 출력할 때, 이를 순방향(forward) 전..
2021.09.12 -
4-2. 소프트맥스 회귀(Softmax Regression)
4.1장의 로지스틱 회귀는 양성 클래스/음성 클래스만을 분류하는 이진 분류기였다. 하지만 로지스틱 회귀 역시 다중 클래스를 분류할 수 있는데, 이를 소프트맥스 회귀 혹은 다항 로지스틱 회귀라고 한다. 먼저 샘플 x에 대해서 각 클래스별로 가진 파라미터 행렬을 곱한 뒤, 각 클래스 k에 대한 점수를 계산한다. 이를 소프트맥스 함수에 통과시켜 표준화시킨다. 그렇게 출력된 값이 각 클래스에 속할 확률이다. 크로스 엔트로피 비용함수 소프트맥스 회귀에서 사용하는 비용함수는 이진 분류기의 비용함수를 다항으로 확장한 것과 같다. k번째 클래스에 속할 확률 pk를 낮게 측정했는데(log값이 -∞에 가까운데), 실제 타깃확률인 yk가 1일 경우 비용함수가 매우 커지게 된다. 반대의 경우 역시 마찬가지이다. 크로스 엔트로..
2021.05.02