서로 다른 정보를 결합하기 위한 Feature-wise transformations
클릭 >> Hello, world !! (from ShadowEgo)
CLEVR 데이터셋/태스크[1]는 신경망의 멀티모달 인식과 논리적 문제 풀이 능력을 시험하기 위해 제안되었다. 아래 예시 문제와 같이 사진 한 장과 자연어로 쓰여진 질문이 주어지고 주어진 질문에 대한 정답을 찾는 문제이다. 영상에 대한 이해, 자연어에 대한 이해, 그리고 약간의 논리적 사고도 필요한 문제라고 할 수 있다. (그림 1)
이번 포스트에서는 이러한 문제를 풀기 위해 서로 다른 modality (여기에서는 자연어와 이미지)의 결합 관점의 새로운 모델을 제안한 논문을 소개한다 [2]. 이 논문에서는 Feature-wise Linear Modulation (FiLM) 이라는 새로운 특징 결합 구조를 제안하였으며, CLEVR 데이터셋에서 사람 보다 높은 정답률을 보였다. FiLM은 신경망이나 문제의 종류에 상관없이 적용할 수 있는 아주 일반적인 구조로 그 활용도가 높다.
CLEVR 문제에서는 이미지와 자연어의 서로 다른 modality가 존재한다. 두 modality 각각에 대해서는 이미 활발히 연구가 이루어져왔으므로, 각 modality를 따로 분석하는데에는 큰 어려움이 없다. 그러나 CLEVR 문제에서 중요한 것은 두 modality 정보를 어떻게 결합하는가이다. 가장 먼저 떠올릴 수 있는 것은 문장을 RNN 등을 통해 저차원의 특징 벡터로 변환하고, 이와 유사하게 이미지도 CNN을 통해 저차원의 특징 벡터로 변환한 뒤, 이 두 벡터를 결합해서 답을 찾는 또다른 네트워크를 사용하는 것이다. 이것은 CLEVR 문제를 제안한 저자들이 하나의 베이스라인으로 제시한 방법이었고, 네트워크 구조가 효율적이지 못하고 성능 또한 만족스럽지 않았다.
이 논문[2]에서는 서로 다른 feature들을 결합하기 위해서 과거에 사용했던 element-wise product, concatenation 등과는 다른 새로운 방법 – Feature-wise Linear Modulation (FiLM) – 을 제시하였다. FiLM의 기본적인 아이디어는 그림 2에서와 같이 영상으로부터 정답을 찾는 CNN 네트워크와 질문을 해석하는 RNN 네트워크를 활용하여, RNN으로부터 나온 정보를 바탕으로 CNN 중간 레이어들에 대해 feature transformation을 수행하는 것이다.
Feature transformation은 scaling하는 gamma와 bias를 주는 beta로 구성된다. 즉, 중간 feature map에 대해서 일정 값을 곱하고 더해서 feature map에 변화를 주는 것이다. (그림 3) 만약 gamma가 1 이고 beta가 0일 경우 FiLM이 적용되지 않은 네트워크와 완전히 동일하다.
이것은 간단해 보이지만 매우 효과적으로 쓰일 수 있다. 영상과 질문을 각각 처리한 후 feature concatenation을 취하는 CNN+LSTM 기반의 베이스라인은 52.3%의 정답 정확도를 보였는데, ResNet의 4개 단계에 FiLM을 적용할 경우 무려 97.7%의 정확도를 보여주었다. (표 1)
그림 4는 FiLM이 적용된 네트워크가 이미지에서 focus 하는 부분이 질문에 따라 어떻게 달라지는지를 보여준다. 질문에서 지칭하는 물체에 맞게 CNN이 집중적으로 보는 부분이 달라진다.
그림 5는 ResNet의 6개 위치에 FiLM 을 삽입할 경우, 첫 레벨의 FiLM 파라미터(gamma & beta)와 마지막 레벨의 FiLM 파라미터가 어떻게 달라지는가 보여준다. 첫 단계에서는 color와 같은 저차원의 특징에 대해서 파라미터가 유사하게 나타나고, 마지막 단계에서는 equal과 같이 좀 더 고차원의 개념에 대해서 비슷한 파라미터 분포를 나타낸다.
또한, Word embedding 연구에서 보여준 벡터 연산(예: “King” – “Man” + “Woman” = “Queen”)을 FiLM 파라미터들에 대해서도 적용해보았다. 예를 들어 “How many cyan spheres are there?” + “How many brown cubes are there?” − “How many brown spheres are there?” 과 같이 gamma, beta 파라미터를 조작하였을 때 Cyan cube 가 몇개인지에 대한 정답을 얻을 수 있었다.
이 외에도 논문[2]에서는 gamma와 beta의 분포, gamma와 beta의 기여도, FiLM 삽입 위치 변화 등과 관련한 다양한 실험 결과를 설명하고 있다. 또한 Distill.pub에서는 본 논문 결과를 애니메이션으로 시각화한 자료와 다른 conditioning 기법을 비교한 자료를 볼 수 있다[3].
FiLM은 간단하면서도 강력한 conditioning 방법으로, CLEVR와 같은 QA 문제뿐만 아니라 분류, 생성, Segmentation 등과 같은 다양한 문제에 적용할 수 있는 장치로 그 활용도가 높을 것이다.
References
- [1] Johnson, J., Hariharan, B., van der Maaten, L., Fei-Fei, L., Lawrence Zitnick, C., & Girshick, R. (2017). Clevr: A diagnostic dataset for compositional language and elementary visual reasoning. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 2901-2910).
- [2] Perez, E., Strub, F., de Vries, H., Dumoulin, V., & Courville, A. C. (2018, January). FiLM: Visual Reasoning with a General Conditioning Layer. In AAAI.
- [3] Dumoulin, V., Perez, E., Schucher, N., Strub, F., Vries, H. D., Courville, A., & Bengio, Y. (2018). Feature-wise transformations. Distill, 3(7), e11.