서론
지식 증류관련 논문을 읽다보면 Teacher-Student를 같이 학습하는 경우가 있고, Teacher를 먼저 학습하고 Student를 학습하는 경우가 있다.
어떤 경우에는 같이 학습하는지 그리고 어떤 경우에는 선행 학습 후 전이가 이뤄지는지 고민하여 찾아본 결과에 대해 작성한다.
목차
- 방법 A: Teacher 선행 학습 후 Student Distillation
- 방법 B: Teacher와 Student 동시 학습 Distillation
방법 A: Teacher 선행 학습 후 Student Distillation
- 이 방식은 Teacher가 처음부터 정답을 알고 있지 않고, 스스로 학습을 통해 좋은 정책을 찾아야 하는 경우에 적합하다.
- 예를 들어 RL 기반 네비게이션 Teacher는 학습 초반에 무작위에 가까운 행동을 하며, 충돌하거나 잘못된 방향으로 이동할 수 있다. 이 상태에서 Student가 동시에 Teacher를 모방하면, Student는 좋은 행동이 아니라 미숙한 Teacher의 잘못된 행동까지 따라 배우게 된다. 따라서 Teacher가 먼저 expert policy로 수렴한 후 Student를 학습시키는 것이 안정적이다.
- 또한 일반적인 Knowledge Distillation은 모델 압축을 목적으로 하는 경우가 많다. 이때 거대한 Teacher 모델의 지식을 작은 Student 모델에 전달하므로, 두 모델의 구조가 다른 경우가 많다. 이 경우 동시에 학습시키면서 전이하기가 어렵다.
- 따라서 방법 A는 Teacher가 먼저 신뢰할 수 있는 target을 만들어야 하거나, Teacher와 Student의 구조가 달라 가중치 공유가 어려운 경우에 적합하다. 대표적으로 RL로 학습한 navigation Teacher의 행동을 vision 기반 Student에게 옮기는 경우가 이에 해당한다.
방법 B: Teacher와 Student 동시 학습 Distillation
- 이 방법은 Teacher가 완전히 별개의 모델이 아니라, Student와 일부 구조를 공유할 수 있을 때 적합하다. 또한 Teacher가 학습 초반부터 어느 정도 의미 있는 target을 줄 수 있어야 학습이 안정적이다. 예를 들어 MonoLift의 Teacher는 expert demonstration이라는 정답을 바탕으로 imitation learning을 수행하므로, RL Teacher처럼 처음부터 무작위로 탐색하는 상황이 아니다.
- 반면 Teacher를 먼저 독립적으로 학습시키면, Teacher가 Student는 볼 수 없는 feature에 의존하여 target을 만들 수 있다. 예를 들어 Teacher가 depth 정보에만 강하게 의존해 판단하면, RGB만 사용하는 Student는 그 판단 근거를 직접 볼 수 없기 때문에 Teacher의 target을 따라가기 어렵다.
- 그러나 동시 학습은 Teacher가 추가 정보를 활용하더라도 Student와 공유된 표현 공간을 함께 사용한다. 따라서 Teacher의 지식이 Student가 볼 수 없는 정보만으로 형성되는 것이 아니라, Student가 볼 수 있는 RGB 단서와 연결된 형태로 전달된다. 즉, Student가 따라갈 수 있는 범위 안에서 지식 전달이 이루어진다.
- 따라서 방법 B는 단순한 모델 압축보다는 privileged information을 Student의 표현 안에 녹이는 목적에 적합하다.
Comment