Why This Paper?
전 논문에서 실험할 때 비교했던 모델이 ARGA였는데 그게 바로 이 논문이다. ARC를 찾아봤을 때, 이 논문이 인용 수가 제일 많았던 것으로 기억나고 그렇기에 이 논문을 읽어보기로 결정했다.
Introduction
기계학습과 인간 학습 간의 격차를 측정하기 위해 Chollet이 2019년 이미지 기반 추론 과제 Abstraction and Reasoning Corpus(ARC)를 개발했다. 각 과제는 입력 이미지가 주어졌을 때 이에 대한 출력 이미지를 생성하는 문제로 각 과제는 입력-출력 쌍의 훈련 데이터 2~5개를 제공한다. 몇 가지 예시는 그림 1에서 확인할 수 있다.
ARC를 해결하기 위한 Kaggle대회(2020)에는 900개 이상의 팀이 참가했지만 최대 20%의 정확도밖에 달성하지 못했다. 우승한 솔루션조차 그림 1에 제시된 3가지 예제 중 2가지를 해결하지 못했다. 이는 인간에게는 매우 단순한 문제이다.
사람이 사물을 인식하고 객체 간의 관계를 이해하는 것은 인간 인지 시스템의 핵심 부분을 차지한다. ARC는 이러한 개념을 과제에 녹여내었다. 인간이 ARC 문제를 해결할 때 사용하는 표현의 절반이 객체 탐지와 관련이 있다고 한다. 이를 이용하여 객체 중심 접근 방식(object-centric approach)를 ARC 문제 해결 방식으로 사용한다면 좋은 전략일지도 모른다.
Abstract Reasoning with Graph Abstractions
목표를 달성하기 위해 우리는 Abstract Reasoning with Graph Abstractions(ARGA)라는 객체 중심 프레임워크를 제안한다. ARGA의 설계 목표는 아래의 요소들을 통합하여 객체 인식이 가능한 ARC 해결 방법을 구축하는 것이다.
표현(Representation) : 객체 인식을 위해 단순 픽셀 배열을 공간적 관계를 갖는 객체 그래프로 변환한다. 우리는 ARC의 다양한 객체 정의를 수용할 수 있도록 여러 가지 그래프 추상화(graph abstractions) 방식을 설계했다.
구조(Structure) : 기존의 블랙박스 신경망 대신 일차 논리에 기반을 둔 그래프 기반 도메인 특화 언어(Domain-Specific Language)를 활용했다. 덕분에 ARC의 문제에 대해 복잡하지만 해석 가능한 해결 프로그램을 정의할 수 있다.
탐색(Search) : 표현과 DSL이 준비된 상태에서 완전한 트리 알고리즘(complete tree search algorithm)을 채택했다. 탐색 알고리즘은 해당 DSL에서 올바른 출력을 생성하는 프로그램을 찾는다.
제약 조건(Constraints) : ARC는 해야 할 일뿐만 아니라 하면 안 되는 일도 알려준다. 예를 들어 그림 1(왼쪽)에서 객체들은 이동하면 안된다. 우리는 이런 관찰을 활용하여 제약 조건 학습(constraint acquistion)을 수행하여 조합적 탐색 공간을 축소했다. 이러한 제약 조건들은 동일한 그래프 DSL 내에서 표현된다.
그림 2는 ARGA의 DSL, 탐색, 제약 조건을 보여주며 그림 4는 표현 방식을 나타낸다. 현재 최첨단 ARC 솔버들의 주요 실패 원인은 객체 중심 추상화(object-oriented abstraction) 및 추론(reasoning)의 부족이다. 이를 해결하기 위해 우리는 객체 중심 ARC 문제들 중 일부를 선정하여 테스트베드로 활용했다. 이러한 160개 문제는 객체 재색칠(Recoloring), 객체 이동(Movement), 객체 증강(Object Augmentation)을 포함한다.
우리는 ARGA의 설계 및 성능이 다음과 같은 측면에서 유리함을 보였다.
- 확장성과 모듈성(Extensibility and Modularity) : ARGA의 모든 구성 요소는 독립적으로 확장 가능
- 새로운 그래프 추상화(graph abstractions)를 추가할 수 있음
- DSL에 추가적인 객체 필터 및 변환을 적용할 수 있음
- 새로운 탐색 전략(search strategies)을 실험할 수 있음
- 더 빠른 제약 조건 학습 알고리즘을 현재 방식과 원활하게 교체할 수 있음
- 계산 효율성(Computational Efficiency)
- DSL은 다양한 객체 기반 필터 및 변환을 포함하여 탐색 공간이 커질 위험이 존재
- 그러나 ARGA는 해결 가능한 문제에 대해 적은 탐색으로 정답을 찾음
- 문제 해결 효과성(Effectiveness)
- ARGA의 DSL에는 4개의 기본 필터와 11개의 변환만 포함
- 그럼에도 불구하고 Kaggle 우승 솔루션(64/160)과 근소한 차이(57/160)를 보임
System Overview
우리는 객체 중심 접근 방식을 활용하여 ARC 문제를 해결하는 2단계 프레임워크를 제안한다.
첫 번째 단계 : 그래프 추상화 단계(Graph Abstraction Stage)
- 바둑(Go) 연구에서 영감을 받아 2D 그리드 이미지를 무방향 그래프(undirected graph) 표현으로 매핑
- 객체 간의 관계를 더 높은 추상화 수준에서 표현
두 번째 단계 : 해결 과정 합성 단계(Solution Synthesis Stage)
- 제약 조건을 활용한 탐색을 수행하여 정답을 찾을 연산을 구성
- ARGA 전용 DSL을 통해 연산 공간을 정의
DSL은 추상화된 그래프에서 수행할 수 있는 연산을 정의하기 때문에, 먼저 그래프 추상화 단계와 그 구조를 설명한 후 DSL을 상세히 정의하고 해결 과정 합성 단계에서 어떻게 탐색을 수행하는지 설명할 예정이다.
Graph Abstraction
그래프 추상화(Graph Abstraction)는 개별 픽셀을 하나씩 수정하는 것이 아니라, 픽셀 그룹을 한 번에 수정하는 방식을 사용한다. 이런 접근법은 비추상화된 원본 이미지보다 탐색 공간을 줄이는 효과를 가져온다.
ARGA의 DSL에서 활용될 추상화된 그래프(그림 3 참고)를 정의하는 데 필요한 용어는 일차 논리를 기반으로 하며 객체 및 관계를 표현할 수 있는 유연하고 강력한 방식을 제공한다.
- DSL에서 사용되는 객체 유형은 표 1에 정리되어 있다
- 객체 관 관계는 표 2에 일부 예시가 제공된다
ARC 문제에서 입력 이미지 또는 출력 이미지를 $i$라고 하자. $i$는 픽셀 집합 $p$에 의해 완전히 정의된다. 추상화된 그래프 $g$는 추상화된 노드 집합 $n$을 포함하며, 이들 간의 관계는 표 2에 정리되어 있다.
각 노드 $n$은 원본 이미지 $i$에서 추출된 객체를 나타내며 추상화 규칙에 따라 결정된다. 예를 들어 "검은 색이 아닌 인접한 동일 색상의 픽셀을 하나의 노드로 간주하는 그래프"의 추상화가 존재할 수 있다. 결론적으로 노드 간 관계는 객체들 간의 관계를 정의한다.
그래프 추상화 과정은 이미지 $I$를 추상화된 그래프 $G$로 변환하는 매핑과정을 수행하며 다양한 그래프 추상화 방식에 따라 이미지 내 객체를 서로 다른 기준으로 정의할 수 있다.
여러가지 객체 정의 방식이 가능하며 이를 통해 해결 공간(solution space)을 확장할 수 있다. DSL을 수정하지 않고 다양한 추상화를 활용할 수 있기에 확정성이 높다. 예를 들어 그림 1(중앙)의 예제에서는 1) 같은 색상의 연결된 픽셀, 2) 같은 색상이지만 특정 패턴(세로로 연결된 픽셀)로 연결된 픽셀이 두 가지 다 가능하다.
ARGA 그래프 추상화의 2가지 주요 방식
- 배경색이 아닌 단색으로 연결된 픽셀(Non-background single-color connected pixels)
- 객체를 같은 색상의 연결된 픽셀 집합으로 정의
- 그림 4(왼쪽)에서 시각적으로 보임
- 배경색이 아닌 단색으로 수직으로 연결된 픽셀(Non-background single-color vertically-connected pixels)
- 객체를 수직으로 연결된 같은 색상의 픽셀 집합으로 정의
- 그림 4(오른쪽)에서 시각적으로 보임
Overlapping Objects
우리의 표현 방식은 픽셀 하나가 여러 개의 객체에 속할 수 있다. 객체가 변형되면서 여러 개의 객체에 포함될 가능성이 있기 때문이다. 객체끼리 서로 가려질 수 있지만 그래프 추상화는 이런 객체들을 하나의 독립된 객체로 추적하여 객체의 지속성(persistence)를 유지한다.
A Graph DSL for the ARC
ARGA는 관계형 도메인 특화 언어(DSL)을 사용한다. 이 DSL은 이전에 정의한 객체 및 관계를 기반으로 구축되었고 이 DSL의 주요 기능은 아래와 같다. DSL을 사용하는 표현은 그림 3에 나와 있다.
- 노드 패턴을 매칭하는 필터(filtering for the matching node patterns)
- 그래프 변환(graph transformation)의 매개변수를 결정
- 추상화된 그래프(abstracted graph)에 대한 변환을 수행
Filters
필터는 그래프에서 특정 노드를 선택하는 데 사용되며, 기본적인 문법은 일차 논리(first-order logic)의 부분 집합을 따른다.
$$
\begin{aligned}
\textit{Filter}(x) &::= \textit{Type}(x) \\
&::= \textit{Filter}(x) \land \textit{Filter}(x) \\
&::= \textit{Filter}(x) \lor \textit{Filter}(x) \\
&::= \lnot \textit{Filter}(x) \\
&::= \exists y \, Rel(x, y) \land \textit{Filter}(y) \\
&::= \exists y \, Rel(y, x) \land \textit{Filter}(y) \\
&::= \forall y \, Rel(x, y) \Rightarrow \textit{Filter}(y) \\
&::= \forall y \, Rel(y, x) \Rightarrow \textit{Filter}(y) \\
&::= Rel(x, c) \quad \text{[c is a constant]} \\
&::= Rel(c, x) \quad \text{[c is a constant]}
\end{aligned}
$$
아래는 특정 조건을 만족시키는 노드를 선택하는 방식의 예제들이다.(6개의 픽셀로 나누기, 색깔이 회색인지, 이웃하고 있는 노드가 모두 파란색인지)
$$
\begin{aligned}
\textit{filterBySize6}(n) &\equiv \textit{Node}(n) \land \textit{size}(n, 6) \\
\textit{filterByColorGrey}(n) &\equiv \textit{Node}(n) \land \textit{color}(n, \textit{grey}) \\
\textit{neighborsAllBlue}(n) &\equiv \textit{Node}(n) \\
&\land \forall y \, \textit{Neighbor}(n, y) \Rightarrow \textit{color}(y, \textit{blue})
\end{aligned}
$$
Transformations
변환(transformation)은 필터에 의해 선택된 노드들을 수정하는 역할을 한다. 객체 관계(object relations)의 값을 변경하는 방식으로 이루어지며 표 3에 몇 가지 변환의 예시를 확인할 수 있다.
$$
\begin{aligned}
&\textit{updateColor}(n : \textit{Node},\ c : \textit{Color}) \\
&\quad \rightarrow\ \textit{color}(n, c) \land \lnot \textit{color}(n, c')
\quad \forall c' \in \textit{Color} \text{ s.t. } c' \ne c
\end{aligned}
$$
$color(n,c)$에서는 참으로 설정하여 $n$의 색을 $c$로 변경하고 $color(n,c')$에서는 거짓으로 설정하여 $c$가 아닌 다른 모든색상 $c'$을 제거한다.
Dynamic Parameter Transformations
그림 1의 왼쪽에서 보여지는 예시의 경우 색상이 빨간색과 파란색 2가지로만 변한다. 즉 어떤 색인지 정적(statically)으로 결정할 수 있다. 그러나 그림 5의 경우에는 객체의 인접한 크기 1짜리 객체의 색상을 사용하기 때문에 이러한 방식을 사용할 수 없다. 그렇기에 매개변수 바인딩 함수(parameter binding functions)를 정의하여 동적(dynamic) 매개변수를 생성할 수 있도록 한다.
$$
\begin{aligned}
\textit{Param}(x, v) &::= v = c \quad \text{[c is a constant]} \\
&::= \textit{Rel}(x, v) \\
&::= \textit{Rel}(v, x) \\
&::= \exists y\ \textit{Rel}(x, y) \land \textit{Filter}(y) \land \textit{Param}(y, v) \\
&::= \exists y\ \textit{Rel}(y, x) \land \textit{Filter}(y) \land \textit{Param}(y, v)
\end{aligned}
$$
$Param(x, v)$는 다음과 같은 의미가 있다.
- 목표는 객체 $x$에 대한 가능한 일치하는 매개 변수를 찾는 것, 그렇기에 $x$에 필터를 적용하지 않음
- $Param(x, v)$를 참으로 만드는 모든 가능한 매개 변수 $v$를 제공하는 것
여러 개의 $v$가 존재할 수 있어도 우리는 1개의 $v$ 값만 필요하기 때문에 결정론적 순서(deterministically ordered)로 첫 번째 매칭 값을 선택한다. 필터는 특정 노드를 선택하는 데 사용되는 반면, $Param(x, v)$는 해당 노드의 속성을 동적으로 할당하는 데 사용된다.
$$
\begin{aligned}
&\textit{bindSize1NeighborColor}(x, v) \equiv \\
&\quad \exists y\ \textit{neighbor}(x, y) \land \textit{size}(y, 1) \land \textit{Color}(y, v)
\end{aligned}
$$
- 위의 예제를 살펴보면
- $bindSize1NeighborColor(x, v)$ : 객체 $x$의 인접한 크기 1짜리 객체 $y$의 색을 찾아 $v$에 할당
- $x$ 주변에 크기가 1인 $y$가 존재하면 그 $y$의 색상을 가져와 $v$로 설정
- 그림 5에서 회색 노드 $n$이 선택되었다고 하면 $n$의 인접한 크기 1짜리 객체의 색상을 찾을 수 있음
Full Operation
필터, 변환, 파라미터 바인딩이 형식적으로 정의되었으니 우리는 추상화 그래프를 만드는데 그 3가지를 결합하여 사용할 것이다. 필터와 변환, 그리고 k개의 파라미터에 대한 바인딩 $Param_i(x, v)(i \in \{1 \dots k\})$가 주어졌을 때 각 파라미터는 해당 변환에 영향을 미치게 된다.
$$
\begin{aligned}
\text{for each} \quad\ &n \in \textit{Node} \\
\text{if} \quad\quad\ &\textit{filter}(n) \\
\text{then} \quad\ &v_i \leftarrow \{v \mid \textit{Param}_i(n, v)\} \text{ for } i \in \{1 \dots k\} \\
&\textit{transform}(n, v_1, \dots, v_k)
\end{aligned}
$$
우리는 연산이 $|\{v\}| \neq 1$ 일 경우에도 결정론적으로 하나의 고유한 값 $v_i$를 선택한다고 가정한다. 예를 들어 Figure 5의 예제를 해결하기 위해 필요한 연산 집합은 filterByColorGrey, updateColor, 그리고 bindSize1NeighborColor이다.
한편, Figure 3에 제시된 예제와 같은 작업(task)의 경우에는 동적 파라미터(dynamic parameters)가 필요하지 않다.이러한 경우, 해결 과정에서 사용된 파라미터 바인딩(parameter binding)은단순히 정적인 값 $v=c$를 반환할 뿐이다.
Solution Synthesis
해결 공간이 명확하게 정의되고 입력 이미지가 성공적으로 추상화되면 해결방안을 합성하기 위한 탐색이 시작된다. 많은 ARC 문제들은 복잡한 논리를 가지고 있어서 그래프의 탐색 공간이 매우 커진다. 그렇기 때문에 우리 알고리즘의 핵심은 탐색 공간을 줄이는 것이다. 이를 위해 우리는 constraint acquistion 모듈을 도입했다. 이것은 탐색 공간에서 해결에 기여하지 못할 변환 시퀀스를 가지치기하여 탐색 공간을 줄여준다. 더불어 hashing과 Tabu List와 같은 방식도 탐색의 속도를 상승시켜 준다. 탐색 트리는 그림 2에서 예시를 볼 수 있다.
Search Strategy
우리는 그리디한 best-first 탐색을 도입했다. ARC 문제 $t$가 $m$개의 훈련 예제, 즉 ${input_i, output_i} \text{for} i \in \{1, \dots, m\}$가 있다고 가정하자. 탐색 트리에 있는 각 노드들은 $\{g_{input\_i}\}$의 집합을 가지고 있다. $g_{input\_i}$는 두 과정을 거친 결과이다:
- 추상화 과정(abstraction) : 이미지가 고수준의 그래프 표현으로 변환
- 연산 시퀀스 적용 : $(o_1, \dots, o_j, \dots, o_k)$의 정의된 연산들을 적용
$k = 0$일 때는 특별한 경우로, 아무 연산이 적용되지 않는다.
추상화된 그래프 $\{g_{input\_i}\}$를 확장하기 위해서 우리는 적용 가능한 모든 완전 연산 집합 $O$을 정의했다. 각 연산 $o \in O$, 우리는 이것을 $\{g_{input\_i}\}$에 적용하고 업데이트 된 추상화된 그래프 $\{g'_i\}$를 얻는다. 이 추상화된 그래프 $\{g'_i\}$를 탐색 트리에 새로운 노드로 추가하고 연산 시퀀스에 $o$를 추가하여 연산 시퀀스도 업데이트 한다.
Heuristic Function
각 반복에서 노드를 확장할지 결정하기 위해, 우리는 노드가 목표 결과와 얼마나 비슷한지를 측정한다. 각 노드에서 우리는 추상화된 그래프 $\{g_{input\_i}\}$를 2D 이미지로 복원한다. 그 후, 그 이미지를 결과 $\{output_i\}$를 비교하고 pixel-wise 정확도를 이용하여 페널티 점수를 계산한다. 예측된 출력과 실제 출력 사이의 불일치가 크면 큰 페널티가 발생하며 탐색 트리에서 가장 낮은 점수를 받은 노드(즉, 정답에 가장 가까운 예측)가 확장을 위해 선택된다.
Constraint-Guided Search
이번 개념은 예시와 함께 볼 것이다. 그림 1의 왼쪽에 있는 모든 객체들은 위치를 바꾸지 않는다. 그렇기에 우리는 positionUnchanged라는 제약을 정의할 수 있으며 이것은 이동을 요구하는 모든 제약들이 탐색 트리에서 가지치기해준다. 그림 2에서 이러한 개념을 확인할 수 있다.
이런 제약은 위에서 나왔던 것처럼 언어로 표현 가능하다.
$$
\begin{aligned}
&\textit{positionUnchanged}(n : \textit{Node},\, n' : \textit{Node}) \equiv \\
&\quad \forall p \in P\ \textit{containsPixel}(n, p) \equiv \textit{containsPixel}(n', p)
\end{aligned}
$$
이 정의는 모든 픽셀에 대해 노드와 업데이트된 노드가 해당 픽셀을 포함하는지 여부가 동일해야 한다느 의미이다. 제약조건의 집합 $C$는 무조건 만족해야 하기 때문에 만약 $C$의 원소 $c$를 만족시키지 못한다면 해당 노드의 가지는 제거될 것이다.
Constraint Acquistion
가지치기를 위한 제약 조건의 집합을 얻기 위해 우리는 ModelSeekr와 Inductive Logic Programming(ILP)의 알고리즘에서 영감을 얻은 constraint acquistion algorithm을 도입했다. 우리는 일반 제약 조건 $constraint$를 가지고 있다. 이 제약 조건이 포함될지 결정하기 위해 출력 이미지와 입력 이미지를 비교한다.
탐색 트리에서 노드를 확장할 때, 우리는 입력 이미지와 동일하게 출력 이미지를 추상화 시켜 $\{g_{output\_i}\}$을 얻는다.
그런 다음, 각 full operation $o \in O$에 대해, 해당 연산의 filter 연산자 $f$를 $\{g_{input_i}\}$와 $\{g_{output_i}\}$에 각각 적용하여, 연산 전후의 객체 쌍 $(n_{in}, n_{out})$을 얻는다.
그리고 각 제약 조건 $c$에 대해, 모든 쌍 $(n_{in}, n_{out})$에 대해 $c(n_{in}, n_{out}) = \text{True}$이면, 우리는 제약 $c$가 해당 필터 $f$로 선택된 모든 노드에 대해 반드시 만족해야 한다고 판단한다.
따라서, 제약 $c$를 위반하는 filter $f$와 transformation $t$를 갖는 모든 연산 $o$는 탐색 트리에서 가지치기(pruning)된다.
Hashing
높은 확률로 다른 변환이나 변환의 시퀀스의 결과가 같은 추상화 그래프로 나타날 것이다. 이런 중복을 막기 위해 우리는 각 노드를 해싱하여 각 노드가 한 곳만 방문하도록 만들었다.
Tabu List
현재는 서로 다른 추상화 방식에서 생성된 그래프들이 하나의 탐색 트리를 공유한다. 따라서 그리디 탐색이 local solution에 빠져 좋지 않은 결과가 나타날 수도 있다. 이를 방지하기 위해 간단한 금지 목록(Tabu List)를 만들고 나쁜 결과만 생성하는 추상화는 일시적으로 Tabu List에 등록되어 더 이상 탐색되지 않도록 차단된다.
Experiments
Chollet(2019)는 ARC가 Developer-aware generalization을 평가하기 위해 만들어졌다고 했다. ARC의 모든 문제는 고유하며, 핵심 사전 지식 외에 어떤 지식도 가정하지 않는다.
따라서 우리 방식인 ARGA를 ARC 문제의 일부 서브셋에 적용하여 평가하는 것만으로도, 새로운 변환 함수들을 많이 개발할 필요 없이, 이 방법의 효과성을 검증하는 데 유의미한 인사이트를 얻을 수 있다.
우리는 ARC 데이터셋 중 160개의 객체 중심 문제를 선정하여 3가지 카테고리로 나누어 실험을 진행했다:
Object Recoloring, Object Movement, Object Augmentation
비교를 위해 Kaggle ARC 챌린지 1등 모델(2020)을 동일한 문제 서브셋에 대해 평가했다.
Results
Object Movement 유형을 제외하면 ARGA는 Kaggle 우승 모델보다 정확도 측면에서 낮은 성능을 보였다. 이는 ARGA가 사용하는 DSL이 160개의 과제만을 기반으로 개발되었기 때문에 표현력이 부족했을 가능성이 존재한다. 또한 Kaggle 우승 모델의 DSL은 200개의 ARC 문제를 수작업으로 먼저 풀고 설계된 것이기때문에 더 포괄적인 표현력을 가지고 있다.
그러나 ARGA는 탐색 효율에서 강점을 보인다. ARGA는 탐색한 노드 수 가 1000배(3자릿수 차이) 적어 훨씬 적은 연산으로 정답에 도달하는 모습을 보였다. 이는 ARGA가 탐색 효율성 측면에서 매우 뛰어나다는 것을 시사한다.
일반화 측면에서도 ARGA가 약간 우세를 보였다. ARGA는 훈련 예제와 테스트 예제의 문제 수 차이가 적다. 이는 훈련 집합에 과적합되지 않고 일반화가 잘 되었다는 의미이다. Kaggle 우승 모델의 경우 훈련 예제는 잘 맞추지만 테스트에서는 종종 일반화에 실패하는 모습을 보였다.
Ablation Study 표 5는 160개의 문제 중 다양한 ARGA 변형 모델들의 성능을 비교한 결과를 보여준다. 실험 결과 Constraint Acquistion 기법의 도입이 탐색 공간 축소에 매우 효과적이었다. 또한 성능 향상에는 Tabu List, 해싱, 적절한 탐색 전략도 모두 중요한 것으로 나타났다.
Conclusion
우리는 이번 논문에서 ARGA(Abstract Reasoning with Graph Abstractions)라는 객체 중심(object-centric)의 프레임워크를 제안했다. ARGA는 먼저 입력 이미지를 그래프 형태로 추상화(graph abstraction)한 뒤, 제약 조건 기반의 탐색을 통해 ARC 문제를 해결하는 방식이다. 우리는 ARGA를 ARC 데이터셋 중 객체 중심 문제 서브셋에 적용하여 실험을 수행했고, 성능과 탐색 효율 측면에서 모두 유의미한 결과를 얻었다. 특히 탐색 공간 내에서 훨씬 적은 노드 탐색만으로 정답에 도달했다는 점은, DSL(도메인 특화 언어)의 표현력을 더욱 발전시킨다면 ARGA가 기존 최첨단(state-of-the-art) 방법들보다 훨씬 더 복잡한 문제들도 해결할 수 있는 잠재력이 있다는 것을 보여준다.
https://ojs.aaai.org/index.php/AAAI/article/view/25527
Graphs, Constraints, and Search for the Abstraction and Reasoning Corpus | Proceedings of the AAAI Conference on Artifici
ojs.aaai.org