«   2022/12   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
11
Total
18,636
관리 메뉴

인기글

배치(batch)와 에포크(epoch)의 차이점 간단 정리 본문

카테고리 없음

배치(batch)와 에포크(epoch)의 차이점 간단 정리

친절한😎상추§ 2020. 7. 21. 22:02

딥러닝에서 배치와 에포크(에폭)

많은 분들이 딥러닝을 공부하면서 도대체 배치와 에포크가 무슨 차이인지 헷갈려하곤 합니다. 이 글을 끝까지 인내심을 가지고 읽으시다 보면 이해가 안 되는 부분이 있어도 전체적인 흐름으로 이해를 하시게 될 것입니다. 확률적 경사 하강은 다수의 하이퍼 파라미터를 갖는 학습 알고리즘입니다. 초보자들이 종종 혼동하는 두 개의 하이퍼 파라미터는 배치 크기와 에포크입니다. 그것들은 정수 값이며 같은 일을 하는 것처럼 보입니다. 이 게시물에서는 확률 적 경사 하강에서 배치와 에포크의 차이를 알아봅니다. 이 게시물을 읽은 후 다음을 알게 됩니다. 확률 적 경사 하강은 훈련 데이터 셋을 사용하여 모델을 업데이트하는 반복 학습 알고리즘입니다. 배치 크기는 모델의 내부 매개 변수가 업데이트되기 전에 처리할 훈련 샘플 수를 제어하는 경사 하강 파라미터입니다. 에포크의 수는 훈련 데이터 세트를 통한 완전한 패스의 수를 제어하는 초 하강 구배 하강 파라미터입니다. 18개의 단계별 참고서와 9개의 프로젝트로 새 책에서 몇 줄의 코드만으로 다양한 예측 모델링 문제에 대한 딥 러닝 모델을 개발하는 방법을 알아보세요. 그럼 지금부터 시작합니다. 이 게시물은 다섯 부분으로 나뉩니다. 그것들은 확률적 경사 하강 샘플이 무엇인지, 배치란 무엇인지, 에포크란 무엇인지, 배치와 에포크의 차이점은 무엇인지 알아봅니다. 또 Stochastic Gradient Descent(SGD)는 기계 학습 알고리즘인데 그것도 알아봅니다. 특히 딥러닝에 사용되는 인공 신경망을 학습하는 데 사용되는 최적화 알고리즘도 알아볼 것입니다. 알고리즘의 역할은 대수 손실 또는 평균 제곱 오차와 같은 일부 성능 측정에 대해 잘 수행되는 내부 모델 매개 변수 세트를 찾는 것입니다. 최적화는 일종의 검색 프로세스이며이 검색을 학습으로 생각할 수 있습니다. 최적화 알고리즘을 "그레디언트 디센트 (gradient descent)"라고 하며, 여기서 "그레디언트"는 에러 그래디언트 또는 에러의 기울기를 계산하고 "디센트 (descent)"는 그 기울기를 따라 최소 레벨의 에러를 향해 아래로 이동하는 것을 의미합니다. 알고리즘은 반복적입니다. 이는 검색 프로세스가 여러 개의 개별 단계에서 발생한다는 것을 의미하며 각 단계는 모델 매개 변수를 약간 향상합니다. 각 단계에는 일부 샘플에 대한 예측을 위해 현재 내부 매개 변수 세트와 함께 모델을 사용하고 예측을 실제 예상 결과와 비교하고, 오류를 계산하고, 오류를 사용하여 내부 모델 매개 변수를 업데이트합니다. 이 업데이트 절차는 알고리즘마다 다르지만 인공 신경망의 경우 역전파 업데이트 알고리즘이 사용됩니다. 배치와 갱신을 설명하기 전에 샘플의 의미를 살펴보겠습니다. 그레디언트 디센트에 대해 자세히 알아보시기 바랍니다. 샘플은 단일 데이터 행입니다. 여기에는 알고리즘에 입력된 입력과 예측을 비교하고 오류를 계산하는 데 사용되는 출력이 포함됩니다. 훈련 데이터 세트는 많은 행의 데이터, 예를 들어 많은 샘플로 구성됩니다. 샘플은 인스턴스, 관찰, 입력 벡터 또는 특징 벡터라고도 합니다. 샘플이 무엇인지 알았으므로 배치를 정의해 봅시다. 배치 크기는 내부 모델 매개 변수를 업데이트하기 전에 처리할 샘플 수를 정의하는 하이퍼 파라미터입니다. 배치를 하나 이상의 샘플을 반복하고 예측하는 for문으로 생각하십시오. 배치의 끝에서 예측은 예상 출력 변수와 비교되고 오류가 계산됩니다. 이 오류에서 업데이트 알고리즘은 모델을 개선하는 데 사용됩니다. (예: 오류 그레디언트를 따라 아래로 이동한다.) 훈련 데이터 세트는 하나 이상의 배치로 나눌 수 있습니다. 모든 학습 샘플을 사용하여 하나의 배치를 만들면 학습 알고리즘을 배치 그래디언트 디센트라고 합니다. 배치가 하나의 샘플 크기인 경우 학습 알고리즘을 확률적 경사 하강이라고 합니다. 배치 크기가 하나 이상의 샘플이고 훈련 데이터 세트의 크기보다 작은 경우, 학습 알고리즘을 미니 배치 경사 하강이라고 합니다. 배치 그레디언트 하강법은 배치 크기 = 훈련 세트 크기입니다. 확률적 그레디언트 하강은 배치 크기 = 1 미니 배치 그레디언트 디센트는 1 배치 크기 훈련 세트 크기입니다. 미니 배치 구배 하강의 경우 널리 사용되는 배치 크기에는 32, 64 및 128 샘플이 포함됩니다. 이러한 값은 문헌 및 자습서에서 모델에 사용된 것을 볼 수 있습니다. 데이터 세트가 배치 크기로 균등하게 분할되지 않으면 어떻게 될까요? 이것은 모델을 훈련할 때 자주 발생합니다. 단순히 최종 배치에 다른 배치보다 적은 수의 샘플이 있음을 의미합니다. 또는 데이터 세트에서 일부 샘플을 제거하거나 배치 크기를 변경하여 데이터 세트의 샘플 수가 배치 크기로 균등하게 나눌 수 있습니다. 이러한 경사 하강 변형의 차이점에 대한 자세한 내용은 다음 게시물을 참고하시기 바랍니다. 미니 배치 그라데이션 하강에 대한 부드러운 소개 및 배치 크기 구성 방법 학습 과정에서 배치 크기가 미치는 영향에 대한 자세한 내용은 다음 게시물을 또한 참고하시기 바랍니다. 신경망 배치 크기 훈련의 속도와 안정성을 제어하는 방법입니다. 배치는 샘플을 사용하여 모델을 업데이트합니다. 에포크 수는 학습 알고리즘이 전체 교육 데이터 세트를 통해 작동하는 횟수를 정의하는 하이퍼 파라미터입니다. 하나의 에포크(epoch)는 훈련 데이터 세트의 각 샘플이 내부 모델 파라미터를 업데이트할 기회를 가졌음을 의미합니다. 에포크는 하나 이상의 배치로 구성됩니다. 예를 들어, 위와 같이 하나의 배치를 갖는 에포크를 배치 구배 하강 학습 알고리즘이라고 합니다. 각 루프가 학습 데이터 세트를 진행하는 에포크 수에 대한 for문이라고 생각할 수 있습니다. 이 반복 문내에는 각 샘플 배치를 반복하는 또 다른 중첩된 for문이 있으며, 여기서 한 배치에는 지정된 "배치 크기"수의 샘플이 있습니다. 에폭의 수는 전통적으로 수백 또는 수천이며, 모델의 오류가 충분히 최소화될 때까지 학습 알고리즘이 실행될 수 있습니다. 문헌 및 자습서에서 10, 100, 500, 1000 이상으로 설정된 에포크 수의 예를 볼 수 있습니다. x축을 따라 시간을 나타내는 에포크와 y축에 대한 모델의 오류 또는 기술을 나타내는 선 그림을 만드는 것이 일반적입니다. 이러한 도표를 학습 곡선이라고도 합니다. 이 도표는 모델이 과도하게 학습되었는지, 부족했는지 또는 훈련 데이터 세트에 적합하게 학습이 되었는지 진단하는 데 도움이 될 수 있습니다.

0 Comments
댓글쓰기 폼