অ্যাক্টিভেশন ফাংশনটির উদ্দেশ্যটি হল নেটওয়ার্কে অ-লিনিয়ারিটি প্রবর্তন করা
পরিবর্তে, এটি আপনাকে একটি প্রতিক্রিয়ার ভেরিয়েবল (ওরফে টার্গেট ভেরিয়েবল, ক্লাস লেবেল, বা স্কোর) মডেল করতে দেয় যা তার ব্যাখ্যামূলক ভেরিয়েবলের সাথে অ-রৈখিকভাবে পরিবর্তিত হয়
অ-রৈখিক মানে আউটপুট ইনপুটগুলির একটি রৈখিক সংমিশ্রণ থেকে পুনরুত্পাদন করা যাবে না (যা আউটপুট হিসাবে একই নয় যা একটি সরলরেখায় রেন্ডার করে - এর জন্য শব্দটি অ্যাফাইন হয় )।
এটি ভাবার আরেকটি উপায়: নেটওয়ার্কে অ-রৈখিক অ্যাক্টিভেশন ফাংশন ব্যতীত, একটি এনএন, এটি যত স্তর রাখুক না কেন, একটি একক-স্তর পারসেপ্ট্রনের মতো আচরণ করবে, কারণ এই স্তরগুলির সংমিশ্রণ আপনাকে আরও একটি লিনিয়ার ফাংশন দেবে because (ঠিক উপরে উপরে সংজ্ঞা দেখুন)।
>>> 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 পর্যন্ত মূল্যায়ন করা হয়: