표 기계독해에서 한국어 데이터셋으로 Pre-training을 한 이후에, 그 학습된 도메인 외에서 적용해보려면 계속 새로운 도메인으로 Fine-Tuning 과정을 거쳐 학습시켜야 한다.
근데 계속 Fine-Tunung 하기엔 시간이랑 비용이 많이 들기도 하고,, 또 나한테는 그 모델이 이 도메인을 온전히 이해시킬만큼 학습 데이터셋이 없고 테스트 데이터셋만 있을 수도 있다.
이럴때 아 난 데이터 없다 그냥 적용해볼란다!!!!!!!!!하면 또 원하는 도메인에서는 학습시켜놨던 도메인에 비해 성능이 죽죽 떨어질 수도 있다는 것,, (일지 아닐지는 도메인 편차가 크겠지만 ㅋ,ㅋ)
그래서 우리는 도메인 일반화 (Domian-Generalization) 가 참 잘되는 모델을 뚝딱뚝딱 만드는게 좋지 않을까 싶은건데
난 잘 몰랐는데 여러 도메인에 딥러닝 모델을 적용해 볼 수 있는 방법이 3가지 정도 있을 수 있다는 거지,,
아래 나와있는 그림의 3가지가 그것인데,, 일단 이 그림은
'A domain generalization network combing invariance and specificity towards real-time intelligent fault diagnosis' 라는 논문에서 가져왔음을 밝힙니다....
1번 - 그냥 일반 딥러닝 모델
일단 이 방법은 매우 단순하다,,
원하는 도메인들을 싹 다 섞어가지고 학습시켜보고 그대로 또 각자 테스트 해보는 방법인데
그림에서 보이다 싶이 Classifier가 점선인데 이 점에 속하지 않는 도메인들이 있다.
이처럼 잘 안나오는 도메인이 더 많고 각자 도메인이 따로 논다는 느낌이 강하다
그래서 이제 도메인 학습 시에 뭔가 서로 윈윈해보는 방향으로 가보자해서 나온게 뒤의 두 개 방법이다.
2번 - Domain-Adpatation을 적용한 딥러닝 모델
이 방법은 우선 Source domain 이랑 Target Domain 이란 개념이 존재하는데,
살짝 쉽게 요약하자면 Src는 너를 제물로 바치고,, Tar을 독해하는 능력을 소환하겠다,, 약간 요런 바이브,,?
근데 말이 희생이지 결국 머 둘 다 성능에 윈윈하게 되긴하는데,, 제물엔 관심이 없다.ㅋㅋ
그래서 그림 상 살펴보면 두 개 도메인으로 학습을 하는데 Classifier가 학습된 두 개에선 윈윈해서 잘나오게 된다.
근데,, 또 초면이신 도메인을 보면 또 못한다 ㅋ,ㅋ 참 까다로운 친구들이다,,
그래서 이제 모르는 도메인이 바로 와도 적용가능한건 없나?!?!!해서 다음 방법이 나왔다.
3번 - Domain-Generalization을 적용한 딥러닝 모델
이 방법의 경우는 위랑 비슷하긴 한데,, 다른 점이라면
위 방법같은 경우엔 Adaptation을 적용하면 생각보다 좀 많이 Target Domain의 성능이 올라갈 수 있다.
하지만 이 방법은 드라마틱하게 성능이 올라가는건 아니고,, 한 2-4%?
근데 초면인 도메인을 봐도 그 단일 도메인으로 학습한 모델로 평가한거 보다 잘나온다는게 중요하다
예를 들면,
(1) Science Domain 학습 -> Science Domain 평가
(2) Law + Office + Sport 학습 -> Science Domain 평가
(2) > (1) 이 될 수 있다는거지,,
왜냐면 타 도메인에서 얻은 추가적인 지식들로 독해에서 윈윈이 되기 때문이다.
저 학습에 사용된 도메인들은 당근 오르고,,
이렇게 알고 연구해보면 각 방법의 발전 방향이랑 장점을 결합해보는 방향이 생각나지 않을까?
'NLP' 카테고리의 다른 글
[Langchain] LLM/BitsandBytes 기반 Quantization LLM + Langchain 함께 사용하기 (1) | 2024.04.24 |
---|---|
[GPT] Generation 코드 탐험기 (+ generation param 설명) (0) | 2024.02.12 |
BiLSTM(Bidirectional LSTM)과 CRF(Conditional Random Field) (0) | 2023.01.31 |
GLUE TASK (0) | 2022.12.15 |