รายการฟังก์ชั่นการเปิดใช้งานที่ครอบคลุมในโครงข่ายประสาทเทียมด้วยข้อดี / ข้อเสีย


94

มีเอกสารอ้างอิงใดบ้างที่ให้รายการฟังก์ชั่นการเปิดใช้งานที่ครอบคลุมในโครงข่ายประสาทเทียมพร้อมกับข้อดี / ข้อเสียของพวกเขา


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

1
ไม่มันสร้างความแตกต่างอย่างใหญ่หลวง
Viliami

en.wikipedia.org/wiki/Activati ​​on_functionเป็นทรัพยากรที่ดี คุณสามารถใช้อื่น ๆ อีกมากมายรวมทั้งsin(x)ดูopenreview.net/pdf?id=Sks3zF9eg
Piotr Migdal

สำหรับวิดีโอการสอนเกี่ยวกับฟังก์ชั่นการเปิดใช้งานให้ไปที่: quickkt.com/tutorials/artificial-intelligence/deep-learning/ ......
vinay kumar

คำตอบ:


143

ฉันจะเริ่มทำรายการที่นี่ของสิ่งที่ฉันได้เรียนรู้จนถึงตอนนี้ ตามที่ @marcodena กล่าวว่าข้อดีและข้อเสียนั้นยากกว่าเพราะส่วนใหญ่เป็นเพียงฮิวริสติกที่เรียนรู้จากการลองทำสิ่งเหล่านี้ แต่อย่างน้อยฉันก็นึกถึงรายการของสิ่งที่พวกเขาไม่สามารถทำร้ายได้

ก่อนอื่นฉันจะนิยามคำอธิบายอย่างชัดเจนดังนั้นจึงไม่มีความสับสน:

เอกสาร

สัญกรณ์นี้เป็นจากหนังสือ Neilsen ของ

เครือข่าย Feedforward Neural เป็นเซลล์ประสาทหลายชั้นเชื่อมต่อกัน ใช้ในอินพุตจากนั้นอินพุต "เล็ดลอด" ผ่านเครือข่ายและเครือข่ายประสาทส่งกลับเอาต์พุตเวกเตอร์

อีกอย่างเป็นทางการโทรฉันเจเปิดใช้งาน (aka เอาท์พุท) ของเจทีเอชเซลล์ประสาทในฉันทีเอชชั้นที่1 Jเป็นเจทีเอชองค์ประกอบในการป้อนข้อมูลเวกเตอร์ajijthithaj1jth

จากนั้นเราสามารถเชื่อมโยงอินพุตของเลเยอร์ถัดไปกับก่อนหน้านี้ผ่านความสัมพันธ์ต่อไปนี้:

aji=σ(k(wjkiaki1)+bji)

ที่ไหน

  • เป็นฟังก์ชั่นการเปิดใช้งานσ
  • มีน้ำหนักจากที่ k ทีเอชเซลล์ประสาทใน ( ฉัน- 1 ) ทีเอชชั้นกับเจทีเอชเซลล์ประสาทในฉันทีเอชชั้นwjkikth(i1)thjthith
  • อคติของเจทีเอชเซลล์ประสาทในฉันทีเอชชั้นและbjijthith
  • แทนค่าการเปิดใช้งานของเจทีเอชเซลล์ประสาทในฉันทีเอชชั้นajijtชั่วโมงผมเสื้อชั่วโมง

บางครั้งที่เราเขียนที่จะเป็นตัวแทนΣ k ( W ฉันเจkฉัน- 1 k ) + ฉันเจในคำอื่น ๆ ค่ากระตุ้นการทำงานของเซลล์ประสาทก่อนที่จะใช้ฟังก์ชั่นการเปิดใช้งานZJผมΣk(WJkผมakผม-1)+Jผม

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

สำหรับโน้ตที่กระชับยิ่งขึ้นเราสามารถเขียนได้

aผม=σ(Wผม×aผม-1+ผม)

การใช้สูตรนี้ในการคำนวณการส่งออกของเครือข่าย feedforward ที่สำหรับการป้อนข้อมูลบางอย่างตั้ง1 = ฉันแล้วคำนวณ2 , 3 , ... , ที่ม.เป็นจำนวนชั้นผมRna1=ผมa2,a3,...,aม.ม.

ฟังก์ชั่นการเปิดใช้งาน

(ในต่อไปนี้เราจะเขียนแทนe xเพื่อให้อ่านได้)exp(x)ex

เอกลักษณ์

เรียกอีกอย่างว่าฟังก์ชั่นการเปิดใช้งานเชิงเส้น

aji=σ(zji)=zji

เอกลักษณ์

ขั้นตอน

aJผม=σ(ZJผม)={0ถ้า ZJผม<01ถ้า ZJผม>0

ขั้นตอน

เชิงเส้น

เลือกและx maxซึ่งเป็น "ช่วง" ของเรา ทุกอย่างที่น้อยกว่าช่วงนี้จะเป็น 0 และทุกอย่างที่มากกว่าช่วงนี้จะเป็น 1 สิ่งอื่นใดที่ถูกประมาณเชิงเส้นตรงระหว่างกัน อย่างเป็นทางการ:xนาทีxสูงสุด

aJผม=σ(ZJผม)={0ถ้า ZJผม<xนาทีม.ZJผม+ถ้า xนาทีZJผมxสูงสุด1ถ้า ZJผม>xสูงสุด

ที่ไหน

ม.=1xสูงสุด-xนาที

และ

=-ม.xนาที=1-ม.xสูงสุด

เชิงเส้น

sigmoid

aJผม=σ(ZJผม)=11+ประสบการณ์(-ZJผม)

sigmoid

บันทึกประกอบที่สมบูรณ์

aJผม=σ(ZJผม)=1-ประสบการณ์(-ประสบการณ์(ZJผม))

บันทึกประกอบที่สมบูรณ์

มีสองขั้ว

aJผม=σ(ZJผม)={-1ถ้า ZJผม<0   1ถ้า ZJผม>0

มีสองขั้ว

Sigmoid สองขั้ว

aJผม=σ(ZJผม)=1-ประสบการณ์(-ZJผม)1+ประสบการณ์(-ZJผม)
Sigmoid สองขั้ว

Tanh

aJผม=σ(ZJผม)=tanh(ZJผม)

Tanh

Tanh ของ LeCun

ดูประสิทธิภาพ Backprop

aJผม=σ(ZJผม)=1.7159tanh(23ZJผม)

Tanh ของ LeCun

ลดขนาด:

Tanh Scaled ของ LeCun

Hard Tanh

aJผม=σ(ZJผม)=สูงสุด(-1,นาที(1,ZJผม))

Hard Tanh

แน่นอน

aJผม=σ(ZJผม)= |ZJผม|

แน่นอน

เครื่องปรับ

ยังเป็นที่รู้จัก Rectified เชิงเส้น Unit (Relu), แม็กซ์หรือฟังก์ชั่นทางลาด

aJผม=σ(ZJผม)=สูงสุด(0,ZJผม)

เครื่องปรับ

การดัดแปลงของ ReLU

นี่เป็นฟังก์ชั่นการเปิดใช้งานที่ฉันเล่นด้วยซึ่งดูเหมือนว่าจะมีประสิทธิภาพที่ดีมากสำหรับ MNIST ด้วยเหตุผลลึกลับ

aJผม=σ(ZJผม)=สูงสุด(0,ZJผม)+cos(ZJผม)

ReLU cos

ลดขนาด:

ปรับสัดส่วน ReLU

aJผม=σ(ZJผม)=สูงสุด(0,ZJผม)+บาป(ZJผม)

ReLU บาป

ลดขนาด:

ปรับสัดส่วน ReLU

วงจรเรียงกระแสเรียบ

หรือที่เรียกว่า Smooth Rectified Linear Unit, Smooth Max หรือ Soft plus

aJผม=σ(ZJผม)=เข้าสู่ระบบ(1+ประสบการณ์(ZJผม))

วงจรเรียงกระแสเรียบ

logit

aJผม=σ(ZJผม)=เข้าสู่ระบบ(ZJผม(1-ZJผม))

logit

ลดขนาด:

ปรับขนาด Logit

probit

aJผม=σ(ZJผม)=2ERF-1(2ZJผม-1)

ERF

หรือสามารถแสดงเป็น

aJผม=σ(ZJผม)=φ(ZJผม)

φ

probit

ลดขนาด:

Probit Scaled

โคไซน์

ดูsinks ครัวสุ่ม

aJผม=σ(ZJผม)=cos(ZJผม)

โคไซน์

Softmax

aJผม=ประสบการณ์(ZJผม)Σkประสบการณ์(Zkผม)

ZJผมประสบการณ์(ZJผม)ZJผม0

เข้าสู่ระบบ(aJผม)

เข้าสู่ระบบ(aJผม)=เข้าสู่ระบบ(ประสบการณ์(ZJผม)Σkประสบการณ์(Zkผม))

เข้าสู่ระบบ(aJผม)=ZJผม-เข้าสู่ระบบ(Σkประสบการณ์(Zkผม))

ที่นี่เราจำเป็นต้องใช้เคล็ดลับบันทึกผลรวม :

สมมติว่าเรากำลังคำนวณ:

เข้าสู่ระบบ(อี2+อี9+อี11+อี-7+อี-2+อี5)

อันดับแรกเราจะจัดเรียงเอ็กซ์โปเนนเชียลของเราตามขนาดเพื่อความสะดวก:

เข้าสู่ระบบ(อี11+อี9+อี5+อี2+อี-2+อี-7)

อี11อี-11อี-11

เข้าสู่ระบบ(อี-11อี-11(อี11+อี9+อี5+อี2+อี-2+อี-7))

เข้าสู่ระบบ(1อี-11(อี0+อี-2+อี-6+อี-9+อี-13+อี-18))

เข้าสู่ระบบ(อี11(อี0+อี-2+อี-6+อี-9+อี-13+อี-18))

เข้าสู่ระบบ(อี11)+เข้าสู่ระบบ(อี0+อี-2+อี-6+อี-9+อี-13+อี-18)

11+เข้าสู่ระบบ(อี0+อี-2+อี-6+อี-9+อี-13+อี-18)

เข้าสู่ระบบ(อี11)อี-110

ม.=สูงสุด(Z1ผม,Z2ผม,Z3ผม,...)

เข้าสู่ระบบ(Σkประสบการณ์(Zkผม))=ม.+เข้าสู่ระบบ(Σkประสบการณ์(Zkผม-ม.))

จากนั้นฟังก์ชั่น softmax ของเราจะกลายเป็น:

aJผม=ประสบการณ์(เข้าสู่ระบบ(aJผม))=ประสบการณ์(ZJผม-ม.-เข้าสู่ระบบ(Σkประสบการณ์(Zkผม-ม.)))

เช่นเดียวกันกับ sidenote อนุพันธ์ของฟังก์ชัน softmax คือ:

dσ(ZJผม)dZJผม=σ'(ZJผม)=σ(ZJผม)(1-σ(ZJผม))

maxout

ZaJผม

n

aJผม=สูงสุดk[1,n]sJkผม

ที่ไหน

sJkผม=aผม-1WJkผม+Jkผม

เพื่อช่วยให้เราคิดเกี่ยวกับเรื่องนี้พิจารณาเมทริกซ์น้ำหนัก WผมผมTHWผมWJผมJผม-1

WผมWJผมJWJkผมkJผม-1

ผมJผมJผม

ผมผมJผมJkผมkJTH

WJผมJผมWJkผมaผม-1ผม-1Jkผม

เครือข่ายฟังก์ชัน Radial Basis

Radial Basis Function Networks เป็นการปรับเปลี่ยนเครือข่าย Feedforward Neural โดยที่ไม่ต้องใช้

aJผม=σ(Σk(WJkผมakผม-1)+Jผม)

WJkผมkμJkผมσJkผม

ρσJkผมaJผมZJkผม

ZJkผม=(aผม-1-μJkผม=Σ(aผม-1-μJkผม)2

μJkผมTHμJkผมσJkผม

ZJkผม=(aผม-1-μJkผม)TΣJkผม(aผม-1-μJkผม)

ΣJkผม

ΣJkผม=วินิจฉัย(σJkผม)

ΣJkผมσJkผมaผม-1μJkผม

นี่เป็นเพียงการบอกว่าระยะทาง Mahalanobis ถูกกำหนดเป็น

ZJkผม=Σ(aผม-1-μJkผม)2σJkผม

σJkผมTHσJkผมσJkผม

ΣJkผมΣJkผม=วินิจฉัย(σJkผม)

aJผม

aJผม=ΣkWJkผมρ(ZJkผม)

ในเครือข่ายเหล่านี้พวกเขาเลือกที่จะคูณด้วยน้ำหนักหลังจากใช้ฟังก์ชั่นการเปิดใช้งานด้วยเหตุผล

μJkผมσJkผมaJผม

ดูที่นี่ด้วย

ฟังก์ชัน Radial Basis Function การเปิดใช้งานเครือข่าย

เสียน

ρ(ZJkผม)=ประสบการณ์(-12(ZJkผม)2)

เสียน

Multiquadratic

(x,Y)(ZJผม,0)(x,Y):

ρ(ZJkผม)=(ZJkผม-x)2+Y2

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

เมื่อ Y=0นี่เทียบเท่ากับสัมบูรณ์ (พร้อมเลื่อนแนวนอน x)

Multiquadratic

ผกผันหลายหลาก

เช่นเดียวกับกำลังสองยกเว้นพลิก:

ρ(ZJkผม)=1(ZJkผม-x)2+Y2

ผกผันหลายหลาก

* กราฟิกจาก intmath ของกราฟโดยใช้ SVG


11
ยินดีต้อนรับสู่ประวัติย่อ +6 นี่คือข้อมูลที่ไม่น่าเชื่อ ฉันหวังว่าเราจะเห็นมันมากกว่านี้ในอนาคต
gung

1
นอกจากนี้ยังมีฟังก์ชั่นเชิงเส้นที่แก้ไขอย่างราบรื่นของฟอร์ม เข้าสู่ระบบ(1+ประสบการณ์(x))และ probit
Memming

โอเคฉันคิดว่าฉันเพิ่ม Logit, Probit และบันทึกการใช้งานเสริม แต่ฉันไม่มีความเข้าใจอย่างลึกซึ้งในหัวข้อเหล่านี้ดังนั้นฉันอาจเข้าใจผิดรูปแบบการเขียนของพวกเขา ถูกต้องหรือไม่
Phylliida

3
นี่จะเป็นกระดาษที่น่าสนใจที่มีรายการอ้างอิงที่ดี ยกตัวอย่างเช่นarxiv.org/abs/1505.03654 อย่าลังเลที่จะติดต่อฉันหากคุณตัดสินใจที่จะเขียนบทความและต้องการอ้างอิงอื่น ๆ
Hunaphu

9
บางคนควรอัปเดตสิ่งนี้ด้วย Elu, Leaky ReLU, PReLU และ RReLU
Viliami

24

หนึ่งในรายการดังกล่าว แต่ไม่ละเอียดมาก: http://cs231n.github.io/neural-networks-1/

ฟังก์ชั่นการเปิดใช้งานที่ใช้กันทั่วไป

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

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

ซ้าย: Sigmoid ไม่ใช่เส้นตรงลบล้างจำนวนจริงในช่วงระหว่าง [0,1] ขวา: tanh ไม่ใช่เส้นตรงลบล้างตัวเลขจริงถึงช่วงระหว่าง [-1,1]

sigmoid sigmoid ไม่ใช่เชิงเส้นมีรูปแบบทางคณิตศาสตร์σ(x)=1/(1+อี-x)และจะแสดงในภาพด้านบนทางซ้าย ตามที่กล่าวถึงในส่วนก่อนหน้ามันต้องใช้จำนวนจริงและ "สควอช" ในช่วงระหว่าง 0 และ 1 โดยเฉพาะอย่างยิ่งตัวเลขลบขนาดใหญ่กลายเป็น 0 และตัวเลขบวกขนาดใหญ่กลายเป็น 1 ฟังก์ชั่น sigmoid เนื่องจากมีการตีความที่ดีว่าอัตราการยิงของเซลล์ประสาท: จากการไม่ยิงเลย (0) ไปจนถึงการเผาที่อิ่มตัวอย่างเต็มที่ด้วยความถี่สูงสุดที่สันนิษฐาน (1) ในทางปฏิบัติ sigmoid non-linearity เพิ่งหลุดพ้นจากความโปรดปรานและไม่ค่อยมีใครเคยใช้ มันมีสองข้อเสีย:

  • Sigmoids เปียกโชกและฆ่าไล่ระดับสี คุณสมบัติที่ไม่พึงประสงค์ของ sigmoid neuron คือเมื่อการกระตุ้นของเซลล์ประสาทอิ่มตัวที่ 0 หรือ 1 ทั้งสองการไล่ระดับสีในบริเวณนี้เกือบเป็นศูนย์ โปรดจำไว้ว่าในช่วง backpropagation การไล่ระดับสี (ในพื้นที่) นี้จะถูกคูณกับการไล่ระดับสีของเอาต์พุตของเกตนี้สำหรับวัตถุประสงค์ทั้งหมด ดังนั้นหากการไล่ระดับสีในพื้นที่มีขนาดเล็กมากมันจะ "ฆ่า" การไล่ระดับสีอย่างมีประสิทธิภาพและแทบไม่มีสัญญาณใดที่จะไหลผ่านเซลล์ประสาทไปยังน้ำหนักของมันและเรียกซ้ำไปยังข้อมูลของมัน นอกจากนี้เราต้องใช้ความระมัดระวังเป็นพิเศษเมื่อเริ่มต้นน้ำหนักของเซลล์ประสาท sigmoid เพื่อป้องกันความอิ่มตัว ตัวอย่างเช่นถ้าน้ำหนักเริ่มต้นมีขนาดใหญ่เกินไปเซลล์ประสาทส่วนใหญ่ก็จะอิ่มตัวและเครือข่ายก็แทบจะไม่ได้เรียนรู้
  • เอาท์พุท sigmoid จะไม่เป็นศูนย์เป็นศูนย์กลาง สิ่งนี้ไม่เป็นที่พึงปรารถนาเนื่องจากเซลล์ประสาทในชั้นถัดไปของการประมวลผลในเครือข่ายประสาท (เพิ่มเติมในเร็ว ๆ นี้) จะได้รับข้อมูลที่ไม่เป็นศูนย์ เรื่องนี้มีผลกระทบต่อการเปลี่ยนแปลงในระหว่างการสืบเชื้อสายการไล่ระดับสีเพราะถ้าข้อมูลที่เข้ามาในเซลล์ประสาทเป็นบวกเสมอ (เช่นx>0 องค์ประกอบตามมา =WTx+)) จากนั้นก็ไล่ระดับน้ำหนัก W จะเกิดขึ้นในช่วง backpropagation เป็นทั้งบวกหรือลบทั้งหมด (ขึ้นอยู่กับการไล่ระดับสีของการแสดงออกทั้งหมด ) สิ่งนี้สามารถแนะนำพลวัตซิกซิกซิกที่ไม่พึงประสงค์ในการปรับปรุงการไล่ระดับสีสำหรับตุ้มน้ำหนัก อย่างไรก็ตามโปรดสังเกตว่าเมื่อมีการเพิ่มการไล่ระดับสีเหล่านี้ข้ามชุดข้อมูลการปรับปรุงขั้นสุดท้ายสำหรับตุ้มน้ำหนักอาจมีสัญญาณตัวแปรซึ่งจะช่วยบรรเทาปัญหานี้ได้บ้าง ดังนั้นนี่เป็นความไม่สะดวก แต่มีผลกระทบรุนแรงน้อยกว่าเมื่อเทียบกับปัญหาการเปิดใช้งานอิ่มตัวด้านบน

Tanh tanh ไม่ใช่เชิงเส้นจะปรากฏในภาพด้านบนด้านขวา มันจะกระจายจำนวนจริงที่มีค่าไปยังช่วง [-1, 1] เช่นเดียวกับ sigmoid neuron, การกระตุ้นของมันจะอิ่มตัว แต่ต่างจาก sigmoid neuron ที่มันมีศูนย์เป็นศูนย์ ดังนั้นในทางปฏิบัติtanh non-linearity จึงเป็นที่ต้องการของ sigmoid nonlinearity โปรดทราบด้วยว่า tanh neuron นั้นเป็น sigmoid neuron scaled โดยเฉพาะอย่างยิ่งสิ่งต่อไปนี้:tanh(x)=2σ(2x)-1.

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

ซ้าย:ฟังก์ชั่นการเปิดใช้งานฟังก์ชั่น Linear หน่วย (ReLU) ซึ่งเป็นศูนย์เมื่อ x <0 แล้วเชิงเส้นที่มีความชัน 1 เมื่อ x> 0 ขวา:พล็อตจาก Krizhevsky et al (pdf) กระดาษที่ระบุการปรับปรุงการบรรจบกันของ 6x กับหน่วย ReLU เทียบกับหน่วย tanh

Relu หน่วยเชิงเส้นที่แก้ไขแล้วได้รับความนิยมอย่างมากในช่วงไม่กี่ปีที่ผ่านมา มันคำนวณฟังก์ชั่น(x)=สูงสุด(0,x). กล่าวอีกนัยหนึ่งการเปิดใช้งานจะถูก จำกัด ที่ศูนย์ (ดูรูปด้านบนทางซ้าย) มีข้อดีและข้อเสียหลายประการในการใช้ ReLUs:

  • (+) พบว่ามีการเร่งความเร็วอย่างมาก (เช่นปัจจัยที่ 6 ในKrizhevsky et al. ) การลู่เข้าของการไล่ระดับสีแบบสุ่มน้อยเมื่อเทียบกับฟังก์ชัน sigmoid / tanh มันเป็นที่ถกเถียงกันอยู่ว่านี่เป็นเพราะเส้นตรงไม่ใช่ - แบบฟอร์ม
  • (+) เมื่อเปรียบเทียบกับเซลล์ประสาท tanh / sigmoid ที่เกี่ยวข้องกับการดำเนินการที่มีราคาแพง (exponentials ฯลฯ ), ReLU สามารถดำเนินการได้โดยเพียงแค่นวดเมทริกซ์ของการเปิดใช้งานเป็นศูนย์
  • (-) น่าเสียดายที่หน่วย ReLU อาจบอบบางในระหว่างการฝึกและสามารถ "ตาย" ได้ ตัวอย่างเช่นการไล่ระดับสีขนาดใหญ่ที่ไหลผ่านเซลล์ประสาท ReLU อาจทำให้น้ำหนักนั้นอัปเดตในลักษณะที่เซลล์ประสาทจะไม่เปิดใช้งานบนดาต้าพอยน์ใด ๆ อีก หากเกิดเหตุการณ์นี้การไล่ระดับสีที่ไหลผ่านหน่วยจะเป็นศูนย์ตลอดจากจุดนั้น นั่นคือหน่วย ReLU สามารถตายได้ในระหว่างการฝึกซ้อมอย่างไม่สามารถย้อนกลับได้เพราะพวกเขาสามารถทำให้ข้อมูลหลุดออกไปได้ ตัวอย่างเช่นคุณอาจพบว่ามากถึง 40% ของเครือข่ายของคุณสามารถ "ตาย" (เช่นเซลล์ประสาทที่ไม่เคยเปิดใช้งานในชุดข้อมูลการฝึกอบรมทั้งหมด) หากตั้งค่าอัตราการเรียนรู้สูงเกินไป ด้วยการตั้งค่าอัตราการเรียนรู้ที่เหมาะสมจึงไม่เกิดปัญหาบ่อยนัก

ReLU ที่รั่วไหล ReLU ที่ไม่มั่นคงเป็นความพยายามหนึ่งในการแก้ไขปัญหา "reLU ที่กำลังจะตาย" แทนที่จะทำหน้าที่เป็นศูนย์เมื่อ x <0 ReLU ที่รั่วจะแทนความชันเชิงลบขนาดเล็ก (0.01 หรือมากกว่านั้น) นั่นคือฟังก์ชั่นการคำนวณ(x)=1(x<0)(αx)+1(x> =0)(x) ที่ไหน αเป็นค่าคงที่ขนาดเล็ก บางคนรายงานความสำเร็จด้วยฟังก์ชั่นการเปิดใช้งานรูปแบบนี้ แต่ผลลัพธ์ไม่สอดคล้องกันเสมอไป ความลาดชันในภูมิภาคเชิงลบยังสามารถสร้างเป็นพารามิเตอร์ของแต่ละเซลล์ประสาทตามที่เห็นในเซลล์ประสาท PReLU ซึ่งได้รับการแนะนำในDelving Deep เป็นวงจรเรียงกระแสโดย Kaiming He et al., 2015 อย่างไรก็ตามความสม่ำเสมอของผลประโยชน์ในการทำงานในปัจจุบัน กำกวม

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

maxout มีการเสนอหน่วยประเภทอื่นที่ไม่มีแบบฟอร์มการทำงาน(WTx+)ที่ไม่เป็นเชิงเส้นถูกนำไปใช้กับผลิตภัณฑ์จุดระหว่างน้ำหนักและข้อมูล ทางเลือกที่ได้รับความนิยมอย่างหนึ่งคือ Maxout neuron (เพิ่งเปิดตัวโดย Goodfellow et al. ) ที่ทำให้โครงร่างของ ReLU และเวอร์ชั่นรั่วไหล เซลล์ประสาท Maxout คำนวณฟังก์ชันสูงสุด(W1Tx+1,W2Tx+2). โปรดสังเกตว่าทั้ง ReLU และ LeLL ReLU เป็นกรณีพิเศษของแบบฟอร์มนี้ (ตัวอย่างเช่นสำหรับ ReLU เรามีW1,1=0) เซลล์ประสาท Maxout จึงได้รับประโยชน์ทั้งหมดจากหน่วย ReLU (ระบอบการทำงานเชิงเส้นไม่มีความอิ่มตัว) และไม่มีข้อเสีย (ตาย ReLU) อย่างไรก็ตามแตกต่างจากเซลล์ประสาท ReLU มันเป็นสองเท่าของจำนวนพารามิเตอร์สำหรับเซลล์ประสาททุกเดียวนำไปสู่จำนวนพารามิเตอร์สูง

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

TLDR : " ฉันควรใช้เซลล์ประสาทชนิดใด " ใช้ ReLU แบบไม่เชิงเส้นระวังอัตราการเรียนรู้ของคุณและอาจตรวจสอบเศษส่วนของยูนิต "ตาย" ในเครือข่าย หากสิ่งนี้เกี่ยวข้องกับคุณให้ลอง ReLU ที่มีการรั่วไหลหรือ Maxout อย่าใช้ sigmoid ลอง tanh แต่คาดว่ามันจะทำงานได้แย่กว่า ReLU / Maxout


ใบอนุญาต: ใบอนุญาต


MIT (MIT)

ลิขสิทธิ์ (c) 2015 Andrej Karpathy

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

ประกาศเกี่ยวกับลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในสำเนาทั้งหมดหรือบางส่วนที่สำคัญของซอฟต์แวร์

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

ลิงค์อื่น ๆ :


10

ฉันไม่คิดว่ามีรายการที่มีข้อดีข้อเสียอยู่ ฟังก์ชั่นการเปิดใช้งานแอพลิเคชันเป็นอย่างมากขึ้นและพวกเขายังขึ้นอยู่กับสถาปัตยกรรมของเครือข่ายประสาทของคุณ ( ที่นี่เช่นคุณดูโปรแกรมของทั้งสองฟังก์ชั่น softmax ที่มีความคล้ายคลึงกับ sigmoid หนึ่ง)

คุณสามารถค้นหาการศึกษาบางอย่างเกี่ยวกับพฤติกรรมทั่วไปของฟังก์ชั่น แต่ฉันคิดว่าคุณจะไม่มีรายการที่ชัดเจนและชัดเจน (สิ่งที่คุณถาม ... )

ฉันยังเป็นนักเรียนอยู่ดังนั้นฉันจึงชี้ให้เห็นสิ่งที่ฉันรู้:

  • ที่นี่คุณจะพบความคิดบางอย่างเกี่ยวกับพฤติกรรมของ tanh และ sigmoids ที่มีการแพร่กระจายกลับ Tanh เป็นสามัญมากกว่า แต่ sigmoids ... (จะมี "แต่" เสมอ)
  • ในDeep Sparse Rectifier Networks โครงข่ายประสาทของ Glorot Xavier และคณะพวกเขากล่าวว่าหน่วย Rectifier นั้นมีความน่าเชื่อถือทางชีวภาพมากกว่าและพวกมันทำงานได้ดีกว่าตัวอื่น ๆ (sigmoid / tanh)

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

4

เพียงเพื่อประโยชน์ของความสมบูรณ์ในคำตอบที่ดีของแดเนียลที่มีกรอบความคิดอื่น ๆ ที่หนึ่งสุ่ม 'หมุนล้อ' ในน้ำหนักและ / หรือประเภทของการเปิดใช้งานนี้เครื่องสถานะของเหลว , เครื่องเรียนรู้มากและเครือข่ายรัฐก้อง

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

ดูคำตอบที่ดีเช่นนี้


2

บทความที่ทบทวนฟังก์ชั่นการเปิดใช้งานล่าสุดสามารถพบได้ใน

" ฟังก์ชั่นการเปิดใช้งาน: การเปรียบเทียบแนวโน้มในการปฏิบัติและการวิจัยเพื่อการเรียนรู้ลึก " โดย Chigozie Enyinna Nwankpa, Winifred Ijomah, Anthony Gachagan และ Stephen Marshall

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

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