728x90

컴퓨터 비전에서 대규모 pre-training 탐색의 필요성

 오늘 공부할 내용은 컴퓨터 비전을 위한 대규모 pre-training 탐색 기법(Open-Sourcing BiT: Exploring Large-Scale Pre-training for Computer Vision)에 대한 내용입니다. Label 하는 것에 노동력이 많이 들어 Computer Vision(CV)에서도 ImageNet 같은 대용량의 데이터로 미리 pre-training 한 다음 specific 한 task에 학습된 feature들을 사용하는 것이 도움이 될 수 있습니다. 하지만, CV에서 specific 한 새로운 task에 적용하는 것은 성능을 떨어트릴 수 있습니다. 이를 위해 적절한 normalization layer를 선택하고 학습 데이터의 양에 따라 구조적인 수용력이 늘어나는 기법이 필요합니다.

Pre-training 방법

 Pre-training을 위해 ILSVRC-2012< ImageNet-21k < JFT 데이터 셋 사용하였습니다. 그리고 더 pre-training이 잘 되기 위한 방안 탐색했습니다.

①데이터 셋들을 단순한 ResNet을 사용해서 학습했는데, 결과적으로 데이터양이 많아질수록 학습 모델(ResNet)의 수용력이 커져야 (정확도) 성능이  잘 나옴을 발견했습니다.
② 같은 계산 비용과 학습 시간에는 데이터 셋이 클수록 정확도가 안 좋지만, 계산 비용을 높이고 학습 시간을 길게 주면 데이터 셋이 크더라도 점점 정확도가 높아짐을 알 수 있습니다.

③ batch normalization(BN, activitaion들을 normalization 해서 학습을 안정화하는 layer)을 group normalization(GN)으로 바꾸면 성능이 좋아집니다. ⓐ BN의 state는 pre-training 단계와 transfer 단계 사이에서 조절해야 하지만 GN는 stateless, ⓑ BN은 배치 레벨 상의 통계를 이용하나, 이는 대형 모델에서 소형 디바이스 크기의 배치 크기에서는 신뢰할 수 없게 됩니다. GN는 이를 이용하지 않아 괜찮고, weight standaedization(WS)까지 이용하면 더욱 성능에 좋아지는 것을 확인할 수 있습니다. 결론적으로 GN+ WS를 사용하면 큰 데이터 셋에서도 보다 잘 학습이 됩니다.

 

Transfer learning 방법

 아주 적은 양의 데이터 셋을 적용하여 BERT 방법을 써보았습니다. 사진의 하이레벨 특성을 가지고 하이퍼 파라미터를 선택할 수 있도록 "BiT-HyperRule"을 적용합니다. 많은 양의 데이터 셋을 가지고 수용력이 큰 모델을 가지고 pre-training을 하면 fine-tuning 시에도 더 좋은 성능이 나옴을 알 수 있습니다. 따라서 JFT 데이터 셋을 가지고 R152x4 모델을 러닝 했을 때 가장 성능이 좋습니다. 실제 환경에서 생성된 적은 양의 데이터 셋에도 잘 작동됨을 알 수 있습니다.

연구에 대한 의견

 Novelty는 Pre-training 시에 GN+WS를 도입하여 stateless 화하고, transfer learning 시에 "BiT-HyperRule"을 적용하여 대규모 학습 시에도 잘 작동하며 여러 도메인에 적용할 수 있도록 하였습니다. 결국은 데이터양이 많고 모델의 크기가 클수록 작동을 잘 한다는 것인데, 데이터의 양이 클수록 잘 되는 것은 당연해 보였는데 학습 시간이 길 필요성이 있다는 점이 흥미로웠습니다. 모델의 수용력이 클수록 정말 잘 되는 것인지, 아니면 어느 지점에서는 성능이 수렴이 되는 것인지 궁금해졌습니다. BERT가 NLP에서 굉장히 연구가 많이 되고 있는데 CV에서도 발전하고 있는 것을 보니(BigTransfer (BiT): State-of-the-art transfer learning for computer vision), 다른 분야에서는 어느 정도로 발전이 되고 있는지 한 번 찾아봐야겠다는 생각이 들었습니다. 참고로, tensorflow에 튜토리얼이 엄청 친절하게 되어 있어서 연습해 보는 데 좋은 것 같습니다.

 

728x90
728x90

PEGASUS 설명

 오늘은 추상적인 텍스트 요약 모델(PEGASUS: A State-of-the-Art Model for Abstractive Text Summarization)에 대한 내용입니다. ICML 2020 논문이랍니다. 텍스트 요약 생성을 위해 RNN, Transformer encoder-decoder 등이 많이 쓰입니다. 특히, 요즘에는 semi-supervised를 동반하는 transformer 모델들이 잘 쓰임입니다. 대표적인 예시가 BERT입니다. 만약 self-supervised 목표 자체가 최종 태스크를 더 잘 반영한다면 더 성능이 좋은 모델이 될 것으로 예상됩니다.

 pre-training 시에 문서에서 어떤 문장들을 지우고, transformer의 결과를 지워진 문장들이 합쳐서 나오는 형식으로 학습합니다. 이는 실제로 현실에서 있을 수 있는 실제적인 (혹은 노이지 한) 현상들을 반영할 수도 있고, 최종 태스크인 fine-tuning 요약의 아웃풋과 유사하게 만들기 위해 문서에서 필요한 정보를 추출하는 방법으로 쓰일 수도 있습니다. 이때 문서에서 "중요한" 문장을 잘 지우는 게(mask) 중요한데, 이때 n-gram을 기반으로 하는 ROUGE 유사성 척도를 이용합니다. 디테일하게는 T5 모델을 이용하여 웹 크롤링 된 문서들로 pre-training을 하고 12개의 specific 한 태스크 기반의 데이터 셋들을 이용하여 텍스트 요약을 진행하게 됩니다. 결론적으로는 좋은 성능을 얻을 수 있게 되었습니다.

 

실험 결과 

 state-of-art 만큼의 성능을 내기 위해서 fine-tuning 용 데이터가 생각보다 많이 필요 없습니다. 1000개 이상이면 어느 정도 supervised에 수렴하고, sample이 많지 않아도 돼서 annotation 부담이 줄어드게 됩니다. ROUGE는 기계적인 평가이기 때문에 실제 유창성 등을 평가하기 위해 사람 기반의 평가도 동반하였고, 적은 데이터(1000개)로 만들어진 요약도 충분히 사람들에게 받아들여짐이 나타났습니다. 실제 요약 사례에서, 정확히 배의 종류 개수에 대해 스스로 세어서 요약됨을 알 수 있습니다. 하지만 이 종류가 어느 정도 이상이 되면 잘못 세어지는 현상이 생깁니다. 어쨌든 모델 스스로 알아낸다는 점에서는 흥미롭습니다.

 

연구에 대한 의견

 Pre-traning 시에 이미 final 태스크에 대해 어느 정도 포커싱을 하고 학습 모델을 만들면 결국 fine-tuning에서 더 좋은 결과가 나올 수 있습니다. 점점 Dataset이 적어도 충분히 그 도메인에 적용될 수 있는 방안들이 고안되고 있는 것 같습니다. 이에 따라 ML을 사용할 수 있는 도메인도 점점 늘어날 듯합니다. 이제 데이터가 없어서 할 수 없어요라는 말은 점점 사라지고 다른 데이터 간을 어떠한 연관관계를 가지는지 알아내는 게 더 중요해지는 것 같습니다.

 어제 공부한 것과 연관시켜 생각해 볼 때, 다른 나라의 문서라도 바로 내가 원하는 나라의 문서로 요약되는 효율적인 모델을 만들 수 있지 않을까 합니다. 물론 요약 모델에서 번역 모델 이렇게 하면 당연히 지금도 되겠지만 2단계로 진행해야 하니, 그냥 바로 번역된 문장으로 요약되는 하나의 모델로 할 수 있는 방안은 고안해야 할 것으로 보입니다. 이러면 블롬버그 같은 데서 나오는 기사를 바로 이해할 수 있을 지도 모르겠습니다. 확실히 BERT 이후, NLP 쪽은 이런 방향으로 많이 연구가 되고 있다는 생각이 들고, NLP도 결과가 시각적으로 볼 수 있어서 재미있는 부분이 많아진 것 같습니다.

 

 

 

 

 

728x90

'NLP' 카테고리의 다른 글

T5 , 텍스트-텍스트 전이 트래스포머  (0) 2022.06.05

+ Recent posts