2020년 3월 6일(금) 구글 AI 리서치 블로그
사람들은 새로운 단어의 의미를 배우고 다른 언어 상황에 적용할 수 있습니다. Lake and Baroni가 말했듯이 “사람은 새로운 동사인 ‘dax’의 의미를 알게 되면, ‘dax twice’과 ‘sing and dax’의 의미를 즉시 이해할 수 있습니다. " 이와 유사하게, 새로운 객체 형태를 학습한 다음 이전에 배운 색상 또는 재료의 다른 컴포지션(예: CLEVR 데이터셋)으로 이를 인식할 수 있습니다. 사람들은 알려진 컴포지션의 잠재적으로 무한한 수의 참신한 조합을 이해하고 생산할 수 있는 능력을 보여 주거나 촘스키(Chomsky)가 말한 것처럼 “유한 의미들의 무한 사용(infinite use of finite means)”을 하기 때문입니다. 일련의 훈련 예제를 통한 머신러닝 모델 학습의 맥락에서 이 기술을 컴포지션 일반화(compositional Generation)라고 합니다.
머신러닝(ML) 시스템에서 컴포지션 일반화를 측정하는 일반적인 방법은 컴포지션 구조와 직관적으로 상관되는 속성을 기반으로 훈련 및 테스트 데이터를 분할하는 것입니다. 예를 들어, 한 가지 방법은 시퀀스 길이를 기준으로 데이터를 분할하는 것입니다. 훈련 셋은 간단한 예제로 구성되고 테스트 셋은 더 긴 예제로 구성됩니다.
또 다른 접근법은 시퀀스 패턴을 사용하는데, 이는 분할이 동일한 패턴을 공유하는 예제 클러스터를 학습 또는 테스트 세트에 무작위로 할당하는 것을 기반으로 함을 의미합니다. 예를 들어, "Whodirect Movie1" 및 "Whodirect Movie2"라는 질문은 모두 "Whodirect <MOVIE>"패턴에 속하므로 그룹화됩니다.
세 번째로 또 다른 방법은 기초적인 프리미티브를 사용합니다. 일부 언어 프리미티브는 훈련 중에 거의 표시되지 않지만(예: 동사 "jump") 테스트에서 매우 두드러집니다. 이들 실험 각각이 유용하지만, 어느 실험이 컴포지션에 대한 "better" 척도인지는 명확하지 않습니다만 "optimal" 구성 일반화 실험을 체계적으로 설계할 수 있습니까?
“컴포지션 일반화 측정: 실제 데이터에 대한 종합적인 방법(Measuring Compositional Generalization: A Comprehensive Method on Realistic Data)” 논문에서는 실제 자연 언어 이해 작업, 특히 의미 구문 분석 및 질문 응답을 사용하여 컴포지션 일반화에 대한 가장 크고 가장 포괄적인 벤치마크를 소개하여 이 질문을 해결하려고 합니다. 이 연구에서, 우리는 train-test 분할이 ML 시스템의 컴포지션 일반화를 측정하는 양을 정량적으로 평가할 수 있는 메트릭(compound divergence)을 제안합니다. ML 아키텍처를 시퀀싱 하는 3개의 시퀀스의 컴포지션 일반화 기능을 분석하여 컴포지션을 일반화하지 못하는 것들을 발견했습니다. 우리는 또한 이 결과를 개선하고자 하는 연구자들을 위한 자료로 연구에 사용된 Compositional Freebase Questions 데이터셋을 공개하고 있습니다.
컴포지션 측정하기
시스템의 컴포지션 일반화 능력을 측정하기 위해, 우리는 예제 생성 방법의 기본 원리를 이해하고 있다는 가정을 하고 시작합니다. 예를 들어, 질문과 답변을 생성할 때 준수해야 하는 문법 규칙으로 시작합니다. 그런 다음 Atoms와 Compounds을 구별합니다. Atoms는 예제를 생성하는 데 사용되는 빌딩 블록이며, Compounds는 이러한 atom의 결합체(concrete, 잠재적으로 부분적인) 구성입니다. 예를 들어, 아래 그림에서 모든 상자들은 atom 형태(예: Shane Steel, brother, <entity>'s <entity>, produce)이며, produce <verb>, Shane Steel's brother와 같은 것들은 Compound 형태들로 형성합니다. 전체 문장으로 나타내면 다음과 같습니다. Did Shane Steel’s brother produce and direct Revenge of the Spy?
그러고 나서 이상적인 컴포지션 실험은 하나의 유사한 아톰 분포를 가져야 합니다. 즉, 훈련 셋의 단어 및 sub-phrases 분포는 테스트셋에서의 분포와 유사하지만 다른 컴파운드 분포를 갖습니다. 예를 들어, 영화 도메인에 대한 질문 응답 작업에 대한 컴포지션 일반화를 측정하기 위해 훈련 및 테스트에 다음과 같은 질문이 있을 수 있습니다.
"directed", "Inception" 및 "who <predicate> <entity>"와 같은 아톰이 훈련과 테스트 셋 모두에 나타나는 반면 컴파운드는 다릅니다.
Compositional Freebase Questions 데이터셋
정확한 컴포지션을 수행하기 위해 공개적인 Freebase knowledge base에서 생성된 단순하면서도 현실적인 자연 언어 질문 및 답변의 데이터셋인 CFQ(Compositional Freebase Questions) 데이터셋을 만들었습니다. CFQ는 시맨틱 구문 분석(semantic parsing) 뿐만 아니라 텍스트 입력/텍스트 출력 작업에도 사용할 수 있습니다. 우리의 실험에서 우리는 입력이 자연어 질문이고 출력이 쿼리이며, Freebase에 대해 실행될 때 올바른 결과를 생성하는 의미 구문 분석에 중점을 둡니다. CFQ에는 약 240k 개의 예제와 거의 35k 개의 쿼리 패턴이 포함되어 있어 유사한 웹 셋보다 훨씬 더 크고 복잡합니다. 이는 복잡한 웹 질문들(Complex Web Questions)보다 17배 더 많은 쿼리 패턴으로 WikiSQL 보다 약 4배 더 큽니다. 질문과 답변이 자연스러워지도록 특별한 주의를 기울였습니다. 또한 우리는 파싱 트리(parse tree)의 깊이에 대략적으로 해당하는 "complexity level" 메트릭(L)을 사용하여 각 예제에서 구문의 복잡성을 정량화합니다. 그 예는 아래에 나와 있습니다.
CFQ에서 컴포지션 일반화 실험
주어진 train-test 분할에 대해, train 및 test 셋의 컴포넌트 분포가 매우 유사한 경우, 그들의 compound divergence은 0에 가까우며 컴포지션 일반화에 대한 어려운 테스트들이 아님을 나타냅니다. compound divergence가 1에 가까워짐에 따라 train-test 셋에 다양한 컴파운드가 포함되어 있어 컴포지션 일반화에 적합합니다. 따라서, compound divergence은 원하는 대로 "다른 컴파운드 분포(different compound distribution)"의 개념을 점유합니다.
우리는 0에서 0.7(최대 달성할 수 있는)까지의 compound divergence을 갖는 CFQ 데이터셋을 사용하여 train-test 분할을 생성합니다. 우리는 compound divergence을 매우 작게 고정합니다. 그런 다음 각 분할에 대해 LSTM+attention, Transformer 및 Universal Transformers의 세 가지 표준 ML 아키텍처의 성능을 측정합니다. 결과는 아래 그래프에 표시되어 있습니다.
우리는 정답을 모델이 제공한 출력 문자열과 비교하여 모델의 성능을 측정합니다. 모든 모델은 compound divergence이 매우 낮은 경우 95% 이상의 정확도를 달성합니다. 복합 발산이 가장 높은 스플릿의 평균 정확성(accuracy)은 모든 아키텍처에서 20% 미만입니다. 즉, train와 test 간에 아톰 분포가 비슷한 대규모 훈련 셋 조차 아키텍처가 일반화하기에 충분하지 않습니다. 모든 아키텍처에서 compound divergence과 정확성 사이에는 strong negative correlation이 있습니다. 이는 compound divergence가 이러한 ML 아키텍처가 컴포지션 일반화하기 위한 핵심 난이도를 성공적으로 차지한 것을 나타냅니다.
미래의 작업에 대한 잠정적인 지시들은 입력 언어 또는 출력 쿼리에 대해 비지도 사전 훈련(unsupervised pre-training)을 적용하거나 syntatic attention와 같은 보다 다양하고 보다 목표가 지정된 학습 아키텍처를 사용하는 것입니다. 이 접근법을 시각적 추론과 같은 다른 영역에 적용하는 것도 흥미로울 것입니다. CLEVR을 기반으로 하거나 모호한 구문, 부정, 수량화, 비교, 추가 언어 및 기타 수직 영역의 사용을 포함하여 광범위한 언어 이해에 대한 접근 방식을 확장합니다. 우리는 이 작업이 다른 사람들이 이 벤치 마크를 사용하여 학습 시스템의 컴포지션 일반화 기능을 향상할 수 있기를 바랍니다.
원본 제목: 컴포지션 일반화 측정하기(Measuring Compositional Generalization)
게시자 : Marc van Zee, Google Research 소프트웨어 엔지니어
원본 링크: https://ai.googleblog.com/2020/03/measuring-compositional-generalization.html
Compositional Freebase Questions 데이터셋 오픈소스: https://github.com/google-research/google-research/tree/master/cfq
WiKiSQL 오픈소스: https://github.com/salesforce/WikiSQL
Generalization without systematicity: On the compositional skills of sequence-to-sequence recurrent networks 논문: https://arxiv.org/abs/1711.00350
CLEVR: A Diagnostic Dataset for Compositional Language and Elementary Visual Reasoning 논문: https://arxiv.org/abs/1612.06890
Improving Text-To-SQL Evaluation Methodology 논문: https://www.aclweb.org/anthology/P18-1033/
Rearranging the Familiar: Testing Compositional Generalization in Recurrent Networks 논문: https://arxiv.org/abs/1807.07545
Measuring Compositional Generalization: A Comprehensive Method on Realistic Data논문: https://openreview.net/forum?id=SygcCnNKwr
Neural Machine Translation by Jointly Learning to Align and Translate 논문: https://arxiv.org/abs/1409.0473
Universal Transformers 논문: https://arxiv.org/abs/1807.03819
Compositional generalization in a deep seq2seq model by separating syntax and semantics 논문: https://arxiv.org/abs/1904.09708
Attention Is All You Need 논문: https://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf
Long Short-Term Memory, LSTM 논문: https://www.bioinf.jku.at/publications/older/2604.pdf
이 블로그는 2020년 3월 6일 (금), Google AI Research Blog 기사를 영한 번역한 것입니다. 또한 이 번역 글은 정보 공유 목적으로만 작성했으므로 어떠한 상업용으로 사용할 수 없으며, 원본 저작물 모두 구글에게 저작권이 있음을 알려 드립니다. (First Draft Version)