Deep learning

Do it!딥러닝 교과서 chapter3 :신경망 학습

망삼드 2022. 4. 8. 16:30

3.1 신경망 학습의 의미

신경망의 학습한다는 것은 입력데이터가 들어왓을 때 학습데이터를 이용해 규칙을 스스로 찾는 과정을 말한다.

입출력의 매핑규칙은 함수적 매핑관계로 존재한다.

신경망 구조와 관련된 것들은 학습 전에 미리 정해두고 학습과정에서는 모델 파라미터 값을 찾는다

모델파라미터의 대부분은 뉴런의 가중치와 편향이다. 최적화 방법을 이용해 최적의 파라미터를 찾을 수 있다.

 

3.2 신경망 학습과 최적화

최적화란 유한한 방정식으로는 정확한 해를 구할 수 없을 때 근사적으로 해를 구하는 방법으로 다양한 제약 조건을 만족하면서 목적함수를 최대화하거나 최소화하는 해를 반복하여 조금씩 접근하는 방식으로 찾아가는 방법이다.

제약조건에는 부등식형태의 제약조건 g(x)≤0 과 등식형태의 제약 조건 h(x) =0으로 구분된다

최적화를 찾은 x값을 최적해라고 하며 이에 가까이 가는 상태를 수렴한다고 한다.

 

-회귀문제를 최적화 문제로 정의

Min 1/N∑|ti-y(xi;θ)|2 (t:관측레이블, y(x;θ)모델예측)

회귀문제에서 손실함수는 MSE(평균제곱오차)로 정의되며 타깃과 예측값의 오차를 나타낸다

 

-분류문제를 최적화 문제로 정의

Min -1/N∑n∑k|tik*logм(xi;θ)|2 (t:관측레이블, logм (x;θ)모델예측)

분류문제에서 손실함수는 크로스 엔트로피로 정의되며 타깃확률분포와 모델 예측 확률분포의 차이를 나타낸다.

 

3.3 경사하강법

신경망의 손실함수에는 하나의 전역최소(함수전체에서 가장 낮은 곳)과 수많은 지역최소(부분적으로 낮은곳) 이 존재 한다.하지만 전역최소에 해당하는 파라미터값을 찾기위해선 계산비용이 많이 든다. 따라서 대부분의 최적화 알고리즘의 목표는 지역최소를 찾는것이다. 

손실함수를 근사하는데 사용하는 미분차수에 따라 1차미분, 1.5차미분, 2차미분방정식으로 나뉜다

 

★1차 미분: 경사하강법, 변형 알고리즘

-> 수렴속도는 느리지만 손실함수곡면이 볼록하지 않아도 최적해 찾을 수 있어 사용

1.5차미분: 준 뉴턴 방법, 켤레경사하강법, 레벤버그-마쿼트 방법

2차 미분: 뉴턴 방법, 내부점법

 

경사하강법은 손실함수의 최소지점을 찾기위해 손실함수의 기울기를 구하고 기울기의 반대방향으로 내려간다. 

θ+ = θ-αdJ/dθ J:손실함수 θ:스텝크기

 

여기서 알파는 스텝트기 또는 학습률로 이동폭을 결정한다 -αdJ/dθ는 이동방향으로 기울기의 음수방향을 나타내므로 가장 가파른 내리막길로 내려가겠다는 의미이다.

 

3.4 역전파알고리즘

신경망같은 그래프구조에서 연쇄법칙을 이용해 미분을 효과적으로 수행하기 위한 알고리즘이다. 따라서 신경망 학습은 역전파 알고리즘을 이용해서 미분을 계산하고 경사하강법같은 최적화 알고리즘을 통해 파라미터를 업데이트하면서 최적해를 찾는 최적화 과정으로 볼 수 있다.

 

3.5 데이터셋구성과 훈련데이터 단위

관측데이터의 구성은 범주성 데이터의 경우 클래스별로 비율을 맞춰야 한다. 회귀데이터의 경우 입력 데이터가 근사하려는 함수 범위를 잘 지지하고 있는지 살펴봐야한다. 함수구간을 넘어가면 근사능력이 떨어지기 때문이다

 

데이터셋이 준비되면 훈련데이터셋, 검증데이터셋, 테스트데이터셋으로 분리한다. 훈련데이터는 모델을 훈련할때 검증데이터셋은 성능을 평가해 하이퍼파라미터를 튜닝할때 사용하고 테스트 데이터는 훈련이 완료된 모델의 최종 성능을 평가할 때 사용한다. 이때 중요한 원칙은 분리된 데이터셋의 분포가 원래의 데이터 분포를 따르도록 해야한다는 것이다.

 

훈련데이터를 학습할 때 단위에 따라 방식이 달라진다.

1. 배치방식: 훈련데이터셋을 한꺼번에 입력하는 방식, 데이터가 커서 메모리 용량을 쉽게 초과한다

2. 미니배치 방식: 데이터를 작은 단위로 묶어서 학습하는 방식

3. 확률적 방식: 데이터를 샘플단위로 묶어서 훈련하는 방식

 

훈련단위에따라 경사하강법도 달라진다

보통 미니배치훈련방식을 사용하는데 미니배치를 생성할 때마다 매번 다른 데이터로 묶이고 그때마다 조금씩 다른 통계량을 갖는 확률적 성질이 생기기때문에 일반화 오류가 줄어들고 과적합이 방지되는 정규화효과를 볼 수 있다. 

미니배치의 크기는 보통 2의 제곱으로 정해야 GPU메모리를 효율적으로 사용할 수 있다.

 

3.6 손실함수정의

신경망 모델이 정확하게 예측하려면 모델은 관측데이터를 잘 설명하는 함수를 표현해야하고 이 함수의 형태를 결정하는 것이 바로 손실함수이다. 손실함수를 정하는 기준은 1)모델이 오차 최소화되도록 정의하거나 2)관측데이터의 확률이 최대화되도로고 최대우도추정방식으로 정의하는 방식이 있다.

우도란 관측데이터의 확률이다. 이 방식은 확률모델의 경우만 사용할 수 있다.

 

*정보량:확률에 반비례하면서 독립사건들의 정보량은 더해줘야하므로 확률의 역수에 고르를 취한 값으로 정의된다

I(x) = log(1/p(x)) = -logp(x)

 

엔트로피란 확률변수 또는 확률분포가 얼마나 불확실한지 혹은 무작위한지를 나타낸다. 엔트로피는 확률변수의 정보량의 기댓값으로 정의된다.

H(p) = -∫p(x)logp(x)dx

 

확률이 0.5일때 엔트로피가 가장 큰 1이 나온다.

 

크로스엔트로피-손실함수 일종

두 확률분포의 차이 또는 유사하지 않은 정도를 나타낸다. 

H(p,q) = -∫p(x)logq(x)dx

 

q가 p를 정확히 추정해 두 분포가 같아지면 크로스 엔트로피는 최소화되고 잘 추정하지 못하면 크로스 엔트로피는 최대가 된다.