본문 바로가기
필기 노트/처음 배우는 딥러닝 수학

[딥러닝 기초] 신경망과 학습

by misconstructed 2020. 7. 9.
728x90

안녕하세요 :)

오늘은 여태까지 배운 지식들을 기반으로 신경망과 신경망 학습에 대한 이야기를 해볼까 합니다!

1. 신경망

신경망의 파라미터와 변수

파라미터(parameter)는 신경망의 수학적 모델을 정하는데 필요한 상수입니다.

이전에 대분 가중치(weight)와 편향(bias)을 파라미터라고 부릅니다.

파라미터를 제외하고, 신경망의 입력으로 주어지는 데이터 값에 따라서 변하는 변수가 필요합니다.

그러므로, 신경망에서는

  1. 데이터를 저장하는 변수
  2. 모델을 결정하는 파라미터

로 구성됩니다.

이해하기 쉽게 단순회귀분석을 예시로 들어보겠습니다.

y = px + q 라는 회귀방정식을 살펴보면,

절편(q)과 회귀계수(p)는 파라미터에 해당하고, 독립변수(x), 종속변수(y)는 변수에 해당합니다.

파라미터와 변수의 이름

이전 게시물에서는 파라미터명과 변수명에 대해서 명확하게 명시하지 않았습니다.

이번에는 신경망에서 사용되는 파라미터와 변수의 이름에 대해서 정의해보겠습니다.

파라미터와 변수의 이름

n개의 학습 데이터가 있는 경우, n개의 k번째 입력 데이터의 이름은 다음과 같이 정의합니다.

k번째 변수의 이름

입력층

입력층은 데이터의 입구입니다.

입력으로 주어지는 입력값과 출력값이 동일합니다.

그러므로, 입력 변수명과 출력 변수명을 동일하게 사용하는 경우가 일반적입니다.

은닉층

은닉층에서는 가중입력(z)과 출력 변수(a), 활성화 함수 a(z)를 사용해서 다음과 같은 연산을 수행한다고 할 수 있습니다.

은닉층 연산

신경망의 구성을 일반화해서 그림으로 표현하면 다음과 같이 표현할 수 있습니다.

신경망의 구조


학습

학습은 사전에 주어진 데이터(학습 데이터)를 이용해서 파라미터(가중치와 편향)를 결정하는 과정을 의미합니다.

학습을 통해서 예측값실제값 사이의 오차가 최소가 되도록 파라미터의 값을 조정하게 됩니다.

신경망의 예측값은 출력층 유닛의 출력으로 나타나게 됩니다.

 

※ 교차 엔트로피(cross entropy)
이전 게시물에서 제곱오차에 대해서 배워봤습니다. 
제곱오차는 실제 적용하고 이해하기 쉬운 방법이라는 장점이 있지만 실제 계산 시간이 오래 걸릴 수 있다는 단점이 있습니다.
제곱오차의 이러한 단점을 해결하기 위해 나온 방법이 교차 엔트로피입니다.
교차 엔트로피는 경사하강법의 계산을 빠르게 할 수 있다는 장점이 있습니다.

 

교차 엔트로피(cross entropy)

비용함수

신경망의 파라미터(가중치, 편향)를 결정하는 방법이 필요합니다.

우리는 예측값과 실제 데이터의 오차가 모든 입력값에 대해서 최소가 되도록 파라미터를 결정해야 합니다.

전체 데이터에 대한 오차를 구하는 함수를 비용함수, 손실함수(loss function), 목적함수(objective function), 또는 오차함수(error function)이라고 합니다.

비용함수를 이해하기 위해서 회귀분석을 예로 들어보겠습니다.

회귀분석에서 비용함수

비용함수의 값이 최소가 되도록 파라미터 (p, q)의 값을 구하는 과정을 최적화라고 합니다.

학습과정에서 주의하셔야 하는 점은 파라미터의 개수보다 학습 데이터의 개수가 더 많아야 모델을 결정할 수 있다는 점입니다.


처음 배우는 딥러닝 수학
국내도서
저자 : 와쿠이 요시유키,와쿠이 사다미 / 박광수역
출판 : 한빛미디어 2018.02.01
상세보기

<처음 배우는 딥러닝 수학>을 읽으면서 개인적으로 정리한 내용입니다.

제가 잘못 이해했거나, 수정이 필요한 부분에 대한 피드백은 언제든지 환영입니다.

감사합니다 :)

728x90

댓글