ทำไมต้องเปิดใช้งานฟังก์ชั่นแบบไม่เชิงเส้นในเครือข่ายนิวรัล backpropagation


139

ฉันได้อ่านบางอย่างเกี่ยวกับโครงข่ายประสาทและฉันเข้าใจหลักการทั่วไปของโครงข่ายประสาทชั้นเดียว ฉันเข้าใจความต้องการเลเยอร์ aditional แล้ว แต่ทำไมจึงใช้ฟังก์ชั่นเปิดใช้งานแบบไม่เชิงเส้น

คำถามนี้ตามมาด้วยคำถามนี้: อะไรคืออนุพันธ์ของฟังก์ชั่นการเปิดใช้งานที่ใช้ในการแพร่กระจายย้อนหลัง?


คำตอบที่ดีที่สุดของปัญญาประดิษฐ์
eusoubrasileiro

คำตอบ:


167

วัตถุประสงค์ของฟังก์ชั่นการเปิดใช้งานคือการแนะนำระบบที่ไม่เป็นเชิงเส้นเข้าสู่เครือข่าย

ในทางกลับกันสิ่งนี้จะช่วยให้คุณสามารถสร้างแบบจำลองตัวแปรตอบสนอง (ตัวแปรเป้าหมาย 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:

ป้อนคำอธิบายรูปภาพที่นี่


15
ทำไมเราต้องการกำจัดลิเนียริตี้?
corazza

17
หากข้อมูลที่เราต้องการทำโมเดลไม่ใช่เชิงเส้นเราจำเป็นต้องพิจารณาข้อมูลนั้นในแบบจำลองของเรา
doug

38
หนึ่งคำตอบประโยค: . << ไม่ว่ากี่ชั้นจะทำตัวเหมือนเป็นเพียงแค่ตรอนเดียว (เพราะฟังก์ชั่นเชิงเส้นเข้าด้วยกันเพียงแค่ให้คุณฟังก์ชั่นเชิงเส้น) ดี!
อิสระ

12
นี่เป็นความเข้าใจผิดเล็กน้อย - ตามที่เอสกิกล่าวไว้ฟังก์ชั่นการเปิดใช้งานเชิงเส้นที่แก้ไขแล้วจะประสบความสำเร็จอย่างมากและหากเป้าหมายของเราคือเพียงแค่ฟังก์ชั่นโมเดล / โดยประมาณการขจัดความไม่เชิงเส้นในทุกขั้นตอน ด้วยชิ้นส่วนที่เป็นเส้นตรงคุณสามารถประมาณฟังก์ชั่นที่ไม่ใช่เชิงเส้นได้เกือบทั้งหมดเพื่อความแม่นยำระดับสูง ฉันพบว่านี่เป็นคำอธิบายที่ดีว่าทำไมหน่วยหน่วยเชิงเส้นที่แก้ไขแล้วทำงานได้: stats.stackexchange.com/questions/141960/ …
tegan

11
@tegan Rectifiedฟังก์ชั่นการเปิดใช้งานเชิงเส้นที่ไม่ใช่เชิงเส้น ฉันไม่แน่ใจว่าความคิดเห็นของคุณเกี่ยวข้องกับคำตอบอย่างไร
endolith

49

ฟังก์ชันการเปิดใช้งานเชิงเส้นสามารถใช้ได้อย่างไรก็ตามในบางโอกาสที่ จำกัด มาก ในความเป็นจริงที่จะเข้าใจฟังก์ชั่นการเปิดใช้งานได้ดีขึ้นมันเป็นสิ่งสำคัญที่จะดูที่สแควร์น้อยที่สุดธรรมดาหรือเพียงแค่ถดถอยเชิงเส้น การถดถอยเชิงเส้นมีวัตถุประสงค์เพื่อค้นหาน้ำหนักที่เหมาะสมที่สุดซึ่งส่งผลให้เกิดผลกระทบแนวดิ่งน้อยที่สุดระหว่างตัวแปรอธิบายและเป้าหมายเมื่อรวมกับอินพุต ในระยะสั้นหากผลลัพธ์ที่คาดหวังสะท้อนให้เห็นถึงการถดถอยเชิงเส้นที่แสดงด้านล่างฟังก์ชั่นการเปิดใช้งานเชิงเส้นสามารถใช้: (รูปด้านบน) แต่ดังในรูปที่สองด้านล่างฟังก์ชั่นเชิงเส้นจะไม่ให้ผลลัพธ์ที่ต้องการ: (รูปกลาง) อย่างไรก็ตามฟังก์ชั่นที่ไม่ใช่เชิงเส้นดังแสดงด้านล่างจะให้ผลลัพธ์ที่ต้องการ:

ป้อนคำอธิบายรูปภาพที่นี่

ฟังก์ชั่นการเปิดใช้งานไม่สามารถเป็นแบบเชิงเส้นได้เนื่องจากเครือข่ายประสาทที่มีฟังก์ชั่นการเปิดใช้งานแบบเชิงเส้นจะมีประสิทธิภาพเพียงชั้นเดียวลึกโดยไม่คำนึงถึงความซับซ้อนของสถาปัตยกรรม อินพุตไปยังเครือข่ายมักจะเป็นการแปลงเชิงเส้น (น้ำหนัก * อินพุต) แต่โลกแห่งความเป็นจริงและปัญหาไม่เป็นเชิงเส้น ในการทำให้ข้อมูลขาเข้าไม่เชิงเส้นเราใช้การทำแผนที่แบบไม่เชิงเส้นที่เรียกว่าฟังก์ชั่นการเปิดใช้งาน ฟังก์ชั่นการเปิดใช้งานเป็นฟังก์ชั่นการตัดสินใจที่กำหนดว่ามีคุณลักษณะของระบบประสาทโดยเฉพาะ มันถูกแมประหว่าง 0 และ 1 โดยที่ศูนย์หมายถึงไม่มีคุณสมบัติในขณะที่หนึ่งหมายถึงการมีอยู่ของมัน น่าเสียดายที่การเปลี่ยนแปลงเล็กน้อยที่เกิดขึ้นในตุ้มน้ำหนักไม่สามารถสะท้อนให้เห็นในค่าการเปิดใช้งานเพราะมันสามารถรับได้เพียง 0 หรือ 1 เท่านั้นดังนั้นฟังก์ชั่นที่ไม่เชิงเส้นจะต้องต่อเนื่องและแตกต่างกันระหว่างช่วงนี้ เครือข่ายนิวรัลจะต้องสามารถรับอินพุตใด ๆ จาก -infinity ถึง + infinite แต่มันควรจะสามารถแมปกับเอาต์พุตที่ช่วงระหว่าง {0,1} หรือระหว่าง {-1,1} ในบางกรณี - ดังนั้น ต้องการฟังก์ชั่นการเปิดใช้งาน Non-linearity เป็นสิ่งจำเป็นในฟังก์ชั่นการเปิดใช้งานเพราะเป้าหมายในเครือข่ายประสาทคือการสร้างขอบเขตการตัดสินใจแบบไม่เชิงเส้นผ่านการรวมกันแบบไม่เชิงเส้นของน้ำหนักและอินพุต


1
+ หนึ่งจากนั้นสามารถอนุมานได้ว่าฟังก์ชันแบบไม่เชิงเส้นใช้เพื่อสร้างขอบเขตที่สมบูรณ์แบบหรือไม่
SIslam

1
ใช่แล้ว ในการสร้างเพียง 0 หรือ 1 ก็สามารถผลิต 0.4 หรือ 0.78 ทำให้มันต่อเนื่องในช่วงของขอบเขต
chibole

3
เครือข่ายนิวรัลจะต้องสามารถรับอินพุตใด ๆ จาก -infinity ถึง + infinite แต่มันควรจะสามารถแมปกับเอาต์พุตที่มีช่วงระหว่าง {0,1} หรือระหว่าง {-1,1} ... มันทำให้ฉันนึกถึง ข้อ จำกัด ของ ReLU คือควรใช้ภายในเลเยอร์ที่ซ่อนของโมเดลโครงข่ายประสาทเทียมเท่านั้น
เมฆโช

21

ถ้าเราอนุญาตเฉพาะฟังก์ชั่นเปิดใช้งานเชิงเส้นในเครือข่ายประสาทเทียมผลลัพธ์ก็จะเป็นการแปลงเชิงเส้นของอินพุตซึ่งไม่เพียงพอที่จะสร้างตัวประมาณฟังก์ชั่นสากล approximatorเครือข่ายดังกล่าวสามารถถูกแทนด้วยการคูณเมทริกซ์และคุณจะไม่สามารถรับพฤติกรรมที่น่าสนใจจากเครือข่ายดังกล่าว

สิ่งเดียวกันสำหรับกรณีที่เซลล์ประสาททั้งหมดมีฟังก์ชั่นเปิดใช้งานเลียนแบบ (เช่นฟังก์ชั่นการเปิดใช้งานในรูปแบบf(x) = a*x + cที่ไหนaและcเป็นค่าคงที่ซึ่งเป็นลักษณะทั่วไปของฟังก์ชั่นการเปิดใช้งานเชิงเส้น) ซึ่งจะส่งผลให้เกิดการแปลงเลียนแบบจากการป้อนข้อมูลการส่งออก ซึ่งไม่น่าตื่นเต้นมากเช่นกัน

เครือข่ายประสาทอาจมีเซลล์ประสาทที่มีฟังก์ชั่นเปิดใช้งานเชิงเส้นเช่นในเลเยอร์เอาท์พุท แต่สิ่งเหล่านี้ต้องการ บริษัท ของเซลล์ประสาทที่มีฟังก์ชั่นเปิดใช้งานแบบไม่เชิงเส้นในส่วนอื่น ๆ ของเครือข่าย

หมายเหตุ:ข้อยกเว้นที่น่าสนใจคือการไล่ระดับสีสังเคราะห์ของ DeepMind ซึ่งพวกเขาใช้เครือข่ายประสาทขนาดเล็กเพื่อทำนายการไล่ระดับสีใน backpropagation pass ที่ให้ค่าการเปิดใช้งานและพวกเขาพบว่าพวกเขาสามารถหลบหนีได้ด้วยการใช้โครงข่ายประสาทเทียม การเปิดใช้งานเชิงเส้นเท่านั้น


1
ฟังก์ชันลำดับที่สูงกว่าสามารถประมาณได้ด้วยฟังก์ชันการเปิดใช้งานเชิงเส้นโดยใช้เลเยอร์ที่ซ่อนอยู่หลายชั้น ทฤษฎีบทการประมาณสากลนั้นมีความเฉพาะกับ MLP ที่มีเลเยอร์ที่ซ่อนอยู่เพียงชั้นเดียวเท่านั้น
eski

ที่จริงแล้วฉันเชื่อว่าคุณถูกต้องในแถลงการณ์ของคุณเกี่ยวกับฟังก์ชั่นเลียนแบบการเปิดใช้งานซึ่งส่งผลให้เกิดการแปลงเลียนแบบ แต่ความจริงที่ว่าการเรียนรู้การแปลงผ่านการ backpropagation (หรือวิธีอื่น ๆ )
eski

4
@ eski ไม่คุณไม่สามารถประมาณฟังก์ชั่นการสั่งซื้อที่สูงขึ้นด้วยฟังก์ชั่นการเปิดใช้งานเชิงเส้นเท่านั้นคุณสามารถสร้างแบบจำลองเชิงเส้น (หรือเลียนแบบถ้าคุณมีโหนดคงที่เพิ่มเติมในแต่ละ แต่ชั้นสุดท้าย) ฟังก์ชั่นและการแปลง มี.
HelloGoodbye

มันถูกต้องหรือไม่ที่จะบอกว่าจุดประสงค์หลักของฟังก์ชั่นการเปิดใช้งานคืออนุญาตให้เครือข่ายประสาทเทียมสร้างขอบเขตการตัดสินใจที่ไม่ใช่เชิงเส้นหรือไม่?
stackoverflowuser2010

@ stackoverflowuser2010 นั่นจะเป็นวิธีหนึ่งในการดู แต่มีฟังก์ชั่นเปิดใช้งานมากกว่านั้น บทความของ Wikipedia เกี่ยวกับฟังก์ชั่นการเปิดใช้งานแสดงรายการฟังก์ชั่นการเปิดใช้งานหลายอย่างซึ่งทั้งหมด (แต่หนึ่ง) นั้นไม่เชิงเส้นและเปรียบเทียบคุณภาพที่แตกต่างกันซึ่งฟังก์ชั่นการเปิดใช้งานสามารถมีได้
HelloGoodbye

9

เครือข่ายนิวรัลไปข้างหน้าด้วยการเปิดใช้งานเชิงเส้นและจำนวนเลเยอร์ที่ซ่อนอยู่นั้นเทียบเท่ากับเครือข่ายประสาทเชิงเส้นแบบเชิงเส้นที่ไม่มีเลเยอร์ที่ซ่อนอยู่ ตัวอย่างเช่นให้พิจารณาโครงข่ายประสาทในรูปที่มีเลเยอร์ที่ซ่อนอยู่สองชั้นและไม่มีการเปิดใช้งาน ป้อนคำอธิบายรูปภาพที่นี่

y = h2 * W3 + b3 
  = (h1 * W2 + b2) * W3 + b3
  = h1 * W2 * W3 + b2 * W3 + b3 
  = (x * W1 + b1) * W2 * W3 + b2 * W3 + b3 
  = x * W1 * W2 * W3 + b1 * W2 * W3 + b2 * W3 + b3 
  = x * W' + b'

เราสามารถทำขั้นตอนสุดท้ายได้เพราะการรวมกันของการแปลงเชิงเส้นหลายครั้งสามารถถูกแทนที่ด้วยการแปลงหนึ่งครั้งและการรวมกันของคำอคติหลาย ๆ อันเป็นแค่อคติเดียว ผลลัพธ์จะเหมือนกันแม้ว่าเราจะเพิ่มการเปิดใช้งานเชิงเส้นบางส่วน

เราสามารถแทนที่โครงข่ายประสาทนี้ด้วยตาข่ายชั้นเดียวซึ่งสามารถขยายเป็นnชั้นได้ สิ่งนี้บ่งชี้ว่าการเพิ่มเลเยอร์จะไม่เพิ่มความสามารถในการประมาณค่าของโครงข่ายประสาทเชิงเส้นเลย เราต้องการฟังก์ชั่นการเปิดใช้งานที่ไม่ใช่เชิงเส้นเพื่อประมาณฟังก์ชั่นที่ไม่ใช่เชิงเส้นและปัญหาโลกแห่งความจริงส่วนใหญ่มีความซับซ้อนและไม่เชิงเส้น ในความเป็นจริงเมื่อฟังก์ชั่นการเปิดใช้งานไม่ใช่แบบเส้นตรงดังนั้นโครงข่ายประสาทสองชั้นที่มีหน่วยที่ซ่อนอยู่จำนวนมากเพียงพอสามารถพิสูจน์ได้ว่าเป็นฟังก์ชั่นอเนกประสงค์


5

"กระดาษที่ใช้ในปัจจุบันใช้ทฤษฎีบทของสโตน - ไวเออร์สแตรสและเครื่องสกัดโคไซน์ของกัลแลนท์แอนด์ไวท์เพื่อสร้างสถาปัตยกรรมเครือข่ายหลายชั้นที่ใช้มาตรฐานการใช้ฟังก์ชันการใช้งานที่ผิดกฏหมาย มีหน่วย " ( Hornik et al., 1989, Neural Networks )

ฟังก์ชั่นสควอชเป็นฟังก์ชั่นการเปิดใช้งานแบบไม่เชิงเส้นที่จับคู่กับ [0,1] เช่นฟังก์ชั่นการเปิดใช้งาน sigmoid


3

มีบางครั้งที่เครือข่ายเชิงเส้นล้วนสามารถให้ผลลัพธ์ที่มีประโยชน์ สมมติว่าเรามีเครือข่ายสามชั้นที่มีรูปร่าง (3,2,3) ด้วยการ จำกัด เลเยอร์กลางให้เหลือเพียงสองมิติเท่านั้นเราจึงได้ผลลัพธ์ที่เป็น "ระนาบที่พอดีที่สุด" ในพื้นที่สามมิติดั้งเดิม

แต่มีวิธีที่ง่ายกว่าในการค้นหาการแปลงเชิงเส้นของแบบฟอร์มนี้เช่น NMF, PCA เป็นต้นอย่างไรก็ตามนี่เป็นกรณีที่เครือข่ายหลายชั้นไม่ทำงานในลักษณะเดียวกับ perceptron ชั้นเดียว


2

เพื่อให้เข้าใจถึงตรรกะที่อยู่เบื้องหลังฟังก์ชั่นการเปิดใช้งานที่ไม่ใช่เชิงเส้นก่อนอื่นคุณควรเข้าใจว่าทำไมจึงใช้ฟังก์ชั่นการเปิดใช้งาน โดยทั่วไปแล้วปัญหาในโลกแห่งความเป็นจริงนั้นต้องการวิธีแก้ปัญหาที่ไม่ใช่เชิงเส้นซึ่งไม่ได้เป็นเรื่องเล็กน้อย ดังนั้นเราต้องการฟังก์ชั่นบางอย่างเพื่อสร้างความไม่เป็นเชิงเส้น โดยพื้นฐานแล้วฟังก์ชั่นการเปิดใช้งานทำเพื่อสร้างความไม่เป็นเชิงเส้นนี้ในขณะที่จับคู่ค่าที่ป้อนเข้าสู่ช่วงที่ต้องการ

อย่างไรก็ตามฟังก์ชั่นการเปิดใช้งานเชิงเส้นสามารถใช้ในกรณีที่มีข้อ จำกัด จำนวนมากซึ่งคุณไม่ต้องการเลเยอร์ที่ซ่อนอยู่เช่นการถดถอยเชิงเส้น โดยปกติแล้วจะไม่มีประโยชน์ในการสร้างเครือข่ายประสาทสำหรับปัญหาประเภทนี้เนื่องจากเป็นอิสระจากจำนวนเลเยอร์ที่ซ่อนอยู่เครือข่ายนี้จะสร้างการผสมผสานเชิงเส้นของอินพุตซึ่งสามารถทำได้ในขั้นตอนเดียว กล่าวอีกนัยหนึ่งมันจะทำงานเหมือนชั้นเดียว

นอกจากนี้ยังมีไม่กี่คุณสมบัติที่ต้องการมากขึ้นสำหรับการทำงานที่เปิดใช้งานเช่นอนุพันธ์ได้อย่างต่อเนื่อง เนื่องจากเราใช้ backpropagation ฟังก์ชั่นที่เราสร้างจะต้องแตกต่างกันในทุกจุด ฉันขอแนะนำให้คุณตรวจสอบหน้าวิกิพีเดียสำหรับฟังก์ชั่นการเปิดใช้งานจากที่นี่เพื่อให้เข้าใจหัวข้อได้ดียิ่งขึ้น


2

คำตอบที่ดีอยู่ที่นี่แล้ว มันจะเป็นการดีที่จะชี้ให้เห็นหนังสือ "การจดจำรูปแบบและการเรียนรู้ของเครื่อง" โดย Christopher M. Bishop มันเป็นหนังสือที่มีค่าอ้างอิงสำหรับการเข้าใจอย่างลึกซึ้งเกี่ยวกับแนวคิดที่เกี่ยวข้องกับ ML หลายประการ ตัดตอนมาจากหน้า 229 (ส่วน 5.1):

หากฟังก์ชั่นการเปิดใช้งานของหน่วยที่ซ่อนอยู่ทั้งหมดในเครือข่ายถูกนำไปเป็นเส้นตรงดังนั้นสำหรับเครือข่ายใด ๆ เราสามารถค้นหาเครือข่ายที่เทียบเท่าโดยไม่มีหน่วยที่ซ่อนอยู่ สิ่งนี้ตามมาจากความจริงที่ว่าองค์ประกอบของการแปลงเชิงเส้นที่ต่อเนื่องนั้นเป็นการแปลงเชิงเส้น อย่างไรก็ตามถ้าจำนวนของหน่วยที่ซ่อนอยู่มีขนาดเล็กกว่าจำนวนของหน่วยอินพุตหรือเอาต์พุตดังนั้นการแปลงที่เครือข่ายสามารถสร้างไม่ได้เป็นการแปลงเชิงเส้นที่เป็นไปได้ทั่วไปที่สุดจากอินพุตไปยังเอาต์พุตเนื่องจากข้อมูลสูญหายในการลดมิติที่ หน่วยที่ซ่อนอยู่ ในส่วนที่ 12.4.2 เราแสดงให้เห็นว่าเครือข่ายของหน่วยเชิงเส้นก่อให้เกิดการวิเคราะห์องค์ประกอบหลัก อย่างไรก็ตามโดยทั่วไปมีความสนใจเพียงเล็กน้อยในเครือข่ายหลายชั้นของหน่วยเชิงเส้น


1

อย่างที่ฉันจำได้ - ฟังก์ชั่น sigmoid นั้นถูกใช้เพราะอนุพันธ์ของพวกเขาที่เหมาะกับอัลกอริทึมของ BP นั้นง่ายต่อการคำนวณสิ่งที่ง่ายเช่น f (x) (1-f (x)) ฉันจำคณิตศาสตร์ไม่ได้ จริงๆแล้วฟังก์ชั่นใด ๆ ที่มีอนุพันธ์สามารถใช้


7
ฟังก์ชั่นยังคงต้องการที่จะเพิ่มขึ้น monotonically ขณะที่ฉันจำได้ ดังนั้นไม่มีฟังก์ชั่นใด ๆ
โนวัค

1

NN หลายชั้นของเซลล์ประสาทสามารถใช้เพื่อเรียนรู้ปัญหาที่แยกไม่ออกเป็นเส้นตรง ตัวอย่างเช่นฟังก์ชั่น XOR สามารถรับได้สองชั้นพร้อมฟังก์ชั่นการเปิดใช้งานขั้นตอน


0

ให้ฉันอธิบายให้คุณง่ายที่สุด:

โครงข่ายประสาทเทียมถูกใช้ในการจดจำรูปแบบถูกต้องไหม? และการหารูปแบบเป็นเทคนิคที่ไม่เป็นเชิงเส้นมาก

สมมติว่าเพื่อเหตุผลของการโต้แย้งเราใช้ฟังก์ชั่นการเปิดใช้งานเชิงเส้น y = wX + b สำหรับทุกเซลล์ประสาทเดี่ยวและตั้งค่าบางอย่างถ้า y> 0 -> คลาส 1 คลาสอื่น 0

ตอนนี้เราสามารถคำนวณการสูญเสียของเราโดยใช้การสูญเสียข้อผิดพลาดแบบสแควร์และกลับมาเผยแพร่เพื่อให้รูปแบบการเรียนรู้ดีถูกต้องหรือไม่

ไม่ถูกต้อง.

  • สำหรับเลเยอร์ที่ซ่อนล่าสุดค่าที่อัปเดตจะเป็น w {l} = w {l} - (อัลฟา) * X

  • สำหรับเลเยอร์ที่ซ่อนสุดท้ายที่สองค่าที่อัปเดตจะเป็น w {l-1} = w {l-1} - (อัลฟา) * w {l} * X

  • สำหรับเลเยอร์ที่ซ่อนอยู่ในชั้นสุดท้ายค่าที่อัปเดตจะเป็น w {i} = w {i} - (อัลฟา) * w {l} ... * w {i + 1} * X

สิ่งนี้ส่งผลให้เราคูณเมทริกซ์น้ำหนักทั้งหมดเข้าด้วยกันจึงส่งผลให้เกิดความเป็นไปได้: A) w {i} แทบจะไม่มีการเปลี่ยนแปลงเนื่องจากการไล่ระดับสีหายไป B) w {i} เปลี่ยนแปลงอย่างรวดเร็วและไม่ถูกต้องเนื่องจากการไล่ระดับสี พอที่จะให้คะแนนพอดีกับเรา

ในกรณีที่ C เกิดขึ้นนั่นหมายความว่าปัญหาการจำแนก / การทำนายของเราน่าจะเป็น regressor เชิงเส้น / ลอจิสติกส์ที่ง่ายที่สุดโดยไม่ต้องใช้เครือข่ายประสาทในตอนแรก!

ไม่ว่า NN ของคุณจะแข็งแกร่งหรือไฮเปอร์มากเพียงใดถ้าคุณใช้ฟังก์ชั่นการเปิดใช้งานเชิงเส้นคุณจะไม่สามารถแก้ไขปัญหาที่ไม่ใช่เชิงเส้นได้


-3

มันไม่ได้เป็นข้อกำหนดทั้งหมด ในความเป็นจริงฟังก์ชั่นการเปิดใช้งานเชิงเส้นที่แก้ไขแล้วมีประโยชน์มากในเครือข่ายประสาทขนาดใหญ่ การคำนวณการไล่ระดับสีนั้นเร็วกว่ามากและทำให้เกิดการเบาบางด้วยการตั้งค่าขอบเขตต่ำสุดที่ 0

ดูรายละเอียดเพิ่มเติมได้ที่: https://www.academia.edu/7826776/Mathematical_Intuition_for_Performance_of_Rectified_Linear_Unit_in_Deep_Neural_Networks


แก้ไข:

มีการถกเถียงกันว่าฟังก์ชั่นเปิดใช้งานเชิงเส้นที่แก้ไขแล้วสามารถเรียกว่าฟังก์ชันเชิงเส้นได้หรือไม่

ใช่มันเป็นฟังก์ชั่นที่ไม่ใช่เชิงเส้นเนื่องจากไม่ใช่เชิงเส้นที่จุด x = 0 อย่างไรก็ตามมันยังคงถูกต้องที่จะบอกว่ามันเป็นเส้นตรงที่จุดอื่น ๆ ดังนั้นฉันไม่คิดว่ามันมีประโยชน์กับ nitpick ตรงนี้

ฉันสามารถเลือกฟังก์ชั่นเอกลักษณ์และมันจะยังคงเป็นจริง แต่ฉันเลือก ReLU เป็นตัวอย่างเนื่องจากความนิยมล่าสุด


8
ฟังก์ชั่นการเปิดใช้งานแบบเชิงเส้นแบบแก้ไขยังไม่เป็นแบบเชิงเส้น มันเป็นเส้นตรงสำหรับค่าบวก
Plankalkül

4
คุณถูกต้องทางเทคนิคไม่ใช่เชิงเส้นทั่วทั้งโดเมนโดยเฉพาะที่ x = 0 (เป็นเส้นตรงสำหรับ x <0 จริง ๆ แล้วเนื่องจาก f (x) = 0 เป็นฟังก์ชันเชิงเส้น) มันยังไม่แตกต่างกันดังนั้นฟังก์ชั่นการไล่ระดับสีก็ไม่ได้คำนวณอย่างสมบูรณ์เช่นกัน แต่ในทางปฏิบัติเทคนิคเหล่านี้ง่ายต่อการเอาชนะ
eski

4
เขาไม่เพียง แต่ถูกต้องทางเทคนิคเท่านั้นเขายังถูกต้องในทางปฏิบัติ (หรืออะไรทำนองนั้น) มันไม่ใช่ความเป็นเชิงเส้นของ ReLU ที่ทำให้มีประโยชน์ หากพวกเขาเป็นเส้นตรงพวกเขาจะมีฟังก์ชั่นการเปิดใช้งานในรูปแบบf(x) = a*x(เพราะนั่นเป็นฟังก์ชั่นการเปิดใช้งานเชิงเส้นประเภทเดียวเท่านั้น) ซึ่งไม่มีประโยชน์ในฐานะที่เป็นฟังก์ชั่นการเปิดใช้งาน )
HelloGoodbye

10
Rectified Linear Unit (ReLU) ไม่ใช่เชิงเส้นและไม่ใช่แค่ "รายละเอียดเล็กน้อย" ที่ผู้คนกำลังวางตลาดมันเป็นเหตุผลสำคัญที่ว่าทำไมจึงมีประโยชน์ในการเริ่มต้น เครือข่ายนิวรัลที่มีเมทริกซ์เอกลักษณ์หรือหน่วยเชิงเส้นปกติที่ใช้เป็นฟังก์ชันการเปิดใช้งานจะไม่สามารถสร้างแบบจำลองฟังก์ชันเชิงเส้นที่ไม่ใช่ เพียงเพราะมันเป็นเส้นตรงเหนือ 0 ไม่ได้หมายความว่ามันเป็นฟังก์ชันเชิงเส้น ReLU ที่รั่วไหลคือ "เป็นเส้นตรง" ที่ต่ำกว่า 0 เช่นกัน แต่ก็ยังไม่ใช่ฟังก์ชันเชิงเส้นและแน่นอนว่าไม่สามารถแทนที่ด้วยฟังก์ชันเอกลักษณ์ได้ ความไม่เป็นเชิงเส้นเป็นข้อกำหนดที่แน่นอนที่สุด
Essam Al-Mansouri

3
มันเป็นแนวคิดที่แท้จริงที่เรียกว่าฟังก์ชันเชิงเส้นแบบต่อเนื่อง
eski
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.