核心概念
신경망 코드 모델의 예측 성능을 이해하기 위해 인과 관계 추론 기법을 활용하여 모델의 행동을 설명할 수 있다.
要約
이 논문은 신경망 코드 모델(NCM)의 예측 성능을 이해하기 위해 인과 관계 추론 기법을 활용하는 docode 방법을 소개한다. docode는 인과 관계 그래프를 모델링하고, 인과 추정량을 식별하며, 인과 효과를 추정하고, 인과 과정을 검증하는 4단계로 구성된다.
docode의 주요 특징은 다음과 같다:
소프트웨어 공학 기반 개입(프로그램 수정, 주석 추가/제거, 구문 차이 등)을 통해 NCM의 예측 성능을 이해할 수 있다.
인과 관계 추론을 통해 모델 성능 변화의 원인을 파악할 수 있다.
다양한 리팩토링 기법을 통해 인과 추정의 강건성을 검증할 수 있다.
이 논문에서는 docode를 7가지 실용적인 시나리오에 적용하여 RNN과 Transformer 기반 NCM의 행동을 분석하였다. 주요 결과는 다음과 같다:
버그 있는 코드 여부는 NCM의 예측 성능에 인과적 영향을 미치지 않는다.
타입 II 클론은 NCM의 교차 엔트로피 성능에 인과적 영향을 미친다.
레이어 수와 모델 성능 간 강한 상관관계가 있지만, 인과 효과는 미미하다.
BERT 유사 모델은 프로그래밍 언어의 구조 정보를 충분히 학습하지 못한다.
이 연구는 NCM의 해석 가능성 향상을 위해 인과 관계 추론 기법의 활용 가능성을 보여준다.
統計
버그 있는 코드와 NCM의 정확도 간 상관계수는 약 0.67이지만, 인과 효과 추정치는 -2E-4로 미미하다.
타입 II 클론 개입은 NCM의 교차 엔트로피 성능에 유의미한 인과 효과를 가진다.
레이어 수와 NCM의 다음 토큰 예측 성능 간 상관계수는 높지만, 인과 효과 추정치는 0에 가깝다.
랜덤 토큰 마스킹이 문법 기반 범주 마스킹보다 BERT 유사 모델의 코드 예측에 더 큰 영향을 미친다.
引用
"NCM과 일반적으로 딥러닝 아키텍처는 효과성과 투명성 사이의 균형을 잃는다. 즉, 이러한 모델들은 예측을 정당화할 수 없다."
"NCM의 예측 성능을 이해하기 위해서는 새로운 해석 가능성 방법이 필요하다."
"인과 관계 추론은 NCM의 예측 성능을 이해하고 설명하는 데 유용한 도구가 될 수 있다."