인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

조용훈님의 프로필 이미지

작성한 질문수

처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]

딥러닝으로 Regression 문제 적용해보기 (House Price Kaggle 문제)

test시 minibatch 사용?

작성

·

31

0

안녕하세요. 강의 잘 보고 있습니다.

학습시 minibatch를 사용했다면, test시에서 minibatch 수만큼 사용하여 prediction한다고 하셨는데,

제가 알고 있던 것과 좀 달라 문의드립니다.

학습할때는 minibatch gradient descent를 사용해 학습하더라도,

 

테스트할때는 minibatch 만큼 인풋을 사용할 필요가 없을것 같은데요.

예를들어 한개의 데이터(여러 feature를가진)만을 인풋으로 넣어도 당연히, output인 집값을 잘 예측해야하고,

minibatch 이상의 데이터 수를 넣어도 역시 잘 예측해야 맞는게 아닌가 싶습니다.

미니배치를 쓰더라도 데이터셋전체를 한번의 epoch안에 다 사용해서

모델을 튜닝하고 epoch을 반복하니까,

평가할때는 미니배치랑은 전혀 상관없는것으로 알고있었는데, 아닌가요?

 

감사합니다.

답변 1

0

잔재미코딩 DaveLee님의 프로필 이미지

안녕하세요. 우선 불편을 드려 죄송합니다.

말씀하신 게 맞습니다. 제가 실수가 있었습니다. 해당 커멘트는 영상과 자료를 업데이트하도록 하겠습니다. 학습 시에 미니배치를 사용하는 이유는 주로 계산 효율성 및 메모리 관리 때문이고, 모델 파라미터는 전체 데이터셋에 대해 여러 epoch 동안 업데이트되므로 테스트 시에는 꼭 학습 때 사용한 미니배치 크기와 동일한 입력 크기를 사용할 필요는 없습니다.

테스트 시에는 한 개의 데이터든 여러 데이터를 묶어서 입력하든 모델이 올바른 예측 값을 출력하도록 설계되어 있습니다. 다만, 일부 딥러닝 프레임워크에서는 평가를 빠르게 진행하거나 메모리 사용을 최적화하기 위해 배치 단위로 데이터를 처리하는 경우가 있는데, 이것은 모델의 예측 성능과는 직접적인 관련이 없습니다.

즉, 미니배치는 학습 과정에서의 최적화 전략일 뿐, 평가(테스트) 단계에서는 입력 데이터의 개수에 크게 제약을 주지 않습니다.

감사합니다.

조용훈님의 프로필 이미지
조용훈
질문자

안녕하세요.

 

바로 피드백해주시고 반영해주셔서 놀랐습니다.

더욱 신뢰가 가네요. 남은 강의 잘 보겠습니다.

 

감사합니다.