Узел "Нейронная сеть (PyTorch)" позволяет строить нейросеть типа MLP (multilayerperceptron, многослойный перцептрон), в которой входной сигнал преобразуется в выходной, проходя последовательно через скрытые слои.
Данный узел отличается от узла "Нейронная сеть" (подробнее Узел «Нейронная сеть») возможностью более глубокой настройки конфигурации слоев нейросети и широким выбором оптимизаторов.
Список параметров узла представлен в таблице ниже.
Scroll Title
title-position
top
title-alignment
right
title
Параметры узла «Нейронная сеть (PyTorch)»
Параметр
Возможные значения и ограничения
Описание
Группа параметров
Название
Ручной ввод Ограничений на значение нет
Название узла, которое будет отображаться в интерфейсе
Общие параметры
Описание
Ручной ввод Ограничений на значение нет
Описание узла
Общие параметры
Конфигурация слоев нейросети
Кнопка
При выборе данной кнопки откроется окно Конфигурация слоев нейросети, где можно задавать слои, количество нейронов в слоях и функции активации для каждого узла. Для этого необходимо выбрать кнопку Добавить и в появившемся списке выбрать необходимую функцию активации и настроить параметры. Предусмотрены:
Функция активации ReLU (Rectified Linear Unit) –
LaTeX Unit
body
f(x) = max(0, x)
Функция активации CELU –
LaTeX Unit
body
f(x)=max(0,x)+min(0,\alpha*(exp(x/\alpha)-1))
Дополнительно необходимо задать
LaTeX Unit
body
\alpha
Функция активации ELU –
LaTeX Unit
body
--uriencoded--f(x) = \left \%7B \begin%7Barray%7D%7Brcl%7D \alpha*(exp(x) -1) & \mbox%7Bfor%7D & x \le 0\\ x & \mbox%7Bfor%7D & x > 0\end%7Barray%7D \right.
Данный параметр задает метод оптимизации, который будет использоваться для обновления весов нейронов скрытых слоев нейронной сети. Предусмотрены следующие методы:
SGD – стохастический градиентный спуск(stochastic gradient descent) – стохастический градиентный спуск. Данный метод делает шаг постоянной величины в направлении, указанном градиентом в текущей точке
Adam (adaptive momentum) – адаптивный импульсmoment estimation) – адаптивная оценка момента. Данный метод сочетает в себе идею метода Momentum о накоплении градиента и идею методов Adadelta и RMSProp об экспоненциальном сглаживании информации о предыдущих значениях квадратов градиентов.
Adadelta (adaptive learning rate) – метод адаптивной скорости обучения
Adamax – вариант модификация метода Adam, основанный основанная на бесконечной норме (max)
LBFGS (limited-memory BFGS) – BFGS с ограниченной памятью.
AdamW. Данный метод основан на адаптивной оценке моментов первого и второго порядка с добавленным методом уменьшения весов
ASGD(average stochastic gradient descent)– усредненный стохастический градиентный спуск. Данный метод усредняет веса, вычисляемые на каждой итерации.
Nadam (Nesterov-accelerated adaptive momentum). Данный метод представляет собоймодификацию оптимизатора Adam с добавлением момента Нестерова при вычислении градиентов.
RAdam (Rectified Adam). Данный метод является модификацией Adam, более устойчивой к изменению значений скорости обучения.
Rprop(resilient backpropagation) – устойчивый алгоритм обратного распространения. Данный метод использует только знаки частных производных для подстройки весовых коэффициентов. Также Rprop поддерживает отдельные дельты для каждого веса и смещения и адаптирует эти дельты во время обучения.
RMSPROP (running root mean square propagation)– среднеквадратичное распространение корня.Данный метод использует усредненный по истории квадрат градиента.
Общие параметры
Скорость обучения
Ручной ввод
По умолчанию - 0,001
Данный параметр задает скорость обучения, которая управляет размером шага при обновлении весов.
Общие параметры
Количество эпох
Ручной ввод
По умолчанию - 10
Данный параметр задает сколько раз алгоритм обучения будет обрабатывать весь набор обучающих данных.
Общие параметры
Размер пакета
Ручной ввод
По умолчанию - 128
Данный параметр определяет количество выборок, которые необходимо обработать перед обновлением параметров модели.
Общие параметры
Seed
Ручной ввод
По умолчанию - 42
Начальное числовое значение для генератора случайных чисел.
Используется для воспроизведения результатов при повторном запуске узла.
Общие параметры
L2 регуляризация
Ручной ввод
По умолчанию - 0,1
Данный параметр задает значение L2-регуляризации
Общие параметры
Доля валидационной выборки
Ручной ввод
По умолчанию - 0,1
Данный параметр задает долю валидационной выборки, которая будет отобрана из исходной тестовой
Общие параметры
Количество итераций без существенного улучшения
Ручной ввод
По умолчанию - 5
Данный параметр задает задает количество эпох без существенного улучшения, после которых скорость обучения будет снижена.
Пример: если значение параметра = 2, то первые 2 эпохи без улучшений loss будут проигнорированы, и только после 3-й эпохи скорость обучения уменьшится.
Данный параметр задает порог расчета нового оптимума, чтобы сосредоточиться только на значительных изменениях
Общие параметры
Стандартизация
Раскрывающийся список со следующими значениями:
no
std (по умолчанию)
range
Данные Данный параметр отвечает за выбор метода стандартизации числовых переменных.
Стандартизация– преобразование числовых наблюдений с целью с целью приведения их к некоторой общей шкале. Необходимость стандартизации вызвана тем, что разные признаки из обучающего набора могут быть представлены в разных масштабах и изменяться в разных диапазонах, что влияет на выявление некорректных зависимостей моделью. Предусмотрены следующие методы:
Предусмотрены следующие методы:
no— стандартизация не нужна
std— стандартное отклонение - преобразует наблюдения таким образом, чтобы их среднее значение равнялось нулю, а стандартное отклонение равнялось 1.
range— диапазон -линейно преобразует значения переменных в диапазон [0, 1].
Общие параметры
Beta1
Ручной ввод числа с плавающей точкой
По умолчанию - 0,9
Данный параметр задает коэффициент, используемый для вычисления управления скоростью затухания скользящих средних значений градиента и его квадрата(первого момента)
Данный параметр задает коэффициент, используемый для вычисления скользящих средних значений градиента и его квадратауправления скоростью затухания средних значений вторых моментов градиентов (нецентрированной дисперсии)
Выбор данного чекбокса указывает, что необходимо использовать вариант AMSGrad этого алгоритмаиз статьи «Конвергенция Адама и не только».
Разница между AMSgrad и Adam заключается в рассчитанном векторе второго момента, который используется для обновления параметров.
Параметры алгоритма оптимизации Adam, AdamW
Импульс (Momentum)
Ручной ввод числа с плавающей точкой
По умолчанию - 0
Данный параметр задает коэффициент импульса (запоминает скорость на предыдущем шаге и добавляет в указанное число раз меньшую величину на следующем шаге)
Параметры алгоритма оптимизации SGD, RMSProp
Dampening
Ручной ввод числа с плавающей точкой
По умолчанию - 0
Данный параметр задает демпфирование импульса. Демпфирование гарантирует, что оптимизатор не сделает слишком больших шагов, что может произойти, если использовать только импульс.
Чем выше градиент, тем больше демпфирование уменьшает размер шага.
Параметры алгоритма оптимизации SGD
Момент Нестерова
Чекбокс
Выбор данного чекбокса включает импульс Нестерова (использует производную не в текущей точке, а в следующей, если бы мы продолжали двигаться в этом же направлении без изменений)
Параметры алгоритма оптимизации SGD
Rho
Ручной ввод
По умолчанию - 0,9
Данный параметр задает коэффициент, используемый для вычисления скользящего среднего квадратов градиентов
Параметры алгоритма оптимизации Adadelta
Epsilon
По умолчанию - 1e-8
Данный сглаживающий параметр задает значение, добавляемое к знаменателю для улучшения числовой стабильностипредотвращающее деление на 0.
Параметры алгоритма оптимизации Adadelta, RMSProp
Максимум итераций за шаг оптимизации
Ручной ввод целочисленного значения
По умолчанию - 20
Данный параметр задает максимальное число итераций за шаг оптимизации
Параметры алгоритма оптимизации LBFGS
Максимум вычислений за шаг оптимизации
Ручной ввод целочисленного значения
По умолчанию - 1
Данный параметр задает максимальное число вычислений функции за шаг оптимизации
Параметры алгоритма оптимизации LBFGS
Tolerance grad
Ручной ввод числа с плавающей точкой
По умолчанию - 0,00001
Данный параметр задает допуск завершения при оптимальности первого порядка
Параметры алгоритма оптимизации LBFGS
Tolerance change
Ручной ввод числа с плавающей точкой
По умолчанию - 1e-9
Данный параметр задает допуск завершения при изменении значения/параметра функции
Параметры алгоритма оптимизации LBFGS
Количество запоминаемых шагов оптимизации
Ручной ввод целочисленного значения
По умолчанию - 100
Данный параметр задает количество запоминаемых шагов оптимизации
Параметры алгоритма оптимизации LBFGS
Line search
Список:
no (по умолчанию)
strong wolfe
Данный параметр задает метод линейного поиска
Параметры алгоритма оптимизации LBFGS
Lambda
Ручной ввод числа с плавающей точкой
По умолчанию - 0,0001
Данный параметр задает затухание
Параметры алгоритма оптимизации ASGD
Alpha
Ручной ввод числа с плавающей точкой
По умолчанию - 0,75
Данный параметр задает мощность для обновления ETAскорости обучения
Параметры алгоритма оптимизации ASGD
t0
Ручной вводчисла с плавающей точкой
По умолчанию - 100000
Данный параметр задает точку, с которой начинается усреднение. Если требуемое количество итераций меньше данного значения, то усреднение не произойдет.
Параметры алгоритма оптимизации ASGD
TORCH_OPTIMIZER_MOMENTUM_DECAYСокращение импульса
Ручной ввод
По умолчанию - 0,004momentum decay
Данный параметр задает значение сокращения импульса
Параметры алгоритма оптимизации Nadam
Коэффициент уменьшения (eta minus)
Ручной ввод
Число больше 0 и меньше 1
По умолчанию - 0,5
Данный параметр задает мультипликативный коэффициент уменьшения.
Если на текущем шаге частная производная по соответствующему весу поменяла свой знак, значит последнее изменение было большим, и алгоритм проскочил локальный минимум. Следовательно, величину коррекции необходимо уменьшить на значение данного параметра и вернуть предыдущее значение весового коэффициента.
Параметры алгоритма оптимизации Rprop
Коэффициент увеличения (eta plus)
Ручной ввод
Число больше 1
По умолчанию - 1,2
Данный параметр задает мультипликативный коэффициент увеличения.
Если на текущем шаге частная производная по соответствующему весу не поменяла свой знак, значит нужно увеличить величину коррекции на значение данного параметра для достижения более быстрой сходимости.
Параметры алгоритма оптимизации Rprop
Минимальный размер шага
Ручной ввод
По умолчанию - 0,000001
Данный параметр задает минимальный размер шага.
Он необходим, чтобы не допустить слишком маленьких значений весов, ограничивает величину коррекции снизу.
Параметры алгоритма оптимизации Rprop
Максимальный размер шага
Ручной ввод
По умолчанию - 50
Данный параметр задает максимальный размер шага.
Он необходим, чтобы не допустить слишком больших значений весов, ограничивает величину коррекции сверху.
Параметры алгоритма оптимизации Rprop
Alpha
Ручной ввод
По умолчанию - 0,99
Данный параметр задает константу сглаживания
Параметры алгоритма оптимизации RMSProp
Центрировать
Чекбокс
Выбор данного чекбокса указывает, что необходимо вычислить центрированный RMSProp, градиент которого нормализуется по оценке его дисперсии
Параметры алгоритма оптимизации RMSProp
Результаты выполнения узла
Узел «Нейронная сеть» имеет разные результаты в зависимости от решаемой задачи.
Раскрыть
title
Результаты бинарной классификации представлены следующими объектами:
График ROC.
Scroll Title
Image Added
График Lift.
Scroll Title
Image Added
График Cumulative Lift.
Scroll Title
Image Added
График Gain.
Scroll Title
Image Added
График Cumulative Gain.
Scroll Title
Image Added
График потери точности.
Scroll Title
Image Added
Таблица с метриками качества модели.
Scroll Title
Image Added
Таблица с метриками качества модели задачи классификации.
Scroll Title
Image Added
Раскрыть
title
Результаты многоклассовой классификации представлены следующими объектами:
График потери точности.
Scroll Title
Image Added
Таблица с метриками качества модели.
Scroll Title
Image Added
Таблица с метриками качества модели задачи классификации.
Scroll Title
Image Added
Раскрыть
title
Результаты регрессии представлены следующими объектами:
Тепловые карты для обучающей, валидационной и тестовой выборок.
Scroll Title
Image Added
График потери точности.
Scroll Title
Image Added
Таблица с метриками качества модели.
Scroll Title
Image Added
Таблицы с метриками качества в разбиениях обучающей и валидационной выборках.