'Deep Learning/Kaggle'에 해당되는 글 29건

  1. 2021.03.20 안녕하세요! 이번에 끝난 캐글 대회 RANZCR CLiP - Catheter and Line Position Challenge 에서 11위/15 1
  2. 2021.03.02 안녕하세요 캐글코리아!! 올해 1월부터 매달 열리는 playground 대회인 Tabular Playground Series - 2월 대회가
  3. 2021.02.09 안녕하세요! 질문이 있습니다. 노트북 쓰다보면 패키지를 인스톨해서 쓰는 경우가 있는데, 매번 패키지를 인스톨하는걸 피할 수 있는 방법이 있나요?
  4. 2021.01.17 안녕하세요. 평소 머신러닝, 딥러닝에 관심이 많았는데 캐글은 이번에 처음 시작하게 되어 질문 드립니다. 1. 연구에서도 그렇지만 캐글에서는 특히
  5. 2020.08.23 #KcBERT #Dataset #Corpus 안녕하세요, KcBERT 학습에 사용한 데이터셋을 Kaggle을 통해 공개합니다! KcBERT는
  6. 2020.07.14 Training and inference jupyter notebook on an ongoing kaggle competition "Global
  7. 2020.05.26 Kaggle 얘기가 나와서 캐글러 두 분의 글 읽어보시길 추천드립니다. Ask Me Anything session with a Kaggle G
  8. 2020.05.21 전 세계 100만 명 참여한 ‘캐글’ 대회… 국내 단 3명뿐인 그랜드마스터를 달성하다, AI팀 김상훈(이베이코리아 AI팀 김상훈 매니저 / 이베
  9. 2020.05.12 AWS, Facebook, Microsoft가 캐글 역사상 총상금 규모 세 번째인 100만 달러(약 12억원)를 걸고 개최한 DFDC(Deepf
  10. 2020.04.09 안녕하세요, 캐글 마스터, 캐글 중독자 이유한입니다. 캐글 대회에서 메달따는 여러 팁들을 공유하고자 합니다. 한글버젼은 제 유투브에, 영어
  11. 2020.04.04 안녕하세요, 캐글 마스터, 캐글 중독자 이유한입니다. 앞으로 제가 여지껏 메달을 획득했던 대회에서 썼던 여러 팁들을 계속 공유하려고 합니다.
  12. 2020.03.18 안녕하세요! 어제 부로 캐글 Bengaliai 대회가 마무리되었습니다. 총 2,059 팀의 참여한 대회였고, 정말 다양한 딥러닝 기반 컴퓨
  13. 2020.03.16 안녕하세요! 캐글의 중요성은, 캐글러들의 커리어를 추적하면 바로 알 수 있습니다. 최근 제가 소개드린 albumentations 의 개발자
  14. 2020.03.04 안녕하세요 Bengali.AI 대회에 대해 영상을 3개 더 찍었네요 Multi label 일 때, stratified folding 을 할
  15. 2020.02.28 👨‍🏫 안녕하세요 데이콘의 경진대회 수상작들 중에 PDF로 만들어진 내용을 슬라이드 쉐어에 모아 봤습니다. 🥳특히 시각화 대회 수상작들을
  16. 2020.02.10 안녕하세요! 최근 ImageNet 에 SOTA 를 찍은 논문입니다. https://arxiv.org/abs/1911.04252 캐글에서 많
  17. 2020.02.07 KB금융그룹 문자 분석 경진대회의 수상자가 가려졌습니다. 수고하셨습니다. 코로나 때문에 아쉽게 시상식은 열리지 못했지만 데이콘에서 2주 후
  18. 2020.02.06 안녕하세요! deepfake 대회가 진행되고 있지만, 쉽지 않은 대회인 것 같습니다. 저어어엉~말 간단하게 프로세스를 정리해봤습니다.
  19. 2020.02.03 안녕하세요, 이정윤입니다. 오늘은 지난 시간에 이어 [#Kaggle](https://www.facebook.com/hashtag/kaggle?
  20. 2020.02.03 안녕하세요 캐코 여러분, 이번에는 캐글 컴피티션 마스터가 되는 법이라는 주제로 영상을 준비해 보았습니다. 이미 잘하시고 계신 분들이 많으시
  21. 2020.01.22 👨‍🏫 안녕하세요 데이콘에서 코드 공유를 오픈 했습니다. 🎉우승자 코드에서 배움과 🤵자신의 코드로 피드백을 받을 수도 있습니다. ➡️
  22. 2020.01.13 안녕하세요 캐코! 최근 Kaggle에서 9개월 전에 진행한 Pet Finder 대회에서 1등팀이 cheating한 부분이 Hot Issue🔥
  23. 2020.01.09 캐글 그랜드마스터 3관왕인터뷰
  24. 2019.12.17 글로벌 '딥페이크 식별 챌린지. '딥 페이크 감지 챌린지 (DFDC, Deepfake Detection Challenge)' 딥페이크 폐해를
  25. 2019.12.17 이제 캐글은 국내 많은 이들의 관심사가 된 것 같습니다. 저희 그룹이 7,000명이 넘어가면서 "왜 캐글을 해야할까" 라는 질문을 항상 하곤
  26. 2019.11.08 안녕하세요!!! 이전 대회들의 솔루션을 캐글에서 모아줬네요!! 이러니 캐글을 안할수가 있나요!! 어여 공부 킵고잉 합시다!!
  27. 2019.10.14 [Categorical/Tools] Category Encoders 데이터는 크게 2가지 타입으로 나뉩니다. (이 부분의 디테일 한 내용은 다음 글을 참고하면 됩니다. https://subinium.github.io/basic-of-data/) - 수치형 데이터(numerical) - ..
  28. 2019.08.30 약 3달간의 긴 대회 끝에, [ka.kr] Solve chem. together 팀이
  29. 2019.08.18 저는 이번 2019 3rd ML month with KaKR에서 1st score을 기록했습니다. 혹시 공부하시는데 도움이 되실까봐 solution을 공유해 드리겠습니다

https://www.facebook.com/groups/KaggleKoreaOpenGroup/permalink/863920357673398/

캐글 코리아 (Kaggle Korea) : 안녕하세요! 이번에 끝난 캐글 대회 RANZCR CLiP - Catheter and Line Position Chall

안녕하세요! 이번에 끝난 캐글 대회 RANZCR CLiP - Catheter and Line Position Challenge 에서 11위/1547명 으로 솔로 금메달을 따게 되어서, 간단하게 대회 리뷰해보고자 글을 올리게 되었습니다 :)​ ​ 1. 대회

www.facebook.com

안녕하세요! 이번에 끝난 캐글 대회 RANZCR CLiP - Catheter and Line Position Challenge 에서 11위/1547명 으로 솔로 금메달을 따게 되어서, 간단하게 대회 리뷰해보고자 글을 올리게 되었습니다 :)​

1. 대회 소개​
chest x-ray 이미지를 인풋으로 받아, 환자에게 삽입된 카테터(튜브)의 종류 및 올바른 위치에 삽입됐는지의 여부를 분류하는 ​ multi-label classification 문제입니다. classification 레이블 뿐 아니라, 일부 이미지에 대해서는 카테터의 위치 정보가 주어졌습니다. (첨부한 두 번째 그림 참고 - 같은 색의 점들을 이으면 카테터의 위치가 됩니다.)​

2. 솔루션 https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/discussion/226557​

1) 고해상도를 어떻게 활용할 것인가? - Downconv​

2048x2048 이상의 높은 해상도의 이미지가 주어졌습니다. 그러나 이 이미지를 바로 인풋으로 넣으면 GPU 메모리가 감당하지 못하고, 그렇다고 해서 작게 resizing해서 넣으면 정보를 잃어버립니다.​
Conv2d 레이어 하나를 이용해 2048->1024로 이미지를 변환하는 downconv를 도입해 이를 해결했습니다. avg pooling한 이미지를 이 downconv의 아웃풋과 concat해서 CNN의 인풋으로 넣었습니다.​
(첨부한 세 번째 그림 참고)​

2) 카테터 위치 정보를 어떻게 활용할 것인가? - Pre-training​

카테터 위치 정보는 단순 분류 레이블보다 공간적인 측면에서 훨씬 더 많은 정보를 가지고 있기 때문에 모델이 이를 활용할 수 있도록 하는 것이 중요했습니다. 따라서 저는 encoder에 추가적으로 classification head를 부착한 UNet 구조를 사용하였습니다.​
카테터 위치 정보를 segmentation mask 형태로 전처리해, 이를 타겟으로 UNet을 학습시켰고, pre-trained UNet encoder를 가지고 classification 학습을 시켰습니다.​
(첨부한 첫 번째 그림 참고)​

3) unlabeled data를 어떻게 활용할 것인가? - Pseudo-training​

주어진 labaled 데이터셋 말고, 외부 x-ray 데이터셋들이 많이 존재합니다. 이런 데이터셋들은 카테터 레이블링이 되어있지 않습니다. 최근 unlabaled 데이터셋을 이용한 semi-supervised 및 self-supervised learning들이 제안되고 있습니다.​
제 경우 pseudo-labeling 후 재학습시키는 방법(pseudo-training이라고 우선은 명명하겠습니다)이 효과를 발휘했습니다.​
(첨부한 네 번째 그림 참고)​

3. 1위 솔루션 https://www.kaggle.com/c/ranzcr-clip-catheter-line-classification/discussion/226633​

* 카테터 관련 마스크 3개 생성, 이를 예측하는 UNet 모델 여러개 학습 후 pseudo-training​
* 원래 이미지에 예측된 마스크 3개를 concat한 것을 인풋으로 사용하여 분류 모델 여러개 학습 후 pseudo-training​
* multi-label 중 적절한 경우 multi-class loss 적용​
* segmentation 이미지 사이즈 > 1024, classification 이미지 사이즈: 384~512 (segmentation에서 훨씬 높은 이미지 해상도를 필요로 함을 알 수 있습니다.)​

4. 느낀점​

* 아이디어를 실험해볼 때, 세부 구현 방법에 따라 그 결과가 달라지는 경우가 있는 것 같습니다.​
* 고해상도, 큰 모델일수록 성능이 올라가는 이미지 대회는 특히 GPU/TPU장비가 중요한 것 같습니다. 4 x RTX3090 & 쓰레드리퍼3990x 서버를 제공해주시고, 대회 막판에 추가 서버들도 쓸 수 있게 해주신 Upstage 에 감사의 말씀 드립니다 :)​
* 여담으로, 이번 대회에서 실험한 로그들을 살펴보니, 280개의 실험을 했고, 60여개의 학습 옵션을 만들었고, 여러 실험들을 하는 데 사용된 학습시간은 총 1051시간이네요. 제가 아직 실력이 부족해서인지, 시행착오가 많았던 것 같습니다..ㅎㅎ​

많이 부족한 글 읽어주셔서 감사합니다!

Posted by uniqueone
,

https://www.facebook.com/groups/KaggleKoreaOpenGroup/permalink/853573108708123/

김동규

안녕하세요 캐글코리아!! 올해 1월부터 매달 열리는 playground 대회인 Tabular Playground Series - 2월 대회가 끝이 났습니다. 1433팀 중 6위를 해서 기쁜 마음에 공유해봅니다! (나름 한국 1등이네요 ㅎㅎ)

www.facebook.com


안녕하세요 캐글코리아!!
올해 1월부터 매달 열리는 playground 대회인 Tabular Playground Series - 2월 대회가 끝이 났습니다. 1433팀 중 6위를 해서 기쁜 마음에 공유해봅니다! (나름 한국 1등이네요 ㅎㅎ)
이 대회는 간단한 tabular data를 이용해서 예측하는 regression 문제입니다. 주로 LGBM같은 GBDT 모델들을 사용합니다. 저도 LGBM 모델을 사용했습니다.
높은 점수의 핵심은 semi-supervised learning의 일종인 pseudo labelling을 사용한 것이었습니다. test data를 최대한 잘 학습시킨 이후에, 그 학습시킨 데이터까지 포함하여 다시 train을 시키는 방법입니다. 보통 train data가 부족할 때 사용하지만 이 대회에서는 성능 향상에 매우 적합했습니다. 그래서 ensemble 없이 하나의 LGBM 모델만으로 높은 순위를 달성할 수 있었습니다.
제 코드입니다. https://www.kaggle.com/vkehfdl1/6th-place-solution-pseudo-labelling-lgbm
더불어서 이번 대회 1,2,3등은 DAE를 사용했습니다. DAE는 Denoising Auto Encoder로 노이즈를 포함한 feature를 반복적으로 학습시키는 것인데요. 이 auto encoder 뉴럴 넷의 hidden layer의 weight들을 feature로 사용하는 방식입니다. Tabular data에서는 보통 GBDT 모델이 성능이 잘 나오는데, 이 DAE 방식으로 활용으로 도저히 GBDT 모델로는 상상도 못하는 성능이 나오더라고요. 1위 분의 코드와 설명을 보며 저도 열심히 공부 중입니다.
한국 캐글러 분들 항상 응원합니다! 더 노력하는 캐글러가 되어야 겠습니다.

축하드려요! 참고로 1등은 DAE를 사용했는데, 2등은 보통 GBM+NN 앙상블을 사용했습니다. Bojan이 자신의 8등 솔루션을 공유하면서 1/2/3등이 DAE를 사용했을 것이다...라고 언급을 했었는데, 실제 2등인 Dave E (지난 1월 TPS 4등)이 자신은 DAE 사용할 시간이 없었다고 했죠. DAE가 두 달 연속 TPS 대회에서 1등을 한 것을 보니 다음 대회에서는 DAE 기반 솔루션이 많이 나올 것으로 보입니다. 다음 달에도 좋은 성적 거두시길 바랍니다!




Posted by uniqueone
,

https://www.facebook.com/groups/KaggleKoreaOpenGroup/permalink/841339839931450/

Issac Lee

안녕하세요! 질문이 있습니다. 노트북 쓰다보면 패키지를 인스톨해서 쓰는 경우가 있는데, 매번 패키지를 인스톨하는걸 피할 수 있는 방법이 있나요? 예를들어 현재 작업하고 있는 노트북에 설

www.facebook.com


안녕하세요! 질문이 있습니다. 노트북 쓰다보면 패키지를 인스톨해서 쓰는 경우가 있는데, 매번 패키지를 인스톨하는걸 피할 수 있는 방법이 있나요?

예를들어 현재 작업하고 있는 노트북에 설치된 패키지들을 저장해서 다음 새로운 노트북을 열었을때 똑같은 환경이 열리도록 만드는 방법을 알고 싶습니다!

Issac Lee 캐글 노트북에서 !wget 깃헙에있는파일주소 하시면 되는데요. https://towardsdatascience.com/4-awesome-ways-of-loading-ml-data-in-google-colab-9a5264c61966 여기서 2번 하시면 똑같이 돼요.

그러니까 깃헙에 관련 패키지 인스톨 파일을 .py형태로 잘 정리해서 올리시고, 그 url을 가져오셔서 캐글노트북에 저 블로그 2번처럼 하시면 완성!



Posted by uniqueone
,

https://www.facebook.com/groups/KaggleKoreaOpenGroup/permalink/828642621201172/

김선우

안녕하세요. 평소 머신러닝, 딥러닝에 관심이 많았는데 캐글은 이번에 처음 시작하게 되어 질문 드립니다. 1. 연구에서도 그렇지만 캐글에서는 특히 모델이 좋은 성능을 내도록 최적의 방법을

www.facebook.com

안녕하세요. 평소 머신러닝, 딥러닝에 관심이 많았는데 캐글은 이번에 처음 시작하게 되어 질문 드립니다.
1. 연구에서도 그렇지만 캐글에서는 특히 모델이 좋은 성능을 내도록 최적의 방법을 사용하는 것이 중요한 것 같습니다. 그러기 위해서는 최신 연구들도 참고할 필요가 있는데 최근에 논문들이 쏟아져 나오고 있는 만큼 이를 따라가기가 어렵다고 느꼈습니다. 캐글 노트북과 discussion들을 참고하는 것도 한 방법인 것 같은데 이 외에 최적의, 최신의 방법론들을 빠르게 습득하고 따라가기 위한 좋은 방법들이 있을까요?
2. 캐글 노트북은 9시간 후에 끊긴다는 단점이 있고 매번 커밋해야지만 학습 과정이 저장되는 것으로 알고 있는데 맞나요? 이러한 점 때문에 대회에서 캐글 노트북을 사용하기 어려운 경우가 있을 것 같은데 원래 다른 곳(코랩, 개인 하드웨어 등)에서 코드를 돌려보고 결과물 또는 코드를(대회에 따라) 제출하는 것이 일반적인가요?
감사합니다.

1. 커뮤니티 가입하셔서 올라오는 글들 보시거나,
탑티어학회 논문들 챙겨 보시면됩니다.

2. 네, 보통 다른 머신에서 학습하고 제출 또는
인퍼런스만 노트북에서 합니다.

안녕하세요. 캐글 입문을 축하드립니다.!
한국의 캐글 그랜드마스터 수가 ? 나라보다는 많아야 한다고 믿는 Limerobot입니다. 저는 지금까지 캐글에서 금메달 8개를 획득했었는데요, 이 경험을 바탕으로 저가 애용하는 방법을 공유 드리겠습니다.

1.
우선 캐글은 극히 실용성을 추구하기에 실제로 성능이 좋고 사용하기 쉬운 모델이나 라이브러리만 활용합니다. (왜냐면 이 외에도 할 일이 엄청 많거든요) 그래서 참여할 대회와 비슷한 종료된 대회의 상위 솔루션을 참고하시면 도움이 됩니다. 보통 좋은 것이 우승하거든요.

아래 링크는 대회 중에도 제가 계속 참고하는 곳입니다.

# 이미지 분야
최신 백본망은 아래 링크 참고
https://paperswithcode.com/sota/image-classification-on-imagenet

위의 백본망 중 아래 파이썬 패키지에서 활용 가능한 것 추천
https://github.com/qubvel/segmentation_models.pytorch

# 텍스트 분야
최신 백본망은 아래 링크를 참고
https://gluebenchmark.com/leaderboard

위의 백본망 중 아래 파이썬 패키지에서 활용 가능한 것 추천
https://github.com/huggingface/transformers

# 그 외 분야
해당 대회의 주최측에서 제공하는 정보나 대회 참여자들이 공유하는 discussion, notebooks 탭을 참고 또는 이전에 수행된 비슷한 대회를 참고하시는 게 좋습니다.










Posted by uniqueone
,

#KcBERT #Dataset #Corpus

안녕하세요, KcBERT 학습에 사용한 데이터셋을 Kaggle을 통해 공개합니다!

KcBERT는 네이버 뉴스 댓글 데이터 2019.01.01~2020.06.11자 '랭킹뉴스'의 댓글로 학습한 Pretrain BERT 모델이고, 이번에 공개한 Cleaned 데이터셋으로 학습을 진행했습니다.

데이터셋은 약 12GB의 댓글로 이뤄져 있습니다.

아래 캐글 링크에서 다운 받으시고 여러분만의 Pretrain을 진행해 보세요!

https://www.kaggle.com/junbumlee/kcbert-pretraining-corpus-korean-news-comments

Posted by uniqueone
,

Training and inference jupyter notebook on an ongoing kaggle competition "Global wheat detection"

Training code - https://github.com/Tessellate-Imaging/Monk_Object_Detection/tree/master/application_model_zoo (Example 18)

Kaggle inference kernel - https://www.kaggle.com/abhishek4273/starter-code-using-monk-object-detection-library

The task is challenging because of
📌 overlap of dense wheat plants
📌 wind blurring the photographs
📌 wheat heads getting morphed in yellow and green backgrounds

The competition will be active for next 20-25 days.

Happy Coding!!

Posted by uniqueone
,

Kaggle 얘기가 나와서 캐글러 두 분의 글 읽어보시길 추천드립니다.

Ask Me Anything session with a Kaggle Grandmaster Vladimir I. Iglovikov
https://towardsdatascience.com/ask-me-anything-session-with-a-kaggle-grandmaster-vladimir-i-iglovikov-942ad6a06acd

First-time Competitor to Kaggle Grandmaster Within a Year | A Winner’s Interview with Limerobot
https://medium.com/kaggle-blog/zero-to-grandmaster-in-a-year-a-winners-interview-with-limerobot-18ddb3a1aae1

Posted by uniqueone
,

전 세계 100만 명 참여한 ‘캐글’ 대회… 국내 단 3명뿐인 그랜드마스터를 달성하다, AI팀 김상훈(이베이코리아 AI팀 김상훈 매니저 / 이베이 블로그)

이베이코리아에서는 물류 센터의 효율적인 운영과 자동화, 소비 행동 패턴 기반의 소비자 성향 추정, 판매 제품과 광고 상품의 연관성 증대 및 이상 거래 탐지 등 다양한 분야에서 폭넓게 인공지능(AI)을 활용하고 있다.

최근 이베이코리아 AI팀 김상훈 매니저가 구글이 소유하고 있는 세계 최대 온라인 AI 경진 플랫폼, ‘캐글(Kaggle)’에서 1년이라는 짧은 기간 안에 최상위 연구자(그랜드마스터)로 선정됐다.

김상훈 매니저를 만나 대회 준비 과정과 최근 AI 트렌드에 관한 다양한 이야기들을 들어 보자!

* 10년 전부터 머신러닝에 관심…다양한 연구, 개발에 참여

안녕하세요. 저는 이베이코리아 AI Lab실의 AI Platform팀에서 근무하는 김상훈입니다. 저는 전자공학부를 전공하고, 10년 전 대학원 시절부터 중점적으로 머신러닝(Machine Learning)을 접하여 연구하기 시작했습니다. 컴퓨터 비전(Computer Vision) 분야의 얼굴인식(Face Recognition)이 연구 주제였지만, 회사 생활을 하면서 자연어 처리(Natural Language Processing) 같은 다른 분야에도 관심을 가지게 되었어요. 이베이코리아 직전 회사에서는 딥러닝(Deep Learning) 기술로 (구글 번역기 같은) 기계 번역기를 만드는 일이나 어울리는 옷을 찾아주는 패션 아이템 추천 기술 등을 개발해 온 데이터과학자(Data Scientist)이기도 합니다.

* 후배 개발자들…개발 역량뿐 아니라 비즈니스에 대한 이해 키우길!

데이터 과학자는 고유 업무인 데이터 모델링, POC(Proof of Concept, 개념 증명)를 위한 클라이언트 개발 능력이 물론 중요하지만, 비즈니스에 대한 전반적인 이해도를 높이기 위해 노력하는 자세가 중요하다고 봐요. 회사 차원에서 프로젝트를 진행하려면 다른 부서와의 협업 능력, 설득력 있는 커뮤니케이션 역량 등이 많이 요구되는 것 같습니다.

* 출처 : http://blog.ebaykorea.com/archives/15516

* 자기주도온라인학습센터 : http://withmooc.com

Posted by uniqueone
,

https://www.facebook.com/groups/KaggleKoreaOpenGroup/permalink/652171618848274/

AWS, Facebook, Microsoft가 캐글 역사상 총상금 규모 세 번째인 100만 달러(약 12억원)를 걸고 개최한 DFDC(Deepfake Detection Challenge)에서 상위 1.3% (30/2265)를 달성했습니다. Public leaderboard에서는 2위로 마무리했던만큼 기대했던 금메달권에는 들지 못했지만 제 경험을 공유해드리고자 글을 작성하게 되었습니다.
들어가기에 앞서 캐글 discussion에도 대회에 참여한 여정과 솔루션을 올려 놓았으니, 궁금하신 분들은 한번 구경해보세요. (감사하게도 전체 캐글 discussion 중 upvote 20위권에 들었네요!) https://www.kaggle.com/c/deepfake-detection-challenge/discussion/140236

저는 2019년 1년동안 다양한 캐글 대회에 참여하고 간단한 토이 프로젝트들을 하면서 정형/이미지/텍스트/음성 데이터를 다루는 법과 모델의 성능과 generalizability를 향상시키는 방법을 배웠고, 다양한 종류의 tree 기반 모델, cnn, segmentation model, rnn, transformer, bert 등을 사용해보았습니다.
그러던 차에 이번 대회가 개최된다는 소식을 듣고 캐글을 통해 익힌 테크닉들을 본격적으로 활용해보고자 참여하게 되었습니다. 작년 12월~올해 3월까지 무려 4개월 동안 진행된 대회였는데 마침 시간도 나서 3개월 간은 이 대회에 메달렸던 것 같습니다.

팀을 처음으로 구성해보았는데 각자 사정 때문에 결국은 제가 대부분의 작업을 하게 되었네요 ㅎㅎ.. 캐글에서 모르는 사람들과 팀을 맺을 땐 캐글티어와 관계 없이 각별히 조심해야한다는 점을 깨달았습니다.

이제 제가 느낀 이 대회의 주요 과제들과 이에 대한 제 솔루션들을 말씀드리겠습니다.

1. 대규모 데이터: 10만개가 넘는 동영상들로 이루어진 데이터로, 500gb가량 됩니다. 한정된 컴퓨팅 자원 하에서 빠르고 효율적으로 여러 실험들을 진행하기 위한 파이프라인 구축이 필수적이었습니다.
-> 동영상에서 프레임을 n개 읽어 얼굴부분만 자르고 추출된 다른 메타데이터와 함께 compressed joblib file로 저장한 뒤, 훈련 시 multiprocessing이 적용된 dataloader에서 읽어들여 cpu-gpu bottleneck을 없앴습니다. 또한 Apex fp16을 활용하여 batch size를 두 배 가량 늘려 한 epoch의 소요 시간을 50% 가량 단축했습니다.

2. 동영상 데이터: 단순히 이미지 여러개로 보고 접근할 것인지, 프레임 간의 관계와 오디오를 활용할 것인지, 활용한다면 어떻게 활용할지에 대한 고민이 필요했습니다.
-> 프레임 간의 관계를 모델링 하기 위해 cnn-lstm을 활용해봤지만, 결과가 좋지 않았고, 3d cnn 등은 pretrained weight가 부족하고, 무거워서 시도하지 않았습니다. 오디오는 전체에서 8%밖에 조작되지 않았고, 파이프라인을 복잡하게 만들어 사용하지 않았습니다. 결국 프레임 예측값의 평균을 사용했습니다.

3. 얼굴: 결국 deepfake는 사람의 얼굴에 적용되는 것이기 때문에 얼굴과 관련된 vision 연구들을 활용해야 했습니다. Face detection은 필수로 사용해야 했고, validation split을 위한 face recognition + clustering, encoder로서 vggface2 pretrained 모델도 고려했습니다.
-> WiderFace dataset에서 좋은 성능을 보여준 Retinaface를 face detection model로 사용했습니다. 같은 사람이 train set과 validation set에 함께 등장하지 않도록 하기 위해 face recognition으로 얼굴을 encoding하고, kmeans 또는 pca+tsne+dbscan 으로 동영상들을 clustering 해봤으나, folder 기반 split보다 못했습니다. FaceNet Pytorch에서 제공한 vggface 2 pretrained inceptionresnetv1을 사용해보았으나, efficientnet보다 성능이 좋지 않았습니다.

4. train-test 차이: validation 점수와 test 점수의 상관관계가 적거나, 그 격차가 큰 경우는 캐글에서 종종 볼 수 있습니다. 이번 대회는 이러한 train-test 차이가 두드러졌습니다. private leaderboard와 public leaderboard의 격차가 상당히 큰 것도 같은 맥락으로 볼 수 있을 것 같습니다. 이 문제를 어떻게 해결할지가 사실상 이 대회의 중심에 있었습니다.
-> 랜덤, 원본 기반, 사람 기반, 폴더 기반 등으로 validation split을 시도해보고, 그나마 public leaderboard와의 격차가 적었던 폴더 기반 split을 선택했습니다. 그러나 여전히 잘 맞지 않아서 결국에는 public leaderboard, 3 종류의 외부 dataset, local validation dataset 순서로 가중을 두어 모델의 성능을 검증했습니다. 또한 아래에서 설명하겠지만, 모델의 일반화에 신경을 썼습니다.

5. 일반화: Deepfake를 만드는 사람들은 detection model의 취약점을 활용하려 할 것입니다. 따라서 특정 데이터에 overfitting되는 것을 특히 조심하고 모델을 일반화시키는 것이 중요했습니다. 나아가 adversarial attack에 대한 고려도 할 수 있습니다.
-> albumentations을 이용해 사용 가능한 거의 모든 augmentation을 비교적 강도 높게 적용하였습니다.(public leaderboard 기준으로 fine tuning) 총 10개의 모델 예측값의 평균을 취해(앙상블) 최종 예측값을 안정적으로 만들었고, 이렇게 나온 최종 예측값을 보수적으로 하기 위해 logit에 1보다 작은 상수를 곱하고 sigmoid를 취해 예측의 일반화를 도모했습니다.

6. Postprocessing: 동영상 데이터이기 때문에 프레임 예측값 외에도 오디오, face confidence score 등 다양한 feature들을 활용하여 최종 예측값을 도출할 수 있는 가능성이 많았습니다.
-> lightgbm으로 메인 모델의 예측값과 다른 feature들을 stacking해 보았으나, public score이 좋아지지 않아, 결국은 train set에 overfitting되지 않도록 postprocessing은 최소화 했고, 프레임 예측값들의 평균을 최종 예측값으로 이용했습니다.

Public leaderboard 점수를 향상시킨 주요 테크닉들을 소개해드리겠습니다. 이번 대회의 특성상 이 테크닉들이 private set에 대해서는 어떻게 작용했는지 알 수는 없네요.

1. 조작된 픽셀을 1로 둔 mask를 segmentation part target으로 두고, encoder 끝에 classification branch를둔 UNet 모델 구조 (multi-task learning) (이미지 참고) -> 어느 부분이 조작됐는지의 정보를 모델에게 줌

2. 얼굴을 추출해낼 때 얼굴 주변부도 상당 부분 포함시킴 -> cnn이 조작된 부분과 그렇지 않은 부분의 차이를 학습하는 것을 도움

3. logit에 sigmoid를 취하기 전에 1보다 작은 상수를 곱하여 예측값이 극단으로 가지 않도록 조정 -> metric이 logloss였기 때문에 train-test 차이가 컸던 이번 대회에서 test logloss를 개선시킴

4. augmentation을 강하게 적용 -> 모델의 generalizability 향상

5. 앙상블 -> 최종 예측값의 성능과 generalizability 모두 향상

6. 적절한 하이퍼파라미터와 모델 사이즈, 충분한 프레임 개수

긴 글 읽어주셔서 감사합니다!

Posted by uniqueone
,

안녕하세요,

캐글 마스터, 캐글 중독자 이유한입니다.

캐글 대회에서 메달따는 여러 팁들을 공유하고자 합니다.

한글버젼은 제 유투브에, 영어 버젼은 kaggler.tv 에 공유됩니다.

딥러닝 대회에서 주로 써왔던 swa 에 대해서 설명합니다.

링크 입니다. https://youtu.be/C0vnmsGIOEo

SWA 는 tensorflow, pytorch 두개 프레임워크에서 쓰기가 쉽습니다.

그리고, 지도학습 뿐만 아니라, 강화학습에도 잘된다는 군요.ㅎ

논문제목: Averaging Weights Leads to Wider Optima and Better Generalization

https://arxiv.org/abs/1803.05407

좋은 연구해주신 저자분들께 (삼성 AI center도 있군요!) 진심으로 감사드립니다. :)

그리고, 현재 Uber Sr. Data Scientist II Tech Lead Manager 이신 Jeong-Yoon Lee 님께서 운영하고 계시는

Kaggler.TV 에 본 영상의 영어버젼을 업로드 합니다.

swa 영어버젼은 아래와 같으니, 많은 응원 부탁드립니다 :)

https://youtu.be/oXV61WtgELo

## 그리고 어제 저녁 7시에 AI 프렌즈에서 캐글 꿀팁을 방출했습니다. 확인해보세요!

https://youtu.be/EI0BuViZovs

## 많은 피드백 부탁드려요

Posted by uniqueone
,

안녕하세요,

캐글 마스터, 캐글 중독자 이유한입니다.

앞으로 제가 여지껏 메달을 획득했던 대회에서 썼던 여러 팁들을 계속 공유하려고 합니다.

가장 처음으로, 최근에 bengaliai 대회에서 금메달을 따는 데 큰 도움이된 cutmix 소개 영상을 찍었습니다.

https://youtu.be/Haj-SRL72LY

좋은 연구해주신 Naver clova ai 팀에게 진심으로 감사드립니다 :)

논문은 여기 링크입니다.

https://arxiv.org/abs/1905.04899

그리고, 현재 Uber Sr. Data Scientist II Tech Lead Manager 이신 Jeong-Yoon Lee 님께서 운영하고 계시는

Kaggler.TV 에 본 영상의 영어버젼을 업로드 합니다.

cutmix 영어버젼은 아래와 같으니, 많은 응원 부탁드립니다 :)

https://youtu.be/NYPjruSyD9I

## 많은 피드백 부탁드려요

Posted by uniqueone
,

안녕하세요!

어제 부로 캐글 Bengaliai 대회가 마무리되었습니다.

총 2,059 팀의 참여한 대회였고,

정말 다양한 딥러닝 기반 컴퓨터 비젼 기술들이 소개되었습니다.

아래는 대략적인 정리입니다.

학습 기법: Multi label classification, auxiliary target, metric learning(arcface)

데이터 생성: data generation with cycleGAN, fonts

Metric trick: Postprocessing for recall metric

augmentation 기법: cutmix, mixup, augmix, autoaug, cutout, gridmask 등

벌써 상위 솔루션들이 소개되고 있네요

https://www.kaggle.com/c/bengaliai-cv19/discussion

1st. https://www.kaggle.com/c/bengaliai-cv19/discussion/135984

2nd. https://www.kaggle.com/c/bengaliai-cv19/discussion/135966

3rd. https://www.kaggle.com/c/bengaliai-cv19/discussion/135982

5th. https://www.kaggle.com/c/bengaliai-cv19/discussion/136129

6th. https://www.kaggle.com/c/bengaliai-cv19/discussion/136011

7th. https://www.kaggle.com/c/bengaliai-cv19/discussion/135960

8th. https://www.kaggle.com/c/bengaliai-cv19/discussion/135990

9th. https://www.kaggle.com/c/bengaliai-cv19/discussion/135985

14th. https://www.kaggle.com/c/bengaliai-cv19/discussion/136021

정말 DS, ML, DL 공부하는 데 캐글만한 게 없습니다.

최근들어 fast.ai 로 캐글에서 좋은 성적 내는 분들이 많더군요 ㅎ

fast.ai 좋아요!

Posted by uniqueone
,

안녕하세요!

캐글의 중요성은,

캐글러들의 커리어를 추적하면 바로 알 수 있습니다.

최근 제가 소개드린 albumentations 의 개발자이며,

현재 lyft 의 시니어 비젼 엔지니어인 Vladimir Iglovikov 의

lyft3d 대회 후기입니다.

https://www.kaggle.com/c/3d-object-detection-for-autonomous-vehicles/discussion/133895

그랜드마스터가 되면 어떤 삶이 펼쳐지는 지에 대해서도

친절히 답변해주었네요

캐글로 정말 무언가 하고싶으시다면

꼭 읽어봅시다

https://towardsdatascience.com/ask-me-anything-session-with-a-kaggle-grandmaster-vladimir-i-iglovikov-942ad6a06acd

Posted by uniqueone
,

안녕하세요

Bengali.AI 대회에 대해 영상을 3개 더 찍었네요

Multi label 일 때, stratified folding 을 할 수 있는 방법,

효율적으로 학습을 진행할 수 있는 방법,

파이토치로 데이터셋을 어떻게 만드는지에 대해서 다뤘습니당 ㅎ

대회가 2주밖에 안남아서 빨리 베이스라인만드는거 까지 만들어보겠습니다.

Ch.2-2 https://youtu.be/HYZ7vZmFiCg

Ch.2-3 Efficient learning process https://youtu.be/pLRXu1eT8gU

Ch.3 Pytorch dataset https://youtu.be/_rcPfVuRScU

Posted by uniqueone
,

👨‍🏫 안녕하세요 데이콘의 경진대회 수상작들 중에 PDF로 만들어진 내용을 슬라이드 쉐어에 모아 봤습니다.

🥳특히 시각화 대회 수상작들을 감상 하시면 좋을 것 같습니다.

🔜[https://www.slideshare.net/daconist](https://www.slideshare.net/daconist?fbclid=IwAR2N1Gg4YImk5OtefERdIhDSzlzxjLhC4bgj5tmKVvophZ56pVKDOX9NgtI)

🥌향후에는 자료 공유로 오픈할 예정입니다.

💥참고로 데이콘 모바일 웹 오픈!! 기다리시던 모바일도 오픈 했습니다.

🔜[http://bit.ly/2HY51pi](https://l.facebook.com/l.php?u=https%3A%2F%2Fbit.ly%2F2HY51pi%3Ffbclid%3DIwAR0ShjSCGEZ6PRh5X_HXoLL-GMiuBoEERkPlcJlclZ38a8hoBns9mK2C_zw&h=AT1PG6TN0Gq1uuCckidadjmpaDuREGEPQxeI9av-yWVO1titYjvy313kHvo1p5oAJdXjRl3WwUZMt0mEgWCwUlUnWD1XVWEaoqq2P86fijmejflZ7XNLKY6S1MJpj4oXmBQ7cd0zSBktqXX7dukhG1h-S2D2s4DiP3Dps6ojq3PpIpR3lmzK49KPj0j3tlEiJaJ6UPT22T92LGhsxcgYEysRRuLu7lhpWfNwmJbPg45Zh21DOYHp_DPhIloqb14ly9QxsT_ubb13SF2evrhtqPnx55ZObZoCjimKLxKBNKUyayqOQW-mpPPrE9EctHprAt9ffSbQAmv0k5Xbdf3cxsQtX9AJLz2pajpeWZa5sKNaPq5NtLd_hBEzkCAY3cGzkBrhxA-gNNKFcgzGs4EbVjD92olTT5SwvytNGgoLia4EBXqd7u1BCp9LXG9QFSOmRHtV-jX1X6G-jokH_X9lgtzeRCZO-C0DdUDjEkScZ3hc4-b_dgcI2UFqh8TVnd3vje9sYUQv8-0iUx_c3ukH4onVS-qNJFdZ5o6R6uj9orNZEf7AX1GpbrtXgVuwUL5ErFSsDKWCb89km-Z8hiIdDA32UXtcn_GiVovK_NMw0hLb4Zq_)

[#dacon](https://www.facebook.com/hashtag/dacon?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#datavisualization](https://www.facebook.com/hashtag/datavisualization?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#DataScience](https://www.facebook.com/hashtag/datascience?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#DataAnalyst](https://www.facebook.com/hashtag/dataanalyst?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#DataEngineer](https://www.facebook.com/hashtag/dataengineer?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#DataScientist](https://www.facebook.com/hashtag/datascientist?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#DataMining](https://www.facebook.com/hashtag/datamining?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#MachineLearning](https://www.facebook.com/hashtag/machinelearning?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#deeplearning](https://www.facebook.com/hashtag/deeplearning?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#AI](https://www.facebook.com/hashtag/ai?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R)
[#데이터사이언스](https://www.facebook.com/hashtag/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%82%AC%EC%9D%B4%EC%96%B8%EC%8A%A4?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#데이터사이언티스트](https://www.facebook.com/hashtag/%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%82%AC%EC%9D%B4%EC%96%B8%ED%8B%B0%EC%8A%A4%ED%8A%B8?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#데이터분석가](https://www.facebook.com/hashtag/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%84%9D%EA%B0%80?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#데이터](https://www.facebook.com/hashtag/%EB%8D%B0%EC%9D%B4%ED%84%B0?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#머신러닝](https://www.facebook.com/hashtag/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#딥러닝](https://www.facebook.com/hashtag/%EB%94%A5%EB%9F%AC%EB%8B%9D?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#통계](https://www.facebook.com/hashtag/%ED%86%B5%EA%B3%84?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R) [#수학](https://www.facebook.com/hashtag/%EC%88%98%ED%95%99?source=feed_text&epa=HASHTAG&__xts__[0]=68.ARDc6dVsghnnnd7zXqp7-VCkOZZUUDPtF82ZeHMaUafQHUhU3d8JutJ_Kp3jabTXWImm9NdtUSaaPNbMvdDjFHpL-v9rBq5op8ZDjK9NH5pQWamXqLkZJA-nQaS-LQja5xzqdovlsSM17Ft7aHnQhThDYqregmf_Bz3AQDLe2wK-0c-rxUcq79woONQPsW4XiD2qlM9FSofhUOUlfRZSWIrlJmGBSPZ0i99efsz-sjxiv_i7zLxZHcuV_8z2_YcIO4lqfTr6fK873uOq91XGnZrCBWIpGK8oXG6MUfy_8DszNeNOhe7_3Eq3hdPjKX2uauwU&__tn__=*NK-R-R)

Posted by uniqueone
,

안녕하세요!

최근 ImageNet 에 SOTA 를 찍은 논문입니다.

https://arxiv.org/abs/1911.04252

캐글에서 많이 보던 pseudo-labeling 이 들어가있네요!

대략 정리하면

1. Train the teacher model with labeled data

2. Generate pseudo label for unlabeled data with teacher model

3. Train the student model with both labeled data and unlabeled data

4. Generate pseudo label for unlabeled data with teature model (student model in step 3)

5. Train the student model with both labeled data and unlabeled data

위 과정을 계속 반복합니다 ㅎ

성능이 매우 좋아지네요!

캐글에서 메달 따려면, SOTA 논문을 잘 보고, 그대로 쓰면 되겠죠?

Posted by uniqueone
,

KB금융그룹 문자 분석 경진대회의 수상자가 가려졌습니다.

수고하셨습니다. 코로나 때문에 아쉽게 시상식은 열리지 못했지만

데이콘에서 2주 후 밋업을 개최할 예정입니다.

👑1. 참여 통계

a.참여팀 438 팀

b.참여인원 960 명

🌝2. public_test 검증횟수 6,349 회

a.리더보드 팀 수 373 팀

b.데이터 다운로드 수 2127 회

c. 우승자 점수 (최종 순위 순)

🎉팀명 AUC Infer Time 점수 상금

1.스팸구이 0.999405 6.827 1.3(1) 1000

2.Jhw 0.999058 7.512 3(2) 500

3.지주 0.998289 16.780 5.3(3) 250

4.Start Over 0.9992 3185.950 5.9(4) 100

5.곱창전골저아 0.998474 109.3967 6.1(5) 50

6.곰다리 0.997967 9.825 6.1(6) 50

7.김웅곤 0.997991 235.335 8.1(7) 50

3.의미 🌟

대회 참여 인원은 총 960명으로 국내에서 가장 많은 사람이 참가한 데이터 경진대회로 성황리에 마무리되었습니다. 많은 사람이 참여한 이유로는 1. 기존 데이콘 회원의 높은 참가율 2. 높은 상금 (총 2,000 만원) 3. KB금융, 한국인터넷진흥원(KISA)의 높은 브랜드 가치인 것으로 판단됩니다.

알고리즘 평가를 위해서 대회 중 새롭게 수집한 11월 ~ 12월 금융 문자 데이터에 대해 예측력과, 예측 시간을 측정했습니다. 많은 우수 코드들은 공통적으로 형태소 분석기로는 Mecab을 사용했으며 머신러닝 모델로는 LightGBM을 사용했습니다. 대회 특성상 정확도와 함께 예측 속도가 중요하기 때문에 정확하면서도 처리시간이 짧은 Mecab이 선택되었고, 길이가 짧은 금융문자 특성상 신경망 기반의 BERT, LSTM과 같이 무거운 모델 보다는 비교적 가벼운 LightGBM이 선호된 것으로 보입니다.

대회 결과 새로운 데이터 세트에 대해 AUC 0.999405, 정확도 95%의 높은 예측력을 보이면서도 속도 또한 개당 2ms로 빠르게 처리하는 알고리즘을 발굴할 수 있었습니다. 이로써 고객에게 실시간으로 스미싱 여부를 제공하는 것이 가능할 것으로 기대됩니다.

➡️

Posted by uniqueone
,

안녕하세요!

deepfake 대회가 진행되고 있지만,

쉽지 않은 대회인 것 같습니다.

저어어엉~말 간단하게 프로세스를 정리해봤습니다.

조금이나마 도움되시길 바라며!

대회하며 공부해봅시다 :)

# 1. Face detection 한다.

- 이 커널로 스터디 [https://www.kaggle.com/timesler/comparison-of-face-detection-packages](https://www.kaggle.com/timesler/comparison-of-face-detection-packages)

- facenet-pytorch

- mtcnn

- dlib

# 2. 추출된 이미지로, real, fake face classifier 만든다.

- [https://www.kaggle.com/robikscube/faceforensics-baseline-dlib-no-internet](https://www.kaggle.com/robikscube/faceforensics-baseline-dlib-no-internet)

- [https://www.kaggle.com/unkownhihi/starter-kernel-with-cnn-model-ll-lb-0-69235](https://www.kaggle.com/unkownhihi/starter-kernel-with-cnn-model-ll-lb-0-69235)

- [https://www.kaggle.com/humananalog/inference-demo](https://www.kaggle.com/humananalog/inference-demo)

Posted by uniqueone
,

안녕하세요, 이정윤입니다.

오늘은 지난 시간에 이어 [#Kaggle](https://www.facebook.com/hashtag/kaggle?source=feed_text&epa=HASHTAG) 대회 시작하기 #2 편입니다.

이번 편에서는 Github에 Repo를 셋업하고, Kaggle API로 데이터를 다운 받은 후, Jupyter Notebook 상에서 데이터를 살펴보았습니다.

다음 편에서는 기본 피처를 가지고 모델을 만들어 첫 번째 답안을 제출해보도록 하겠습니다.

- 사실 오늘 이것까지 올리고 싶었는데... 편집하는데 시간이 너무 많이 걸려서 다음 번으로 미뤄야겠습니다. ㅠ.ㅠ

도움이 되셨다면 좋아요/구독/ 부탁 드립니다. 감사합니다. :)

여러분 모두 저와 함께 Kaggle 대회 참석하시면서 즐거운 Data Science 하시기 바랍니다.

모두 즐거운 Data Science, Happy Kaggling 하세요~!

https://youtu.be/1eqliTZ5okY

Posted by uniqueone
,

안녕하세요 캐코 여러분,

이번에는 캐글 컴피티션 마스터가 되는 법이라는 주제로 영상을 준비해 보았습니다.

이미 잘하시고 계신 분들이 많으시지만 혹 도움이 되는 분들이 계시길 바랍니다.

https://youtu.be/G2ZeYWRruKc

유한님의 공지처럼 올해 100의 한국 마스터 분들을 기원합니다.

Happy Kaggling~!

Posted by uniqueone
,

👨‍🏫 안녕하세요 데이콘에서 코드 공유를 오픈 했습니다.

🎉우승자 코드에서 배움과 🤵자신의 코드로 피드백을 받을 수도 있습니다.

➡️ [http://bit.ly/3av37JQ](http://bit.ly/3av37JQ)

#SIA #ADD #미래도전 #dacon #datavisualization #DataScience #DataAnalyst #DataEngineer #DataScentist #DataMining #MachineLearning #deeplearning #데이콘 #경진대회 #데이터분석 #KB금융 #인공지능 #머신러닝 #딥러닝 #자연어처리 #파이썬 #코드 #공유

Posted by uniqueone
,

안녕하세요 캐코!

최근 Kaggle에서 9개월 전에 진행한 Pet Finder 대회에서 1등팀이 cheating한 부분이 Hot Issue🔥 입니다.

이런 cheating을 어떻게 했는가? 에 대해 궁금하신 분들을 위해 어떤 분이 이렇게 좋은 커널을 만들어주셨습니다.

캐글을 포함하여 대회에서 이렇게 치팅을 설명해주는 커널은 많이 없으니 궁금하신 분들은 한 번 살펴보면 재밌을 것 같습니다

https://www.kaggle.com/bminixhofer/how-bestpetting-cheated/

Posted by uniqueone
,

Insanely excited to share an interview today with Abhishek Thakur who is an extremely respected individual in many communities. He is widely known for his Kaggle work and he is the first Kaggle 3x Grandmaster in the world. I am sure you wouldn't want to miss out on this one.
Read the interview here: https://medium.com/@spsayakpaul/an-interview-with-abhishek-thakur-data-scientist-and-kaggle-3x-grandmaster-47605c95ab0.

Posted by uniqueone
,

글로벌 '딥페이크 식별 챌린지. '딥 페이크 감지 챌린지 (DFDC, Deepfake Detection Challenge)'

딥페이크 폐해를 막기 위해 페이스북, 마이크로소프트, AWS 그리고 13 개국 100개 파트너로 결성된 'AI 파트너십'이
총상금 100만 달러(약 11억8천만원),
(Kaggle)에서 진행, 내년 3월 31일까지.

'딥 페이크 감지 챌린지(DFDC, Deepfake Detection Challenge)' 행사 웹사이트
https://deepfakedetectionchallenge.ai/

캐글 진행 홈페이지
https://www.kaggle.com/c/deepfake-detection-challenge

관련 기사
http://www.aitimes.kr/news/articleView.html?idxno=14906

Posted by uniqueone
,

이제 캐글은 국내 많은 이들의 관심사가 된 것 같습니다.

저희 그룹이 7,000명이 넘어가면서

"왜 캐글을 해야할까" 라는 질문을 항상 하곤 합니다.

아마 본 그룹에 계신분들도 가지고 이 질문을 가지고 계실 거 같네요!

각자마다 캐글을 해야하는 이유가 다를 것입니다.

이를 위한 현실적 조언을 해주는 여러 동영상을 소개 합니다.

우버 Uber Sr. Data Scientist Tech Lead Manager Jeong-Yoon Lee 박사님의 조언

https://youtu.be/vM6D4Q-a4QA

네이버 AI Research Engineer 송호연 (Chris Song)님의 조언

https://www.youtube.com/watch?v=8mjeJpHtLVQ

위 두 영상을 보며, 본 그룹의 개개인에게 캐글이 어떤 의미인지 고민해보시면 좋을 것 같군요!

각자가 원하는 방향은 다르지만,

킵고잉 공부 마인드는 같을 겁니다.

포기하지말고 킵고잉 합시다 가즈아!

Posted by uniqueone
,
안녕하세요!!!

이전 대회들의 솔루션을
캐글에서 모아줬네요!!

이러니 캐글을 안할수가 있나요!!

어여 공부 킵고잉 합시다!!
https://www.facebook.com/groups/KaggleKoreaOpenGroup/permalink/523044635094307/?sfnsn=mo
Posted by uniqueone
,
[Categorical/Tools] Category Encoders

데이터는 크게 2가지 타입으로 나뉩니다. (이 부분의 디테일 한 내용은 다음 글을 참고하면 됩니다. https://subinium.github.io/basic-of-data/)

- 수치형 데이터(numerical)
- 범주형 데이터(categorical)

그리고 대부분의 ML 모델은 categorical 데이터를 처리할 수 없고, 그렇기에 적절한 변환(encoding)을 해야 사용할 수 있습니다 .

그런 처리는 보통 map 등으로 손으로 매핑할 수 있거나 등등의 방법이 있습니다. 그 중에서도 대표적인 것은 Label Encoding과 One-Hot Encoding입니다.

하지만 그 밖에도 많은 Encoding 방법이 있고, 이를 쉽게 사용할 수 있는 툴이 있다는 거 아시나요??

scikit-learn 스타일의 transformer인 Category Encoder를 소개합니다.

- github : https://github.com/scikit-learn-contrib/categorical-encoding
- documentation : https://contrib.scikit-learn.org/categorical-encoding/

이는 아래 사진과 같은 encoding 방법을 제공하고, 사용도 매우 쉽습니다.

현재 Kaggle에서는 Categorical Data로  진행하는 Playground 대회가 진행중에 있습니다. 이 대회에서 어떤 식으로 이 툴을 사용하는지, 어떤 내용인지 간략하게 설명을 하였으니 보시면 좋을 것 같습니다.
(도움이 된다면 upvote 부탁...kernel master가 되고 싶어요ㅎㅎ)

- 코드 및 설명 커널 링크: https://www.kaggle.com/subinium/11-categorical-encoders-and-benchmark

- 대회 링크 : https://www.kaggle.com/c/cat-in-the-dat

Kaggle을 하시는 분, Kaggle 시작을 망설이시는 분들이라면 대회를 참여하는 것도 추천합니다.

#tool #Categorical #category_encoders
https://www.facebook.com/groups/1738168866424224/permalink/2422195841354853/?sfnsn=mo
Posted by uniqueone
,

https://www.facebook.com/groups/KaggleKoreaOpenGroup/permalink/474777576587680/?sfnsn=mo

안녕하세요!

약 3달간의 긴 대회 끝에, [ka.kr] Solve chem. together 팀이
3등의 어마어마한 성적을 거두었습니다.


대회가 첫 시작했을 때, 친근한 화학 분야 관련 대회라서 매우 들떴었습니다만, 대회가 워낙 새로워서 힘들었었네요.

Graph neural network (GNN) 도 처음인데, 이걸 가지고 대회에서 이기려고 하니 너무 힘들었습니다. 자료도 너무 없었구요!

그래도 좋은 팀원들과 함께 포기하지 않고 해나갔네요.

그러던 중, 갓상훈!!님께서 한줄기 희망을 주셨습니다.
Transformer 를 사용하셔서 해결하시다니, 아직도 그 충격(?)이 가시지 않습니다.

이번 대회를 통해서, 딥러닝을 이용한 화학 분야에 캐글러들이 많은 contribution을 한 것 같군요. 앞으론 GNN 자료를 구하기가 훨씬 수월해질 것 같습니다.

이번 대회가 끝나면서,
총 4분의 컴퍼티션 마스터가 생겼습니다.
이제 국내에도 두자릿수 master 가 있네요 ㅎ (열몇명 되는걸로 압니다.)

점점 한국 캐글러가 많아지고, 좋은 성적을 거두시는 분들이 많아지는 것을 봅니다.

향후 Aptos, IEEE, steel 등의 대회에서 좋은 성적을 거두는 한국 캐글러들이 생기길 바랍니다.

캐글하며 환자들의 눈을 구하고,
캐글하며 transaction anomaly 찾고,
캐글하며 steel defect detection 을 해서
각 분야에 contribution 해봅시다 :)

아래는 각 팀원별 후기입니다 :)

정말 Amazing 한 솔루션을 제시해주시고, 엄청난 개발능력으로 빛을 내려주신 상훈님,
끊임없는 EDA로 갓원호하시는 원호님
열정적인 탐구심으로 논문으로 계속 아이디어를 제시해주신 영수님,
지적으로 도메인 지식을 풍성히 제공해주신 성환님
(밥도 사주신다는!!!!)
함께해서 영광입니다.

저희 솔루션 링크는 아래와 같습니다
한번 읽어보셔용 ㅎㅎ

https://www.kaggle.com/c/champs-scalar-coupling/discussion/106572

## 김상훈
'빨리 가려면 혼자가고 멀리 가려면 함께 가라' - 아프리카 속담
여러분과 함께해서 여기까지 올 수 있었던 것 같습니다. 함께하면서 많이 배웠습니다!
재미있었고, 즐거웠으며, 결과까지 좋아서 +알파가 되는 행복한 경험이었습니다.

## 송원호
Aptos 열심하겠습니다
팀 여러분 감사합니다. 영광입니다 !!!!

## 이영수
함께해서 영광이었고, 많이 배웠습니다. GNN을 배우러 참가하였다가 화학domain에서 End-to-End Bert를 영접하는 재미있는 경험을 했습니다. 대회기간내내 즐거웠고, 모두 감사합니다!

## 이유한
그저...행복할 따름입니다. 처음부터 끝까지 좋은 팀원들과 함께 너무나 즐겁게 문제를 풀어갔네요 ㅎ 한 분야를 다양한 사람들이 풀어가니, 정말 새로운 접근이 계속 나왔던 거 같습니다. 제 첫 금메달을 함께 해주셔서 너무나 감사드립니다!

## 최성환
처음 이 대회 나가게 될때 절대 5등 안으로 못들어간다고 그랬었는데 (그렇죠 유한님? ㅎ) 머리를 맞대니 정말 신기한 마법들이 생겨나더군요. 좋은 팀원들에게 좋은 자극 좋은 정보 많이 받았습니다.

####
끝으로, 다른 한국 캐글러도분들도 많으셨습니다 혼자서 9등, 31등하신 분들도 계셨군요 !! 모두 고생하셨습니다
Posted by uniqueone
,

https://www.facebook.com/groups/TensorFlowKR/permalink/963838507290541/?sfnsn=mo

안녕하세요 캐글코리아!

DGIST 3학년에 재학중인 이해찬입니다.

저는 이번 2019 3rd ML month with KaKR에서 1st score을 기록했습니다. 혹시 공부하시는데 도움이 되실까봐 solution을 공유해 드리겠습니다.

(같은 내용으로 competition discussion에도 올려 두었습니다.)

***글이 길수도 있습니다.***

Baseline model : Efficientnet-B5

Preprocessing

Using Bounding Box :

저는 처음에 bounding Box로 crop된 image를 사용했지만 아래의 두 github글에서는 crop하지 않은 image를 input으로 주는 것이 성능이 더 좋다고 하였습니다.

https://github.com/jianshen92/stanford-car-grab-challenge

https://github.com/morganmcg1/Projects/tree/master/stanford-cars

하지만, Public score 0.93정도 이상에서는 그렇게 큰 효과가 없었습니다. 또한, cutout을 적용하면 crop된 image가 성능이 더 높은 모습을 보여주었습니다. 그래서 저는 Bounding box로 crop된 이미지를 input으로 사용했습니다.

Image를 resize하는 방식을 사용했는데 위의 github에서는 squeeze하는 방식을 사용하면 더 좋은 성능을 보여준다고 합니다. 하지만, 저는 이것을 구현하지 못해서 적용하지 못했습니다.

Augmentation :

(saewon님의 kernel을 참고하였습니다.)

Random Resized Crop, Random Horizontal Flip, Random Rotation, AutoAgumentation(CIFAR-10), Normalize, Random Erasing(cutout)을 적용하였습니다. 여기에 mixup을 적용시켰습니다.

Cutmix를 mixup대신 적용시켜 보았지만, 저는 mixup을 사용했을 때 성능이 더 좋게 나타났습니다.

mixup의 alpha값은 0.2, 0.4, 1.0을 사용해보았는데 1.0에서 성능이 가장 좋게 나왔습니다.

rotation은 30도를 주었고 resized crop은 (0.8, 1.0) 다른 것들은 default 값으로 적용시켰습니다.

Sampler :

Class의 이미지 수들의 불균형이 존재했습니다. 균형을 맞추기 위해서 oversampling 방식을 통하여 한 epoch을 당 주어지는 class의 image 수를 같게 맞추었습니다.

Loss :

FocalLoss를 gamma를 0.5, 2, 3을 시도해 보았습니다. gamma가 0.5일 때 성능이 가장 좋았습니다. 하지만, 이것보다 그냥 cross entropy loss가 더 좋은 성능을 보여주었습니다. (제가 구현을 잘못한 것인가요…ㅠㅠ Focal loss가 더 좋을 것으로 예상을 했었는데…) 그렇기에 저는 loss로 cross entropy를 사용했습니다.

Label smoothing을 적용해서 실험해 보았지만 그럴듯한 성능 향상을 보여주지 않았습니다.

(Triplet loss구현을 시도해 보았지만, 시간 부족을 구현을 완료하지 못했습니다. 혹시 해보신 분 있으면 결과를 남겨주시면 좋겠습니다.)

Model :

저는 Efficientnet-B7, B6, B5, PNASNet, NASNet을 사용했습니다. 각 model head에 dropout(0.4~0.5)을 추가해서 사용했습니다. (IIdoo kim님이 discussion에 올렸던 model은 너무 train하기에 무거워서 결국 사용하지 못했습니다.)

WS-DAN(Weakly Supervised Data Augmentation Network)이라는 아주 흥미로운 구조를 실험해 보았습니다. 이것을 Efficientnet-B7 model에 적용시켰습니다. Training 시간은 3배로 걸리지만 성능은 크게 개선되지 않아서 이 구조를 버리게 되었습니다.’

Scheduler :

초반에는 CosineannealingLR, MultistepLR, StepLR을 사용해 보았습니다. 이중에서 적절한 값을 찾아본 결과 MultistepLR이 가장 좋은 성능을 보여주어서 이것을 사용했습니다. 후반기에 최종 model을 train할 때는 SuperConvergence라는 scheduler를 사용하여 train을 하였습니다.

Optimizer :

다양한 optimizer를 baseline에 실험해 보았는데 AdamW가 가장 성능이 좋았습니다. Efficientnet모델에는 AdamW를 사용하게 되었습니다. PNAS, NAS에서는 SGD + momentum이 성능이 좋은 모습을 보여주어 이것을 사용하였습니다.

Train Process:

Efficientnet-B7, B6, B5는 lr=0.00028로 50 epoch train후 max_lr=0.00028로 SuperConvergence + AdamW로 60 epoch train했습니다.

PNAS, NAS는 lr=0.0042, max_lr=0.0042로 위와 같은 방식으로 optimizer만 바꿔준 후 train했습니다. weight저장은 valid set에서 F1-score가 가장 좋은 weight를 저장했습니다.

Test-Time-Augmentation :

tta를 5번 적용하였습니다. 적용한 augmentation은 Random Resized Crop, Random Horizontal Flip, Random Rotation입니다. Rotation은 5를 주었고 나머지는 train때와 같게 주었습니다.

Ensemble :

6 fold cross validation을 사용하였습니다. 또한 앞에서 언급한 Efficientnet-B7, B6, B5, PNAS, NAS model을 soft-voting을 하였습니다.

성능으로는 B7>B6>B5>PNAS>NAS 순이었습니다. (Public score 기준)

(결론적으로 총 30개의 weight를 사용했네요… 6.5G정도 되네요)

최종 score “ Public : 0.96604,  Private : 0.96058 ”
Posted by uniqueone
,