Узел «Детекция аномалий (PyTorch)» позволяет идентифицировать точки данных, свойства которых отличаются от свойств большинства обрабатываемых образцов в наборе данных.
Список параметров узла представлен в таблице ниже.

Параметр

Возможные значения и ограничения

Описание

Группа параметров

Название

Ручной ввод.

Ограничений на значение нет.

Название узла, которое будет отображаться в интерфейсе.

Общие параметры.

Описание

Ручной ввод.

Ограничений на значение нет.

Описание узла.

Общие параметры.

Конфигурация слоев автоэнкодера

Кнопка

При выборе данной кнопки откроется окно Конфигурация слоев нейросети, где можно задавать слои, количество нейронов в слоях и функции активации для каждого узла. Для этого необходимо выбрать кнопку Добавить и в появившемся списке выбрать необходимую функцию активации и настроить параметры. Предусмотрены:

  • Функция активации ReLU (Rectified Linear Unit). 
  • Функция активации CELU.
  • Функция активации ELU. 
  • Функция активации Sigmoid.
  • Функция активации Softmax.
  • Линейный слой.
    Дополнительно необходимо задать Количество выходных переменных и при необходимости выбрать чекбокс Добавить константу.
  • Функция активации Logsigmoid.
  • Исключение (Dropout). Во время обучения случайным образом обнуляет некоторые элементы входного тензора с вероятностью p, используя выборки из распределения Бернулли.
    Дополнительно необходимо задать Вероятность исключения.
  • Tanh – функция гиперболического тангенса. 
    После настройки необходимой конфигурации слоев нейросети выбрать кнопку Сохранить.

Общие параметры.

Функция потерь

Раскрывающийся список со следующими значениями:

  • MAE.
  • MSE.

Данный параметр задает функцию потерь. Предусмотрены:

  • MAE (средняя абсолютная ошибка).
  • MSE (среднеквадратическая ошибка).

Общие параметры.

Алгоритм оптимизации

Раскрывающийся список со следующими значениями:

  • SGD.
  • Adam (по умолчанию).
  • Adadelta.
  • Adamax.
  • LBFGS.
  • AdamW.
  • ASGD.
  • NAdam.
  • RAdam.
  • Rprop.
  • RMSprop.

Данный параметр задает метод оптимизации, который будет использоваться для обновления весов нейронов скрытых слоев нейронной сети. Предусмотрены следующие методы:

  • SGD (stochastic gradient descent) – стохастический градиентный спуск. Данный метод делает шаг постоянной величины в направлении, указанном градиентом в текущей точке.
  • Adam (adaptive 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 (root mean square propagation) – среднеквадратичное распространение корня. Данный метод использует усредненный по истории квадрат градиента.

Общие параметры.

Скорость обучения

Ручной ввод.
По умолчанию - 0,001.

Данный параметр задает скорость обучения, которая управляет размером шага при обновлении весов.

Общие параметры.

Количество эпох

Ручной ввод.
По умолчанию - 10.

Данный параметр задает сколько раз алгоритм обучения будет обрабатывать весь набор обучающих данных.

Общие параметры.

Размер пакета

Ручной ввод.
По умолчанию - 128.

Данный параметр определяет количество выборок, которые необходимо обработать перед обновлением параметров модели.

Общие параметры.

L2 регуляризация

Ручной ввод.
По умолчанию - 0,1.

Данный параметр задает значение L2-регуляризации

Общие параметры.

Доля валидационной выборки

Ручной ввод.
По умолчанию - 0,1.

Данный параметр задает долю валидационной выборки, которая будет отобрана из исходной тестовой

Общие параметры.

Количество итераций без существенного улучшения

Ручной ввод.
По умолчанию - 5.

Данный параметр задает количество эпох без улучшения, после которых скорость обучения будет снижена.
Пример: если значение параметра = 2, то первые 2 эпохи без улучшений loss будут проигнорированы, и только после 3-й эпохи скорость обучения уменьшится.

Общие параметры.

Режим динамического расчета порога

Раскрывающийся список со следующими значениями:

  • rel,
  • abs.

Данный параметр задет режим расчета порога.
Предусмотрены:

  • rel, 
  • abs.

Общие параметры.

Порог

Ручной ввод.
По умолчанию - 0,0001.

Данный параметр задает порог расчета нового оптимума, чтобы сосредоточиться только на значительных изменениях.

Общие параметры.

Стандартизация

Раскрывающийся список со следующими значениями:

  • no,
  • std (по умолчанию),
  • range.

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

  • no — стандартизация не нужна.
  • std — стандартное отклонение, преобразует наблюдения таким образом, чтобы их среднее значение равнялось нулю, а стандартное отклонение равнялось 1.
  • range — диапазон, линейно преобразует значения переменных в диапазон [0, 1].

Общие параметры.

Beta1

Ручной ввод числа с плавающей точкой.
По умолчанию - 0,9.

Данный параметр задает коэффициент, используемый для управления скоростью затухания скользящих средних значений градиента (первого момента).

Параметры алгоритма оптимизации Adam, Adamax, AdamW, RAdam, Nadam.

Beta2

Ручной ввод числа с плавающей точкой.
По умолчанию - 0,999.

Данный параметр задает коэффициент, используемый для управления скоростью затухания средних значений вторых моментов градиентов (нецентрированной дисперсии).

Параметры алгоритма оптимизации Adam, Adamax, AdamW, RAdam, Nadam.

Epsilon

Ручной ввод числа с плавающей точкой.
По умолчанию - 1e-8.

Данный сглаживающий параметр задает значение, добавляемое к знаменателю для улучшения числовой стабильности (предотвращение деления на 0).

Параметры алгоритма оптимизации Adam, Adamax, AdamW, RAdam, Nadam.

Использовать алгоритм AMSGrad

Чекбокс.

Выбор данного чекбокса указывает, что необходимо использовать вариант AMSGrad этого алгоритма.
Разница между AMSgrad и Adam заключается в рассчитанном векторе второго момента, который используется для обновления параметров.

Параметры алгоритма оптимизации AdamAdamW.

Импульс (Momentum)

Ручной ввод числа с плавающей точкой.
По умолчанию - 0.

Данный параметр задает коэффициент импульса (запоминает скорость на предыдущем шаге и добавляет в указанное число раз меньшую величину на следующем шаге)

Параметры алгоритма оптимизации SGD, RMSProp.

Dampening

Ручной ввод числа с плавающей точкой.
По умолчанию - 0.

Данный параметр задает демпфирование импульса. Демпфирование гарантирует, что оптимизатор не сделает слишком больших шагов, что может произойти, если использовать только импульс.
Чем выше градиент, тем больше демпфирование уменьшает размер шага.

Параметры алгоритма оптимизации SGD.

Момент Нестерова

Чекбокс.

Выбор данного чекбокса включает импульс Нестерова (использует производную не в текущей точке, а в следующей, если бы мы продолжали двигаться в этом же направлении без изменений).

Параметры алгоритма оптимизации SGD.

Rho

Ручной ввод.
По умолчанию - 0,9.

Данный параметр задает коэффициент, используемый для вычисления скользящего среднего квадратов градиентов.

Параметры алгоритма оптимизации Adadelta.

Максимум итераций за шаг оптимизации

Ручной ввод целочисленного значения.
По умолчанию - 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.

Данный параметр задает мощность для обновления скорости обучения.

Параметры алгоритма оптимизации ASGD.

t0

Ручной ввод числа с плавающей точкой.
По умолчанию - 100000.

Данный параметр задает точку, с которой начинается усреднение. Если требуемое количество итераций меньше данного значения, то усреднение не произойдет.

Параметры алгоритма оптимизации ASGD.

Сокращение импульса

Ручной ввод.
По умолчанию - 0,004.

Данный параметр задает значение сокращения импульса.

Параметры алгоритма оптимизации 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.


Результаты выполнения узла: