Core Concepts
ConstraintFlow는 추상 해석 기반 신경망 인증기를 간단하게 명세할 수 있는 선언형 DSL이며, 자동 검증 절차를 통해 임의의 신경망 구조에 대한 인증기의 정확성을 검증할 수 있다.
Abstract
ConstraintFlow는 신경망 인증기 개발을 위한 DSL로, 다음과 같은 특징을 가진다:
추상 도메인과 변환기를 쉽게 정의할 수 있는 언어 수준의 구조체 제공
추상 변환기의 과근사 기반 정확성을 자동으로 검증할 수 있는 절차 제공
기존 인증기 구현에 비해 훨씬 간단한 코드로 인증기 명세 가능
ConstraintFlow에서는 신경망 인증기를 3단계로 명세한다:
각 뉴런의 추상 형태와 정확성 속성 정의
각 신경망 연산에 대한 추상 변환기 정의
신경망 내부의 제약 조건 전파 순서 정의
ConstraintFlow의 자동 검증 절차는 다음과 같이 동작한다:
일반화된 기호 신경망 모델 생성
기호 의미론을 이용해 추상 변환기의 기호 실행
SMT 솔버를 이용해 추상 변환기의 정확성 검증
이를 통해 기존 인증기 구현의 복잡성과 오류 가능성을 크게 낮출 수 있다.