[БЕЗ_ЗВУКА] В этом уроке
речь пойдет о нейронных сетях вообще и в частности об однослойной нейронной сети.
Нейронная сеть — это универсальная модель,
решающая широкий класс задач регрессии и классификации.
Задана выборка, множество пар «объект – ответ».
Объект — это множество признаков в d-мерном пространстве, вектор,
а ответ зависимой переменной y — это скаляр.
Требуется построить аппроксимирующую поверхность,
которая приближает ответы описаниями объектов.
Рассмотрим задачу регрессии.
На рисунке показана поверхность,
которая оценивает риск в задаче страхования и финансов.
По оси абсцисс и ординат — время до страхового случая и цена страховки.
По оси аппликат — ожидаемый риск.
Наша поверхность — нейронная сеть — аппроксимирует
исторический риск y в точках x.
Другие задачи регрессии: x — вектор исторических цен потребления
электроэнергии, y — цена электроэнергии в следующий час; x — векторизованный
снимок поверхности земли со спутника, y — объем зеленых насаждений; x
— история продаж товара, y — уровень потребительского спроса.
Рассмотрим задачу классификации.
В этой задаче зависимая переменная y принадлежит
конечному множеству и называется меткой класса.
Требуется построить разделяющую поверхность, которая отделяет объекты
одного класса от объектов другого класса таким образом,
что при значении функции разделяющей поверхности
большей нуля мы бы аппроксимировали объекты класса 1,
а при меньшей нуля — объекты класса −1.
На графике по осям показаны значения признаков x1 и x2,
а значения функции a или значение метки
класса y оно показано на нас в третьем измерении.
И мы видим, толстая линия отделяет объекты синего класса от
объектов оранжевого класса и как раз это и есть наша разделяющая поверхность a(x).
Примеры задач классификации: x — временной ряд акселерометра мобильного телефона,
y — вид физической активности; x — страница документа, y — релевантность
этого документа по поисковому запросу; x — нотная запись в музыкальном произведении,
y — это следующая нота, которая предполагается к проигрыванию.
Что такое универсальная модель?
Мы считаем нейронную сеть универсальной моделью,
потому что она может аппроксимировать любые поверхности.
В 1957 году Андрей Николаевич Колмогоров сформулировал следующую теорему: каждая
непрерывная функция a(x), заданная на единичном кубе в d-мерном пространстве,
представима в виде суперпозиции суммы функции σ от суммы функции f,
где x — это наш вектор описания объекта в d-мерном пространстве.
При этом функции σ и f должны быть непрерывны, и f не зависит от выбора a,
что дает нам возможность конструировать различные нейронные сети.
Иначе, другими словами, функцию от многих аргументов можно представить
в виде суперпозиции многих функций от одного аргумента.
Что такое единичный куб d-мерного пространства?
Этот куб включает наши измерения, элементы выборки,
которые аппроксимирует наша нейронная сеть.
Если измерения — элементы вектора x — сделаны в различных шкалах, в разных
шкалах (например, килограммы, амперы, секунды), то их следует обезразмерить.
Например, отобразить измерения каждого из признаков в отрезок [0, 1].
Важно понимать, что Колмогоров не указал, какими именно должны быть функции σ и f,
и это оставляет проблему конструирования нейронной сети очень острой и сложной.
Рассмотрим однослойную сеть как единственный нейрон.
Однослойная нейронная сеть или нейрон — это комбинация весов
признаков или скалярное произведение объекта на вектор весов.
σ — это наша функция активации, какая-то непрерывная монотонная функция,
желательно дифференцируемая; w — это вектор параметров (или
весов) признаков; x — это объект,
это вектор с присоединенной единичкой,
которая соответствует специальному весу w0, а этот вес регулирует
положение нашей аппроксимирующей функции a относительно оси y.
Нейрон можно графически представить в виде двудольного графа,
в котором листья — это независимые переменные,
а вершинка — это линейная комбинация и наша функция активации.
Рассмотрим два примера использования нейронной сети как линейной модели.
Первый пример — это задача регрессии, и в этой задаче функция активации
тождественна алгебраической единице: что на входе, то и на выходе, и наша функция
является линейной комбинацией значений признаков.
Вторая задача — это задача классификации, в ней функция активации,
пороговая функция сигнум от линейной комбинации.
И мы говорим, что мы считаем объект крестиком,
если функция, значение функции больше нуля,
в противном случае, если она меньше нуля, то мы считаем объект ноликом.
Однослойная нейронная сеть является моделью логистической регрессии,
если мы используем сигмоидную функцию активации 1 поделить на
1 плюс экспонента от отрицательного скалярного произведения.
Эта функция определяет вероятность принадлежности некоторого заданного
объекта x к классу y равным единице при заданных параметрах w.
На графике по осям абсцисс и ординат отложены значения признаков,
точки — это объекты, y — это наши метки классов,
и нашу выборку аппроксимирует как раз вот эта
функция — сигмоидная функция активации от скалярного произведения.
Для случая нескольких классов используется функция активации softmax.
При этом сеть состоит из K одинаковых нейронов,
и каждый нейрон вычисляет вероятность принадлежности к своему классу,
а вся сеть вычисляет вероятность принадлежности объекта x к
различным K классам одновременно.
Какие есть еще виды функции активации?
Гиперболический тангенс — это обобщение пороговой функции сигнум,
которое может быть продифференцировано.
Более мягкий вариант гиперболического тангенса — это функция активации softsign,
которая сходится как и гиперболический тангенс к ±1,
но данная функция она сходится медленнее, чем гиперболический тангенс.
В сетях глубокого обучения, в более сложных нейронных сетях
используются функция выпрямитель ReLu,
работает как диод в радиоэлектронике,
и эта функция она не дифференцируема, но имеет дифференцируемое
приближение ln(1 + exp(x)).
Итого: нейронная сеть — это универсальная модель,
предназначенная для решения широкого класса задач регрессии и классификации,
то есть для обучения с учителем.
Нейрон, или однослойная нейронная сеть — это функция активации
от линейной комбинации признаков объекта.
При построении нейронной сети используются различные функции активации.
Дальше двуслойные и многослойные нейронные сети.