전체 글 94

Trasnfer Learning vs Fine-tuning 그 차이가 뭔가요?

딥러닝에서 대규모의 모델을 다룰수록 scratch부터 모델을 학습시키는 경우는 잘 없고,기존의 대규모 데이터셋과 GPU Cluster로부터 사전에 학습된 pre-trained 모델을 활용하여 모델링을 하는 경우가 대부분이다.  그 활용 방법이 바로 Transfer Learning과 Fine-tuning이다.Transfer Learning과 Fine tuning은 서로 연관되어 있지만 사용 방식과 사용 맥락에 약간의 차이가 있다. Transfer Learning(전이학습)전이학습(Transfer Learning)은 한 도메인 또는 다른 task에서 학습된 모델을 취하여 다른 도메인이나 task에 적용하는 방식이다.예를 들어, 이미지넷으로 사전 훈련된 모델(ImageNet 21k분류를 위한 모델)을 새로운 ..

딥러닝 FLOPs의 의미

딥러닝 모델들의 논문을 보다 보면 벤치마크 표에서 제시되는 것이 크게 네가지가 있는데, 학습 방법및 하이퍼파라미터 튜닝과 모델 버전에 따른(1)모델의 이름,그리고 task에 해당하는 성능지표를 통해 측정한 (2)정확도와(3)파라미터의 갯수, (4)FLOPs 가 그것이다.  모델의 정확도와 효율성은 일반적으로 trade-off관계에 있기 때문에, 정확도 뿐만 아니라 파라미터의 갯수와 FLOPs로 모델의 효율성을 같이 나타내려고 한다.이 때 모델의 효율성은 파라미터의 갯수와 FLOPs 두가지로 나타내게 되는데 파라미터의 갯수는 모델의 가중치(weight)와 bias term을 모두 포함한 수를 의미하고, 대게는 모델의 capacity를 의미하며 모델의 학습관점에서는 VRAM과 직접적으로 연관되는 부분이다. ..

데이콘 submission제출 오류 해결 케이스 공유 - 기타 제출값 Error가 발생하였습니다., CSV 파일의 Row Error가 발생하였습니다.

데이콘의 지난 대회에 submission을 제출하며 테스트하던 중에 '기타 제출값 Error가 발생하였습니다.'를 마주하였다.원인은 제출하려고 하는 submission.csv 파일에 예측치로 Null값이 포함되어 있었기 때문이었다.  # DataFrame의 index와 칼럼인 'label'이 모두 '가'라는 값(value)로 설정됨submit[~cond]['label'] = '가' # loc를 사용하여 조건에 해당하는 행을 인덱싱하여야 한다.submit.loc[~cond, 'label'] = '가' 따라서 Null이 포함된 행에는 Null값 대신 임의의 예측값인 '가'를 채워넣어주는 방식으로 submission파일을 수정하려고 하였다. 그런데 첫번째 코드를 보면, DataFrame의 index와 칼럼인..

marginalize (적분)의 의미

Marginalize란?Bayesian Inference관련 논문을 읽다 보면 marginalize라는 표현을 자주 마주하게 되는데, 가끔가다 헷갈리는 경우가 있어 정확한 의미를 정리해보고자 한다.Marginalize는 통계학과 확률론에서 주로 사용되는 개념으로, 다변수 확률 분포에서 특정 변수(또는 변수들)에 대한 영향을 '통합(integrate out)'하거나 '합산(summing out)'하여 다른 변수(또는 변수들)의 단독 확률 분포만을 얻는 과정을 말한다. 즉, 다변수 시스템에서 특정 변수에만 집중하기 위해 다른 변수들의 영향을 제거(또는 흡수)하는 기법이다.  결합 확률 분포와 주변 확률 분포다변수 시스템을 구성하는 확률분포는 결합 확률 분포(joint probability distributi..