RoBoLoG

CPU에서 사용 가능한 CNN 모델들 본문

Study/Artificial Intelligence

CPU에서 사용 가능한 CNN 모델들

SKJun 2024. 1. 22. 11:55

CPU에서 사용 가능한 CNN 모델들

 

실시간으로 CPU에서 동작할 수 있는 Convolutional Neural Network (CNN) 분류 모델은 주로 경량화되고 효율적인 모델들입니다. 이러한 모델들은 적은 계산 리소스로도 높은 성능을 제공하며, 실시간 애플리케이션과 모바일 또는 임베디드 시스템에서 널리 사용됩니다. 여기에는 다음과 같은 모델들이 포함됩니다.


1. MobileNet:

  • MobileNet은 모바일 및 임베디드 디바이스용으로 설계된 경량화 모델 시리즈입니다.
  • 이 모델은 계산량과 모델 크기를 줄이기 위해 깊이별 분리 합성곱(depthwise separable convolutions)을 활용합니다.
  • 깊이별 분리 합성곱은 표준 합성곱을 깊이 분리(convolution)와 점 분리(pointwise convolution) 두 부분으로 나누어 파라미터 수와 계산량을 감소시킵니다.
  • MobileNet은 효율적이며 리소스 제한적인 디바이스에 적합합니다.

 

2. SqueezeNet:

  • SqueezeNet은 모델 크기를 유지하면서 높은 정확도를 달성하는 모델입니다.
  • AlexNet과 유사한 정확도를 달성하지만 훨씬 적은 파라미터를 사용합니다.
  • SqueezeNet은 "Fire" 모듈을 사용하는데, 이 모듈은 입력 채널 수를 줄이기 위한 스퀴즈 레이어(1x1 합성곱)와 특징을 캡처하기 위한 확장 레이어(1x1 및 3x3 합성곱)로 구성됩니다.
  • 이 설계는 모델 크기를 최소화하면서 성능을 유지합니다.

 

3. ShuffleNet:

  • ShuffleNet은 그룹 합성곱(group convolutions)과 채널 셔플링(channel shuffling) 기술을 활용하여 효율성을 높이는 모델입니다.
  • 그룹 합성곱은 입력 채널을 그룹으로 나누어 계산 복잡성을 줄입니다.
  • 채널 셔플링은 정보가 그룹 간에 효율적으로 흐를 수 있도록 돕는데, 이로써 네트워크 성능을 유지합니다.
  • ShuffleNet은 고성능 모델과 모바일 디바이스에 적합한 효율성을 제공하여 다양한 응용 프로그램에 효과적으로 사용됩니다.

 

4. EfficientNet:

  • EfficientNet은 다양한 크기의 네트워크를 효율적으로 생성하기 위해 스케일링 방법을 사용하는 모델 패밀리입니다.
  • 이 모델은 깊이, 너비 및 해상도를 조절하여 모델의 성능과 크기를 균형있게 유지합니다.
  • 복합 스케일링 방법을 사용하여 사용 가능한 계산 리소스에 따라 모델 크기를 조정할 수 있습니다.
  • EfficientNet 아키텍처는 리소스를 효율적으로 활용하면서 최신 성능을 달성하는 데 알려져 있습니다.

 

5. MobileNetV2:

  • MobileNetV2는 원래 MobileNet 모델의 진화 버전입니다.
  • 역잔차(inverted residuals) 구조와 선형 병목(linear bottlenecks)을 도입하여 효율성을 향상시켰습니다.
  • 역잔차 구조는 가벼운 깊이별 합성곱을 역잔차 간에 배치하여 효과적으로 특징을 캡처합니다.
  • 선형 병목은 병목 부분의 비선형성을 최소화하여 정보 흐름을 개선합니다.
  • MobileNetV2는 이전 모델에 비해 효율성과 성능을 더욱 향상시켰습니다.

 

이러한 모델들은 각각 특유의 방식으로 경량화되어 있으며, CPU에서 실시간으로 작동할 수 있도록 설계되었습니다. 하지만 실제 성능은 사용되는 CPU의 성능, 모델의 크기, 입력 데이터의 해상도 등에 따라 달라질 수 있습니다.

728x90
반응형