Я, Руши Праджапати, приветствую вас в своем очередном блоге из серии Упрощение, в котором я пытаюсь объяснить сложные темы, упрощая их. В этой серии я написал три блога: один по компьютерному зрению, один по ML-DL и один по нейронным сетям. И сегодня я представляю вам очередной блог о функции активации нейронной сети.

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

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

Думайте о функции активации как о человеке, который запускает процесс «принятия решений» в нейронной сети. Функции активации можно рассматривать как «искру», которая зажигает и движет нейронную сеть вперед.

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

Функции активации подобны выключателю «включено-выключено», то есть они делают нейрон либо полностью активным, либо полностью неактивным.

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

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

Поток функции активации

  1. В нейронной сети каждый нейрон вычисляет взвешенную сумму своих входных данных, которая проходит через функцию активации для получения выходных данных.
  2. Затем функция активации определяет, должен ли нейрон «срабатывать» и выдавать выходные данные на основе полученных им входных данных или нет. Функции активации — это математические функции, применяемые к взвешенной сумме (линейной комбинации) выходных данных сети или слоя.

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

Вот некоторые популярные функции активации:

  1. Пошаговая функция
  2. Сигмовидная функция
  3. Функция SoftMax
  4. Функция гиперболического тангенса (tanh)
  5. Выпрямленная линейная единица (ReLU)
  6. Дырявый ReLU

Итак, давайте разберемся с некоторыми функциями активации.

Ступенчатая функция

Простейшая функция активации, используемая персептроном (нейронной сетью), — это ступенчатая функция, которая выдает двоичный результат («1» или «0»).

По сути, это говорит о том, что если суммируется «input≥0», он срабатывает, а суммируется «input≤0», он не срабатывает на выходе.

Ее также называют «функцией шага Хевисайда» или «функцией единичного шага», которая полезна для двоичной классификации.

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

Сигмовидная функция

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

Он часто используется в бинарной классификации для предсказания вероятности класса из двух классов.

Сигмовидная функция преобразует бесконечную непрерывную переменную (диапазон от -∞ до +∞) в простые вероятности «0» или «1».

Когда ступенчатая функция используется для получения дискретного ответа (проходит или не проходит), сигмовидная функция используется для получения вероятности прохождения и вероятности отказа.

Функция SoftMax

Функция SoftMax является обобщением сигмовидной функции. Он используется для получения вероятностей классификации, когда у нас более двух классов.

Это заставляет вывод нейронной сети «суммировать до 1» (0‹output‹1)

Функция SoftMax преобразует входные значения в значения вероятности от 0 до 1.

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

Даже при классификации двух классов SoftMax работает хорошо; короче говоря, она ведет себя как сигмовидная функция.

Функция гиперболического тангенса (tanh)

Функция гиперболического тангенса представляет собой просеянную версию сигмовидной функции. Вместо того, чтобы сжимать значения сигнала между 0 и 1, Tanh сжимает все значения в диапазоне от -1 до 1.

Функция tanh в скрытом слое почти превосходит сигмовидную функцию, потому что она центрирует ваши данные так, что «среднее» ближе к «0», чем к «0,5», что немного упрощает обучение для следующего слоя.

Выпрямленная линейная единица (ReLU)

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

Функция активации выпрямленного линейного блока активирует узел только в том случае, если вход выше «0».

Если вход ниже «0», то выход всегда будет «0», а когда вход выше «0», он будет иметь линейную связь с переменной.

Функция ReLU устраняет все отрицательные значения во входных данных, превращая их в нули.

Дырявый ReLU

Прежде чем понять Leaky ReLU, давайте разберемся в недостатках ReLU. Одним из недостатков ReLU является то, что производная равна нулю, когда (x) отрицательно.

Leaky ReLU — это разновидность ReLU, которая устраняет эту проблему. Вместо функции, которая дает «ноль», когда (x‹0), Leaky ReLU вводит небольшой отрицательный наклон (около 0,01), когда (x) отрицательно.

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

Выбор правильной функции активации

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

  1. Нелинейность: выберите функцию активации, которая позволит сети понимать сложные закономерности в данных, а не только прямые линии.
  2. Дифференцируемость: убедитесь, что функция активации дифференцируема, что помогает процессу обучения сети и эффективному обновлению ее знаний.
  3. Выходной диапазон: учитывайте требования вашей задачи. Если вы занимаетесь бинарной классификацией, вам понадобится функция активации, обеспечивающая вероятности от 0 до 1.
  4. Как избежать проблем с градиентом: некоторые функции активации могут вызывать проблемы с градиентами во время обучения. Ищите функции активации, такие как ReLU, которые помогают предотвратить эти проблемы, облегчая обучение сети.
  5. Разреженность: функции активации, такие как ReLU, могут ввести разреженность, делая некоторые нейроны неактивными. Это может помочь сократить объем вычислений и повысить эффективность сети.

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

Заключение

В этом блоге мы рассмотрели несколько популярных функций активации, в том числе ступенчатую функцию, сигмовидную функцию, функцию SoftMax, функцию гиперболического тангенса (tanh), выпрямленную линейную единицу (ReLU) и Leaky ReLU. Каждая из этих функций имеет свои характеристики и математические свойства, которые могут влиять на производительность и возможности обучения нейронной сети.

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

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

Следите за новыми блогами из серии «Упрощение».

Спасибо за чтение!!!

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