Компонент "Многоклассовая нейронная сеть"

В этой статье описывается компонент в конструкторе Машинного обучения Azure.

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

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

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

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

Нейронные сети

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

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

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

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

Настройка многоклассовой нейронной сети

  1. Добавьте компонент Многоклассовая нейронная сеть в конвейер в конструкторе. Этот компонент доступен в разделе Машинное обучение > Инициализация в категории Классификация.

  2. Create trainer mode (Создание режима учителя). Используйте этот параметр, чтобы указать, как должна быть обучена модель.

    • Single Parameter (Один параметр). Выберите этот вариант, если уже знаете, как хотите настроить модель.

    • Parameter Range (Диапазон параметров). Используйте этот вариант, если вы не знаете наилучшие параметры и хотите выполнить перебор параметров. Выберите диапазон значений для итерации и в процессе Tune Model Hyperparameters (Настройка гиперпараметров модели) выполните итерацию по всем возможным сочетаниям указанных параметров, чтобы определить гиперпараметры, которые приводят к оптимальным результатам.

  3. Hidden layer specification (Спецификация скрытого слоя). Выберите тип создаваемой сетевой архитектуры для создания.

    • Fully connected case (Полное подключение). Выберите этот вариант, чтобы создать модель с использованием архитектуры нейронной сети по умолчанию. Для моделей многоклассовой нейронной сети используются следующие настройки по умолчанию:

      • Один скрытый слой.
      • Выходной слой полностью подключен к скрытому слою.
      • Скрытый слой полностью подключен ко входному слою.
      • Количество узлов во входном слое определяется количеством признаков в обучающих данных.
      • Количество узлов в скрытом слое может быть задано пользователем. Значение по умолчанию — 100.
      • Количество узлов в выходном слое зависит от количества классов.
  4. Количество скрытых узлов. Этот параметр позволяет настроить количество скрытых узлов в архитектуре по умолчанию. Введите количество скрытых узлов. По умолчанию используется один скрытый слой со 100 узлами.

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

  6. Number of learning iterations (Число итераций обучения). Укажите максимальное число обработок обучающих вариантов по алгоритму.

  7. The initial learning weights diameter (Начальный диаметр весовых коэффициентов обучения). Задайте весовые коэффициенты узлов в начале процесса обучения.

  8. The momentum (Момент). Укажите весовой коэффициент, применяемый во время обучения к узлам из предыдущих итераций.

  9. Shuffle examples (Случайный порядок примеров). Выберите этот параметр, чтобы разместить варианты в итерациях в случайном порядке.

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

  10. Random number seed (Начальное значение случайного числа). Введите значение, которое будет использоваться в качестве начального значения, если необходимо обеспечить повторяемость во время выполнения одного и того же конвейера.

  11. Обучение модели:

    • Если для параметра Создать режим учителя задано значение Одиночный параметр, подключите помеченный набор данных и компонент Обучение модели.

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

    Примечание

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

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

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

Результаты

После завершения обучения:

  • Чтобы сохранить моментальный снимок обученной модели, выберите вкладку Выходные данные на правой панели компонента Обучение модели. Щелкните значок Зарегистрировать набор данных, чтобы сохранить модель как компонент для повторного использования.

Дальнейшие действия

Ознакомьтесь с набором доступных компонентов для Машинного обучения Azure.