Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
• Числовые значения элементов тензоров обычно нужно масштабировать до
небольших и центрированных значений, например находящихся в интервале
[-1,
1]
или
[0,
1]
.
• Если различные признаки (такие как температура и скорость ветра) прини
мают значения из различных диапазонов (неоднородные данные), то данные
необходимо нормализовать. Обычно проводят zнормализацию к данным
с нулевым средним значением и единичным среднеквадратичным отклоне
нием каждого из признаков.
После подготовки тензоров входных и целевых (выходных) данных можно при
ступать в разработке моделей.
6.
Разработать модель, работающую лучше, чем эталонный подход, основанный
просто на здравом смысле
. Разработка модели, которая станет работать лучше
эталонной версии, не основанной на машинном обучении (наподобие предска
зания средних по населению показателей для задачи регрессии или задача пред
сказания последней точки данных в ряде данных), позволит продемонстрировать,
что машинное обучение действительно может принести вам пользу. Что не всегда
так (см. пункт 1).
Если все нормально, для создания нашей первой модели машинного обучения, ра
ботающей лучше эталонной версии, необходимо выбрать три важнейших элемента.
•
Функция активации последнего слоя
обеспечивает полезные ограничения
выходного сигнала модели. Должна соответствовать типу решаемой задачи.
Например, в классификаторе фишинговых сайтов из главы 3 для последнего
(выходного) слоя использовалась сигмафункция активации, поскольку за
дача, по своей сути, представляла собой задачу бинарной классификации,
а модели предсказания температуры из этой главы использовали линейную
функцию активации по причине регрессионной сущности задачи.
•
Функция потерь
, как и функция активации последнего слоя, должна соответ
ствовать решаемой задаче. Например, для задач бинарной классификации сле
дует использовать
binaryCrossentropy
, для задач многоклассовой классифи
кации —
categoricalCrossentropy
, а для задач регрессии —
meanSquaredError
.
•
Настройки оптимизатора
. Именно оптимизатор определяет, какими будут
обновления весовых коэффициентов нейронной сети. Какой оптимизатор
использовать? Какую скорость обучения для него выбрать? Ответы на эти
вопросы обычно дает настройка гиперпараметров. Но в большинстве случаев
можно спокойно начинать с оптимизатора
rmsprop
и его скорости обучения
по умолчанию.
7.
Разработать модель с достаточными разрешающими возможностями, причем
чрезмерно подогнанную к обучающим данным
. Необходимо постепенно масштаби
ровать вверх архитектуру своей модели, вручную меняя гиперпараметры, и в итоге
получить модель, чрезмерно подогнанную к обучающему набору данных. Как вы
помните, основная сложность в обучении с учителем — выбор баланса между
оптимизацией
(подгонкой к данным, которые модель видит во время обучения)
и
обобщением
(способностью к безошибочным предсказаниям для не виденных
Do'stlaringiz bilan baham: |