안녕하세요 선생님. Mask-RCNN 을 이용한 프로젝트를 수행하면서 궁금증이 생겨 질문드립니다. 질문에 대한 답이 상대적이고 주관적일 수 있지만 약간의 기준이라도 얻고싶어 질문 남깁니다. 해당 강의를 통해 mAP가 높은 모델일수록 재현율, 정밀도가 함께 좋은 성능을 보이는 균형잡힌 모델이라고 이해를 하였습니다. 이번에 Mask-RCNN을 학습하여 테스트 데이터셋에 적용하였을 때, IOU 0.5 기준 mAP=60.3, 0.75 기준 mAP=47.4 성능의 모델을 만들었는데, 이와 같은 성능을 두고 해당 모델이 사용하기 적합하다 혹은 추가적인 튜닝이 필요하다와 같은 결론을 내리는 과정에서 어려움이 있습니다. 이에 대한 기준이 절대적이지 않겠지만, mAP에 대하여 통상적으로 사용되는 대략적 기준이 있는지 궁금합니다. 추가적으로 Mask-RCNN의 경우 BBox에 대한 성능 외에 Segmentation에 대한 mAP 성능이 나오던데, 이는 Masking의 픽셀에 대해서 IOU를 계산한 것인지 궁금합니다.
안녕하세요. 강의 수강 하면서 많은 도움이 되었습니다. 실무에서 Spark ML를 통해 학습한 모델을 저장 후 서빙할 때 어떤 방식으로 진행하는지 궁금하여 질문 드립니다. 저는 이전에 파이썬 사이킷런을 이용할 때, tensorflow 도커 이미지를 이용하여, rest api로 웹 서비스에서 사용할 수 있도록 진행 했었는데, Spark ML로 학습한 모델도 동일하게 진행하면 되는지 다른 방식으로 진행하는지 궁금합니다. 또한, 강의에서 LightGBM이 Spark 분산처리로 진행할 때, 성능이 좋지 못하게 나온다 라고 보여주셨는데, 실무에서 분류 계열 지도학습을 할때, 랜덤포레스트 또는 XGBoost를 주로 사용 하시는지도 궁금합니다! 감사합니다.
안녕하세요, 강연자님의 자세하고 좋은 강의 잘 듣고 있습니다! 과적합 판단 방법 에 대해 몇 가지 질문 드리려고 합니다. 강의 복습 및 응용을 위해 5개의 Dense Layer로 구성된 DNN 실험을 진행해봤습니다. 데이터셋은 public하게 공개되어 있는 데이터를 사용했습니다. epoch 변화에 따른 정확도, 손실 함수 그래프를 그려봤는데, 첨부한 그래프들이 과적합에 해당하는지 잘 모르겠습니다. 그래서 제 그래프에서 과적합을 판단하는 기준 이 무엇이 될 수 있는지 궁금합니다. 저는 검증 loss가 학습 loss 보다 높을 때 과적합이라고 알고 있는데, 제가 복습을 위해서 진행해본 실험에서는 일단 그래프가 안 만나고 항상 검증 loss가 학습 loss보다 낮은데 이건 과적합이 아닌건지 궁금합니다. loss 그래프에서 학습 loss와 검증 loss가 교차되면서 검증 loss가 더 높아지는 경우에 학습을 조기 종료하는 것이 좋다고 생각하는데, 저희가 진행해본 실험에서는 그래프가 평행하게 나타납니다. 이런 경우에는 학습 및 검증 loss가 교차되지 않기 때문에 과적합이 아니라고 판단해도 되는지 , 실험을 조기 종료하지 않아도 되는지 궁금합니다. 아래의 그래프에서 validation loss와 validation accuracy가 V자로 나오는 구간 이 있습니다. 이런 경우에는 어떤 이유 때문에 나타나는 현상인지 궁금합니다. 과적합 판단 방법에는 말씀해주신 교차 검증을 이용한 판단, loss-epoch 그래프에서 validation loss값이 높아지는 부분으로 판단하는 것 외에 ‘ 편향-분산 트레이드오프 그래프 ’를 사용하는 방법도 있다고 알고 있습니다(가로축이 훈련세트크기입니다). 혹시 이 그래프는 강의에서 말씀해주신 그래프와 다른 것인지, 그리고 혹시 편향-분산 트레이드오프 그래프를 그리는 코드를 추천해주실 수 있을까요? 강의에서는 교차 검증으로 과적합을 판단할 수 있다고 하셨는데, 이를 실제로 어떻게 하는지 궁금합니다. 교차 검증의 결과로 나온 avg, accuracy 등의 값이 과적합을 판단하는데 사용이 되는건가요!? 관련해서 교차 검증을 사용해서 과적합을 판단하는 법 에 대한 보충 설명 해주시면 감사드리겠습니다! 좋은 하루 보내시길 바랍니다. 감사합니다!
머신러닝 안에 딥러닝이 있다고 할 수 이유는 학습을 하고 원하고자 하는 결과를 얻기 위해 가중치를 업데이트 하는 알고리즘이 있기 때문이고, 딥러닝과 머신러닝의 차이는 딥러닝은 학습된 결과로 다시 한번 학습하는 것(layer를 쌓는 것)과 같이 복잡한 로직을 수행하는 점에 있어서 차이가 있는건가요? 머신러닝과 딥러닝의 차이가 정리가 안되서 이렇게 질문을 남겨드립니다.
안녕하십니까! 선생님 선형회귀 모델을 위한 데이터 변환에서 스케일링을 한 데이터에 다시 다항 특성을 적용하여 변환을 적용해준다고 하셨는데 , 이때 다항 특성을 적용하는 이유가 다항 회귀 곡선으로 표현한 것이 더 예측성능이 높기 때문에 적용을 해주는 것인지? 또 다항 특성을 적용했을 때 무조건 성능이 올라 가는 것이 아니라 과소적합이나 과대적합의 위험성도 있는지 궁금합니다!
강의 4:53 에 나오는 from_pretrained 함수에 관한 질문입니다. 공식 문서를 아무리 찾아봐도, 더 미궁 속으로 빠지는 듯한 느낌만 들어서(...) 질문 올립니다. from_pretrained 메소드는 huggingface에서 제공하는 그 어떠한 클래스에도 공통적으로 적용이 가능한 것인지 궁금합니다. 공식 문서에서 from_pretrained를 검색해본 결과, 각 검색 페이지마다 from_pretrained의 파라미터가 다르게 나오고, 그에 대한 설명조차도 찾을 수가 없었습니다... 예를 들어, FeatureExtractionMixin 의 from_pretrained 메소드의 파라미터는 9개인 반면, AutoTokenizer 의 from_pretrained 메소드의 파라미터는 13개 라고 서술되어 있는 경우를 볼 수 있었습니다. 또한, 강의에서 사용하였던 feature_extractor = ViTFeatureExtractor.from_pretrained("google/vit-base-patch16-224-in21k") feature_extractor 이 코드와, model = ViTForImageClassification.from_pretrained('google/vit-base-patch16-224-in21k', num_labels=10, # 10개의 클래스로 분류를 해야 함 id2label=id2label, label2id=label2id) 이 코드에서도 역시 from_pretrained 메소드가 사용되었는데, 공식 문서에서 ViTFeatureExtractor와 ViTForImageClassification을 아무리 찾아보아도 from_pretrained 메소드에 관한 설명은 볼 수가 없었으며, 각각의 경우에 적용되는 파라미터에 관한 내용 역시 찾아볼 수 없었습니다. 이런 경우, 다른 코드에 from_pretrained 메소드를 적용할 때에는 해당되는 내용을 어떻게 찾아야 하는 것인지 궁금합니다.
안녕하세요 선생님. 먼저 좋은 강의 감사드립니다. 제가 질문을 드리는 이유는 다름이 아니라 모델을 선택하는것과 관련되어 질문이 있어 드립니다. 강의 마지막 정도 부분에 데이터 셋마다 좋은 성능을 나타내는 모델들이 다를 수 있다고 하셨는데, 그러면 예를 들어 아래와 같이 lr_reg = LinearRegression() ridge_reg = Ridge(alpha=10) lasso_reg = Lasso(alpha=.01) rf_reg = RandomForestRegressor(n_estimators=500) gbm_reg = GradientBoostingRegressor(n_estimators=500) xgb_reg = XGBRegressor(n_estimators=500) lgbm_reg = LGBMRegressor(n_estimators=500) 이렇게 모든 모델 객체를 반복문을 통해서 다 성능을 한 뒤에, 가장 좋은 성능을 보인 모델의 하이퍼 파라미터를 조정해서 더 성능을 높이는 방향으로 가야하는 것인가요? 제가 아직 머신러닝의 전체적인 과정에 대한 지식이 부족해 이렇게 질문을 드립니다. 감사합니다:)
안녕하세요, 좋은강의 감사합니다. precision_recall_curve() 함수를 이용해서, y값과, 예측 값을 넣어주었을때 리턴되는값이 정밀도, 재현율, thresholds 값이 반환이 되는것으로 확인했습니다. 여기서 궁금한 부분이 thresholds값의 변화는 함수에서 임의로 진행 되는것 일까요?
안녕하세요. tensorflow object detection 공부 중 몇 가지 궁금증이 생겨 질문드립니다. pretrained model을 이용해 "사과"라는 객체를 탐지하는 A모델을 만들었을 경우, 이 A 모델에 추가적으로 "바나나"라는 객체를 학습 시켜, 최종적으로 "사과","바나나"를 탐지하는 A모델을 만들 수 있는지 궁금합니다. 만약, 1번이 가능하다면, 기존 A모델의 labelmap에 id를 추가하여 "바나나" 입력 기존 A모델의 config 파일에 num class를 2로 변경, "바나나" 학습 데이터(tfrecord) 위치로 변경 하면 되는 걸까요? 만약, 1번이 가능하지 않다면, "사과" tfrecord와 "바나나"tfrecord를 합쳐서 새로운 tfrecord를 만들고 pretrained model를 불러와 새로운 B 모델을 만들어야 할까요?