juuuding

[Advanced Learning Algorithms] Neural network training - Multi-label Classification 본문

인공지능/코세라 머신러닝 특화과정

[Advanced Learning Algorithms] Neural network training - Multi-label Classification

jiuuu 2023. 12. 6. 00:33

 Classification with multiple outputs

 

[Multi-label Classification]

  우리가 판별해야 할 물체가 여러개 있다고 가정하자. 예를 들어 아래와 같이 사진에서 car, bus, pedestrian이 있는지 판별해야한다고 가정하자. 이러한 문제를 해결하는 방법 중 간단한 방법은 완전히 다른 머신러닝 문제로 해결하는 것이다. 예를 들어 nn1은 car을 감지, nn2는 bus 감지, nn3는 pedestrian 감지를 하는 것이다. 하지만 이는 좋지 않은 방법이다. 

 

 

bad

 

 따라서 이러한 문제를 다음과 같이 하나의 neural network 결과로 나오게끔 해결해 볼 것이다. 이것을 multi-label classification이라고 하며 이는 multiclass classification과는 완전히 다르므로 헷갈리지 않아야 한다. 

 

 

 하나의 neural network에서 3개의 결과가 나오도록 output layer에 3개의 unit을 사용하고 각 unit은 sigmoid activation, 즉 결과 값이 0/1(없다/있다)로만 나올 수 있게 설정해주어야 한다. 이렇게 neural network를 생성해주면 하나의 neural network로 한 사진에서 여러 label의 존재 유무를 한 결과로 낼 수 있다. 

 

good