Main Content

googlenet

(권장되지 않음) GoogLeNet 컨벌루션 신경망

  • GoogLeNet network architecture

googlenet은 권장되지 않습니다. 대신 imagePretrainedNetwork 함수를 사용하고 "googlenet" 모델을 지정하십시오. 자세한 내용은 버전 내역을 참조하십시오.

설명

GoogLeNet은 22개 계층으로 구성된 컨벌루션 신경망입니다. ImageNet [1] 데이터 세트 또는 Places365 [2] [3] 데이터 세트에서 훈련된 신경망의 사전 훈련된 버전을 불러올 수 있습니다. ImageNet에서 훈련된 신경망은 영상을 키보드, 마우스, 연필, 각종 동물 등 1,000가지 사물 범주로 분류합니다. Places365에서 훈련된 신경망은 ImageNet에서 훈련된 신경망과 비슷한데, 다만 영상을 들판, 공원, 활주로, 로비 등 365가지 장소 범주로 분류합니다. 이러한 신경망은 다양한 영상을 대표하는 다양한 특징을 학습했습니다. 두 사전 훈련된 신경망 모두 영상 입력 크기가 224×224입니다. MATLAB®의 여타 훈련된 신경망에 대한 자세한 내용은 사전 훈련된 심층 신경망 항목을 참조하십시오.

예제

net = googlenet은 ImageNet 데이터 세트에서 훈련된 GoogLeNet 신경망을 반환합니다.

이 함수를 사용하려면 Deep Learning Toolbox™ Model for GoogLeNet Network 지원 패키지가 필요합니다. 이 지원 패키지가 설치되어 있지 않으면 함수에서 다운로드 링크를 제공합니다.

net = googlenet('Weights',weights)는 ImageNet 또는 Places365 데이터 세트에서 훈련된 GoogLeNet 신경망을 반환합니다. 구문 googlenet('Weights','imagenet')(디폴트 값)은 googlenet과 동일합니다.

ImageNet에서 훈련된 신경망을 사용하려면 Deep Learning Toolbox Model for GoogLeNet Network 지원 패키지가 필요합니다. Places365에서 훈련된 신경망을 사용하려면 Deep Learning Toolbox Model for Places365-GoogLeNet Network 지원 패키지가 필요합니다. 필요한 지원 패키지가 설치되어 있지 않으면 함수에서 다운로드 링크를 제공합니다.

lgraph = googlenet('Weights','none')은 훈련되지 않은 GoogLeNet 신경망 아키텍처를 반환합니다. 훈련되지 않은 모델에는 지원 패키지가 필요하지 않습니다.

예제

모두 축소

Deep Learning Toolbox Model for GoogLeNet Network 지원 패키지를 다운로드하고 설치합니다.

명령줄에 googlenet을 입력합니다.

googlenet

Deep Learning Toolbox Model for GoogLeNet Network 지원 패키지가 설치되어 있지 않은 경우, 필요한 지원 패키지로 연결되는 애드온 탐색기 링크를 함수에서 제공합니다. 지원 패키지를 설치하려면 링크를 클릭한 다음 설치를 클릭하십시오. 명령줄에 googlenet를 입력하여 설치가 성공적으로 완료되었는지 확인하십시오. 필요한 지원 패키지가 설치되어 있는 경우, 함수가 DAGNetwork 객체를 반환합니다.

googlenet
ans = 

  DAGNetwork with properties:

         Layers: [144×1 nnet.cnn.layer.Layer]
    Connections: [170×2 table]

심층 신경망 디자이너를 사용하여 신경망을 시각화합니다.

deepNetworkDesigner(googlenet)

새로 만들기를 클릭하여 심층 신경망 디자이너에서 사전 훈련된 다른 신경망을 살펴봅니다.

Deep Network Designer start page showing available pretrained neural networks

신경망을 다운로드해야 할 경우에는 원하는 신경망에서 잠시 멈추고 설치를 클릭하여 애드온 탐색기를 엽니다.

입력 인수

모두 축소

신경망 파라미터의 출처로, 'imagenet', 'places365' 또는 'none'으로 지정됩니다.

  • weights'imagenet'이면 신경망은 ImageNet 데이터 세트에서 훈련된 가중치를 갖습니다.

  • weights'places365'이면 신경망은 Places365 데이터 세트에서 훈련된 가중치를 갖습니다.

  • weights'none'이면 훈련되지 않은 신경망 아키텍처가 반환됩니다.

예: 'places365'

출력 인수

모두 축소

사전 훈련된 GoogLeNet 컨벌루션 신경망으로, DAGNetwork 객체로 반환됩니다.

훈련되지 않은 GoogLeNet 컨벌루션 신경망 아키텍처로, LayerGraph 객체로 반환됩니다.

참고 문헌

[1] ImageNet. http://www.image-net.org.

[2] Zhou, Bolei, Aditya Khosla, Agata Lapedriza, Antonio Torralba, and Aude Oliva. "Places: An image database for deep scene understanding." arXiv preprint arXiv:1610.02055 (2016).

[3] Places. http://places2.csail.mit.edu/

[4] Szegedy, Christian, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. "Going deeper with convolutions." In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 1-9. 2015.

확장 기능

버전 내역

R2017b에 개발됨

모두 축소

R2024a: 권장되지 않음

googlenet 함수는 권장되지 않습니다. 대신 imagePretrainedNetwork 함수를 사용하고 "googlenet" 모델을 지정하십시오.

googlenet 함수에 대한 지원을 제거할 계획은 없습니다. 그러나 imagePretrainedNetwork 함수에는 전이 학습 워크플로에 도움이 되는 추가 기능이 있습니다. 예를 들어, numClasses 옵션을 사용하여 데이터의 클래스 개수를 지정할 수 있습니다. 또한 이 함수는 별도의 수정 없이도 훈련을 다시 할 수 있는 상태로 신경망을 반환합니다.

다음 표에서는 googlenet 함수의 몇 가지 일반적인 사용법과 imagePretrainedNetwork 함수를 대신 사용하도록 코드를 업데이트하는 방법을 보여줍니다.

권장되지 않음권장됨
net = googlenet;net = imagePretrainedNetwork("googlenet");
net = googlenet(Weights="places365");net = imagePretrainedNetwork("googlenet-places365")
net = googlenet(Weights="none");net = imagePretrainedNetwork("googlenet",Weights="none");

imagePretrainedNetworkdlnetwork 객체를 반환하는데, 이 객체는 다음과 같은 이점도 있습니다.

  • dlnetwork 객체는 신경망 구축, 예측, 기본 제공 훈련, 시각화, 압축, 검증 및 사용자 지정 훈련 루프를 지원하는 통합 데이터형입니다.

  • dlnetwork 객체는 외부 플랫폼에서 만들거나 가져올 수 있는 더 넓은 범위의 신경망 아키텍처를 지원합니다.

  • dlnetwork 객체는 trainnet 함수에서 지원되기 때문에 손실 함수를 쉽게 지정할 수 있습니다. 내장 손실 함수 중에서 선택하거나 사용자 지정 손실 함수를 지정할 수 있습니다.

  • 일반적으로 dlnetwork 객체를 사용한 훈련과 예측이 LayerGraphtrainNetwork를 사용하는 워크플로보다 더 빠릅니다.

dlnetwork 객체로 지정된 신경망을 훈련시키려면 trainnet 함수를 사용하십시오.