วัตถุประสงค์ของฟังก์ชั่นการเปิดใช้งานคือการแนะนำระบบที่ไม่เป็นเชิงเส้นเข้าสู่เครือข่าย
ในทางกลับกันสิ่งนี้จะช่วยให้คุณสามารถสร้างแบบจำลองตัวแปรตอบสนอง (ตัวแปรเป้าหมาย aka, ป้ายชื่อคลาสหรือคะแนน) ที่แตกต่างกันแบบไม่ตรงกับตัวแปรอธิบาย
ไม่ใช่เชิงเส้นหมายความว่าเอาต์พุตไม่สามารถทำซ้ำได้จากการรวมกันเชิงเส้นของอินพุต (ซึ่งไม่เหมือนกับเอาท์พุตที่แสดงผลเป็นเส้นตรง - คำสำหรับสิ่งนี้คือเลียนแบบ )
วิธีคิดอีกอย่าง: ไม่มีฟังก์ชั่นการเปิดใช้งานแบบไม่เชิงเส้นในเครือข่าย NN ไม่ว่าจะมีเลเยอร์จำนวนเท่าใดก็จะทำงานเหมือนกับ perceptron แบบเลเยอร์เดียวเพราะการรวมเลเยอร์เหล่านี้จะให้ฟังก์ชันเชิงเส้นอีกอันหนึ่ง (ดูคำจำกัดความด้านบน)
>>> 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])
ฟังก์ชันการเปิดใช้งานทั่วไปที่ใช้ใน backprop ( ไฮเพอร์โบลิกแทนเจนต์ ) ประเมินจาก -2 ถึง 2: