분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
Private 1위 Public 0.14156 BERT-embedding
안녕하세요. 이런 대회 참가가 거의 처음이라 아는것을 써보자는 명목으로 제출하게 되었습니다.
데이콘 측에서 사전학습 모델 사용 금지라고 하셨었는데,
임베딩 과정에서는 사전학습 모델 사용 가능하다고 하셔서,
tensorflow 공식문서에서는 BERT를 text embedding 이라고 보고 있기에 일단 사용해 보았습니다.
https://www.tensorflow.org/hub/common_saved_model_apis/text#transformer-encoders
1달동안 다들 너무 고생많으셨습니다.
환경 : Local(Geforece 1080TI)
kaggle 등에서 돌아다니는 BERT 사용 예제 그대로 사용하였습니다.
실행 과정은 용량문제로 생략하도록 하겠습니다.
수고하셨습니다.
모델 훈련시에 bert_layer = hub.KerasLayer(module_url, trainable=True) 을 사용하는데
사전학습된 모델을 임베딩에만 쓰려면 trainable=False가 되야하는게 아닌가 생각합니다.
수고하셨습니다. 아쉽지만 StarWaz88님께서 지적하신데로 BERT가 fine-tuning에 사용되었기 때문에 학습 단계에서 선학습 모델 사용을 금지한 규정에 어긋나는 것으로 보입니다. 앞으로 더 좋은 결과 있으시기 바랍니다. :)
저도 StarWaz님과 같은 의견입니다.
pre-train된 bert 모델에 대회 데이터를 추가적으로 학습한 것으로 보여집니다.
또, bert의 임베딩을 인정한다는 것이
1. embedding layer의 token embed + segment embed + position embed 을 더한 것만을 bert 임베딩으로 인정하는 것인지,
2. StarWaz88님의 의견과 같이 Bert의 Transformer 레이어를 모두 거친 뒤 리턴되는 sequence_output을 bert 임베딩으로 인정하는 것인지 궁금합니다.
수고하셨습니다. 다만 저도 StarWaz님과 같은 의견이네요. 임베딩을 인정하는 기준을 명확하게 알려주셨으면 합니다.
수고하셨습니다.
늦게지만 축하 드립니다.
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
삭제된 댓글입니다