본문 바로가기
Deep Learning

Abstraction & Reasoning in AI systems : (1-2) generalization

by 햇농nongnong 2021. 1. 30.

앞서 Abstraction & Reasoning in AI systems : (1-1)generalization 에 이어 generalization 에 대해 더 자세히 설명해보겠다.

 

 

** shortcut rule

 

task-specific skill 에서 계속 priors 을 제공받게되면 언젠가 원했던 그 task 를 당연히 해결 가능할 것이다. 계속 optimize 하니까.

그런데 대신 나머지를 다 잃는다. 왜냐? generalization power 은 계속 떨어져가니까(= reduce the need for generalization power)

 

 

- 위의 skill, priors, generalization 의 관계 system design 의 원리로 잘 알려진 “shortcut rule”에 도달하게 해준다.

 

: if you start optimizing for a specific metric, then you will take shortcuts along every possible dimension that is not captured by your metric. So it’s rather similar to overfitting.

 

즉, 특정한 것에 대해 optimize 를 계속 하게 되면 모든 가능한 부분에서 shortcut 들을 계속 찾게되고 이건 overfitting 으로 만든다.

 

 

* shortcut effect : overfitting

 

ex) 캐글 대회에서 참가자들은 평가표에 맞게 계속 optimize 만을 해가고 그래서 결국 종종 production settings 에서 사용될 수 없는 시스템만을 만들게된다. 왜냐면 그들은 optimize 를 위해서 계산 요구사항, 코드 유지 보수성과 같은 다른 모든 부분에서의 지름길만을 택했으니.

 

* AI 에서 shortcut 의 의미,

 

- task-specific skill 에만 집중하다보면 결국 그 skill 을 얻을 수는 있겠지만 이것들은 taking shortcut 을 통해 얻은 것이기 때문에,

결국 generalizable cognitive abilities 를 보여줄 수 없는 시스템을 만들 수 밖에 없다.

(왜냐면 skill generalization power 과 직교의 관계에 있기 때문에)

 

- 직교의 관계 : 만약 generalize 가 가능하다면 general 에서 specific 으로 가서 새로운 skill develop 할 수 있지만, 그 반대는 어렵다. specific 에서 general 로 올 수 있는 길은 없다. Braod cognitive abilities 를 요구하는 specific task, metric는 떠올릴 수 없다.

만약 specific 에서 general 로 오고 싶어서 그 specific task 를 수정하고 미리 개발자들에게 그걸 알려준다면, 이건 또 그냥 shortcut 일 뿐이다.

 

 

* AI 업계에서 유명한 스토리 중 하나 : solving chess by Allen Newell

 

- Allen이  AI 업계는 체스 문제를 푸는데 집중해야 한다고 말했다. 체스는 기억력, 학습, 추론, 분석 등을 특징으로 하고 있기 때문.

따라서 Allen 은 체스 문제를 풀면 인간의 cognitive mechanisms 을 알 수 있을거라고 생각했다. 

 

우리는 체스 문제를 결국 풀었지만 human cognition 에 대해 아무것도 알 수 없었다. 

(체스 문제를 풀기 위해 fixed the task, took shortcuts 했기 때문에)

 

- 이 스토리를 모던 버전으로 보면, 이 얘기는 increase skill 하라는 말이었던 것이었다.

특히 task-specific skill on a problem by adding more training data which reduces the need for generalization power.

 

 

* task-specific skills 에만 집중하면 생기는 한계점 

limit : you can always achieve arbitrary skill on arbitrary problems without requiring any generalizable cognitive ability

 

이런식으로 intelligence 없이 shortcut 을 통해 계속 문제를 해결하다보면 arbitrary skill on arbitrary problems 만 해결 가능하다.

generalizing 이 안되니 arbitrary problems 을 해결한다면 항상 엄청난 양의 모델링과 데이터가 필요할 것이다.

 

 

ex ) learning to play DotA2

- 몇 년전, OpenAI 는 45000 년 간의 게임 플레이에 대해 딥러닝 시스템을 훈련시켰고, 그 시스템은 어떤 면에서는 초인적인 수준에 달했지만 결국 매우 취약하다고 평가되었다. 사람들은 재빨리 어떻게 이 시스템을 이길 수 있는지 알아냈지만, 이 딥러닝 시스템은 단순 게임 룰 변화에 적응할 수 없었다. 만약 게임에서 새로운 캐릭터가 나오거나 룰이 바뀐다면 적응 하지 못했다. 만약 인간게이머라면 한 번의 게임으로 즉각적으로 이 변화에 적응했을 것(without expending any energy). 하지만 딥러닝 시스템은 그 작은 변화에 적응하기 위해 데이터를 트레이닝하는데 수천년이 더 필요할 것이다.

 

- 이 예시에서 말하는 가장 중요한 것은

“it’s always possible to create shortcuts to solve a given task without featuring intelligence”

 

 

데카르트는 400년 전 이런 말을 했다.

 

비록 기계들이 우리가 하는 것처럼 어떤 일을 잘 수행할 수 있고 어쩌면 더 잘할수도 있지만, 결국 다른 일에 있어서는 실패하게 될 것이고, 이것은 기계들이 이해력을 통해 행동하는 것이 아니라 단지 그렇게 행동하려는 기질(성향) 때문이라는 것을 보여준다.

 

"automaton operationalizes abstractions that were provided by its creators"

 

기계는 creators 이 만든 abstractions 을 가지고 조작하지만, 인간은 abstractions 자체를 만들 수 있고 이를 임의적 상황에 적용할 수 있기 때문에 기계와 인간이 다른 것이고, 기계는 creators 에게로부터 주어진 abstractions 만을 가지고 situations handle 할 수 있다.

 

 

** the generations of autonomous abstraction(=intelligence) is orthogonal to the encoding and operationalization of preexisting human abstractions as we’re seeing in current AI systems.

 

자율 추상화(=지능)의 세대는 현재 AI 시스템에서 볼 수 있는 기존의 인간 추상화 인코딩 및 운영화와 직교한다.

 

사람들이 이 추상화를 hard coded rules 로 주건, training data 로 주건, 모두 그 task 에 대한 full description 을 제공하는 것이고,

이것은 the need for generalization 을 제거하는 것이다.

 

* intelligencegeneralize 하기 위해 own abstraction 을 만들 수 있는 능력이다.

 

그리고 이미 존재하는 abstraction operationalize 하는 것own abstraction develop 하는 것은 엄청난 차이가 있다.

이 차이는 만화 캐릭터를 만드는 것새로운 삶의 형식을 만드는 차이와도 같다.

만화 캐릭터는 내가 캐릭터를 손으로 그렸던지 motion capture 를 사용했던지 내가 가르쳐준대로만 play 할 수 있다.

딥러닝을 위한 트레이닝 데이터어떻게 해야하는지 가르쳐주기 위한 데이터이기 때문에 이 카툰 캐릭터를 위한 motion capture 와 비슷하다고 볼 수 있다.

 

 

** Measuring generalizaton & abstraction power  : controlling for experiences and priors

 

Generalization 을 측정하는 것은 skill 을 보는 것이 아니라 반드시 experiences 와 priors 를 봐야한다.

Experiences priors 를 보고 control 해야한다.

 

만약 AI 와 인간지능을 더 자세히 비교하고 싶다면, priors set standardize(표준화) 하고 이 priors 들은 이제 fixed 되었기 때문에 human cognitive priors 가 되고,  Core Knowledge 라고 부를 수 있다.

 

위 그림의 점선과 같이 priors, experiences fixed 해 놓은 상태에서 여러 가지 generalization power 를 비교할 수 있다.

(AI 와 인간 지능 비교는 human-like priors 에 의존하기 때문에))

 

** ARC tasks

Abstraction & Reasoning Corpus 를 잠깐 소개해보자면, ARC intelligence test 와 비슷하고 인간과 기계에 쓰인다.

IQ test 에 사용되는 Raven’s Progressive Matrices 와 비슷한데 그냥 input output pair dataset 을 가지고 있는 정신력 측정용 프로그램이라고 보면 된다.

 

ARC 의 가장 중요한 점모든 task 는 new 라는 점이다.

이미 봤던 task 에 대한 추상적인 공통점만을 공유하고, 모든 task 가 새롭기 때문에 experience control 하고, 약간의 shot program learning 만을 한다.

각각의 task 로부터 3개의 예시들로 그 task learn 하고 ARC는 오직 Core Knowledge 에 기반하고 있기 때문에 priors control 할 수 있다. (예를 들어 언어 같은 경험을 통해 습득되는 것들은 어떤것도 특징짓지 않는다.)

 

따라서 ARC 의 모든 태스크는 4가지 Core Knowledge priors (objectness, elementary geometry and topology, numbers, agentness) 위에 구성된다.

 

 

** Core Knowledge

 

 

Core knowledge 에 대해 조금 더 얘기해보자면,

 

Core knowledge 는 인간이 가지고 있는 선천적인 인지적 priors 의 집합으로, 삶을 통해 학습하는 능력의 원자적 구성요소를 형성한다. Harvard Elizabeth Spelke 6가지 다른 Core Knowledge system Objectness & elementary physics, agentness, elementary geometry & topology, numbers, places, social partners 로 정의했다. 이 중 places 와 social partners ARC 에도 없는 feature 이다.

 

Core knowledge systems 선천적이고 아니면 의도나 목적처럼 최소 매우 일찍 나타나는 것이며,

Core knowledge systems 사람이 아닌 primates 나 새와 같은 다른 동물에서도 찾을 수 있다.

 

 

 

 

 

generalization 에 대한 설명은 여기까지 마치고, 다음 글에서 "abstraction" 에 대해 설명해보겠다.

 

 

 

 

 

 

 

 

 

(출처 : 해당 글의 이미지들은 NeurIPS 의 < Abstraction & Reasoning in AI systems : Modern perspectives > 강연 발표자료에서 가져왔다. )

댓글