오늘 소개해 드릴 논문은 ‘ANALYSING MATHEMATICAL REASONING ABILITIES OF NEURAL MODELS’입니다.
콥스랩(COBS LAB)에서는 주요 논문 및 최신 논문을 지속적으로 소개해드리고 있습니다.
해당 내용은 유튜브 ‘딥러닝 논문읽기 모임' 중 ‘ANALYSING MATHEMATICAL REASONING ABILITIES OF NEURAL MODELS’ 영상 스크립트를 편집한 내용으로, 영상으로도 확인하실 수 있습니다. (영상링크: https://youtu.be/jE1gJQH5OJI)
오늘 리뷰할 논문은 ANALYSING MATHEMATICAL REASONING ABILITIES OF NEURAL MODELS, 즉 신경망 모델의 수학적 추론 능력 분석입니다. 본 논문은 딥마인드에서 2019년 ICLR 컨퍼런스에 게재된 논문입니다.
먼저 MATHEMATICAL REASONING, 즉 수학적 추론이란 것은 인간 지성의 핵심 능력으로, 이미 알고 있는 혹은 확인된 정보에서 논리적인 결론을 도출하는 과정을 말합니다. 일반적으로 사람은 경험과 증명을 통해 일일이 수학 문제를 해결하는 것이 아니고 추론, 학습, 공식과 각종 연산 법칙을 적용하여 문제를 해결할 수 있습니다.
딥러닝은 이미 패턴 매칭, 기계 번역, 강화 학습에서 유의미한 성과를 이루고 있지만, 아직까지는 수학 문제 풀이 영역에서는 인간 사고의 유연성과 견고성을 따라가지 못하고 있습니다. 예를 들어, 위 그림의 문제를 풀기 위해서는 적힌 문자와 기호를 특정한 의미가 있는 개체(entity)로 해석하고, 함수를 어느 순서대로 놓을지 생각한 다음에 함수 별로 덧셈, 곱셈 등 연산을 하고, 중간 값을 필기 또는 기억을 통해 잠시 저장을 하며 또한 이미 알고 있는 다양한 규칙, 변환, 공식 등을 활용해야 합니다.
하지만 머신 러닝 모델은 사람이 순차적으로 진행하는 과정을 똑같이 모사하진 못합니다. 즉 지문을 이용하여 수학적으로 일반화하는 능력은 아직 사람에 뒤지는 것으로 볼 수 있습니다. 특히, 불연속적인 연산을 해야 되는 이산 수학 추론에서는 아직까지 인간의 지성이 신경망 모델에 비해 훨씬 뛰어납니다.
여기서 수학이 인공 지능 연구를 위한 도메인으로서 좋은 특질이 있습니다. 즉, 각 기호는 어느 문제에서도 동일한 의미로 사용할 수 있고, 하나의 문제를 풀 때, 사용한 공식이나 방정식 등 을 다른 문제 풀이에도 적용할 수 있습니다. 또한, 풀이를 할 때도 적용을 할 수 있습니다.
정리하면, 위 그림에서도 나타난 것처럼, 특정한 수학 문제의 데이터 세트로 학습된 모델은 점진적인 추론을 통해 전혀 다른 종류의 수학 시험에서도 어느 정도 성능을 기대할 수 있다는 뜻이 됩니다. 이는 중요한 시사점인데, 알고리즘이나 시스템적으로 추론이 가능한 모델의 여부를 알고 싶다면, 특정 수학 데이터 세트 학습을 통해 훈련을 한 후 새로운 종류의 수학 문제도 풀 수 있는지 확인하면 됩니다. 이 방법론이 가능함을 입증할 수 있다면 머신 러닝의 추론 분야 연구의 진척이 이루어 짐을 확인할 수 있을 것입니다.
이 관점에서, 본 논문의 기여는 크게 두 가지로 정리할 수 있습니다.
첫째로 저자들은 다양한 수학 문답 데이터 세트를 개발하였는데, 이 세트는 예제 생성 코드와 미리 만들어진 시험 문제 세트로 구성되어 있습니다. 이 시험 문제 세트는 두 가지로 구성되어 있는데, 모델의 학습용으로만 구성된 내삽(interpolation) 테스트와, 예제에서는 언급되지 않은 질문이 포함된 외삽(extrapolation) 테스트로 구성되어 있습니다. 시험할 모델이 사람처럼 일반화 추론 능력을 얼마나 가지고 있는지 확인하려는 용도로 기존에 학습을 하지 않은 외삽 테스트를 사용을 하게 됩니다.
이 논문이 기여한 두 번째로, 2019년 발표 기준으로 대표적인 SOTA 신경망 모델에 본 데이터 세트를 학습하고, 전체적인 일반화 성능을 확인한 것입니다.
관련 연구를 살펴보겠습니다. 수학적 추론의 특성을 신경망에 접목해 보려는 연구는 오래전부터 시작된 내용은 아니고, 2015년에는 덧셈, 곱셈 계산을 위한 convolution 아키텍처가 제안되었고, 2016년에는 다항식과 논리식 파악을 위한 트리 구조 제안된 바가 있습니다. 다만 이 내용들은 특정 수식 해결에만 집중하여 일반적인 추론 연산에 대한 고려는 반영되지 않았습니다. 시퀀스 분석을 위해서 2014년에는 Lstm을 이용하여 덧셈과 루프 연산이 가능한 파이썬 수식을 출력하는 연구를 진행한 적이 있었고, 그 외 알고리즘의 추론 능력 파악을 위한 데이터 세트 등도 2015년에 발표된 적이 있습니다. 이 때는 특이하게 이미지와 문제 쌍을 제시하여 이미지 분석과 추론을 병행해 보려는 시도도 진행된 적이 있습니다.
그리고, 본 논문과 마찬가지로 대수 문제 질의를 푸는 시도도 있었는데, 2014년에 백에서 십만 단위의 문제를 만들어서 도형 문제도 포함한 데이터 세트가 소개한 적이 있는데 결과적으로 딥러닝으로 유의미한 성과를 내기에는 학습 양이 충분하지 않았던 것으로 나와 있습니다.
반면 본 논문의 데이터 세트는 질의 이해보다는 수학적 추론에 집중하도록 디자인하였고 문제 종류는 적어지더라도 더 다양한 분야 문제가 출제되도록 구성되었습니다.
데이터 세트를 보겠습니다. 수학 문제를 구하는 방법으로는 크라우드 소싱 또는 인위적으로 문제를 출제하는 방법이 있습니다. 크라우드 소싱은 문제의 다양한 형태와 문제 종류를 반영할 수 있지만 이 데이터를 모으거나 검증하기는 어렵다는 단점이 있습니다. 반면에 체계적으로 문제를 직접 출제할 경우 generator 등을 활용해 손쉽게 다량의 예제를 만들 수 있고 난이도 조절이 용이하며, 문제 종류별로 모델의 추론 성능 분석과 질문이 제대로 구성된 것인지 등 분야별로 모듈을 만들어서 모델이 각 모듈별로 충분히 학습이 가능한지 조절을 할 수 있습니다. 그래서 효과적으로 모델의 성능 분석을 진행할 수 있는 장점이 있습니다.
본 데이터 세트는 문제를 인공적으로 제작을 했고, 구문 파싱이 가능하게 모든 질문은 문자열 시퀀스로만 구성이 되어 있습니다. 그래서 그래프나 트리 구문보다는 아무래도 시퀀스 자체가 오브젝트 구성이 간단하고 데이터 세트와 모델 적용에도 유리합니다. 그래서 저자들은 이런 자유형 문답 구조가 실제 학생들이 푸는 수학 문제하고 더 유사한 구조라고 생각한 것 같습니다.
모든 질문은 입력과 출력을 매핑하는 형태로 구성되어 있고 이상적으로 입력과 출력 값의 관계를 학습하는 과정에서, 모델은 자연스럽게 특정한 relation이 있으면 추론하게 되고, relation을 다시 다른 문제를 푸는데 적용할 수 있을 것입니다. 특히 함수처럼 합성 연산을 하기 위해서는 중간 결과를 저장하고 재조 작하는 과정이 필수로 들어가다 보니, 단순 추론(찍기) 만으로 맞는 값을 도출하기가 어렵습니다.
데이터 세트의 난이도는 영국 중학교 수학 교과 수준으로 기획되었습니다. 이 과정에서 문제는 텍스트 질의로만 한정되어서 도형 문제는 포함이 되어 있지 않습니다. 그리고 이제 중학교 고등학교 과정에 대한 주제는 데이터 세트에 포함이 되지 않았습니다.
문제를 만들 때 가장 큰 챌린지가 데이터 세트가 다양한 문제를 만들 때 너무 답이 뻔하거나 너무 어려운 문제가 나오지 않도록 난이도를 조절하는 것이었다고 합니다. 가령 답이 0 또는 무한히 큰 수가 나오는 경우 정확한 계산을 통해서 나온 것인지 아니면 중간에서 무슨 오류가 들어가 있었던 것인지, 정확히 모델이 추론을 진행했는지 확인이 어렵습니다. 그래서 답을 먼저 만들어 놓고, 역으로 이 답이 나오는 문제가 출제되도록 모델 생성기를 데이터 세트에 포함했습니다. 수학 분야별 모듈당 예제는 2백만 개, 내삽용 테스트는 10만 개 문제로 구성됩니다. 문제가 예제와 시험 문제가 구분 가능하도록, 각 모듈 생성기가 변숫값으로 3에서 10 사이의 정수인 알파 값을 포함하게 되고, 각 알파가 들어갈 확률이 최대 10^-알파 가 되도록 구성하였습니다.
가령 세트의 경우 예제에 포함되었던 문제가 실제 시험 문제에 다시 나타날 확률은 알파 값을 8로 적용해서 10^-8 x 2 x 10^6 = 2%입니다. 외삽 문제는 예제에 언급된 문제에서 숫자를 더 키우거나. 범위를 늘리거나 함수 합성 범위를 늘리는 식으로 예제보다 범위를 늘렸습니다. 각 문제는 모두 주관식으로 구성되어 있습니다. 평가할 때 답은 1, 오답은 0으로 반영하여, 전체적인 평균값으로 계산하게 됩니다.
데이터 세트 실험용으로 쓰이는 신경망으로는, 일반적 용도로 두루 적용할 수 있고 특정 domain-specific 하게 인코딩하지 않아도 입력값을 시퀀셜 파싱 할 수 있는 신경망 모델을 선별하였습니다. 본 논문 작성 당시 SOTA인 RNN 계열을 골랐는데 하나는 너무 유명한 Transformer입니다. 그리고 기존 RNN 모델인 LSTM과 개선 버전인 RMC 모델입니다. relational recurrent neural network (Santoro et al., 2018)으로 알려진 RMC 모델은 LSTM에서 학습할 때 추가로 외부 메모리를 활용하는 recurrent 모델이라서 학습에는 더 적합할 것으로 판단했는데, 실제로는 뒤에서 확인하실 수 있지만, 퍼포먼스가 저조합니다.
앞서 설명한 모델들의 실험 결과입니다. 각 모델이 테스트 세트의 문제를 맞히면 1점, 틀리면 0점으로 평균 점수가 1점에 가까울수록 모델의 추론 성능이 우수한 것으로 이해하시면 됩니다. RMC는 이론적으로 LSTM 보다 우수한 결과가 나올 것으로 기대했으나 그리 좋지 못했습니다. 더군다나 RMC는 LSTM 계열보다 학습에 필요한 파라미터 숫자가 더 많은 관계로 학습에도 시간이 더 많이 걸렸습니다. Attentional LSTM이나 그냥 LSTM 계열은 성능 개선폭이 미미하였는데, 반면 Transformer는 다른 recurrent 모델보다 월등히 성능이 우수했습니다. 이 결과에 대해 추측해보면, 동일한 파라미터를 가지고 더 많은 계산이 가능하고 네트워크 깊이가 상대적으로 얕다 보니 Gradient 소실이 적고, 추가적으로 계산 상 내부 메모리가 순차적으로 사용되니 수학적인 연산에 더 적합한 것 같습니다.
가장 정답률이 높은, 즉 각 모델이 가장 쉽게 풀은 문제 유형은 숫자 배치하기, 정수 올림 등인데, 이것은 모든 모델이 거의 만점을 받았습니다. 그리고 수의 크기 비교 문제도 손쉬운 편이었습니다. 오름차/내림차 정렬도 마찬가지로 학습이 쉬웠습니다. 재미있게도 수 이론에 관련된 문제는 사람에게도 어려운 것처럼 마찬가지고 각 모델들에게도 만만치 않았던 것 같습니다. 가령 어떤 숫자가 소수인지 합성수인지 판단한다던가, 아니면 큰 수를 소인수분해를 하는 것은 이런 모델도 제 성능을 발휘하지 못했습니다. 특히 Transformer는 사칙연산 자체는 완벽히 수행하였지만, 괄호 안에 사칙 연산이 섞인 경우에는 정답률이 절반으로 떨어졌고, 사람과 달리 중간 계산을 거치지 않아서 다항식이나 함수 변환 등에서는 성과가 좋지는 않았습니다.
추가적으로, 본 데이터 세트로 학습한 신경망의 역량을 파악하려는 목적으로 공개된 영국 고등학생용 수학 문제 40개를 시험해 보았는데, 여기서는 그래프나 테이블, 등 그림을 빼는 시험지 4개에서 임으로 문제 40개를 골랐는데 학습이 끝난 트랜스포머 모델의 경우 40문제 중 14개만 맞춰서 아직까지 추론 분야에 연구가 필요한 것으로 판단이 됩니다. 분석 결과는 저자들이 판단하기에 시험용으로 훈련된 인풋을 받더라도 다른 추가적인 외삽 능력을 보안한다던가 아니면 그래픽 인풋을 학습에 사용할 수 있다면 더 나은 결과를 도출할 수 있을 거라고 논문에서는 마무리를 하고 있습니다. 이는 추후 2021년 유사한 논문으로 내용이 다시 이어지게 됩니다.
결론적으로 내용을 정리하면, 본 연구에서는 논문 작성 당시 소타 모델의 적절한 추론 결과를 확인할 수 있는 데이터 세트를 제안했습니다. 그리고 특정 분야에서 사람은 쉽게 답을 찾지만 딥러닝 모델이 답을 잘 못 찾은 경우도 있었습니다. 이런 부분을 추후 모델이 대수학/기호학 추론 능력을 향상하기 위한 벤치마크로 사용되어서 개선점을 찾는데 이용하면 좋을 것 같습니다.
본 데이터 세트는 확장성이 용이하고, 모듈별로 구분 가능하므로 필요시 더 난도가 높은 대학 수학 이라던가 이런 부분까지 콘텐츠 확장이 가능할 거라고 생각합니다. 추후 도형 문제 등 도 포함하여 확장할 수 있다면 인공지능의 추론 연구에 더 많은 시사점을 얻을 수 있을 것입니다.
댓글