월간 데이콘 소설 작가 분류 AI 경진대회

알고리즘 | NLP | 분류 | 자연어 | LogLoss

  • moneyIcon Prize : 100만원+애플워치
  • 1,418명 마감

 

11th/ public score : 0.17452/ sentence-bert

2020.12.07 13:44 6,948 Views language

감사합니다.

Code
로그인이 필요합니다
0 / 1000
최정명
2020.12.07 16:48

감사합니다. 많은 도움될 것 같습니다.

축하드립니다 !! 

hahaha
2020.12.07 19:49

감사합니다~^

LA오빠
2020.12.08 14:24

BERT 모델 학습시 대회 레이블을 사용하였기 때문에 전처리 단계라고 볼 수는 없을 것 같아요. Sentence embedding을 사용한 좋은 코드 공유 감사합니다.

hahaha
2020.12.09 00:09

저도 많이 고민 했었는데 읽어 주셔서 감사합니다!

zhchqh
2020.12.09 13:16

좋은 코드공유 감사합니다.

hahaha
2020.12.10 00:51

감사합니다~ㅎ

Toona
2020.12.10 11:55

안녕하세요, 코드 공유 감사합니다.

그런데 sentence_transformers의 train 과정을 보면, 결국 bert의 transformer 파라미터까지 같이 학습하도록 되어 있습니다.
아래 코드의 525번째 줄을 보시면, fit() 메서드는 loss에 할당된 모델을 학습합니다. 즉, bert의 모든 파라미터를 학습하게 됩니다.
https://github.com/UKPLab/sentence-transformers/blob/master/sentence_transformers/SentenceTransformer.py

Toona
2020.12.10 11:56

논외로, pre-train된 bert를 이용한 다양한 패키지가 많은데, bert와 같은 언어이해모델들을 임베딩으로 사용하는 경우 어디까지가 임베딩의 범주인지
dacon 측에서 더 명확하게 제시해주셨으면 어떨까 생각합니다 ㅠㅠ

bert의 pooled_output을 사용하여 문장의 임베딩으로 볼 것인지, 아니면 임베딩 레이어의 output만 임베딩으로 볼 것인지 애매한 것 같습니다 .

hahaha
2020.12.10 13:12

저도 동일한 고민을 많이 했던것 같아요ㅎㅎ 코드 읽어 주셔서 감사합니다~^

hahaha
2020.12.10 13:21

저도 튜닝하지 않은 pre-trained model의 임베딩 레이어는 사용해도 되는 건가 하는 생각도 했는데, 그것도 결국에 cheating인 것 같아서 보류 했었습니다. 저도 조금 더 명확한 기준이 있었으면 어땠을까 하는 아쉬움은 남습니다.