구글에 "키아누 리브스는 기혼자인가요(Is Keanu Reeves married)?"라는 질문을 남기면 어떤 답을 얻을 수 있을까요? 키아누 리브스의 미혼 또는 기혼 여부를 알 수 있을 거라는 기대와는 달리, [그림 6]에서처럼 그의 어머니의 세번째, 네번째 재혼 시점에 관한 정보를 얻을 수 있습니다. 자료의 출처인 위키피디아(Wikipedia) 문서 내 일부 단어가 검색어(Reeves, married)와 일치한다는 이유로 해당 문서가 상단에 표시된 것으로 보입니다. 배열된 단어의 패턴을 학습하는 언어 모델을 고려해봤을 때, 기계는 말의 의미를 이해하는 게 아니라 글자의 형태학적 유사성만을 구분하는 정도에만 머물고 있다는 걸 보여주는 단적인 사례인 셈이죠.
이처럼 GLUE나 SuperGLUE와 같은 최신 벤치마크에서 최고 성능을 달성한 모델이 실제로 자연어를 이해했다고 보기가 어렵다는 정황은 여러 NLU 과제에서 발견되고 있습니다. 학계에서는 이를 두고 ‘영리한 한스 효과(Clever Hans moment)[18]’라 표현하고도 있죠. 과제별 사례를 중심으로 조금 더 자세히 설명해보겠습니다.
특정 지문을 읽고 질문에 대한 적절한 답을 제시해야 하는 기계 독해에서는 [그림 7]처럼 지문 내용과 전혀 관계없는 문장을 마지막에 추가하면 실제 정답과는 전혀 다른 예측값이 출력됩니다. 이는 질문의 키워드가 많이 겹치는 문장 근처에서 답을 찾는 경향성에서 비롯된 것으로 분석됩니다. 이처럼 지문의 사실관계를 제대로 파악하지 않고 일부 단어 조합 패턴만 매칭하는 방식에서는 지문 내용을 조금만 바꿔도 틀린 답을 내게 됩니다.
전제(premise)와 가설(hypothesis)로 구성된 한 쌍의 문장이 있을 때 전제가 참이면 가설도 참인지를 추론하는 자연어 추론 과제에서도 비슷한 현상이 발견됩니다. 두 문장에 등장하는 일부 어휘가 겹친다는 이유만([그림 8-1]으로 어순을 바꿔도 참이라고 예측해버리는 거죠. 이렇게 되면 BERT(base)에서의 추론 정확도는 84%에서 20%까지 떨어집니다. 기존 문장에서 목적어를 주어로 바꾸어 사실 관계를 바꾼 상황([그림 8-2], [그림 8-3])에서는 (출력값이 참인 경우는 제외하고는) 정확도가 80%에서 10% 이하로 떨어지는 사례도 종종 있었습니다. 이는 문장을 구성하는 단어 수와는 관계없이 문장 간 관계를 겨우 3개의 범주로만 분류하는 과제 특성에 기인한 것으로 보입니다.
정리하자면, 실험 데이터에 존재하는 편향(bias)이나 아티팩트(artifact)[19]와 같은 피상적인 단서를 익힌 모델에는 현실 문제를 제대로 풀지 못하는 맹점이 있을 수 있습니다. 현실의 다양한 데이터를 활용한 추가학습을 하지 않은 이상 BERT 이후의 모델의 정확도는 25% 수준에 그치고 말죠. 하지만 그렇다고 해서 지금보다 더 나은 문제 정의 방식에 대해서도 그 누구도 이렇다 할 명쾌한 해답을 제시할 수 없다는 게 현실입니다. ‘BERT는 과제를 푼 게 아니다. 벤치마크를 달성한 것이다(solves benchmarks, not TASKs)’라는 표현이 나오는 건 바로 이 때문입니다.
Argument comprehension은 어려운 문제이며 BERT가 가장 좋은 모델이라는 걸 의심하는 사람은 없다.
즉 transfer learning에서 NLP의 imagenet 역할을 하고 있는 것이다.
Probing Neural Network Comprehension of Natural Language Arguments 란 논문이 나왔는데 여기서 3가지 조사를 한다.
1) 가능한 정답들에서 unigrams와 bigrams을 카운팅한다.
single unigram인 not, is, do가 random 찬스보다 맞게 예측하는데 보증을 하는지 관찰한다.
이것은 cues가 유용하고 모델에 악용될 수 있는지를 가리킨다고 한다.
그런다음 모델이 이러한 cues을 이용하는지 체크한다고 한다.
즉 모델에 partial input을 넣어서 (입력의 일부분만) 제대로된 정답 reasoning이 가능한지를 살펴본다.
예를 들어, other search engines don't redirect to Google or all other search engines redirect to Google 라는 질문에 claim 혹은 reason이 없다면 대답 못할 것이다.
하지만 모델은 불가능성을 고려하지 않고 71% 정확도로 정답을 식별한다고 한다.
2) 유사한 실험을 두 가지 세팅에서 (claim and warrant only; reason and warrant only) 실험을하고 나서 저자들은 다음과 같은 결론을 냈다
데이터세트가 통계적 cues을 가지고 있다
이 task의 BERT의 성능은 이러한 cues을 활용하는 능력으로 설명될 수 있다.
3) 세 번째 실험에서는 데이터세트가 cues을 더 이상 가지지 않는 버전이라고 한다.
이 때는 성능이 random 수준으로 떨어지는 것을 확인했다.
Without getting into a Chinese Room argument about what it means to understand something, most people would probably agree that a model making predictions based on the presence or absence of a handful of words like "not", "is", or "do" does not understand anything about argumentation.
The authors declare that their SOTA result is meaningless.
즉 쉽게 다룰 수 있는 단어들의 (not, is, or, do) 존재로 모델이 예측을 한다는 것이다.
문맥상 이해해보자면
cues가 데이터세트에 없으면 성능이 거의 안나오고 cues가 있어야 성능이 나온다.
근데 이러한 cues들이 not, is, do 라는 것인가보다.
따라서 저자들은 SOTA 결과들이 의미없다고 한다.
BERT 이전에도 잘못된 것을 배워서 문제를 해결하는 문제는 오래동안 알려져 있고 이것을 Clever Hans effect라고 한다.
Clever Hans effect 설명은 1,2 번 참고
Computer vision의 발자취를 NLP에서 따르고 있다면 실패를 반복하고 있을 것이라고 한다.
BERT와 같은 큰 모델들이 쓸모없다고 생각하는 사람은 없으나, 관련 연구에서는 NLU 태스크에서 사람과 같은 high-level 수준을 보여주는 것에 대해 회의적이다.
저자는 "probing experiments"라는 2번째 분석을 하였다.
첫 번째 분석은 위의 실험을 말한 거인 듯
probing은 일반적으로 가변운 분류기 학습을 통하여 representation이 포함할 정보를 결정짓는 것이다.
유사하게 저자들은 세 번째 분석을 "adversarial dataset"을 제작하여 하였다.
adversarial을 모델이 잘못된 결정을 내리도록 하는 것을 의미하나 이러한 단어들은 논문의 주요 발견점을 감소시키지는 않는다
3.1 What does the Clever Hans effect mean for NLP?
영리한 한스 효과에 대한 사례를 발견하는 NLP관련 논문이 증가하면서 중요한 문제가 되었다.
When patterns in the dataset are aligned with the goal of the task at hand, a strong learner being able to recognize, remember, and generalize these patterns is desirable.
그러나 그 패턴이 실제로 관심이 있는 것이 아니라면, 태스크에 대한 이해가 없이 모델의 성능 향상을 위한 바로가기가 된다.
한스 효과를 방지하려면, 가짜(spurious) 패턴 없는 데이터들에 초점을 맞춰야하고 모델이 증명이 될 때까지 유용한 것을 배우지 않았다는 가정을 해야한다.
이 글쓴이는 데이터세트에 초점을 맞춘 후 모델 향상을 그 다음으로 한다.
3.2 Datasets need more love
모델을 고안하고 성능을 향상시키면 여기서오는 즉각적인 만족감이 있다.
또한 데이터세트에 대해 SoTA는 논문 억셉과 인용이 보장된다.
데이터세트를 만드는 것에 대해서는 훨씬 더 지연되고 만족감도 적다.
실제로 ACL 컨퍼런스의 리뷰어들은 새로운 SoTA에 대해서는 accpet처럼 보여지고 새로운 데이터세트를 소개하는 논문은 reject과 맞써 싸워야한다.
People who create datasets are not doing real science, and while they're free to have their own little conference in exotic locations, they obviously are not smart enough to import tensorflow as tf, so they shouldn't pollute top tier conferences with their boring resource papers.
거의 이 말은 데이터만드는 사람들은 과학을 하고 있지 않고 똑똑하지 않을 수 있으니 top-tier 학회를 더럽힐 수 있다는 말
그렇다고 해서 모든 resource 논문이 억셉률이 낮은 top-tier에 게시될 수 있는 것은 아니다.
하지만 너무 많은 모델과 많은 데이터 중에서 선택을 해야할 때, 더 많은 데이터세트가 견고하고 지속적인 긍정적인 결과를 줄 것이다.
더 나은 acceptance의 전망은 더 많은 연구자들이 데이터세트를 만들도록 장려할 것이다.
결과적으로 task에 해당하는 하나의 표준 데이터세트를 극복하고 다양한 데이터세트를 가지게 만들 것이다.
마지막으로 이러한 모델을 평가할 강력한 evaluation이 필요하다.
3.3 Dataset ablations and public betas
모델에서 일부분을 제거하고 성능을 측정했는데 성능이 만약 떨어지지 않는다면 그 부분은 쓸모가 없는 부분이고 지워도 된다.
이 방법을 데이터세트에서 적용해보면, 다음과 같은 데이터세트를 없앨 수 있다.
Provide only incomplete input (as done in the reviewed paper): This verifies that the complete input is required. If not, the dataset contains cues that allow taking shortcuts.
입력의 일부분만 제공해보면 입력이 전체를 필요하는 지 알 수 있다.
만약 전체를 필요로 하지 않는다면, 데이터세트는 shortcuts을 가지고 있는 cues이다. (즉 데이터세트 전체가 cues을 포함한다기 보다 일부분이 지름길로 포함한다는 느낌)
Shuffle the input: This verifies the importance of word (or sentence) order. If a bag-of-words/sentences gives similar results, even though the task requires sequential reasoning, then the model has not learned sequential reasoning and the dataset contains cues that allow the model to "solve" the task without it.
순서를 바꿔도 모델이 성능이 어느정도 나와야 모델이 순차적인 reasoning을 한 것이 아니라 데이터 속의 cuesd을 가지고 문제를 해결했다는 의미
Assign random labels: How much does performance drop if ten percent of instances are relabeled randomly? How much with all random labels? If scores don't change much, the model probably didn't learning anything interesting about the task.
여기서 랜덤 레이블을 할당했는데도 성능이 많이 떨어지지 않는다면 모델이 흥미로운 학습을 못했다는 것이다.
즉 10%정도 이상한 레이블에 대해서도 잘맞춘다는 것은 remember 식으로 학습을 했다는 의미인가보다.
Randomly replace content words: How much does performance drop if all noun phrases and/or verb phrases are replaced with random noun phrases and verbs? If not much, the dataset may provide unintended non-content cues, such as sentence length or distribution of function words.
데이터세트의 명사구, 동사구들을 다른 랜덤구로 바꿨을 때 성능을 확인
만약 성능이 많이 떨어지지 않는다면, 이 데이터세트는 의도하지 않은 non-content cues을 가지고 있을 것이다. (문장 길이, function words의 분포 등)
위와 같은 과정을 통해 데이터세트는 개선되고 검증될 수 있다.
Model creators using a dataset in public beta would also have to perform dataset ablations until we can be reasonably sure that the dataset contains no simple cues or shortcuts.
3.4 Inter-prediction agreement
위의 예시에 대해 지적을 하는데 이것에 대한 것은 카카오브레인에서 잘 설명해두었다.
즉 모델자체를 더욱 robust하게 만들어야 한다.
즉 high score만을 내는 모델을 만들기보다 test a model's robustness을 해야한다.
댓글
댓글 쓰기