AI4NLP

AI Grand Challenge, 인공지능 그랜드 챌린지 1위 입상 후기 및 입상 모델 설명 본문

General

AI Grand Challenge, 인공지능 그랜드 챌린지 1위 입상 후기 및 입상 모델 설명

nlp user 2020. 12. 27. 18:50

ai-challenge.co.kr

 

대회 및 task 설명

이번에 회사에서 팀장님과 함께 인공지능 그랜드 챌린지에 참여하였다. 회사 소속으로 참여한 2번째 대회이다 (첫번째로 참여한 대회 후기는 이 링크를 클릭! ). 인공지능 그랜드 챌린지는 1단계 2019년, 2단계 2020년, 3단계 2021년, 4단계 2022년 순으로 진행되는 대회이며, 우리가 참여한 대회는 2단계 4차 대회 트랙 2, 음성인지 였다. 4차 트랙2 음성인지는 폭력상황의 대화를 인지하여 어떤 폭력의 종류인지 분류하는 대회였다. 간단히 설명하자면, 대화가 입력으로 들어와서 그 대화의 class를 분류하는 것(일반 대화 label 포함)이었다. 여러 우여곡절이 있었지만, 결과적으로는 1위로 입상하였고, 후속 연구 지원금으로 7억 6천만원 정도를 지원받게 되었다. 

 

데이터

이번 대회가 특히 어려웠던 이유는 참여팀이 직접 학습 데이터를 만들어야한다는 점이었다. 우리는 음성인식 후 생성된 텍스트를 이용하여 label을 분류하기로 하였다. 음성인식의 경우는 기존 회사 데이터를 이용하여 만든 모델을 사용하기로 하였고, 텍스트 분류를 위한 text - label 데이터를 제작하기로 하였다. 우리는 설문조사를 이용하여 데이터를 제작하기로 결정하였고, 설문조사 제작에 착수하였다. 초기에는 각 label당 5세트씩 총 25세트(label은 총 5개)를 만들었다. 하지만, 설문 참여자의 피로도가 너무 높았는지, 아예 설문이 들어오지 않았다. 그래서 label당 각 1세트로 줄여서 총 5개의 데이터 제작을 1설문당 배치하였다. 그렇게 모은 데이터를 각 언어 번역기를 이용하여 데이터 증강 (Data Augmentation)을 진행하였다. 언어는 영어, 중국어, 일본어를 사용하였고, 한국어를 각 언어로 번역한 뒤 다시 한국어로 번역하는 역번역(Back Translation) 방법을 이용하였다. 그 후에 추가로 데이터를 증강하였는데, 문장과 문장 사이의 순서를 바꿔주는 방법을 이용하였다.  예를 들어 설명하면 다음과 같다. (shuffling 전) A: 지금 날 봤어? B: 웃기지마 내가 왜 A: 날 봤잖아. 거짓말 하지마! (shuffling 후) B: 웃기지마 내가 왜 A: 지금 날 봤어? A: 날 봤잖아. 거짓말 하지마!

 

음성인식 모델

그 후에 음성인식은 회사 데이터를 기반으로 학습된 Joint CTC/Attention 모델을 사용하였다. Joint CTC/Attention 모델은 Seq2Seq with attention 모델에 Connectionist temporal classification (CTC)를 loss 단에서 결합한 모델로서 최종 로스를  alpha * Seq2Seq_with_attention_Loss + (1-alpha) * CTC_Loss로 정의하여 학습을 진행한다. Joint CTC/Attention 모델에서는 Seq2Seq with attention Loss에 CTC Loss를 결합함으로써 기존 Seq2Seq with attention 모델에서 초기 attention 학습이 잘 되지 않을 경우, 모델의 성능이 저하되는 부분이 있었는데, 이런 부분을 CTC를 이용하여서 보강하였다.

 

Joint CTC/Attention ASR Model 구조도 (https://www.aclweb.org/anthology/P17-1048/)

 

텍스트 분류 모델

텍스트 분류 모델로는 KoELECTRA(github.com/monologg/KoELECTRA)를 사용하였다. ELECTRA는 기존 BERT 모델에서 어떤 토큰이 masking 되었던 토큰인지 맞추는 task를 추가함으로써 모델의 성능을 높였다. 학습 데이터로는 위에서 언급했던 설문조사 결과에 데이터 증강을 거친 데이터를 사용하였다.

 

ELECTRA (참조 : https://openreview.net/pdf?id=r1xMH1BtvB)

 

후기. 

중간에 대회 시스템이 불안정하여 중단 후 재개된 대회였다. 제출이 잘되었던 팀들은 잘 되었지만, 우리 팀의 경우 재개 이전까지 제출 한번이 되지 않아 마음 고생을 많이 하였다. 빠르게 제출 확인을 위해서 구글 음성인식 모델도 사용해보았지만, 뭘 해도 제출이 안 되었었다. 재개 후 제출을 이어가서 결과적으로는 1등을 하였는데, 조금만 더 시간이 있었으면 더 높은 점수를 얻을 수 있었을 텐데 하는 생각이 들어서 아쉬웠다. 대회에 참여하여 진행하는 동안 시스템 문제로 정말 많이 힘들었고, 지속되는 신경성 위염과 두통, 위 경련, 역류성 식도염을 달고 살았다. 대회 끝나고 정수리를 찍어보니 이전보다 머리도 더 많이 빠져있었다. (감사합니다 ^ㅇ^) 정리하자면, 이런 열악한 인프라로 진행되는 대회는 이번 대회가 끝이었으면 하는 바램이다. 

Comments