Чтение онлайн

на главную

Жанры

Сверточные нейросети
Шрифт:

– Основные функции: ReLU, Sigmoid, Tanh

– Современные функции активации: Leaky ReLU, ELU, Swish

– Влияние функций активации на обучение сети

Основные функции активации

ReLU (Rectified Linear Unit)

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

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

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

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

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

Пример использования ReLU

Рассмотрим пример использования функции активации ReLU в нейронной сети, реализованной с помощью библиотеки Keras на Python. В этом примере мы создадим простую полносвязную нейронную сеть для классификации рукописных цифр из набора данных MNIST.

```python

import keras

from keras.models import Sequential

from keras.layers import Dense, Flatten

from keras.datasets import mnist

from keras.utils import np_utils

# Загрузка данных MNIST

(X_train, y_train), (X_test, y_test) = mnist.load_data

# Нормализация входных данных

X_train = X_train.astype('float32') / 255

X_test = X_test.astype('float32') / 255

# Преобразование меток в one-hot encoding

y_train = np_utils.to_categorical(y_train, 10)

y_test = np_utils.to_categorical(y_test, 10)

# Создание модели

model = Sequential

# Добавление слоев с функцией активации ReLU

model.add(Flatten(input_shape=(28, 28))) # Преобразование входных данных в вектор

model.add(Dense(512, activation='relu')) # Первый полносвязный слой с ReLU

model.add(Dense(512, activation='relu')) # Второй полносвязный слой с ReLU

model.add(Dense(10, activation='softmax')) # Выходной слой с softmax для многоклассовой классификации

# Компиляция модели

model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

# Обучение модели

model.fit(X_train, y_train, batch_size=128, epochs=10, validation_split=0.2)

#

Оценка модели на тестовых данных

score = model.evaluate(X_test, y_test)

print(f'Test loss: {score[0]}')

print(f'Test accuracy: {score[1]}')

```

Пояснение

1. Загрузка данных MNIST:

Мы загружаем набор данных MNIST, который состоит из изображений рукописных цифр (28x28 пикселей).

2. Нормализация входных данных:

Мы нормализуем значения пикселей, деля их на 255, чтобы привести их в диапазон от 0 до 1.

3. Преобразование меток в one-hot encoding:

Мы преобразуем метки классов в формат one-hot encoding, что необходимо для обучения модели в задачах многоклассовой классификации.

4. Создание модели:

Мы создаем последовательную модель (Sequential) и добавляем слои:

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

– Два полносвязных слоя с 512 нейронами каждый и функцией активации ReLU.

– Выходной слой с 10 нейронами и функцией активации softmax для предсказания вероятностей классов.

5. Компиляция модели: Мы компилируем модель, используя функцию потерь `categorical_crossentropy`, оптимизатор `adam` и метрику `accuracy`.

6. Обучение модели: Мы обучаем модель на тренировочных данных с размером батча 128 и числом эпох 10, используя 20% данных для валидации.

7. Оценка модели: Мы оцениваем модель на тестовых данных и выводим значения потерь и точности.

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

Sigmoid

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

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

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

Поделиться:
Популярные книги

Боксер 2: назад в СССР

Гуров Валерий Александрович
2. Боксер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Боксер 2: назад в СССР

Гром над Тверью

Машуков Тимур
1. Гром над миром
Фантастика:
боевая фантастика
5.89
рейтинг книги
Гром над Тверью

Безымянный раб [Другая редакция]

Зыков Виталий Валерьевич
1. Дорога домой
Фантастика:
боевая фантастика
9.41
рейтинг книги
Безымянный раб [Другая редакция]

Виконт. Книга 2. Обретение силы

Юллем Евгений
2. Псевдоним `Испанец`
Фантастика:
боевая фантастика
попаданцы
рпг
7.10
рейтинг книги
Виконт. Книга 2. Обретение силы

Титан империи 2

Артемов Александр Александрович
2. Титан Империи
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Титан империи 2

Чиновникъ Особых поручений

Кулаков Алексей Иванович
6. Александр Агренев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чиновникъ Особых поручений

Чужая дочь

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Чужая дочь

Измена. Мой заклятый дракон

Марлин Юлия
Любовные романы:
любовно-фантастические романы
7.50
рейтинг книги
Измена. Мой заклятый дракон

Темный Лекарь 5

Токсик Саша
5. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 5

Барон нарушает правила

Ренгач Евгений
3. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон нарушает правила

Польская партия

Ланцов Михаил Алексеевич
3. Фрунзе
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Польская партия

Книга пятая: Древний

Злобин Михаил
5. О чем молчат могилы
Фантастика:
фэнтези
городское фэнтези
мистика
7.68
рейтинг книги
Книга пятая: Древний

Наследница Драконов

Суббота Светлана
2. Наследница Драконов
Любовные романы:
современные любовные романы
любовно-фантастические романы
6.81
рейтинг книги
Наследница Драконов

Адепт: Обучение. Каникулы [СИ]

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.15
рейтинг книги
Адепт: Обучение. Каникулы [СИ]