Импортируйте пользовательский слой в Deep Network Designer

В этом примере показано, как импортировать пользовательский взвешенный слой классификации и добавить его в предварительно обученную сеть в Deep Network Designer. Используйте взвешенный слой классификации для проблем классификации с неустойчивым распределением классов.

Задайте пользовательский взвешенный слой классификации. Чтобы создать этот слой, сохраните файл weightedClassificationLayer.m в текущей папке. Для получения дополнительной информации о построении этого слоя смотрите, Задают Пользовательский Взвешенный Слой Классификации.

Предположим, что у вас есть набор данных с двумя классами. Задайте веса класса как вектор с двумя элементами, соответствующими двум классам.

classWeights = [0.2 0.8];

Создайте экземпляр слоя.

 weightedOutputLayer = weightedClassificationLayer(classWeights);

Откройте Deep Network Designer с предварительно обученной сетью GoogLeNet.

deepNetworkDesigner(googlenet);

Чтобы адаптировать предварительно обученную сеть, замените последний learnable слой и итоговый слой классификации с новыми слоями, адаптированными к новому набору данных. В GoogLeNet эти слои имеют имена 'loss3-classifier' и 'output', соответственно.

В панели Разработчика перетащите новый fullyConnectedLayer от Библиотеки Слоя на холст. Установите OutputSize к новому количеству классов, в этом примере, 2.

Отредактируйте скорости обучения, чтобы учиться быстрее в новых слоях, чем в переданных слоях. Установите WeightLearnRateFactor и BiasLearnRateFactor к 10. Удалите последний полносвязный слой и соедините свой новый слой вместо этого.

Затем замените выходной слой на свой пользовательский взвешенный выходной слой. Нажмите New в панели Разработчика. Сделайте паузу на Из Рабочей области и нажмите Import. Чтобы импортировать пользовательский взвешенный слой классификации, выберите weightedOutputLayer и нажмите ОК.

Добавьте слой в текущую предварительно обученную сеть GoogLeNet путем нажатия на Add. Приложение добавляет пользовательский слой в верхнюю часть панели Разработчика. Видеть новый слой, увеличение использования Увеличение нажатия кнопки или мышь.

Перетащите пользовательский слой к нижней части панели Разработчика. Замените итоговую классификацию выходной слой на новый взвешенный выходной слой и соедините новый слой.

Проверяйте свою сеть путем нажатия на Analyze. Сеть готова к обучению, если Нейронная сеть для глубокого обучения Анализатор сообщает о нулевых ошибках.

После того, как вы создадите свою сеть, вы готовы импортировать данные и обучаться. Для получения дополнительной информации об импортировании данных и обучения в Deep Network Designer, смотрите Передачу обучения с Deep Network Designer.

Смотрите также

Похожие темы