Deep Learning

Library Induction Problem

ju_young 2023. 5. 6. 22:30
728x90

Library Induction Problem은 새로운 Data에 대해서도 일반화된 성능을 보여주기위해 새로운 Library(function 또는 operator로 이루어진)를 만드는 문제이다.

 

아래의 각 논문들을 통해 이 문제를 어떻게 해결했는지 살펴보았다.


[paper] Houdini: Lifelong learning as program synthesis

  • program synthesis란 library의 function이나 operator를 synthesizing하여 computer program을 자동으로 생성하는 것을 말함
  • ML과 program synthesis를 결합한 Houdini를 제안
  • Houdini는 pre-defined concept에만 제한되는 것이 아닌 코드 예제를 분석하여 새로운 programming concept를 학습

[paper] DreamCoder: Bootstrapping Inductive Program Synthesis with Wake-Sleep Library Learning

  • synthesized program의 quality를 향상시키기위해 wake-sleep library learning과 DreamCoder를 제안

Wake-Sleep Library Learning


[paper] ShapeMOD: Macro Operation Discovery for 3D Shape Programs

1. ShapeMOD Algorithm

ShapeMOD의 목표는 프로그램에 사용되는 DSL(Domain-Specific Language) 함수 라이브러리를 더 적은 parameter로 만들어 새로운 라이브러리를 반환하는 것이다.

 

extraneous degrees of freedom(외부 자유도)에 해당하는 parameter를 없애야하는데 그 이유는 예를 들어 table의 각 다리가 모두 독립적으로 자유도를 같게 되면 치수가 제각각이 되거나 믿을 수 없는 output이 되기 때문이다. 동시에 shape manipulation을 위해 필요한 자유도는 없애지않도록 라이브러리의 함수 개수를 적게 만든다.

 

  • Proposal Phase: 비슷한 program의 cluster를 찾고 이 cluster들을 macro로 사용
  • Integration Phase: macro의 ranked list를 통해 objective function이 나아질때마다 Library에 추가

2. Discovered Macros

  • macro(top-middle)를 사용하여 free parameter의 개수를 줄임
  • macro를 사용하는 것(green)과 사용하지 않는(red) program에서 parameter를 수정(down arrows)하는 모습을 보여줌
  • macro를 사용한 세 번째 column은 모든 table 다리가 같은 size를 갖는 것에 비해 macro를 사용하지 않는 네 번째 column은 그렇지 못함

 

[reference]

https://rkjones4.github.io/shapeMOD.html

728x90