서로 다른 정보를 결합하기 위한 Feature-wise transformations
클릭 >> Hello, world !! (from ShadowEgo)
CLEVR 데이터셋/태스크[1]는 신경망의 멀티모달 인식과 논리적 문제 풀이 능력을 시험하기 위해 제안되었다. 아래 예시 문제와 같이 사진 한 장과 자연어로 쓰여진 질문이 주어지고 주어진 질문에 대한 정답을 찾는 문제이다. 영상에 대한 이해, 자연어에 대한 이해, 그리고 약간의 논리적 사고도 필요한 문제라고 할 수 있다. (그림 1)
![](https://inforience.net/wp-content/uploads/2020/11/1.png)
이번 포스트에서는 이러한 문제를 풀기 위해 서로 다른 modality (여기에서는 자연어와 이미지)의 결합 관점의 새로운 모델을 제안한 논문을 소개한다 [2]. 이 논문에서는 Feature-wise Linear Modulation (FiLM) 이라는 새로운 특징 결합 구조를 제안하였으며, CLEVR 데이터셋에서 사람 보다 높은 정답률을 보였다. FiLM은 신경망이나 문제의 종류에 상관없이 적용할 수 있는 아주 일반적인 구조로 그 활용도가 높다.
CLEVR 문제에서는 이미지와 자연어의 서로 다른 modality가 존재한다. 두 modality 각각에 대해서는 이미 활발히 연구가 이루어져왔으므로, 각 modality를 따로 분석하는데에는 큰 어려움이 없다. 그러나 CLEVR 문제에서 중요한 것은 두 modality 정보를 어떻게 결합하는가이다. 가장 먼저 떠올릴 수 있는 것은 문장을 RNN 등을 통해 저차원의 특징 벡터로 변환하고, 이와 유사하게 이미지도 CNN을 통해 저차원의 특징 벡터로 변환한 뒤, 이 두 벡터를 결합해서 답을 찾는 또다른 네트워크를 사용하는 것이다. 이것은 CLEVR 문제를 제안한 저자들이 하나의 베이스라인으로 제시한 방법이었고, 네트워크 구조가 효율적이지 못하고 성능 또한 만족스럽지 않았다.
![](https://inforience.net/wp-content/uploads/2020/11/2.png)
이 논문[2]에서는 서로 다른 feature들을 결합하기 위해서 과거에 사용했던 element-wise product, concatenation 등과는 다른 새로운 방법 – Feature-wise Linear Modulation (FiLM) – 을 제시하였다. FiLM의 기본적인 아이디어는 그림 2에서와 같이 영상으로부터 정답을 찾는 CNN 네트워크와 질문을 해석하는 RNN 네트워크를 활용하여, RNN으로부터 나온 정보를 바탕으로 CNN 중간 레이어들에 대해 feature transformation을 수행하는 것이다.
![](https://inforience.net/wp-content/uploads/2020/11/3.png)
![](https://inforience.net/wp-content/uploads/2020/11/3-1.png)
Feature transformation은 scaling하는 gamma와 bias를 주는 beta로 구성된다. 즉, 중간 feature map에 대해서 일정 값을 곱하고 더해서 feature map에 변화를 주는 것이다. (그림 3) 만약 gamma가 1 이고 beta가 0일 경우 FiLM이 적용되지 않은 네트워크와 완전히 동일하다.
![](https://inforience.net/wp-content/uploads/2020/11/p1.png)
이것은 간단해 보이지만 매우 효과적으로 쓰일 수 있다. 영상과 질문을 각각 처리한 후 feature concatenation을 취하는 CNN+LSTM 기반의 베이스라인은 52.3%의 정답 정확도를 보였는데, ResNet의 4개 단계에 FiLM을 적용할 경우 무려 97.7%의 정확도를 보여주었다. (표 1)
![](https://inforience.net/wp-content/uploads/2020/11/4-1024x378.png)
그림 4는 FiLM이 적용된 네트워크가 이미지에서 focus 하는 부분이 질문에 따라 어떻게 달라지는지를 보여준다. 질문에서 지칭하는 물체에 맞게 CNN이 집중적으로 보는 부분이 달라진다.
![](https://inforience.net/wp-content/uploads/2020/11/5-1024x362.png)
그림 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.