Main Content

vgg16

(권장되지 않음) VGG-16 컨벌루션 신경망

  • VGG-16 network architecture

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

설명

VGG-16은 16개 계층으로 구성된 컨벌루션 신경망입니다. ImageNet 데이터베이스의 1백만 개가 넘는 영상에 대해 훈련된 신경망의 사전 훈련된 버전을 불러올 수 있습니다 [1]. 사전 훈련된 신경망은 영상을 키보드, 마우스, 연필, 각종 동물 등 1,000가지 사물 범주로 분류할 수 있습니다. 그 결과 이 신경망은 다양한 영상을 대표하는 다양한 특징을 학습했습니다. 신경망의 영상 입력 크기는 224×224입니다. MATLAB®의 여타 훈련된 신경망에 대한 자세한 내용은 사전 훈련된 심층 신경망 항목을 참조하십시오.

예제

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

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

net = vgg16('Weights','imagenet')은 ImageNet 데이터 세트에서 훈련된 VGG-16 신경망을 반환합니다. 이 구문은 net = vgg16과 동일합니다.

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

예제

모두 축소

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

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

vgg16

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

vgg16
ans = 

  SeriesNetwork with properties:

    Layers: [41×1 nnet.cnn.layer.Layer]

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

deepNetworkDesigner(vgg16)

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

Deep Network Designer start page showing available pretrained neural networks

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

출력 인수

모두 축소

사전 훈련된 VGG-16 컨벌루션 신경망으로, SeriesNetwork 객체로 반환됩니다.

훈련되지 않은 VGG-16 컨벌루션 신경망 아키텍처로, Layer 배열로 반환됩니다.

참고 문헌

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

[2] Russakovsky, O., Deng, J., Su, H., et al. “ImageNet Large Scale Visual Recognition Challenge.” International Journal of Computer Vision (IJCV). Vol 115, Issue 3, 2015, pp. 211–252

[3] Simonyan, Karen, and Andrew Zisserman. "Very deep convolutional networks for large-scale image recognition." arXiv preprint arXiv:1409.1556 (2014).

[4] Very Deep Convolutional Networks for Large-Scale Visual Recognition http://www.robots.ox.ac.uk/~vgg/research/very_deep/

확장 기능

버전 내역

R2017a에 개발됨

모두 축소

R2024a: 권장되지 않음

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

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

imagePretrainedNetwork 함수는 신경망을 dlnetwork 객체로 반환하는데 이 객체에는 클래스 이름이 저장되지 않습니다. 사전 훈련된 신경망의 클래스 이름을 가져오려면 imagePretrainedNetwork 함수의 두 번째 출력 인수를 사용하십시오.

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

권장되지 않음권장됨
net = vgg16;[net,classNames] = imagePretrainedNetwork("vgg16");
net = vgg16(Weights="none");net = imagePretrainedNetwork("vgg16",Weights="none");

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

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

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

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

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

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