ai-starthon / AI_Starthon2019

60 stars 44 forks source link

pretrained model 관련 질문 #18

Open Soongja opened 5 years ago

Soongja commented 5 years ago

안녕하세요. pretrained model과 관련된 질문이 있어 글 남깁니다.

  1. 사전교육 때 pretrained model은 사용하지 못한다고 하셨는데, 이미지 복원(inpainting) 등의 문제에서 loss를 계산할 때 feature map 간의 loss 계산을 위해 pretrained vgg network 등을 사용하는 경우가 있습니다. 대회의 문제 해결을 위한 핵심 model의 pretrained weights 사용 뿐만 아니라 이러한 (loss 계산을 위한) 경우에도 pretrained model의 사용이 금지되는지 궁금합니다.

  2. 또한 pretrained model을 파이썬에서 라이브러리 형태로 쉽게 가져다 쓸 수 있는데 어떠한 방식으로 관련 부정행위 탐지를 하시는지 궁금합니다. 명확한 공지가 있으면 좋을 것 같습니다.

jaejun-yoo commented 5 years ago

안녕하세요 좋은 질문 감사합니다.

  1. 사전교육 때 pretrained model은 사용하지 못한다고 하셨는데, 이미지 복원(inpainting) 등의 문제에서 loss를 계산할 때 feature map 간의 loss 계산을 위해 pretrained vgg network 등을 사용하는 경우가 있습니다. 대회의 문제 해결을 위한 핵심 model의 pretrained weights 사용 뿐만 아니라 이러한 (loss 계산을 위한) 경우에도 pretrained model의 사용이 금지되는지 궁금합니다.

네 loss로 사용하는 것 역시도 사용이 금지됩니다. Pretrained model을 허용하게 되면 task 별로 어느 범위까지 허용하느냐에 대한 문제가 복잡하게 얽힐 수 있기에 정책을 그렇게 정하였습니다. 다만 한 가지 추가 정보를 더 드리자면 해당 inpainting 문제의 경우 (이후 code를 확인하시면 아시겠으나) 간단하게 l1 loss를 score로 사용하기 때문에 VGG loss를 이용한 metric은 본 챌린지에서 큰 도움이 되지는 않으리라 생각합니다.

  1. 또한 pretrained model을 파이썬에서 라이브러리 형태로 쉽게 가져다 쓸 수 있는데 어떠한 방식으로 관련 부정행위 탐지를 하시는지 궁금합니다. 명확한 공지가 있으면 좋을 것 같습니다.

소스 코드가 올라가는 형태이기 때문에 어떤 형태로든 pretrained model을 사용하시는 경우 저희가 확인이 가능합니다.

codertimo commented 5 years ago

@jaejun-yoo 안녕하세요 해당 이슈에 관련해서 질문이 있습니다. NLP같은 경우는 텍스트를 encoded sequence 변경하기 전 tokenizer를 사용하게 됩니다. mecab, konlpy, sentencepiece 과 같은 토크나이저가 중요하게 사용되고 성능에도 많은 영향을 미치기 때문에 이번 대회에서도 사용할 계획이었습니다.

하지만 mecab이나 konlpy 같은 경우 기본적으로 tokenizing 을 위해 학습된 모델이 python package 내부에 포함되어 있습니다. 혹시 그렇다면 konlpy와 같은 토크나이저(학습이 되어 있는) 도구 역시 사용해서는 안되는 건지 질문을 드립니다.

DongjunLee commented 5 years ago

@codertimo

안녕하세요, 질문에 답변 드립니다 :)

모든 NLP Task에서 (16~19번) 대해서 적용 됨을 미리 알려드립니다. 전처리 단에는 konlpy, sentencepiece 와 같이 오픈소스로 공개되어있는 package는 사용할 수 있습니다. 그러나 모델 단에서는 (e.g. BERT) pretraind model을 사용할 수 없습니다.