Опции за обучение на невронна мрежа за дълбоко обучение

Синтаксис

Описание

options = trainingOptions (solverName) връща опциите за обучение за оптимизатора, посочен от solverName. За да обучите мрежа, използвайте опциите за обучение като входен аргумент за функцията trainNetwork.

options = trainingOptions (solverName, Name, Value) връща опции за обучение с допълнителни опции, посочени от един или повече аргумента двойка име-стойност.

Примери

Посочете Опции за обучение

Създайте набор от опции за обучение на мрежа, използвайки стохастичен градиент спускане с инерция. Намалете степента на обучение с коефициент 0,2 на всеки 5 епохи. Задайте максимален брой епохи за обучение на 20 и използвайте мини-партида с 64 наблюдения при всяка итерация. Включете графика за напредъка на обучението.

Наблюдавайте напредъка в обучението за задълбочено обучение

Когато обучавате мрежи за задълбочено обучение, често е полезно да наблюдавате напредъка в обучението. Чрез начертаване на различни показатели по време на обучението можете да научите как напредва обучението. Например можете да определите дали и колко бързо се подобрява точността на мрежата и дали мрежата започва да превъзхожда данните за обучение.

Когато посочите „тренировъчен прогрес“ като стойност „Графики“ в optionOption и започнете мрежово обучение, trainNetwork създава фигура и показва показатели за обучение при всяка итерация. Всяка итерация е оценка на градиента и актуализация на мрежовите параметри. Ако посочите данни за валидиране в TrainingOptions, тогава фигурата показва метрики за валидиране всеки път, когато trainNetwork проверява мрежата. Фигурата изобразява следното:

Точност на обучението - Точност на класификация за всяка отделна мини-партида.

Изгладена точност на тренировката - Изгладена точност на тренировката, получена чрез прилагане на изглаждащ алгоритъм към точността на тренировката. Той е по-малко шумен от неразгладената точност, което улеснява откриването на тенденциите.

Точност на валидиране - Класификация на точността на целия набор за валидиране (посочена при използване на Опции за обучение).

Загуба на тренировка, изгладена загуба на тренировка, и загуба на валидиране - Загубата на всяка мини-партида, нейната изгладена версия и загубата на валидиращия набор, съответно. Ако последният слой на вашата мрежа е класификацияLayer, тогава функцията за загуба е кръстосаната загуба на ентропия. За повече информация относно функциите на загуби за проблеми с класификацията и регресията вижте Изходни слоеве.

За регресионните мрежи фигурата изобразява грешката на средно квадратичната грешка (RMSE) вместо точността.

Цифрата маркира всяка тренировъчна епоха с помощта на засенчен фон. Епохата е пълно преминаване през целия набор от данни.

По време на обучение можете да спрете обучението и да върнете текущото състояние на мрежата, като щракнете върху бутона за спиране в горния десен ъгъл. Например, може да искате да спрете обучението, когато точността на мрежата достигне плато и е ясно, че точността вече не се подобрява. След като щракнете върху бутона стоп, обучението може да отнеме известно време. След като обучението приключи, trainNetwork връща обучената мрежа.

Когато обучението приключи, прегледайте резултатите показваща окончателната точност на валидиране и причината, поради която обучението е приключило. Крайните показатели за валидиране са обозначени с окончателни в парцелите. Ако вашата мрежа съдържа слоеве за нормализиране на партиди, тогава крайните показатели за проверка често се различават от показателите за проверка, оценени по време на обучението. Това е така, защото слоевете за нормализиране на партиди в крайната мрежа изпълняват различни операции, отколкото по време на обучение.

Вдясно вижте информация за времето и настройките на обучението. За да научите повече за възможностите за обучение, вижте Настройка на параметри и Обучение на конволюционната невронна мрежа.

опции

Прогрес на обучението по време на обучението

Обучете мрежа и начертайте напредъка на обучението по време на обучението.

Заредете данните за обучение, които съдържат 5000 изображения на цифри. Заделете 1000 от изображенията за проверка на мрежата.

Изградете мрежа за класифициране на данните за цифровото изображение.

Посочете опции за мрежово обучение. За да проверите мрежата на редовни интервали по време на обучение, посочете данни за валидиране. Изберете стойността „ValidationFrequency“, така че мрежата да се проверява около веднъж на епоха. За да начертаете напредъка на обучението по време на обучението, посочете „тренировъчен напредък“ като стойност „Графики“.