Inductive Bias란?

Studies/Knowledges / / 2022. 12. 11. 01:40
300x250

 

목차

     

     

    딥러닝에 대해 깊이있게 배우고, 논문을 읽어보다 보니 종종 inductive bias라는 개념이 등장하는데, 확실한 이해를 위해 이 개념을 정리해두려 한다.

    말로만 간단히 설명하다보니 헷갈릴 수 있는데, CNN, RNN, GNN을 다룬 다음 포스팅에서 그림과 함께 이해해보면 의미를 정확히 파악할 수 있을 것이다.

    CNN

    GNN

    RNN

     

     

     

    Inductive Bias란?

     

    Inductive bias의 정의는 학습 주체(컴퓨터)가 본 적 없는 input에 대해 output을 예측할 때 사용하는 가정을 말한다.

    머신러닝의 최종 목표는 generalization, 즉 학습 데이터로 학습시킨 모델이 본 적 없는 데이터에 대해서도 예측(prediction, approximation)을 잘 해내는 것이다. 본 적 없는 상황을 예측하기 위해서는 학습된 가정 이외에 추가적인 가정이 필요한데, 이것이 바로 inductive bias이다.

     

    Inductive bias는 input과 output 간의 관계를 나타내는가에 따라 아래와 같이 크게 두 가지로 나뉜다.

    • Relational Inductive Bias
    • Non-relational Inductive Bias

     

     

     

     

     

     

    Inductive Bias in FCN, CNN, RNN, GNN

     

    Inductive Bias가 대표적인 딥러닝 네트워크에서 어떻게 활용되는지 알아보자.

    각 네트워크의 inductive bias 특성에 따라 그 네트워크가 특정 task에, 특정 data를 다루는 데 왜 특화되어있는지를 알 수 있다.

     

    Fig 1. Comparation of DL Networks

     

    먼저, 가장 기본이 되는 네트워크인 Fully Connected Neural Network (FCN), 쉽게 말해 MLP에서는 보통 inductive bias가 없다(매우 약하다)고 표현한다. 모든 입력 elements가 출력 elements와 연결되어 있어 영향을 주기 때문이다. 

     

     

     

    Inductive Bias in CNN

     

    이미지를 다루는 모델에서는 Convolutional Neural Network(CNN)을 많이 사용한다. CNN이 이미지 관련 task(Classification, Object Detection, Semantic Segmantation 등)에 강점을 보이는 이유는 이미지 데이터의 특성과 관련 있는 inductive bias를 갖기 때문이다.

     

    CNN은 filter(kernel)가 입력 이미지의 일부(locality 개념)를 sliding하면서 연산을 진행한다.

    따라서 locality 및 translation invariance라는 inductive bias를 갖는다.

    • Locality : Image data의 경우, relation이 서로 가까운 값들 사이에 존재한다.
      • Filter(kernel)의 크기는 입력인 이미지의 크기보다 훨씬 작다. 즉, 특정 pixel에 대해 convolution 계산을 할 때, 작은 일부를 계산하게 된다.
    • Spatial(spatial translation) invariance : Input이 바뀌어도 관계가 유지된다.
      • Object detection task를 예를 들어보자. Filter가 이미지 전체에 대해 sliding하면서 같은 parameter를 공유(parameter sharing)하므로, object가 이미지의 어떤 위치에 있던(어떻게  translate되던) 해당 위치에서 convolution 연산 결과 값이 커진다. 따라서 object의 위치를 정상적으로 인지할 수 있게 된다.

     

     

     

    Inductive Bias in RNN

     

    Sequential data를 다루는 모델에서는 Recurrent Neural Network(RNN)을 많이 사용한다. CNN이 공간적인 개념의 indcutive bias를 갖는다면, RNN은 시간적인 개념과 관련된 temporal invariance라는 inductive bias를 갖는다.

    • Sequentiality : sequential data는 입력 token의 순서가 바뀌면 출력이 달라진다. (입력이 처리될 때의 특징)
      • 입력 token은 시간 순서대로(sequentially) 하나씩 처리된다. RNN은 non-i.i.d. data(token 각각이 독립적이지 않음, 즉 단어의 순서가 바뀌면 의미가 달라짐)를 다루는데, 입력 token의 순서를 고려하여 출력과 관련시켜야(relaiton) 할 것이다.
      • 간단한 예를 들면, 문장 내에서 단어의 순서가 바뀌면 당연히 말의 의미도 바뀐다.
      • Bidirectional RNN의 경우 해당 bias는 줄어든다.
    • Temporal(time translation) invariance : 입력이 들어오는 순서가 바뀌어도 RNN의 출력은 바뀌지 않는다. (입력 index의 특징)
      • 토큰을 hidden state로 처리하기 전까지는 이전 토큰에는 관여하지 않는다.
      • 예를 들어, i번째 입력되는 문장을 이해하는 데에는 이전 문장의 의미가 영향이 없다.

     

     

     

    Inductive Bias in GNN

     

    GNN은 graph data를 다루는 딥러닝 네트워크이다. 상반된 개념으로 생각할 수도 있는데, graph data는 permutation equivariance 성질을, GNN은 permutation invariance라는 inductive bias를 갖는다.

    • Permutation Equivariance
      • Graph data에서 node의 순서가 바뀌면 결과 feature(다음 layer의 embedding)도 같은 순서로 바뀌게 된다.
    • Permutation Invariance
      • GNN의 결과, node의 순서가 바뀌어도 graph 구조(node와 node 간의 관계를 나타내는 구조)는 동일하기 때문에 output은 같다.

     

     

     

    728x90
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기