Каковы функции активации в машинном обучении?

Кто-то был бы поражен популярными приложениями машинного обученияи науки о данных. Многие отрасли переходят на искусственный интеллект для улучшения своих приложений. Согласно Forbes, наука о данных считается очень ценной профессией на текущем рынке труда. Есть компании, которым нужны специалисты в области науки о данных и искусственного интеллекта.

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

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

Что такое функция активации?

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

Сигмоид:

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

Значение сигмовидной функции для сильно отрицательных значений имеет тенденцию к 0. Точно так же ее значение изменяется и стремится к 1 с увеличением входных данных, как видно из рисунка. Исходя из этого, можно увидеть, что наиболее целесообразно использовать сигмоидальнуюфункцию для задач классификации 2-х классов.

Тан:

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

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

РеЛУ:

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

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

Дырявый ReLU:

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

Как видно выше, разница между ReLU и Leaky ReLU. Поскольку значение входа продолжает уменьшаться ниже 0, выход также немного уменьшается. Однако в случае ReLU это уменьшение приводит к тому, что выход равен 0.

Заключение

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

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

Надеюсь, вы нашли эту статью полезной. Не стесняйтесь делиться своими мыслями и отзывами. Спасибо.