Deep Learning & Machine Learning/Computer Vision

[코드없는 프로그래밍] 딥러닝 CNN

cho.nii 2024. 4. 15. 09:53

CNN(Convolutional Neural Network) 

  • FC(Fully Connected Layer)는 이미지상에 공간정보 없이 하나의 벡터로만 보고 그 픽셀 값들을 NN에 넣는다.
    • 이러한 방식은, 학습 데이터가 충분히 많으면 트레이닝은 이루어지지만 비효율적일수밖에 없음
    • 이미지는 그 데이터 자체로 눈의 위치, 코의 위치 등 공간적인 의미를 가지지만 이를 무시하기 때문 
  • 따라서, Convolution이라는 연산을 Neural Network와 조합함으로써 추출이 가능하다.
    • 이러면 수달 이미지를 수달로 인식하고, 호랑이 이미지를 호랑이로 잘 인식할 수 있게 된다.

 

 

Convolution ? 

 

 

  • 덧셈, 뺄셈, 곱하기와 같은 아주 간단한 연산이다. - 이미지(흰색), 연산(녹색), 커널(분홍색)
    • 이미지와 커널의 연산(예시 그림에서는 곱셈)을 수행하는 것이 Convolution 

 

Convolution이 이미지 분야에서 쓰이는 이유? 

  • 이미지에서 특징을 뽑아내기 용이하기 때문이다. 
  • Convolution을 적용함으로써 간단한 특징들이 강조된 아웃풋 이미지를 구할 수 있음
    • 이 이미지에 또 Convolution을 적용함으로써 조금씩 더 복잡한 특징을 추출할 수 있다.
    • 즉, Low level feature에서 점차 High-level feature로 업그레이드되면서 복잡한 특징을 추출하게 된다. 

 

유튜브 강의

https://www.youtube.com/watch?v=otRrXsJoJ28&list=PLDV-cCQnUlIaIFHQwuXRRSL833cRAS76M&index=3