본문 바로가기
Python/Computer Vision

[파이썬, Python] Computer Vision - 분류(Classification), CNN과 CNN의 변천

by coding-choonsik 2023. 9. 4.
728x90
반응형
SMALL

1. Classification

  • 분류는 기계 학습과 통계학에서 시스템이 일련의 특성을 기반으로 미리 정의된 여러 범주 또는 클래스 중 하나에 주어진 입력을 할당 하도록 훈련되는 과정
  • 입력 기능과 클래스 레이블 사이에 학습된 관계를 기반으로 보이지 않는 샘플의 클래스 레이블을 예측하는 것
  • Binary Classification
    • 이진분류: 데이터 요소를 두 클래스 중 하나로 분류
    • 스팸 vs 스팸이 아닌 메일을 분류
    • 질병 vs 질병 진단이 아님
  • Multiclass Classification
    • 다중 클래스 분류: 데이터 요소를 ㅇ러 클래스 중 하나로 구분
    • 필기 숫자 인식(0 ~ 9)
    • 이미지에서 개체 인식(고양이, 강아지, 자동차...)
  • Multi-label Classification
    • 다중 레이블 분류: 단일 데이터 요소가 여러 클래스에 속할 수 있음
    • 이미지 주석(개: 포유동물, 길들여진 동물.. 둘 다 일 수 있음)

 


2. CNN(Convolutional Neural Network)

출처: https://www.researchgate.net/figure/Structure-of-the-convolutional-neural-network_fig3_323227084

 

  • 이미지 및 비디오 인식 작업을 위해 설계된 딥러닝 신경망의 한 유형으로, 컨볼루션 계층을 사용하여 입력 데이터에서 특징을 추출하고, 계층을 풀링하고, 공간 차원을 줄이고 비선형 활성화 함수를 사용하여 비선형성을 도입하고, 분류를 위해 완전히 연결된 계층을 사용
  • Convolutional Layers
    • 입력 데이터에 필터 집합을 적용하여특징을 추출하는 계층
    • 필터는 입력 데이터에서 가장자리, 모양, 기능을 감지하는데 사용
  • Pooling Layers
    • 컨볼루션 계층 이후에는 출력이 풀링 계층을 통과하는 경우가 많음
    • 중요한 특징을 유지하면서 데이터의 공간 차원을 줄임
    • 일반적으로 필드 내의 최대값이 선택되어 출력으로 사용되는 최대 풀링을 사용
  • Non-Linearity
    • 풀링 계층의 출력값이 ReLU와 같은 비선형 활성화 함수를 통해 전달되어 네트워크 비선형성이 도입
    • 입력값과 출력값 간의 복잡한 비선형 관계를 학습
  • Fully Connected Layers
    • 컨벌루션 계층과 풀링 계층 후에 출력은 일반적으로 벡터로 평면화되고 하나 이상의 완전 연결 계층을 통과
    • FC 계층은 이전 계층의 출력이 다음 계층에 대한 입력으로 사용되는 전통적인 신경망 계층으로 작동

 

 

🤔 CNN 신경망 자세히 알아보기

 

[파이썬, Python] 딥러닝 - 1️⃣ CNN(Convolutional Neural Network

1. CNN(Convolutional Neural Network) 합성곱 인공 신경망 전통적인 뉴럴 네트워크에 컨볼루셔널 레이어를 붙인 형태 컨볼루셔널 레이어를 통해 입력 받은 이미지에 대한 특징(Featuer)을 추출하게 되고 추

coding-yesung.tistory.com

 


3. Classification 모델 변천사

 

3-1. LeNet-5

  • 1998년 Yann LeCun 등에 의해 소개된 CNN 아키텍처
  • 이미지 분류 및 인식 작업을 위해 설계된 최초의 딥러닝 모델 중 하나
  • 컴퓨터 비전 분야의 선구자였으며, 여전히 널리 사용되고 있음
  • 새로운 아키텍처를 비교하기 위한 벤치 마크로 사용됨

 

3-2. AlexNet

  • 2012년 Alex에 의해 소개된 CNN 아키텍처
  • 이미지 분류 및 인식에 대한 대규모 벤치마크인 ImageNet 데이터셋에서 상당한 성능 향상알 달성한 최초의 딥러닝 모델 중 하나
  • 딥 러닝 및 컴퓨터 비전 분야에서 획기적인 발전을 이루게함

 

3-3. VGGNet

  • 2014년 Karen Simonyan과 Andrew Zissername이 도입한 CNN 아키텍처
  • Convolutional 및 max pooling layer의 여러 스택과 여러 개의 pully connected layers로 구성된 간단하고 균일한 아키텍처로 유명
  • 쉽게 구현이 가능하고 빠르게 학습할 수 있음
  • 대규모 데이터셋에서 학습되므로 다른 컴퓨터 비전 작업을 위한 사전 학습된 모델로 사용할 수 있는 전이 학습에 적합

 

 

3-4. InceptionNet(GoogLeNet)

  • GoogleNet으로도 알려진 CNN 아키텍처 모델
  • Google에서 개발했으며 아키텍처 핵심 구성 요소인 Inception 모듈의 이름을 따서 명명됨
  • 필터 크기와 풀링 연산이 서로 다른 여러 병렬 convolutional branch를 사용하여 입력 이미지에서 특징을 추출하기 때문에 다른 CNN과 비교할 때 독특함
  • 여러 스케일로 정보를 캡처하고 특징 간의 복잡한 관계를 학습할 수 있음

 

3-5. ResNet

  • 2015년에 도입된 CNN 아키텍처
  • 심층 아키텍처와 심층 신경망에서 일반적인 문제인 소실 그라디언트 문제를 해결하는 능력으로 유명
  • 네트워크가 기본 매핑 자체가 아니라 입력값과 출력값 간의 residual mapping을 학습하는 residual learning이라는 개념을 기반으로 기울기가 사라지지 않고 훨씬 더 깊은 아키텍처를 학습할 수 있음
  • 다양한 컴퓨터 비전 작업에서 최첨단 성능을 달성했으며, 많은 딥 러닝 애플리케이션에서 여전히 인기 있는 모델
  • 전이 학습에 널리 사용되며 많은 컴퓨터 비전 문제의 좋은 출발점이 됨

 

 

3-6. ResNext

  • 2016년 도입된 CNN 아키텍처
  • ResNet 아키텍처의 확장이며, 네트워크 용량과 ㄷ양성을 높여 성능을 향상
  • 네트워크의 병렬 경로 수를 늘려 네트워크가 기능 간의 더 복잡한 관계를 학습할 수 있도록 함

 

3-7. MobileNet

  • 2017년에 도입된 CNN 아키텍처
  • 계산이 효율적으로 설계되어 계산 리소스가 제한된 모바일 및 임베디드 장치에 배포하는데 적합
  • 효율적인 깊이별 분리 가능한 convolution을 사용하여 네트워크의 매개변수 수를 줄임
  • 크기가 작고 추론 시간이 빠름
  • 다른 컴퓨터 비전 작업을 위한 사전 훈련된 모델로 사용할 수 있는 전이 학습에 사용

 

3-8. DenseNet

  • 2017년 도입된 CNN 아키텍처
  • 네트워크의 각 계층이 feed-forward 방식으로 다른 모든 계층에 연결되는 조밀한 연결로 유명
  • 각 계층을 네트워크의 다른 모든 계층에 연결하여 기능 재사용을 장려하고 네트워크의 파라미터 수를 줄이는 형태
  • 특징 간의 더 복잡한 관계를 학습할 수 있으며, 기존 CNN에 비해 파라미터 수가 훨씬 적기 때문에 과적합 위험을 줄일 수 있음
  • 이미지 분류 및 다양한 컴퓨터 비전 작업에서 최첨단 성능을 달성

 

3-9. ShuffleNet

  • 2018년 도입된 CNN 아키텍처
  • 계산 효율적으로 설계되어 게산 리소스가 제한된 모바일 및 임베디드 장치에 배포하는데 적합
  • feature reordering의 한 유형인 채널 셔플링을 사용하여 네트워크의 계층 정보 흐름을 개선
  • 채널 셔플링은 네트워크가 특징 간의 보다 복잡한 관계를 학습할 수 있도록 특징 맵의 채널을 재정렬
  • 크기가 작고 추론 시간이 빠름

 

3-10. SE-Net

  • 2018년 도입된 CNN 아키텍처
  • 입력의 전역 정보를 기반으로 네트워크의 특징 맵을 동적으로 재보정하여 CNN의 성능을 향상
  • 주 매커니즘의 한 유형인 squeeze-and-excitation block을 사용하여 네트워크의 특징맵에 가중치를 부여
  • 먼저 특징 맵의 공간 차원을 줄여 전역 정보 벡터를 계산한 다음에 이 벡터를 사용하여 가장 중요한 특징을 강조하는 방식으로 가중치를 부여
  • 이미지 분류 및 다양한 컴퓨터 비전 작업에서 최첨단 성능을 달성

 

 

3-11. EfficientNet

  • 2019년 도입된 CNN 아키텍처
  • 컴퓨터 비전 작업에서 높은 정확도를 유지하면서 계산 효율적으로 설계됨
  • 네트워크의 크기와 깊이를 쉽게 조정하여 다양한 입력 크기와 계산 제약 조건을 처리할 수 있는 확장 가능한 아키텍처를 사용함
  • 사전 정의된 스케일링 계수셋을 기반으로 네트워크의 차원을 조정하는 복합 스케일링 방법을 기반으로 정확도와 계산 효율성 간의 균형을 달성함
  • 이미지 분류 및 다양한 컴퓨터 비전 작업에서 최첨단 성능을 달성

 

 

728x90
반응형
LIST