FiLM: Visual Reasoning with a General Conditioning Layer (2017.12 CVPR)

구자협·2025년 7월 2일
post-thumbnail

citation이 2600회가 넘는 최근 computer vision 뿐만 아니라 다양한 generalization한 딥러닝 논문에서도 인용되기에 근간이 되는 paper로 보일 수 있으며,
현재 한국과학기술연구원 인턴과정 중 프로젝트에서 공휴일 tagging 부분에 대해서, 이 FiLM layer를 접목시켜 공휴일 정보를 더 잘 활용할 수 있도록 하기 위해 본 paper를 리뷰하며 FiLM layer의 원리를 파악하고자 한다.

💡 핵심 정리

FiLM은 Conditional Normalization (조건부 정규화, CN)의 개념을 일반화한 것

여기서 조건부 정규화는

FiLM(Feature-wise Linear Modulation) layer는 conditioning information 기반으로 신경망의 중간 피처에 feature-wise affine transformation을 적용하여 신경망의 계산에 영향

1. Introduction

  1. Visual Reasoning의 중요성 및 어려움

    1. VQA task에서 여러 단계를 거치는 복잡한 추론(CLEVR datasets)에서 어려움 존재.
    2. 종종 데이터셋의 specific한 biases만을 이용하는 경향 존재, 따라서 reasoning 뒤에 숨겨진 복잡한 underlying structure를 제대로 포착하지 못함.
  2. FiLM 제안

    1. 일반적인 목적의 conditioning 방법 제안
      1. Question과 같은 입력된 conditioning 정보를 바탕으로 intermediate features에 대한 간단한 affine transformation을 거쳐서 (선형 변환) 신경망 계산에 영향을 준다.

    → 이미지 스타일 변환, 음성 인식 등 다양한 분야에서 성공을 거둔 Conditional Normalization의 일반화


2. Method

CNN 구조에서 단일 FiLM layer가 적용되는 과정을 설명한 그림

2-1 notation

  1. Fi,cF_{i,c}: 신경망의 활성화 값 (ii번째 입력 데이터의 cc번째 feature map에 해당하는 값)

  2. γi,c\gamma_{i,c}: FiLM layer에 의해 학습되는 scaling parameter (ii번째 입력 데이터의 cc번째 feature map에 대한 스케일링 계수 역할)

  1. βi,c\beta_{i,c}: FiLM layer에 의해 학습되는 shifting or bias parameter (각 요소가 해당하는 피처 맵에 addition됨)

  2. feature-wise affine transformation

    여기서 f, h 함수는 신경망과 같은 임의의 함수

2-2 FiLM Generator / FiLM-ed Network

  1. FiLM Generator

    • Conditional Normalization (조건부 정규화, CN)
      • 조건부 정규화는 Batch Normalization 등과 같은 정규화 레이어에 특정 컨디셔닝 정보(예: 스타일 정보, 클래스 정보)를 활용하는 방식
      • 일반적으로 정규화 레이어는 피처의 평균과 분산을 0과 1로 맞춘 뒤, 학습 가능한 스케일 γ\gamma과 시프트 β\beta 파라미터를 적용하여 피처의 분포를 조절
      • 따라서 조건부 정규화는 이 γ\gammaβ\beta 파라미터를 고정된 값이 아닌, 컨디셔닝 정보의 함수로 학습시키는 방식

    γ ,β\gamma \ , \beta를 출력하는 함수를 FILM Generator라고 칭함

    • 이 두 파라미터는 GRU network를 포함한 언어 파이프라인을 통해 생성
    • 여기서 GRU는 질문 전체의 의미를 함축하는 question embedding을 추출하는데, 이것이 바로 GRU의 최종 hidden state라고 언급.
    💡 한 줄 정리
    1. FiLM Generator는 CN에서 매개변수를 만드는 부분과 같다

    2. FiLM은 그 매개변수를 이용한 선형 변환을 중간 피처에 적용하는 방식

    3. CN은 그 FiLM 변환의 한 형태(정규화된 피처에 적용)

  2. FiLM-ed Network

    FiLM 레이어가 적용되는 신경망을 Feature-wise Linearly Modulated network, 즉 FiLM-ed network라고 함

  • FiLM 레이어는 FiLM Generator가 타겟 네트워크의 피처 맵을 스케일링(크게/작게), 음수로 만들기(negating), 비활성화(shutting off), 선택적 임계값 적용(ReLU 뒤에 올 경우) 등 다양한 방식으로 조작 가능
  • 각 피처 맵은 독립적으로 조건화하여 FiLM Generator 활성화 값을 세밀하게 제어 가능
  • 입력: 224x224 크기로 조정된 이미지.
  • 초기 피처 추출
    스크래치부터 학습된 CNN을 사용하거나,
    ImageNet 데이터셋 (ImageNet Large Scale Visual Recognition Challenge)으로 사전 학습된 Deep Residual Learning for Image Recognition의 ResNet-101 conv4 레이어를 고정된 피처 추출기로 사용
    → 이를 통해 128개의 14x14 이미지 피처 맵을 추출
  • 공간 정보 통합
    • 이미지 피처에 상대적인 x, y 공간 위치(스케일 범위 -1~1)를 나타내는 두 개의 좌표 피처 맵 concatenate.
      • 이는 각 ResBlock 입력 및 최종 분류기의 입력에도 사용되어 공간 추론 도움
  • 주요 처리
    • 여러 개의 (모델에서 4개 사용) FiLM이 적용된 Residual Blocks (ResBlocks)로 이미지 피처 처리
    • 각 FiLM이 적용된 ResBlock은 1x1 Convolution으로 시작하여 3x3 Convolution으로 이어지는 아키텍처를 가짐
    • 중요: FiLM 레이어 바로 앞에 오는 Batch Normalization 레이어의 파라미터는 끔
      • FiLM 레이어의 역할과 중복되는 부분을 피하고, 질문 정보를 통한 조절(modulation) 역할을 FiLM 레이어가 명확하게 수행하도록 하기 위함
  • 최종 분류기
    • 1x1 Convolution을 통해 512개의 피처 맵으로 듬
    • 글로벌 맥스 풀링(global max-pooling)을 수행
    • 1024개의 히든 유닛을 가진 두 레이어 MLP(Multi-Layer Perceptron)를 사용
    • 최종 답변에 대한 Softmax 분포를 출력

Conditional Normalization에 대한 related works 존재
자세한 내용은 생략

4. Experiments

4-1 results

  • 컬럼 설명
    • Model: 사용된 모델의 이름
    • Overall: 전체 질문에 대한 정답률
    • Count: 이미지 속 객체의 수를 세는 질문에 대한 정답률
    • Exist: 특정 속성을 가진 객체가 존재하는지 묻는 질문에 대한 정답률
    • Compare Numbers: 두 그룹의 객체 수를 비교하는 질문에 대한 정답률
    • Query Attribute: 특정 객체의 속성(색상, 모양 등)을 묻는 질문에 대한 정답률
    • Compare Attribute: 두 객체의 속성을 비교하는 질문에 대한 정답률
  • 결론
    • CLEVR 데이터셋과 같이 구조화되고 다단계적인 추론이 필요한 작업에서 매우 효과적이며, 이전의 명시적으로 추론을 모델링하거나 추가 감독 신호를 사용한 모델보다 우수한 성능

4-2 What Do FiLM Layers Learn?

  • 활성화 시각화 (Activation Visualizations)
    • FiLM은 질문과 관련된 객체나 영역에 해당하는 특징 맵(feature map)의 활성화를 집중시키는 방식으로 작동

  • γ\gamma
    • scale : -15~19까지 넓은 값
    • 0값에서 빈도수 가장 많음
      • 이는 FiLM이 질문 정보에 기반하여 특정 피처 맵 전체를 끄거나(shut off) 상당히 억제(suppress)하도록 학습한다는 것을 의미
    • 음수값 36% 존재 이는 ReLU 함수 통과시, γi,cFi,c\gamma_{i,c}F_{i,c}의 부호가 바뀜 / 따라서, γ\gamma값이 양수일 때와 비교했을 때, 값 자체가 현저히 달라질 수 있음
  • β\beta
    • scale: -9~16까지 넓은 값
    • 음수값 76% 존재, β\beta는 활성화 값에 더해지는 shift 값이므로, β\beta가 음수이고 γ가 작거나 0에 가까울 때 활성화 값이 0 이하가 되어 ReLU를 통과하지 못하게 만들 수 있음.
      • 이는 β\beta 역시 어떤 활성화를 ReLU를 통과시킬지 선택하는 데 기여

4-3 Ablations

figure 대체
자세한 내용은 생략

  • γ\gammaβ\beta에 가우시안 노이즈를 추가했을 때 CLEVR 데이터셋에서의 정확도 변화를 보여주는 그래프

  • ResBlock 1-4에서 FiLM layer를 제거했을 때 Overall 성능이 현저히 낮아지는 것을 확인할 수 있음


5. Conclusion

  1. FiLM의 핵심 역할
    • FiLM은 뉴럴 네트워크의 중간 특징(feature)을 효율적이고 의미있게 조작하여, 질문에 대한 시각적 추론 능력을 크게 향상
  2. 언어와 이미지의 상호작용 강화
    • RNN이 질문을 처리하여 FiLM 레이어를 통해 CNN의 이미지 처리 방식을 조절함으로써, 모델이 이미지에 대한 다양하고 다단계적인 추론 작업을 가능하게 함.
  3. 강력한 일반화 능력
    • FiLM 모델은 아키텍처 변경, 테스트 시점 제거(ablation), FiLM 레이어 자체에 대한 제약 등에도 강건하며, 익숙하지 않거나 더 어려운 데이터에 대해서도 더 잘 일반화하고, 적은 샘플로도 학습하며, 심지어 zero-shot 일반화 능력 보임
  4. Normalization과의 관계 재정의
    • FiLM의 성공이 이전에 가정되었던 것처럼 normalization과 밀접하게 연결되어 있지 않다는 증거를 제시
    • 이는 RNN이나 강화 학습과 같이 normalization이 덜 일반적인 다른 설정에도 FiLM을 적용할 수 있는 가능성을 열어줌
  5. 다양한 분야로의 확장성
    • 시각적 추론 사례를 통해 FiLM의 강점을 입증하며, 이는 FiLM과 유사한 기술들이 다양한 도메인에서 성공을 거두고 있음을 보여주는 광범위한 연구
    • FiLM이 특정 도메인에만 국한되지 않는 다재다능한 접근 방식임을 강조
profile
Time Series Analysis, Artifical Intelligence

0개의 댓글