"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > ResNet 대 EfficientNet 대 VGG 대 NN

ResNet 대 EfficientNet 대 VGG 대 NN

2024-08-31에 게시됨
검색:251

학생 시절 저는 우리 대학의 비효율적인 분실물 보관 시스템으로 인해 발생하는 좌절감을 직접 목격했습니다. 발견된 각 항목에 대한 개별 이메일에 의존하는 현재 프로세스는 종종 분실된 소지품과 소유자 사이의 지연 및 연결 끊김으로 이어집니다.

저와 동료 학생들을 위해 이러한 경험을 향상시키고자 하는 열망에 힘입어 저는 분실물 보관 시스템을 혁신하는 딥 러닝의 잠재력을 탐구하는 프로젝트에 착수했습니다. 이 블로그 게시물에서는 분실물 식별 및 분류를 자동화하기 위해 사전 학습된 모델(ResNet, EfficientNet, VGG 및 NasNet)을 평가하는 여정을 공유하겠습니다.

비교 분석을 통해 우리 시스템에 통합하기에 가장 적합한 모델을 찾아 궁극적으로 캠퍼스 내 모든 사람을 위한 더 빠르고 정확하며 사용자 친화적인 분실물 보관 경험을 제공하는 것이 목표입니다.

레스넷

Inception-ResNet V2는 Keras에서 사용할 수 있는 강력한 컨벌루션 신경망 아키텍처로, Inception 아키텍처의 장점과 ResNet의 잔여 연결을 결합합니다. 이 하이브리드 모델은 계산 효율성을 유지하면서 이미지 분류 작업에서 높은 정확도를 달성하는 것을 목표로 합니다.

교육 데이터 세트: ImageNet
이미지 형식: 299 x 299

전처리 기능

def readyForResNet(fileName):
    pic = load_img(fileName, target_size=(299, 299))
    pic_array = img_to_array(pic)
    expanded = np.expand_dims(pic_array, axis=0)
    return preprocess_input_resnet(expanded)

예측

data1 = readyForResNet(test_file)
prediction = inception_model_resnet.predict(data1)
res1 = decode_predictions_resnet(prediction, top=2)

VGG(시각적 기하학 그룹)

VGG(Visual Geometry Group)는 이미지 분류 작업의 단순성과 효율성으로 잘 알려진 심층 컨벌루션 신경망 아키텍처 제품군입니다. 이러한 모델, 특히 VGG16 및 VGG19는 2014년 ILSVRC(ImageNet Large Scale Visual Recognition Challenge)에서 뛰어난 성능을 발휘하여 인기를 얻었습니다.

교육 데이터 세트: ImageNet
이미지 형식: 224 x 224

전처리 기능

def readyForVGG(fileName):
    pic = load_img(fileName, target_size=(224, 224))
    pic_array = img_to_array(pic)
    expanded = np.expand_dims(pic_array, axis=0)
    return preprocess_input_vgg19(expanded)

예측

data2 = readyForVGG(test_file)
prediction = inception_model_vgg19.predict(data2)
res2 = decode_predictions_vgg19(prediction, top=2)

EfficientNet

EfficientNet은 이전 모델보다 훨씬 작고 빠르면서도 이미지 분류 작업에서 최고 수준의 정확도를 달성하는 컨볼루셔널 신경망 아키텍처 제품군입니다. 이러한 효율성은 네트워크 깊이, 너비 및 해상도의 균형을 맞추는 새로운 복합 확장 방법을 통해 달성됩니다.

교육 데이터 세트: ImageNet
이미지 형식: 480 x 480

전처리 기능

def readyForEF(fileName):
    pic = load_img(fileName, target_size=(480, 480))
    pic_array = img_to_array(pic)
    expanded = np.expand_dims(pic_array, axis=0)
    return preprocess_input_EF(expanded)

예측

data3 = readyForEF(test_file)
prediction = inception_model_EF.predict(data3)
res3 = decode_predictions_EF(prediction, top=2)

나스넷

NasNet(Neural Architecture Search Network)은 자동화된 검색 프로세스를 통해 신경망 자체의 아키텍처를 발견하는 딥 러닝의 획기적인 접근 방식을 나타냅니다. 이 검색 프로세스는 주어진 작업에서 높은 성능을 달성하기 위해 레이어와 연결의 최적 조합을 찾는 것을 목표로 합니다.

교육 데이터 세트: ImageNet
이미지 형식: 224 x 224

전처리 기능

def readyForNN(fileName):
    pic = load_img(fileName, target_size=(224, 224))
    pic_array = img_to_array(pic)
    expanded = np.expand_dims(pic_array, axis=0)
    return preprocess_input_NN(expanded)

예측

data4 = readyForNN(test_file)
prediction = inception_model_NN.predict(data4)
res4 = decode_predictions_NN(prediction, top=2)

발표

정확성

ResNet Vs EfficientNet vs VGG Vs NN

이 표에는 위 모델의 주장된 정확도 점수가 요약되어 있습니다. EfficientNet B7이 가장 높은 정확도를 보였고 NasNet-Large와 Inception-ResNet V2가 그 뒤를 이었습니다. VGG 모델은 정확도가 낮습니다. 내 애플리케이션에는 처리 시간과 정확성 사이의 균형이 잡힌 모델을 선택하고 싶습니다.

시간

ResNet Vs EfficientNet vs VGG Vs NN

보시다시피 EfficientNetB0은 가장 빠른 결과를 제공하지만 정확성을 고려할 때 InceptionResNetV2가 더 나은 패키지입니다.

요약

스마트 분실물 보관 시스템을 위해 InceptionResNetV2를 사용하기로 결정했습니다. EfficientNet B7은 최고 수준의 정확도로 매력적으로 보였지만 계산 요구 사항이 걱정되었습니다. 리소스가 제한되어 있고 실시간 성능이 요구되는 경우가 많은 대학 환경에서는 정확성과 효율성 사이의 균형을 맞추는 것이 중요하다고 느꼈습니다. InceptionResNetV2는 완벽하게 맞는 것처럼 보였습니다. 지나치게 계산 집약적이지 않으면서 강력한 성능을 제공합니다.

게다가 ImageNet에 사전 훈련되어 있다는 사실은 사람들이 잃을 수 있는 다양한 범위의 개체를 처리할 수 있다는 확신을 줍니다. 그리고 Keras에서 작업하는 것이 얼마나 쉬운지 잊지 마세요! 그 덕분에 결정이 더 쉬워졌습니다.

전반적으로 InceptionResNetV2는 내 프로젝트에 정확성, 효율성 및 실용성의 적절한 조합을 제공한다고 믿습니다. 잃어버린 물건을 주인과 다시 합치는 데 이 장치가 어떤 도움을 줄지 기대됩니다!

릴리스 선언문 이 기사는 https://dev.to/saaransh_gupta_1903/resnet-vs-efficientnet-vs-vgg-vs-nn-2hf5?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]에 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3