머신 러닝 - epoch, batch size, iteration의 의미

2021. 2. 9. 15:23·IT기술 관련/A.I 인공지능
반응형

출처: https://m.blog.naver.com/qbxlvnf11/221449297033

 

이번 포스팅의 주제는 텐서플로우나 케라스 등을 사용해서 모델을 만들어 보았으면 다들 아실 용어인 epoch와 batch size 그리고 iteration입니다.


▶ 알고리즘이 iterative 하다는 것: gradient descent와 같이 결과를 내기 위해서 여러 번의 최적화 과정을 거쳐야 되는 알고리즘

optimization 과정

▶ 다루어야 할 데이터가 너무 많기도 하고(메모리가 부족하기도 하고) 한 번의 계산으로 최적화된 값을 찾는 것은 힘듭니다. 따라서, 머신 러닝에서 최적화(optimization)를 할 때는 일반적으로 여러 번 학습 과정을 거칩니다. 또한, 한 번의 학습 과정 역시 사용하는 데이터를 나누는 방식으로 세분화 시킵니다.

​

이때, epoch, batch size, iteration라는 개념이 필요합니다.


 

- epoch

One Epoch is when an ENTIRE dataset is passed forward and backward through the neural network only ONCE

​

(한 번의 epoch는 인공 신경망에서 전체 데이터 셋에 대해 forward pass/backward pass 과정을 거친 것을 말함. 즉, 전체 데이터 셋에 대해 한 번 학습을 완료한 상태)

​

▶ 신경망에서 사용되는 역전파 알고리즘(backpropagation algorithm)은 파라미터를 사용하여 입력부터 출력까지의 각 계층의 weight를 계산하는 과정을 거치는 순방향 패스(forward pass), forward pass를 반대로 거슬러 올라가며 다시 한 번 계산 과정을 거처 기존의 weight를 수정하는 역방향 패스(backward pass)로 나뉩니다. 이 전체 데이터 셋에 대해 해당 과정(forward pass + backward pass)이 완료되면 한 번의 epoch가 진행됐다고 볼 수 있습니다.

​

역전파 알고리즘이 무엇인지 잘 모른다고 하더라도 epoch를 전체 데이터 셋에 대해 한 번의 학습 과정이 완료됐다고 단편적으로 이해하셔도 모델을 학습 시키는 데는 무리가 없습니다.

​

epochs = 40이라면 전체 데이터를 40번 사용해서 학습을 거치는 것입니다.

​

▶ 우리는 모델을 만들 때 적절한 epoch 값을 설정해야만 underfitting과 overfitting을 방지할 수 있습니다.

epoch 값이 너무 작다면 underfitting이 너무 크다면 overfitting이 발생할 확률이 높은 것이죠.


- batch size

Total number of training examples present in a single batch.

​

- iteration

The number of passes to complete one epoch.

​

batch size는 한 번의 batch마다 주는 데이터 샘플의 size. 여기서 batch(보통 mini-batch라고 표현)는 나눠진 데이터 셋을 뜻하며 iteration는 epoch를 나누어서 실행하는 횟수라고 생각하면 됨.

​

▶ 메모리의 한계와 속도 저하 때문에 대부분의 경우에는 한 번의 epoch에서 모든 데이터를 한꺼번에 집어넣을 수는 없습니다. 그래서 데이터를 나누어서 주게 되는데 이때 몇 번 나누어서 주는가를 iteration, 각 iteration마다 주는 데이터 사이즈를 batch size라고 합니다.


출처: https://www.slideshare.net/w0ong/ss-82372826

​

- 정리

​

전체 2000 개의 데이터가 있고, epochs = 20, batch_size = 500이라고 가정합시다.

​

그렇다면 1 epoch는 각 데이터의 size가 500인 batch가 들어간 네 번의 iteration으로 나누어집니다.

그리고 전체 데이터셋에 대해서는 20 번의 학습이 이루어졌으며, iteration 기준으로 보자면 총 80 번의 학습이 이루어진 것입니다.

​

​

반응형
저작자표시 비영리 (새창열림)

'IT기술 관련 > A.I 인공지능' 카테고리의 다른 글

Sigmoid 대신 ReLU? 상황에 맞는 활성화 함수 사용하기  (0) 2021.02.15
머신 러닝 - batch size 적절하게 조절하기  (0) 2021.02.09
한국어 NLP와 딥러닝을 위한 도커이미지 만들기  (0) 2020.08.06
도커를 이용한 딥러닝 환경 구축하기  (0) 2020.08.06
문과생도 이해하는 딥러닝 (11) - 가중치 감소, 드롭아웃  (0) 2019.10.23
'IT기술 관련/A.I 인공지능' 카테고리의 다른 글
  • Sigmoid 대신 ReLU? 상황에 맞는 활성화 함수 사용하기
  • 머신 러닝 - batch size 적절하게 조절하기
  • 한국어 NLP와 딥러닝을 위한 도커이미지 만들기
  • 도커를 이용한 딥러닝 환경 구축하기
호레
호레
창업 / IT / 육아 / 일상 / 여행
    반응형
  • 호레
    Unique Life
    호레
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 법률
        • 기본
        • 개인정보보호법
        • 정보통신망법
        • 전자금융거래법
        • 전자금융감독규정
        • 신용정보법
        • 온라인투자연계금융업법
      • 창업
        • 외식업 관련
        • 임대업 관련
        • 유통업 관련
        • 세무 관련
        • 마케팅 관련
        • 기타 지식
        • 트렌드
        • Youtube
      • IT기술 관련
        • 모바일
        • 윈도우
        • 리눅스
        • MAC OS
        • 네트워크
        • 빅데이터 관련
        • A.I 인공지능
        • 파이썬_루비 등 언어
        • 쿠버네티스
        • 기타 기술
      • 퍼블릭 클라우드 관련
        • Azure
        • GCP
        • AWS
      • 정보보안 관련
        • QRadar
        • Splunk
        • System
        • Web
      • 기타
        • 세상 모든 정보
        • 서적
      • 게임 관련
        • 유니티
      • 부동산
      • 맛집 찾기
        • 강남역
        • 양재역
        • 판교역
        • ★★★★★
        • ★★★★
        • ★★★
        • ★★
        • ★
      • 결혼_육아 생활
        • 리얼후기
        • 일상
        • 육아
        • 사랑
        • Food
      • 영어
        • 스피킹
        • 문법
        • 팝송
        • 영화
      • K-컨텐츠
        • 드라마
        • 영화
        • 예능
      • 독서
      • 프로젝트 관련 조사
        • 시스템 구축
        • 로그 관련
        • 웹
        • APT
        • 모의 해킹
        • DB
        • 허니팟
        • 수리카타
        • 알고리즘
        • FDS
      • 기업별 구내 식당 평가
        • 한국관광공사
        • KT telecop
        • KT M&S
        • KT powertel
        • KT cs 연수원
        • 진에어
      • 대학 생활
        • 위드윈연구소
        • 진로 고민
        • 채용정보
        • 자동차
        • 주식
        • 악성코드
        • 게임 보안
      • 쉐어하우스
  • 블로그 메뉴

    • 홈
    • 게임 관련
    • IT 기술 관련
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    수제버거
    복리후생
    판교맛집
    런치
    대통령
    상호관세
    이재곧죽습니다
    무역전쟁
    수제버거맛집
    돈까스
    보안가이드
    맛집
    점심
    쥬쥬랜드
    유니티
    판교역
    AWS
    마케팅
    판교
    수제버거존맛
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
호레
머신 러닝 - epoch, batch size, iteration의 의미
상단으로

티스토리툴바