반응형
Transfer learning는 한글로 전이학습입니다.
많은 논문에 실린 모델들이 나오면서 사람들은 사용해보고 싶었지만, 바로 사용하기 힘들었습니다.
단어를 벡터로 옮기는 작업에 대해 필요한 시간적 비용과 자원이 굉장히 많이 필요했기 때문이였습니다.
이런 문제를 갖고 사람들은 Transfer learning을 사용하기 시작했습니다.
Transfer learning은 대량의 텍스트로 언어모델을 한번 학습하게 됩니다. 이를 pre-trained 된 모델이라고 부르며, 사람들은 이 pre-trained된 모델을 갖고 자신이 원하는 방향으로 추가 학습을해서 문제를 해결합니다.
이를 fine-tuning 이라고 부릅니다.
이 부분은 NLP 뿐만 아니라 Image processing에도 쓰이고 다방면에서 사용되는 개념입니다.
어떤식으로 사용되는지 간단하게 Bert로 확인 해보겠습니다.
BERT에 주로 사용되는 fine-tuning
- sequence pair classification:
- 문장 2개에 대해 관계를 판단합니다.
- 문장 2개가 유사한지 논리적인지등을 판단합니다.
- ex) 축구공은 둥글다. 축구공은 굴러간다.
- 위의 예시는 논리적이고 유사합니다.
- ex) 축구공은 둥글다. 축구공은 굴러간다.
- single sentence classification:
- 문장 분류입니다.
- ex) 해당 뉴스 기사가 연애뉴스 기사인지, 스포츠뉴스 기사인지를 분류합니다.
- 문장 분류입니다.
- question answering:
- 질의 응답입니다.
- 학습 데이터에 삼성에 대한 위키 문서등을 넣어놓고 삼성의 대표는? 이라는 질문을 할 수 있습니다.
- 하지만 종종 벡터상 유사한 데이터가 나오기 때문에 틀릴 수 있습니다.
- 질의 응답입니다.
- single sentence tagging
- 개체 분석입니다.
- 대명사들을 추출한다던지 단어마다 답을 얻고 싶을때 사용됩니다.
- 개체 분석입니다.
pre-trained를 새로 해야하는 경우
- 임베딩에 사용된 언어 데이터들은 엄청 많은 양의 블로그 글, 기사, 위키문서 등을 이용해서 학습되지만 일반적이지 않은 도메인에 사용될 때에는 다시 pre-trained를 하는것이 좋습니다.
예를들어
- 금융용어가 많이쓰이는 언어 모델이 필요할 경우
- 의료용어가 많이쓰이는 언어 모델이 필요할 경우
등의 경우들이 있습니다.
- 이 외에 여러개의 언어(영어, 한국어, 중국어 등)를 사용해야하는 언어모델이 필요할 경우 vocab에 추가하여 새롭게 다시 pre-trained를 해야합니다.
반응형
'개발 > Tensorflow' 카테고리의 다른 글
Tensorflow v2.3 Object Detection API fine tuning (5) (4) | 2021.03.14 |
---|---|
Tensorflow v2.3 Object Detection API fine tuning (4) (13) | 2021.03.14 |
Tensorflow v2.3 Object Detection API fine tuning (3) (1) | 2021.03.14 |
Tensorflow v2.3 Object Detection API fine tuning (2) (1) | 2021.03.14 |
Tensorflow v2.3 Object Detection API fine tuning (1) (0) | 2021.03.14 |