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

-
Visual Reasoning의 중요성 및 어려움
- VQA task에서 여러 단계를 거치는 복잡한 추론(CLEVR datasets)에서 어려움 존재.
- 종종 데이터셋의 specific한 biases만을 이용하는 경향 존재, 따라서 reasoning 뒤에 숨겨진 복잡한 underlying structure를 제대로 포착하지 못함.
-
FiLM 제안
- 일반적인 목적의 conditioning 방법 제안
- Question과 같은 입력된 conditioning 정보를 바탕으로 intermediate features에 대한 간단한 affine transformation을 거쳐서 (선형 변환) 신경망 계산에 영향을 준다.
→ 이미지 스타일 변환, 음성 인식 등 다양한 분야에서 성공을 거둔 Conditional Normalization의 일반화
2. Method

CNN 구조에서 단일 FiLM layer가 적용되는 과정을 설명한 그림
2-1 notation
-
Fi,c: 신경망의 활성화 값 (i번째 입력 데이터의 c번째 feature map에 해당하는 값)
-
γi,c: FiLM layer에 의해 학습되는 scaling parameter (i번째 입력 데이터의 c번째 feature map에 대한 스케일링 계수 역할)

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

-
feature-wise affine transformation

여기서 f, h 함수는 신경망과 같은 임의의 함수
2-2 FiLM Generator / FiLM-ed Network

-
FiLM Generator
- Conditional Normalization (조건부 정규화, CN)
- 조건부 정규화는 Batch Normalization 등과 같은 정규화 레이어에 특정 컨디셔닝 정보(예: 스타일 정보, 클래스 정보)를 활용하는 방식
- 일반적으로 정규화 레이어는 피처의 평균과 분산을 0과 1로 맞춘 뒤, 학습 가능한 스케일 γ과 시프트 β 파라미터를 적용하여 피처의 분포를 조절
- 따라서 조건부 정규화는 이 γ와 β 파라미터를 고정된 값이 아닌, 컨디셔닝 정보의 함수로 학습시키는 방식
γ ,β를 출력하는 함수를 FILM Generator라고 칭함
- 이 두 파라미터는 GRU network를 포함한 언어 파이프라인을 통해 생성
- 여기서 GRU는 질문 전체의 의미를 함축하는 question embedding을 추출하는데, 이것이 바로 GRU의 최종 hidden state라고 언급.
💡
한 줄 정리
-
FiLM Generator는 CN에서 매개변수를 만드는 부분과 같다
-
FiLM은 그 매개변수를 이용한 선형 변환을 중간 피처에 적용하는 방식
-
CN은 그 FiLM 변환의 한 형태(정규화된 피처에 적용)
-
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)의 활성화를 집중시키는 방식으로 작동

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

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

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

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