Professional Documents
Culture Documents
Функція Активації Дячекнко
Функція Активації Дячекнко
Київ 2023р
1. Зміст
1. Зміст........................................................................................................................2
2. Вступ......................................................................................................................3
3. Функція активації LReLU.....................................................................................4
4. Переваги та недоліки функції..............................................................................6
5. Реалізація коду......................................................................................................8
6. Список джерел інформації.................................................................................10
2
2. Вступ
Згорткові нейронні мережі (CNN) все частіше використовуються в
багатьох сферах комп'ютерного зору. Вони особливо привабливі завдяки своїй
здатності "поглинати" великі обсяги маркованих даних з безліччю параметрів.
Розробка функцій активації, які дозволяють швидко навчати точні глибокі
нейронні мережі, є популярним напрямком досліджень.
За останні десятиліття нейронні мережі стали ключовою технологією в
обчисленнях і штучному інтелекті. Вони здатні вирішувати різноманітні
завдання, включаючи візуальне розпізнавання, мовленнєвий аналіз, автономне
керування та багато інших. Проте однією з найважливіших складових
нейронних мереж є активаційні функції.
Активаційні функції визначають вихід нейронів у нейронних мережах і
впливають на їх здатність навчатися та вирішувати завдання. Однією з
ключових активаційних функцій є "Rectified Linear Unit" або ReLU, яка широко
використовується завдяки своєму простому обчислювальному вигляду та
ефективності. Проте існують і інші активаційні функції, такі як Leaky ReLU,
Sigmoid та Tanh, кожна з яких має свої переваги та недоліки.
У цьому контексті робота на тему активації в нейронних мережах
досліджує різні активаційні функції, їхні властивості та вплив на
продуктивність нейронних мереж. Вона також вивчає способи оптимізації та
вибору активаційних функцій в залежності від конкретного завдання.
Дослідження в цій області має велике практичне застосування в сферах,
де нейронні мережі використовуються для розв'язання завдань штучного
інтелекту. Вивчення та розвиток активаційних функцій допомагає покращити
продуктивність нейронних мереж і робить їх більш ефективними в різних
областях, включаючи комп'ютерне бачення, обробку природної мови та багато
інших. Таким чином, робота на цю тему відкриває нові можливості для
вдосконалення та розширення застосувань нейронних мереж в сучасному світі
технологій.
3
3. Функція активації LReLU
Leaky Rectified Linear Unit, або Leaky ReLU - це тип функції активації,
заснований на ReLU (рис 1.), але вона має невеликий нахил для від'ємних
значень замість плоского нахилу. Коефіцієнт нахилу визначається перед
тренуванням, тобто він не вивчається під час тренування. Цей тип функції
активації популярний у задачах, де ми можемо зіткнутися з розрідженими
градієнтами, наприклад, при навчанні генеративних нейронних мереж.[1]
ƒ(x) = max(ax,x)
Формула 1. Формула ReLU. Де x — вхідний сигнал, a – коефіцієнт константа.
4
Однак варто зазначити, що вибір константи витоку a є гіперпараметром,
який потрібно ретельно налаштовувати , оскільки занадто високе значення
може призвести до того, що функція Leaky ReLU буде поводитися надто як
лінійна функція, тоді як встановлення занадто низького значення може
недостатньо для ефективного вирішення вмираючої проблеми ReLU.[2]
Тепер, коли ми розглянули математичні позначення для функції Leaky
ReLU, давайте подивимося на графік функції, щоб зрозуміти її глибше (рис. 2).
Припустимо що ми використовуємо невелике постійне значнення для змінної
alpha. У цьому випадку всі від'ємні значення на осі х, що представляють вхідні
дані функції, відображаються близько до нуля, тоді як додатні значення
залишаються незмінними. Значення константи alpha визначається тільки на
початку навчання, тобто не змінюється під час навчання моделі.
5
4. Переваги та недоліки функції
Переваги:
1. Уникнення проблеми "вмирання градієнта": Однією з головних
переваг LReLU є її здатність уникати проблеми вимирання градієнта, яка
може виникати в звичайному ReLU. У звичайному ReLU, якщо вхід до
нейрона стає від'ємним, градієнт стає нульовим, і нейрон перестає
навчатися. У LReLU для від'ємних значень використовується невеликий
нахил, що дозволяє градієнту і нейрону залишатися активними.
2. Збереження нелінійності: LReLU залишає нелінійні властивості ReLU,
що є важливим для вирішення складних завдань. Водночас вона зменшує
можливість виникнення проблеми вимирання градієнта, що робить її
вибором за замовчуванням для багатьох архітектур нейронних мереж.
3. Відносно проста обчислювальна форма: LReLU зберігає простоту
обчислювальної форми ReLU. Це важливо для ефективної роботи
нейронних мереж на обчислювальних пристроях.
4. Збалансований вибір коефіцієнта нахилу: Коефіцієнт нахилу (alpha) у
LReLU може бути налаштованим під час навчання для оптимальної
продуктивності. Це дозволяє регулювати активацію нейронів залежно від
потреб конкретного завдання.
Недоліки:
1. Додаткові параметри для налаштування: У LReLU є ще один
гіперпараметр (параметр alpha), який потрібно налаштовувати під час
навчання. Це додає додатковий рівень складності до процесу
налаштування нейронних мереж і може вимагати додаткового часу та
зусиль.
2. Неоднозначність параметра alpha: В LReLU, параметр alpha визначає
нахил функції для від'ємних значень. Вибір величини alpha не є
тривіальним завданням, і його оптимальне значення може варіюватися в
залежності від конкретного завдання. Якщо alpha вибрати надто великим,
то LReLU може втратити частину своїх переваг над звичайним ReLU.
Невірний вибір alpha може призвести до неефективного навчання мережі.
3. Зменшена дискретність: В деяких випадках, використання LReLU може
призвести до меншої дискретності виходу, оскільки вона дозволяє
значенням функції бути у діапазоні від нуля до нескінченності. Це може
призвести до більших обчислювальних витрат та меншої чіткості
розділення між активованими та неактивованими нейронами.
6
4. Інші функції активації можуть бути кращими: У деяких завданнях і
для певних архітектур LReLU може бути менш ефективною в порівнянні
з іншими активаційними функціями, такими як Parametric ReLU (PReLU)
або Exponential Linear Unit (ELU). Вибір оптимальної функції активації
залежить від конкретного завдання та архітектури мережі.
7
5. Реалізація коду
Для даної функції активації було використано мову програмування
Python. В даному коді ми розглянемо спосіб використання функції з
прикладами, та графіками. Нижче вказано програму для функції активації.[3]
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('seaborn')
plt.figure(figsize=(8,4))
def LReLU(arr):
lst=[]
for i in arr:
if i>=0:
lst.append(i)
else:
lst.append(0.01*i)
return lst
plt.style.use('seaborn')
plt.figure(figsize=(10,6))
def LReLU(arr):
lst=[]
for i in arr:
if i>=0:
lst.append(i)
else:
lst.append(0.01*i)
return lst
arr = np.linspace(-10, 50,num = 100)
plt.plot(arr, LReLU(arr))
plt.title('Leaky ReLU Activation Function')
plt.show()
9
контексті конкретного завдання та враховувати переваги та недоліки кожної
функції відповідно до його потреб.
10
6. Список джерел інформації
1. Електронний ресурс,
https://python.hotexamples.com/ru/examples/keras.layers.advanced_activation
s/LRelu/-/python-lrelu-class-examples.html
2. Електронний ресурс,
https://www.digitalocean.com/community/tutorials/relu-function-in-python
3. Електронний ресурс,
https://www.analyticsvidhya.com/blog/2022/01/activation-functions-for-
neural-networks-and-their-implementation-in-python/?
social=google&next=https%3A%2F%2Fwww.analyticsvidhya.com%2Fblog
%2F2022%2F01%2Factivation-functions-for-neural-networks-and-their-
implementation-in-python%2F
4. Електронний ресур https://matplotlib.org/stable/tutorials/pyplot.html
11