Мета функції активації - ввести нелінійність в мережу
це, в свою чергу, дозволяє моделювати змінну відповідей (він же цільова змінна, мітка класу чи оцінка), яка змінюється нелінійно залежно від пояснювальних змінних
нелінійний означає, що вихід не може бути відтворений з лінійної комбінації входів (що не є тим самим, як вихід, який передається прямій - слово для цього є афінним ).
інший спосіб подумати про це: без нелінійної функції активації в мережі, NN, незалежно від того, скільки шарів він мав, поводився б так, як одношаровий перцептрон, тому що підсумовуючи ці шари, ви отримаєте ще одну лінійну функцію (див. визначення трохи вище).
>>> in_vec = NP.random.rand(10)
>>> in_vec
array([ 0.94, 0.61, 0.65, 0. , 0.77, 0.99, 0.35, 0.81, 0.46, 0.59])
>>> # common activation function, hyperbolic tangent
>>> out_vec = NP.tanh(in_vec)
>>> out_vec
array([ 0.74, 0.54, 0.57, 0. , 0.65, 0.76, 0.34, 0.67, 0.43, 0.53])
Загальна функція активації, яка використовується в задній частині ( гіперболічна дотична ), оцінюється від -2 до 2: