전체 글 40

[AGI] Program Synthesis - 4

프로그램 작성자는 specification과 프로그램을 연결하는 역할이다. 이번에는 어떻게 LLM이 다른 분야에서 보편적인 프로그램 작성자가 되는지를 설명할 것이다.a menagerie of synthesizerssynthesizer는 매우 어려운 일을 수행한다. 그것은 프로그램이 무엇을 해야하는지(semantics)를 입력으로 받아 프로그램이 어떻게 생겨야 하는지(syntax)를 출력으로 만드는 작업이다. 즉, 인터프리터를 거꾸로 실행하는 작업이다.어려운 문제가 주어졌을 때, 모든 문제 도메인마다 도메인 맞춤 synthesizer가 있어야하는 것은 당연하다고 생각이 들 수 있습니다. 실제로 그런 경우가 있는데 아래는 글 작성자의 작업물의 구조들입니다.저것들은 좋아보이지만, 아래와 같은 상당한 수작업 엔..

[AGI] Program Synthesis - 3

2장의 간단한 recap과 함께 시작한다.The problem풀을 안쪽에, 버섯을 바깥쪽에 놓는 사각형을 그리는 것이 문제이다. 이 문제는 입력-출력, spec의 specification으로 표현된다.The ground-truth distributionspec이 주어졌을 때 meaning matrix에서의 행 M[spec, :]를 보자. 모든 사각형(프로그램)에서 이 행은 우리의 spec이 옳은지 틀린지를 나타낸다. 주어진 spec에 대해 program synthesis의 정답 분포(ground-truth distribution)은 아래와 같이 정의한다:올바른 프로그램의 개수(N)을 센 다음, 각 올바른 프로그램에 1/N의 가중치를 부여하는 것이다.$$ P_{ground-truth}(prog\mid sp..

[AGI] Program Synthesis - 2

이번에는 간단한 예시를 들어볼 것이다. program synthesis를 진행하기 위해서는 당연히 풀어야할 문제를 정의해야 한다. Grass turtle and mushrooms너가 거북이를 감싸는 사각형을 6x6 그리드 위에 그리고 싶다고 생각을 해보자. 너는 풀은 사각형 안쪽에, 그리고 버섯은 사각형 바깥쪽에 놓고 싶다.필드가 주어졌을 때, 너는 어떤 방식으로 빠르게 사각형을 그릴 것인가?Modeling programmingprogram synthesis는 프로그래밍과 함께 시작한다. 그리고 프로그래밍은 interpreter와 함께 시작한다.Program프로그램은 하나의 데이터 구조로 볼 수 있다. 여기서 프로그램은 top, down, left, right로 구성된 사각형의 구조이다.# the rec..

[AGI] Program Synthesis - 1

Program Synthesis란, 입력-출력 쌍이 주어졌을 때, 이를 만족하는 프로그램(또는 알고리즘)을 자동으로 생성하는 과정을 의미한다. 수업시간에 Program Synthesis와 관련해서 읽어보면 좋은 블로그를 교수님께서 소개해주셨다. 오늘은 그 블로그의 글들을 하나씩 정리해보고자 한다.Programming컴퓨터 이전, 사람들은 무엇을 하던 스스로 해야했고 이는 굉장히 피곤한 일이다.프로그래밍은 사람이 컴퓨터에게 무언가를 해달라고 요청하는 것이다. 이메일을 만드는 것도, 블로그를 세팅하는 것도 프로그래밍이다. 프로그래밍은 항상 아래의 3가지를 고려해야 한다:프로그래머 : 문제를 프로그램으로 만듬프로그램 : 인터프리터가 이해하는 것인터프리터 : 프로그램을 받아 일을 하는 것프로그래밍을 하는 것은 ..

[논문 정리] Program Synthesis using Inductive Logic Programming for the Abstraction and Reasoning Corpus

Introduction머신러닝과 딥러닝의 발전으로 AI의 성능은 사람의 성능을 능가했다. 그러나 특정 task에만 집중되어 있는 task-specific이기 때문에 다른 task에 적용할 경우 실패하는 경향이 있다. LLMs의 경우 기계와 사람 지능간의 차이를 좁혔지만 여전히 굉장히 많은 양의 데이터를 필요로 하고 추론 능력이 부족하다는 단점이 존재한다. ARC 챌린지는 Francois Chollet가 범용 인공지능을 측정하기 위해 만든 벤치마크이다. 2019년에 나왔지만 아직까지도 어려운 챌린지이며 LLMs도 풀지 못했다. 400개의 다른 특징을 요구하는 테스트 셋이 있고 심지어는 공개되지 않은 private한 200개의 테스트 셋도 추가로 존재한다. Objectness는 인간의 핵심 사전 지식 중 하..

[논문 정리] Abstract visual reasoning based on algebraic methods

Introduction인간의 능력을 모방하는 것은 인공지능 연구의 핵심 과제이다. 추상적 시각적 추론(Abstract visual reasoning, AVR)은 복합 이미지에 내재된 추상적 패턴을 발견하고 새로운 입력에 적용하는 것으로 인간의 뛰어난 일반화 능력을 보여준다. Raven's Progressive Matrices(RPM)은 그림 1과 같이 3 x 3 이미지 격자에서 빠진 요소를 채우는 지능 테스트이다. RPM은 추상적 언어, 공간적 사고, 수학적 추론 능력을 평가하는데 활용되며 연구자들 사이에서는 시각적 모델의 추론 능력을 평가하는 도구로 인정받고 있다.  연구자들은 RPM 문제를 해결하기 위해 신경망을 구축하고 강화학습 기법을 대부분 활용한다. 저수준의 특징에서 추상적 관계를 도출한 뒤, ..

[AGI] On the Measure of Intelligence

AGI 수업에서 2주차 내용에 관련된 Chollet의 논문이다. 수업을 듣기 전에 미리 읽어보고 내용을 정리해보고자 한다.Context and historyNeed for an actionable definition and measure of intelligenceAI 연구는 인간과 유사한 지능을 가진 기계를 개발하는 것을 목표로 하지만, 현재까지 AI는 특정 작업에 특화된 시스템을 만드는 데에만 성공했다. AI 시스템은 여전히 취약하고, 데이터에 의존하며, 새로운 상황에 대한 적응력이 부족하다. 연구의 진전이 미흡한 이유 중 하나는 명확한 목표와 평가 기준이 부족하기 때문이다. 현재까지 AI 지능에 대한 객관적이고 실행 가능한 정의나 평가 기준이 제대로 확립되지 않았으며, 기존의 튜링 테스트 같은 방법..

[논문 정리] Deep Learning Methods for Abstract Visual Reasoning: A Survey on Raven's Progressive Matrices

Introduction오랜 기간 동안 인간 연구의 목표 중 하나는 지능의 본질을 이해하는 것이다. 기존에 가지고 있는 경험을 새로운 환경에서 적용할 수 있는 능력으로서의 지능이라고 정의할 수 있으며 Abstract Visual Reasoning(AVR) 과제는 이런 지능을 평가하는 주요 방법 중에 하나이다. AVR 문제는 2D 도형을 포함한 이미지들로 구성되며 특정한 추상적 규칙에 의해 지배된다. 이를 해결하기 위해서는 접해보지 않은 추상적 패턴을 식별하고 새로운 환경에 일반화해야 한다. AVR 과제는 다양한 유형이 존재하지만 집중적으로 연구된 과제 중 하나는 Raven's Progressive Matrices(RPMs)이다(그림1 참조). RPM은 인간 지능을 평가하는 대표적인 과제로 간주된다. 최근에..

[논문 정리] Generalized Planning for the Abstraction and Reasoning Corpus

Why This Paper?이번에는 Generalized Planning(GP) 문제로 변환하는 접근법이다.Introduction추상적 시각 추론 과제(Abstract Visual Reasoning Tasks)는 기계 지능을 이해하고 측정하는 데 사용되어 왔다. 이 중 Abstraction and Reasoning Corpus(ARC)는 Chollet(2019)에 의해 도입된 대표적인 벤치마크로, 여전히 해결되지 않은 도전 과제로 남아 있다. ARC 문제는 객체 인식(objectness), 목표 지향성(goal-directedness), 위상학(topology), 기하학(geometry) 등의 핵심적인 사전 지식(priors)을 바탕으로 입력과 출력 사이의 규칙을 추론하는 능력을 요구한다. 특히, 일반적..

[논문 정리] A review of intelligent music generation systems

Why This Paper?music generation의 배경지식을 쌓기 위해 리뷰 논문을 위주로 찾아보기로 결정했다. 첫 번째로 읽을 논문이 이것이다.Introduction인공지능의 발전과 함께 음악은 자동화된 창작에 대한 높은 역량과 잠재력을 가진 것으로 입증되었다. 지능형 음악 생성(intelligent music generation)은 자동 작곡 문제를 해결하는데 전념하며, 현재 컴퓨터 창의성 분야에서 가장 생산적인 하위 분야로 자리 잡고 있다. 기호적 음악 생성(symbolic music generation)은 음악을 기호의 연속(sequence of symbols)으로 표현한 후, 특징 학습(feature learning)과 생성 모델링(generative modeling)을 수행하는 방식이..