Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 35 Текущий »

Узел "Нейронная сеть (PyTorch)" позволяет строить нейросеть типа MLP (multilayer perceptron, многослойный перцептрон), в которой входной сигнал преобразуется в выходной, проходя последовательно через скрытые слои.

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

Список параметров узла представлен в таблице ниже.

Параметры узла «Нейронная сеть (PyTorch)»

Параметр

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

Описание

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

Название

Ручной ввод
Ограничений на значение нет

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

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

Описание

Ручной ввод
Ограничений на значение нет

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

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

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

Кнопка

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

  • Функция активации ReLU (Rectified Linear Unit)   f(x) = max(0, x)
  • Функция активации CELU –  f(x)=max(0,x)+min(0,\alpha*(exp(x/\alpha)-1))

Дополнительно необходимо задать  \alpha

  • Функция активации ELU –  f(x) = \left \{ \begin{array}{rcl} \alpha*(exp(x) -1) & \mbox{for} & x \le 0\\ x & \mbox{for} & x > 0\end{array} \right.

Дополнительно необходимо задать  \alpha

  • Функция активации Sigmoid \sigma(x) = \frac{1} {1 + e^{-x}}
  • Функция активации Softmax  \sigma(x_i) = \frac{e^{x_{i}}}{\sum_{j=1}^K e^{x_{j}}} \ \ \ for\ i=1,2,\dots,K
  • Линейный слой линейная функция, результат пропорционален переданному аргументу f(x) = x

Дополнительно необходимо задать Количество выходных переменных и при необходимости выбрать чекбокс Добавить константу

  • Функция активации Logsigmoid –  LogSigmoid(x) = log(\frac{1} {1 + e^{-x}})
  • Исключение (Dropout) Во время обучения случайным образом обнуляет некоторые элементы входного тензора с вероятностью p, используя выборки из распределения Бернулли.

Дополнительно необходимо задать Вероятность исключения

  • Tanh функция гиперболического тангенса f(x) = tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} = \frac{1 - e^{-2x}}{1 + e^{-2x}}

После настройки необходимой конфигурации слоев нейросети выбрать кнопку Сохранить.

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

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

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

  • MAE
  • MSE
  • Poisson loss
  • Negative log likelihood
  • Cross entropy

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

  • MAE (средняя абсолютная ошибка)
  • MSE (среднеквадратическая ошибка)
  • Poisson loss
  • Negative log likelihood (отрицательное логарифмическое правдоподобие)
  • Cross entropy (перекрестная энтропия)

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

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

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

  • 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

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

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

Seed

Ручной ввод

По умолчанию - 42

Начальное числовое значение для генератора случайных чисел.

Используется для воспроизведения результатов при повторном запуске узла.

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

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

Ручной ввод

По умолчанию - 0,1

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

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

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

Ручной ввод

По умолчанию - 0,1

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

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

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

Ручной ввод

По умолчанию - 5

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

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

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


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

  • rel
  • abs

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

Предусмотрены:

  • rel  dynamic_threshold = best * ( 1 - threshold )
  • abs  dynamic_threshold = best - threshold

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

Порог

Ручной ввод

По умолчанию - 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

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

Minimal decay applied to lr. If the difference between new and old lr is smaller than eps, the update is ignored. Default: 1e-8.

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

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

Чекбокс

Выбор данного чекбокса указывает, что необходимо использовать вариант 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

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

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



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


Узел «Нейронная сеть» имеет разные результаты в зависимости от решаемой задачи.


  • График ROC.



  • График Lift.



  • График Cumulative Lift.



  • График Gain.



  • График Cumulative Gain.



  • График потери точности.



  • Таблица с метриками качества модели.



  • Таблица с метриками качества модели задачи классификации.


  • График потери точности.




  • Таблица с метриками качества модели.



  • Таблица с метриками качества модели задачи классификации.


  • Тепловые карты для обучающей, валидационной и тестовой выборок.



  • График потери точности.



  • Таблица с метриками качества модели.



  • Таблицы с метриками качества в разбиениях обучающей и валидационной выборках.


  • Нет меток