Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

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

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

Архитектура нейронной сети

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

Scroll Title
title-alignmentcenter
titleСтроение искусственного нейрона

Image Added

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

Scroll Title
title-alignmentcenter
titleСлои нейронной сети

Image Added

Первый слой сети называется входным: его нейроны принимают элементы вектора признаков и передают их нейронам следующего слоя без какой-либо обработки.

Далее располагаются один или несколько скрытых слоев и слой выходных данных. Каждый нейрон связан с другими нейронами с определенным весом и пороговым значением. Если вывод какого-либо нейрона превышает пороговое значение, то этот нейрон активируется и отправляет данные на следующий уровень сети. В противном случае данные на следующий уровень сети не передаются.Список параметров узла (число скрытых слоев и количество нейронов в них задается параметром Количество нейронов в скрытом слое, подробнее в таблице с описанием параметров ниже).Каждый нейронв скрытом слое преобразует значения из предыдущего слоя с взвешенным линейным суммированием функцией активации, которая порождает более информативные признаковые описания, преобразую данные нелинейным образом (функция активации для скрытых слоев задается параметром Функция активации).

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

Обучение нейронной сети

Обучение нейронной сети является итерационным процессом (задается параметром Количество итераций), которое заключается в нахождении параметров модели (весов и смещений). На каждой итерации происходит два прохода сети:

  1. Настройка нейронной сети начинается с Прямого распространения.  Данные (задается параметром Количество наблюдений для одной итерации) подаются на вход сети, через все слои распространяются в направлении выходов, в ходе чего случайным образом генерируются значения весовых коэффициентов и смещений модели. Таким образом, формируются выходные значения. Далее фактические выходные значения оцениваются относительно ожидаемых выходных значений (целевых значений, target) с помощью функции потерь (задается параметрами Метрика для ранней остановки (регрессия) или Метрика для ранней остановки (классификация) в зависимости от решаемой задачи).
  2. Обратное распространение ошибки (Backward propagation) направлено на минимизацию функции потерь путем корректировки параметров нейронной сети (весов и смещений нейронов). Скорректировать эти параметры позволяют методы оптимизации на основе градиентного спуска (задается параметром Метод оптимизации).

Процесс оптимизации будет выполняться до тех пор, пока не будет достигнут критерий остановки (задается параметрами Ранняя остановка, Погрешность оптимизации и Количество итераций).

Список параметров узла

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

Scroll Title
title-positiontop
title-alignmentright
titleПараметры узла «Нейронная сеть»

Параметр

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

Описание

Название

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

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

Описание

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

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

Количество нейронов в скрытом слое

Для изменения количества нейронов и слоев необходимо:

  • Выбрать кнопку Изменить
  • Добавить необходимое количество слоев (Иконка позволяет добавить скрытый слой)
  • Указать необходимое число нейронов в каждом слое
  • Выбрать кнопку «Сохранить»
    По умолчанию — 1 слой, в котором 100 нейронов

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

Функция активации

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

  • Identity
  • logistic
  • tanh
  • relu (по умолчанию)

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

  • Identity

– нет активации
  • –  линейная функция, результат пропорционален переданному аргументу 

    LaTeX Unit
    bodyf(x) = x

  • logistic
сигмоида f
  • сигмоидная (логистическая) функция
    LaTeX Unit
    body--uriencoded--\sigma(x) =
1 / (1 + exp(-x))tanh – гиперболический тангенс
  • \frac%7B1%7D %7B1 + e%5e%7B-x%7D%7D
  • tanh – функция гиперболического тангенса 
  • LaTeX Unit
    body--uriencoded--f(x) = tanh(x) = \frac%7Be%5ex - e%5e%7B-x%7D%7D%7Be%5ex + e%5e%7B-x%7D%7D = \frac%7B1 - e%5e%7B-2x%7D%7D%7B1 + e%5e%7B-2x%7D%7D
  • relu – функция активации ReLu (Rectified Linear Unit)
    LaTeX Unit
    bodyf(x) = max(0, x)

Метод оптимизации

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

  • lbfgs
  • sgd
  • adam (по умолчанию)

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

  • sgd – стохастический градиентный спуск.
  • lbfgs
это
  • алгоритм оптимизации из семейства квазиньютоновских методов, который
приближает алгоритм Бройдена – Флетчера – Гольдфарба – Шанно
  • sgd – стохастический градиентный спуск
  • adam – adaptive moment estimation
    • аппроксимирует алгоритм Бройдена–Флетчера–Гольдфарба–Шанно (BFGS) с использованием ограниченного объема памяти.
    • adam метод адаптивной оценки моментов
    Информация
    titleПримечание

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

    Метод adam довольно хорошо работает с большими наборами данных с точки зрения как времени обучения, так и валидационной оценки. Однако для небольших наборов данных метод lbfgs может сходиться быстрее и работать лучше.

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

    Ручной ввод
    Неотрицательное число
    По умолчанию — 0,0001

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

    Правило определения скорости обучения

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

    • constant (по умолчанию)
    • invscalling
    • adaptive

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

    • constant – постоянная скорость обучения, которая задается в параметре Начальная скорость обучения
    • invscalling – постепенно снижает скорость обучения на каждом шаге, используя показатель обратный указанному в параметре Показатель степени для изменения скорости обучения
    • adaptive – поддерживает скорость обучения постоянной на уровне значения, указанного в параметре Начальная скорость обучения, пока потери при обучении продолжают уменьшаться. Каждый раз, когда две последовательные эпохи не могут уменьшить потери при обучении по крайней мере на значение, указанное в параметре Погрешность оптимизации, или не могут увеличить оценку проверки по крайней мере на это же значение, если включена Ранняя остановка, текущая скорость обучения делится на 5.
    Информация
    titleПримечание

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

    Начальная скорость обучения

    Ручной ввод
    Число больше 0
    По умолчанию — 0,001

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

    Информация
    titleПримечание

    Данный параметр можно задать только в случае выбранного метода оптимизации sgd или adam.

    Показатель степени для изменения скорости обучения

    Ручной ввод
    Число больше 0
    По умолчанию — 0,5

    Данный параметр

    залает

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

    Информация
    titleПримечание

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

    Перемешивание наблюдений

    Чекбокс

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

    Информация
    titleПримечание

    Данный параметр можно задать только в случае выбранного метода оптимизации sgd или adam.

    Seed

    Ручной ввод числового значения
    По умолчанию — 42

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

    Максимальное количество итераций (эпох)

    Ручной ввод
    Число больше 0
    По умолчанию — 200

    Данный параметр задает максимальное количество итераций. Решатель Оптимизатор выполняет итерации до сходимости (определяемой значением параметра Погрешность оптимизации) или до указанного количества итераций.

    Количество наблюдений для одной итерации

    Ручной ввод
    Число больше 0
    По умолчанию — 200

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

    Ранняя остановка

    Чекбокс

    Выбор данного чекбокса указывает на необходимость ранней остановки алгоритма, если валидационная оценка не улучшается на значение, указанное в параметре Погрешность оптимизации, в течение указанного в параметре Количество итераций без существенного улучшения значения.

    Данный параметр можно задать
    Информация
    titleПримечание

    Ранняя остановка эффективна только в случае выбранного метода оптимизации sgd или adam.

    Метрика для ранней остановки (регрессия)

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

    • MSE (по умолчанию)
    • MAE
    • MAPE
    • R2

    Данный параметр задает метрику для ранней остановки (задача регрессии). Предусмотрены следующие метрики:

    • MSE – среднеквадратичная ошибка
    • MAE – средняя абсолютная ошибка
    • MAPE – средняя абсолютная ошибка в процентах
    • R2 – коэффициент детерминации

    Метрика для ранней остановки (классификация)

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

    • Logloss (по умолчанию)
    • Accuracy
    • MCC
    • AUC ROC

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

    • Logloss – логистическая функция потерь
    • Accuracy – доля правильных ответов алгоритма
    • MCC – коэффициент корреляции Мэтьюза
    • AUC ROC – площадь под ROC-кривой

    Размер валидационной выборки для ранней остановки (%)

    Ручной ввод
    Число больше 0 и меньше 1
    По умолчанию — 0,1

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

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

    Ручной ввод
    Число больше 0
    По умолчанию — 10

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

    Информация
    titleПримечание

    Данный параметр можно задать только в случае выбранного метода оптимизации sgd или adam.

    Погрешность оптимизации

    Ручной ввод
    Число больше 0
    По умолчанию — 0,0001

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

    Инерция

    Ручной ввод
    Число больше или равно 0 и меньше или равно 1
    По умолчанию — 0,9

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

    Информация
    titleПримечание

    Данный параметр можно задать только в случае выбранного метода оптимизации sgd


    Использовать инерцию Нестерова

    Чекбокс

    Выбор данного чекбокса указывает на необходимость использовать инерцию Нестерова

    Информация
    titleПримечание

    Данный параметр можно задать только в случае выбранного метода оптимизации sgd и значения Инерции > 0


    Beta 1

    Ручной ввод
    Число больше 0 и меньше 1
    По умолчанию — 0,9

    Данный параметр задает скорость экспоненциального убывания для оценок вектора первого момента при методе оптимизации adam

    Beta 2

    Ручной ввод
    Число больше 0 и меньше 1
    По умолчанию — 0,999

    Данный параметр задает скорость экспоненциального убывания для оценок вектора второго момента при методе оптимизации adam

    Epsilon

    Ручной ввод
    Число больше 0
    По умолчанию — 1e-8

    Данный параметр задает значение числовой устойчивости при методе оптимизации adam

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

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

    • No (по умолчанию)
    • std
    • range

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

    Предусмотрены следующие методы:

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

    Максимальное количество вызовов целевой функции

    Ручной ввод целочисленного значения больше 0
    По молчанию - 15000

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

    Информация
    titleПримечание

    Данный параметр можно задать только в случае выбранного метода оптимизации lbfgs


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

    ...


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


    Раскрыть
    titleРезультаты бинарной классификации представлены следующими объектами:
    • График ROC.


    Scroll Title

    Image Modified


    • График Lift.


    Scroll Title

    Image Modified


    • График Cumulative Lift.


    Scroll Title

    Image Modified


    • График Gain.


    Scroll Title

    Image Modified


    • График Cumulative Gain.


    Scroll Title

    Image Modified


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


    Scroll Title

    Image Modified


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


    Scroll Title

    Image Modified


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


    Scroll Title

    Image Modified

    Раскрыть
    titleРезультаты многоклассовой классификации представлены следующими объектами:
    • График потери точности.


    Scroll Title

    Image Modified



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


    Scroll Title

    Image Modified


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


    Scroll Title

    Image Modified

    Раскрыть
    titleРезультаты регрессии представлены следующими объектами:
    • Тепловые карты для обучающей, валидационной и тестовой выборок.


    Scroll Title

    Image Modified


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


    Scroll Title

    Image Modified


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


    Scroll Title

    Image Modified


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


    Scroll Title

    Image Modified