[N314] 딥러닝 하이퍼파라미터

정진우·2023년 4월 21일
0

Codestates_AIB

목록 보기
3/8

교차 검증(Cross-Validation)

Kfold

kf = KFold(n_splits = 5)
skf = StratifiedKFold(n_splits = 5, random_state = 42, shuffle = True)

파라미터와 하이퍼파라미터의 차이

파라미터 : 학습을 통해 결정되는 값

파라미터는 "가중치"와 "편향"으로 구성되어 있다
(입력층과 은닉층 사이의 파라미터) = (가중치) + (편향) = (입력층 노드 수 x 은닉층 노드 수) + (은닉층 노드 수) = (4 x 8) + 8 = 40

(은닉층과 출력층 사이의 파라미터) = (가중치) + (편향) = (은닉층 노드 수 x 출력층 노드 수) + (출력층 노드 수) = (8 x 3) + 3 = 27

총 학습 파라미터 수 = (입력층과 은닉층 사이의 파라미터) + (은닉층과 출력층 사이의 파라미터)

하이퍼파라미터 : 주로 학습에 직접 관여하며 학습을 통해 결정되지 않는 인자(=직접 결정해주어야 하는 인자)

하이퍼파라미터 튜닝

설정 가능한 하이퍼파라미터를 수작업(Manual)으로 적용하여 튜닝 - 100% 수작업(대학원생 갈아넣기)

설정한 범위 내 모든 조합의 경우의 수에 대해 튜닝
탐색할 지점을 정해주게 되면 알아서 모두 수행
오래걸리기 때문에 1개 혹은 2개 정도의 파라미터 최적값을 찾는 용도로 적합

랜덤 서치, Randomized Saearch

그리드 서치 단점을 보완하기 위해 나온 방법
설정한 범위 내 무작위의 하이퍼파라미터 조합을 이용해 튜닝
상대적으로 중요한 하이퍼파라미터에 대해 탐색을 더 하고 덜 중요한 하이퍼파라미터에 대해 실험을 덜 하도록 한다

(1 Epoch마다 발생하는 Iteration의 횟수) = (데이터의 수) / (Batch size) = 10000 / 100 = 100
5 Epoch이므로 학습이 종료될 때까지 발생하는 Iteration 횟수 = 5 x 100 = 500

ReLU를 활성화 함수로 사용하므로 He 초기화를 사용하는 것이 유리합니다. He 초기화의 분산은 로 계산할 수 있습니다.

profile
ㅋㄷ

0개의 댓글