인공 신경망 복습 정리

Seyi·2022년 6월 11일
0

1. 수학과 파이썬 복습

1.1 벡터와 행렬

  • 벡터
    -크기와 방향을 가진 양
    -숫자가 일렬로 늘어선 집합
    -파이썬에서는 1차원 배열로 취급
    -숫자들을 세로로 나열하는 것을 열벡터, 가로로 나열하는 것을 행벡터라고 함

  • 행렬
    -숫자가 2차원 형태로 늘어선 것
    -행과 열로 구성

1.2 행렬의 원소별 연산

  • 다차원 넘파일 배열의 연산은 다차원 배열들에서 서로 대응하는 원소끼리 연산이 이루어진다.

1.3 브로드캐스트

  • 넘파이의 다차원 배열에서는 형상이 다른 배열끼리도 연산할 수 있다.
    -행렬 ✖️ 스칼라
    스칼라가 행렬의 크기로 확장된 후 연산
    -행렬 ✖️ 벡터
    벡터를 행렬의 크기와 같게 확장 후 연산

1.4 벡터의 내적과 행렬의 곱

  • 벡터의 내적: 두 벡터에서 대응하는 원소들의 곱을 모두 더한 것

    백터의 내적은 직관적으로는 '두 벡터가 얼마나 같은 방향을 향하고 있는가'를 나타낸다.
    벡터의 길이가 1인 경우로 한정하면 완전히 같은 방향을 향하는 두 벡터의 내적은 1이 된다.

  • 행렬의 곱셈: 왼쪽 행렬의 행벡터와 오른쪽 행렬의 열벡터의 내적으로 계산

1.5 행렬의 형상 확인

형상 확인: 행렬의 곱에서는 대응하는 차원의 원소 수를 일치시킨다.
A와 B의 곱으로 만들어진 행렬C의 형상은 A의 행 수와 B의 열 수가 된다.

[3×2]×[2×4]=[3×4][3 \times 2] \times [2 \times 4] = [3 \times 4]

2. 신경망의 추론

2.1 신경망 추론 전체 그림

  • 신경망은 간단히 말하면 '함수'라고 할 수 있다. 입력층, 은닉층, 출력층으로 구성

위 코드에서 b1의 덧셈은 브로드캐스트된다.

3. 신경망의 학습

3.1 손실 함수

  • 학습 단계의 특정 시점에서 신경망의 성능을 나타내는 척도로 손실(loss)을 사용한다. 손실은 학습 데이터(학습 시 주어진 정답 데이터)와 신경망이 예측한 결과를 비교하여 예측이 얼마나 나쁜가를 산출한 단일값이다.
  • 신경망의 손실은 손실함수를 사용해 구한다.
  • 다중 클래스 분류 신경망에서는 손실 함수로 흔히 교차 엔트로피 오차를 이용한다. 교차 엔트로피 오차는 신경망이 출력하는 각 클래스의 '확률'과 '정답 레이블'을 이용해 구할 수 있다.
  • 소프트 맥스 함수
profile
머신러닝 딥러닝 학습기록

0개의 댓글