'딥러닝' 카테고리의 글 목록 (5 Page)
세모로그

딥러닝
밑바닥부터 시작하는 딥러닝 - 신경망(3)
2021.10.14
신경망의 학습 손실 함수 신경망 학습에는 학습이 얼마나 잘 되고 있는지를 알기 위한 '척도'가 필요하다. 일반적으로 학습 단계의 특정 시점에서 신경망의 성능을 나타내는 척도로 '손실'을 사용한다. 손실은 학습 데이터(학습 시 주어진 정답 데이터)와 신경망이 예측한 결과를 비교하여 예측이 얼마나 나쁜가를 산출한 단일 값(스칼라)이다. 신경망의 손실은 손실 함수를 사용해 구한다. 다중 클래스 분류 신경망에서는 손실 함수로 흔히 교차 엔트로피 오차를 이용한다. 교차 엔트로피 오차는 신경망이 출력하는 각 클래스의 '확률'과 '정답 레이블'을 이용해 구할 수 있다. 앞에서 구현한 신경망에 Softmax 계층과 Cross Entropy Error 계층을 새로 추가한다. x는 입력 데이터, t는 정답 레이블, L은 ..

딥러닝
밑바닥부터 시작하는 딥러닝 - 신경망(2)
2021.10.13
지난 글에 이어 신경망에 대해 알아볼 것이다. 신경망에서 수행하는 작업은 크게 두 단계로 나눌 수 있다. '학습'과 '추론'이다. 이번 글에서는 '추론'에 대해 알아볼 것이다. 신경망의 추론 신경망 추론 그림 입력층에는 뉴런 2개, 출력층에는 뉴런 3개를 각각 준비한다. 그리고 은닉층에도 적당한 수의 뉴런을 배치한다. 여기서는 4개의 뉴런을 두기로 한다. 위의 그림의 신경망은 인접하는 층의 모든 뉴런과 연결되어 있다는 뜻에서 완전연결계층이라고 한다. x는 입력, h는 은닉층의 뉴런, W는 가중치, b는 편향을 뜻한다. 이 기호 각각은 모두 행렬이다. # 완전연결계층에 의한 변환의 미니배치 버전 구현 import numpy as np W1 = np.random.randn(2, 4) b1 = np.rando..

딥러닝
밑바닥부터 시작하는 딥러닝 - 신경망(1)
2021.10.12
벡터와 행렬 벡터 : 크기와 방향을 가진 양 숫자가 일렬로 늘어선 집합 1차원 배열로 취급 행렬 : 숫자가 2차원 형태로 늘어선 것 벡터와 행렬은 np.array() 메서드로 생성 가능 넘파이의 다차원 배열 클래스인 np.ndarray 클래스를 생성 ndim : 차원 수 W : 2차원 배열, 2 X 3 행렬 행렬의 원소별 연산 피연산자인 다차원 배열들에서 서로 대응하는 원소끼리 연산이 이뤄짐 브로드캐스트 넘파이의 다차원 배열에서는 형상이 다른 배열끼리도 연산 가능 스칼라 값 10이 2 X 2 행렬로 확장된 후에 원소별 연산을 수행 벡터의 내적과 행렬의 곱 왼쪽 행렬의 행벡터(가로 방향)와 오른쪽 행렬의 열벡터(세로 방향)의 내적(원소별 곱의 합)으로 계산 벡터의 내적과 행렬의 곱 모두에 np.dot()을..