主要内容

이번역최신을있지않습니다않습니다。최신내용으로보려면를하십시오하십시오하십시오。

심층 신경망 디자이너

딥러닝신경망설계,시각시각및훈련

설명

심층 신경망 디자이너앱을딥러닝신경망구축,시각화,편집및시킬있습니다있습니다있습니다。이앱하여을수행수있습니다있습니다。

  • 신경망 구축, 가져오기, 편집 및 결합.

  • 전이 학습을 위해 사전 훈련된 신경망을 불러와 편집.

  • 계층 속성 보기 및 편집, 새로운 계층과 연결 추가.

  • 신경망아키텍처를올바르게정의했는지확인하고훈련전에문제를파악할수있도록신경망분석.

  • 훈련 및 검증을 위해 데이터저장소 및 영상 데이터 가져오기 및 시각화.

  • 영상분류에증대,클래스레이블분포시각화。

  • 정확도,손실손실메트릭구성플롯을하여훈련및모니터링모니터링모니터링。

  • 훈련된 신경망을 작업 공간 또는 Simulink®로 내보내기.

  • MATLAB®코드를하여구축훈련시키기시키기。

심층신경망디자이너앱열기

  • MATLAB툴스트립:탭의머신러닝및딥러닝에서앱을합니다합니다。

  • MATLAB명령 프롬프트:deepNetworkDesigner를입력합니다。

예제

모두 확장

심층 신경망 디자이너에서 사전 훈련된 간단한 영상 분류 신경망을 살펴보겠습니다.

앱을 열고 사전 훈련된 신경망을 선택합니다.디자이너탭을선택하고새로만들기를클릭훈련신경망을수도있습니다있습니다。신경망을해야할경우에는설치를 클릭하여 애드온 탐색기를 엽니다.

squeezenet이나googlenet과과과적속도빠른신경망을선택해보십시오보십시오。inception-v3이나했으면과과과과같이정확한신경망을사용해보며결과가개선되는지살펴봅니다살펴봅니다살펴봅니다살펴봅니다사전훈련신경망선택대한자세한내용은사전 훈련된 심층 신경망항목을 참조하십시오.

Deep Network Designer start page showing available networks

디자이너창에서을화살펴봅니다살펴봅니다。사용가능사전된목록과이들비교하는방법은사전 훈련된 심층 신경망항목을 참조하십시오.

Deep Network Designer displaying a pretrained network

심층 신경망 디자이너를 사용하여 신경망을 생성하는 방법에 대한 자세한 내용은심층신경망를사용하여하기하기항목을 참조하십시오.

전이위해신경망디자이너에서을하여준비합니다합니다。

전이사전된딥러닝신경망이작업학습하도록조정하는과정입니다입니다。학습된보다개수훈련영상사용새로운작업으로빠르게전이할있습니다있습니다있습니다。따라서전을하는것은을처음훈련것보다훨씬쉽고빠릅니다빠릅니다。사전훈련전이학습위해사용클래스새로운데이터세트와일치하도록하도록해야해야해야。

Squeezenet과함께신경망엽니다엽니다。

DeepNetworkDesigner(Squeezenet)

전이위해을준비하려면학습가능계층마지막분류계층을바꾸십시오바꾸십시오。Squeezenet의마지막가능계층은은'conv10'이라는2차원컨벌루션입니다입니다。

  • 캔버스에새卷积2Dlayer를끌어서놓습니다。过滤속성을1,1로설정하고数字속성을클래스설정합니다。

  • 전이된 계층보다 새 계층에서 학습이 더 빨리 이루어지도록WeightLearnRateFactor偏齿状factor값을 늘려서 학습률을 변경합니다.

  • 마지막卷积2Dlayer를 삭제하고 새로 추가한 계층을 대신 연결합니다.

    Convolution 2-D layer selected in Deep Network Designer. FilterSize is set to 1,1 and NumFilters is set to 5.

대부분의 사전 훈련된 신경망에서(예: GoogLeNet) 마지막 학습 가능한 계층은 완전 연결 계층입니다. 전이 학습을 위해 신경망을 준비하려면 완전 연결 계층을 새로운 완전 연결 계층으로 바꾸고OutputSize속성을 새 클래스 개수로 설정하십시오. 예제는심층신경망디자이너하기항목을 참조하십시오.

다음,분류출력을합니다。그런다음새classificationLayer를 캔버스에 끌어서 놓고 이 계층을 대신 연결합니다. 출력 계층의 디폴트 설정으로 인해 훈련 중에 신경망이 클래스의 개수를 학습하게 됩니다.

在深网设计器中选择的分类层。输出尺寸设置为自动。

디자이너탭에서분석을클릭신경망확인합니다。딥러닝신경망분석기에 보고되는 오류가 없으면 신경망이 훈련할 준비가 된 것입니다. 새 영상을 분류하도록 신경망을 훈련시키는 방법을 보여주는 예제는심층 신경망 디자이너를 사용한 전이 학습항목을 참조하십시오.

계층 속성을 이해하고 편집하는 데 도움이 필요하면 계층 이름 옆에 있는 도움말 아이콘을 클릭하십시오.

디자이너창에서계층을 선택하여 속성을 확인하고 편집합니다. 계층 속성에 대한 자세한 정보를 보려면 계층 이름 옆에 있는 도움말 아이콘을 클릭하십시오.

Cross channel normalization layer selected in Deep Network Designer

계층 속성에 대한 자세한 내용은딥러닝계층목록항목을 참조하십시오.

심층 신경망 디자이너에서 계층을 작업 공간으로부터 신경망에 추가합니다.

심층 신경망 디자이너의계층라이브러리에서디자이너창으로을놓고연결하여을할수있습니다있습니다。사용자지정을작업공간으로부터디자이너창의신경망추가수도있습니다。변수myCustomLayer에저장지정이있다가정하겠습니다하겠습니다。

  1. 디자이너탭에서새로만들기를클릭합니다。

  2. 작업 공간에서잠시멈추고가져오기를클릭합니다。

  3. myCustomLayer를선택하고확인을 클릭합니다.

  4. 추가를클릭합니다。

앱이디자이너창의 상단에 사용자 지정 계층을 추가합니다. 새 계층을 보려면 마우스를 사용하여 확대하거나확대를클릭하십시오。

디자이너창에서myCustomLayer를 신경망에 연결합니다. 심층 신경망 디자이너에서 사용자 지정 계층을 사용하여 신경망을 구축하는 방법을 보여주는 예제는将自定义层导入深网设计师항목을 참조하십시오.

심층 신경망 디자이너에서 신경망을 결합할 수도 있습니다. 예를 들어, 사전 훈련된 신경망을 디코더 하위 신경망과 결합하여 의미론적 분할 신경망을 만들 수 있습니다.

훈련을신경망디자이너데이터가져옵니다가져옵니다가져옵니다。

심층 신경망 디자이너의데이터탭을훈련와검증데이터가져올있습니다있습니다있습니다。심층신경망에서영상데이터및및및및객체객체수있습니다있습니다。작업유형가져오기을하십시오하십시오하십시오。

작업 데이터유형 데이터가져오기방법 시각화예
영상 분류

ImageDatastore객체,또는또는대한을하위에하는폴더폴더。클래스레이블하위이름가져옵니다가져옵니다。

데이터가져오기>영상데이터가져오기를 선택합니다.

导入图像数据对话框

영상데이터대화에서증대옵션을검증데이터를수있습니다있습니다있습니다。자세한내용은Import Data into Deep Network Designer항목을 참조하십시오.

Deep Network Designer的数据选项卡,显示类标签的直方图和从导入数据中选择的随机图像

기타 확장 워크플로(예: 숫자형 특징 입력값, 메모리에 담을 수 없는 큰 데이터, 영상 처리, 오디오 및 음성 처리)

데이터저장소.

그 밖의 확장 워크플로의 경우에는 적합한 datastore 객체를 사용하십시오. 예:AugmentedImageDatastore,CombinedDatastore,pixelLabelImageDatastore(Computer Vision Toolbox)또는사용자데이터저장소。

火车网함수와작동모든모든모든객체객체객체오고시킬수있습니다있습니다。딥러닝응용위해위해위해객체객체객체생성사용하는방법대한자세한은은은Datastores for Deep Learning항목을 참조하십시오.

데이터가져오기>데이터저장소가져오기를 선택합니다.

Import Datastore dialog box

데이터저장소대화에서검증데이터지정수있습니다있습니다있습니다。자세한내용은Import Data into Deep Network Designer항목을 참조하십시오.

Deep Network Designer的数据选项卡,显示数据存储中前五个观察结果的预览

심층 신경망 디자이너를 사용하여 심층 신경망을 훈련시킵니다.

심층 신경망 디자이너를 통해火车网함수와 함께 작동하는 영상 데이터 또는 임의의 datastore 객체를 사용하여 신경망을 훈련시킬 수 있습니다. 예를 들어,CombinedDatastore객체를 사용하여 의미론적 분할 신경망 또는 다중 입력 신경망을 훈련시킬 수 있습니다. 심층 신경망 디자이너로 데이터를 가져오는 방법에 관한 자세한 내용은Import Data into Deep Network Designer항목을 참조하십시오.

심층 신경망 디자이너로 가져온 데이터에 대해 신경망을 훈련시키려면훈련탭에서훈련을 클릭하십시오. 앱은 훈련 과정을 애니메이션된 플롯으로 표시합니다. 이 플롯은 미니 배치 손실과 정확도, 검증 손실과 정확도, 그리고 훈련 진행 상황에 대한 추가 정보를 보여줍니다. 이 플롯은 오른쪽 위 코너에 중지 버튼이있습니다。훈련을신경망현재상태를하려면을클릭합니다합니다。

Training progress plot in Deep Network Designer

자세한내용은Train Networks Using Deep Network Designer항목을 참조하십시오.

훈련을 보다 세부적으로 제어하려면훈련옵션을 클릭하고 훈련 설정을 선택합니다. 훈련 옵션 선택에 대한 자세한 내용은训练를참조하십시오。

深网设计师中的培训选项对话框

영상 분류 신경망을 훈련시키는 방법을 보여주는 예제는심층 신경망 디자이너를 사용한 전이 학습항목을 참조하십시오. sequence-to-sequence LSTM 신경망을 훈련시키는 방법을 보여주는 예제는使用深网设计师的时间序列预测时间序列的火车网络항목을 참조하십시오.

심층 신경망 디자이너에서 지원하지 않는 데이터에 대해 신경망을 훈련시키려면디자이너탭을선택하고내보내기를클릭초기아키텍처내보내십시오보내십시오。그런다음으로을훈련시킬수있습니다(:사용자사용자훈련사용)。

심층 신경망 디자이너에서 신경망 아키텍처를 작업 공간 또는 Simulink로 내보내고 코드를 생성하여 신경망과 훈련을 다시 만듭니다.

  • 초기가중치함께아키텍처를작업공간내보내려면내보내려면디자이너탭에서내보내기를클릭하십시오。심층 신경망 디자이너는 신경망 아키텍처에 따라 신경망을层Graphlgraph또는객체 layers로 내보냅니다.

  • 심층신경망에서된신경망작업공간으로내보내려면훈련탭에서내보내기를클릭하십시오。심층 신경망 디자이너는 훈련된 신경망 아키텍처를DAGNetwork객체 trainedNetwork로 내보냅니다. 심층 신경망 디자이너는 훈련 및 검증 정확도와 같은 훈련 결과도 구조체형 배열 trainInfoStruct로 내보냅니다.

  • 심층 신경망 디자이너에서 Simulink로 훈련된 신경망을 내보내려면훈련탭에서내보내기>Simulink로 내보내기를클릭하십시오。simulink블록을을을을을을을을을내는내는내는내는내는내는내는내는내는내는내는金宝app생성된훈련신경망유형따라달라집니다달라집니다。

    • Image Classifier- 훈련된을데이터를합니다합니다합니다。

    • Predict— 훈련된 딥러닝 신경망을 사용하여 응답 변수를 예측합니다.

    • 状态分类- 훈련된을데이터를합니다합니다합니다。

    • 陈述预测- 훈련된을응답변수를합니다합니다합니다。

심층 신경망 디자이너에서 생성하고 훈련한 신경망을 다시 만들려면 MATLAB 코드를 생성하십시오.

  • 신경망계층을만들려면디자이너탭에서내보내기>코드생성을 선택하십시오.

  • 학습 가능한 파라미터를 포함하여 신경망 계층을 다시 만들려면디자이너탭에서내보내기>초기 파라미터로 코드 생성을 선택하십시오.

  • 신경망,데이터데이터오기훈련을생성하려면훈련탭에서내보내기>훈련에사용코드생성을 선택하십시오.

스크립트를에는작업수행수행있습니다있습니다있습니다。

  • 앱에서만든 신경망 계층을 다시 만들기 위해 스크립트를 실행합니다. 훈련 스크립트를 생성한 경우 스크립트 실행 시 신경망 훈련도 복제됩니다.

  • 코드를 검토하여 프로그래밍 방식으로 계층을 만들고 연결하는 방법과 심층 신경망을 훈련시키는 방법을 알아봅니다.

  • 계층을하기코드편집합니다합니다。스크립트를편집위해신경망을앱가져올수도있습니다있습니다。

자세한내용은从深网设计师生成MATLAB代码항목을 참조하십시오.

생성된일련하이퍼파라미터값을최적화를사용하여최적최적의훈련훈련옵션을찾는딥러닝실험실험을을만들기만들기만들기위한위한위한출발점출발점출발점으로으로도사용할할할。실험 관리자를사용신경망에서훈련신경망의파라미터를하는방법을보여주는예제는使用深网设计师生成实验항목을 참조하십시오.

관련 예제

프로그래밍 방식으로 사용

모두 확장

deepNetworkDesigner는 심층 신경망 디자이너 앱을 엽니다. 심층 신경망 디자이너가 이미 열려 있으면deepNetworkDesigner는앱포커스가져옵니다가져옵니다。

deepNetworkDesigner()은심층앱열고지정된을으로불러옵니다옵니다。신경망은시리즈,dag신경망,계층그래프계층구성배열일있습니다있습니다。

예를,squeezenet신경망신경망하여신경망엽니다엽니다엽니다엽니다。

网= squeezenet; deepNetworkDesigner(net);

심층신경망가이미열려있으면DeepNetworkDesigner(NET)은 앱으로 포커스를 가져오고 기존 신경망을 추가하거나 바꾸라는 메시지를 표시합니다.

여러 신경망을 훈련시키고 결과를 비교하려면실험 관리자를 사용해 보십시오.

버전 내역

R2018b에 개발됨

참고 항목

함수