รายการฟังก์ชันต้นทุนที่ใช้ในเครือข่ายประสาทเทียมพร้อมกับแอปพลิเคชัน


133

ฟังก์ชั่นค่าใช้จ่ายทั่วไปคืออะไรในการประเมินประสิทธิภาพของเครือข่ายประสาทเทียม

รายละเอียด

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

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

เอกสาร

ดังนั้นในการเริ่มต้นฉันต้องการนิยามสัญลักษณ์ที่เราใช้เมื่ออธิบายสิ่งเหล่านี้ดังนั้นคำตอบที่เข้ากันได้ดี

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

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

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

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

aji=σ(k(wjkiaki1)+bji)

ที่ไหน

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

มีน้ำหนักจากที่ k ทีเอชเซลล์ประสาทใน ( ฉัน- 1 ) ทีเอชชั้นกับเจทีเอชเซลล์ประสาทในฉันทีเอชชั้นwjkikth(i1)thjthith

อคติของเจทีเอชเซลล์ประสาทในฉันทีเอชชั้นและbjijthith

หมายถึงค่าการเปิดใช้งานของเซลล์ประสาท j t hในเลเยอร์ i t hajijthith

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

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

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

ai=σ(wi×ai1+bi)

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

บทนำ

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

ฟังก์ชั่นค่าใช้จ่ายเป็นค่าเดียวไม่ใช่เวกเตอร์เพราะให้คะแนนว่าเครือข่ายประสาทเทียมทำได้ดีเพียงใด

ฟังก์ชันต้นทุนเป็นของฟอร์มโดยเฉพาะ

C(W,B,Sr,Er)

WBSrEryjizjijiWBSr

δL

δjL=CajLσ(zji)

ซึ่งยังสามารถเขียนเป็นเวกเตอร์ผ่านทาง

δL=aCσ(zi)

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

ข้อกำหนดเกี่ยวกับฟังก์ชันต้นทุน

ที่จะใช้ใน backpropagation ฟังก์ชั่นค่าใช้จ่ายจะต้องตอบสนองความสองคุณสมบัติ:

C

C=1nxCx

Cxx

นี่จึงช่วยให้เราสามารถคำนวณการไล่ระดับสี (เทียบกับน้ำหนักและอคติ) สำหรับตัวอย่างการฝึกอบรมเดียวและเรียกใช้การไล่ระดับสีไล่ระดับ

CaL

ajizji

0ajL1jajLajL0


3
นี่คือเว็บไซต์ถาม - ตอบและรูปแบบของโพสต์นี้ไม่เหมาะกับที่ คุณควรใส่เนื้อหาส่วนใหญ่ไว้ในคำตอบและทิ้งคำถามไว้ (เช่นรายการฟังก์ชันต้นทุนที่ใช้ใน NNs คืออะไร)
Roger Fan

ตกลงดีกว่าไหม ฉันคิดว่าคำจำกัดความมีความสำคัญมิฉะนั้นคำตอบที่คลุมเครือสำหรับผู้ที่ไม่คุ้นเคยกับคำศัพท์ที่นักเขียนใช้
Phylliida

แต่ถ้าคำตอบที่ต่างออกไปใช้สัญกรณ์หรือคำศัพท์ต่างกัน
Roger Fan

3
แนวคิดก็คือทุกคนใช้คำศัพท์เดียวกันที่นี่และหากมันแตกต่างกันเราแปลงมันเป็นสิ่งนี้ดังนั้นคำตอบ "พอดี" กับแต่ละอื่น ๆ แต่ฉันคิดว่าฉันสามารถนำชิ้นส่วนนั้นออกได้ถ้าคุณคิดว่ามันไม่มีประโยชน์
Phylliida

1
ฉันแค่คิดว่ารายละเอียดของคำถามนั้นไม่จำเป็นหรือเกี่ยวข้องจริงๆ ดูเหมือนจะมากเกินไปและ จำกัด แต่นั่นเป็นเพียงฉัน
Roger Fan

คำตอบ:


85

นี่คือสิ่งที่ฉันเข้าใจ ส่วนใหญ่ทำงานได้ดีที่สุดเมื่อกำหนดค่าระหว่าง 0 ถึง 1

ต้นทุนกำลังสอง

ยังเป็นที่รู้จักค่าเฉลี่ยกำลังสองข้อผิดพลาด , ความน่าจะเป็นสูงสุดและข้อผิดพลาดรวมกำลังสองนี้ถูกกำหนดให้เป็น:

CMST(W,B,Sr,Er)=0.5j(ajLEjr)2

r

aCMST=(aLEr)

ค่าใช้จ่ายข้ามเอนโทรปี

ยังเป็นที่รู้จักกันในนามBernoulli ลบบันทึกความน่าจะเป็นและBinary Cross-Entropy

CCE(W,B,Sr,Er)=j[Ejr ln ajL+(1Ejr) ln (1ajL)]

r

aCCE=(aLEr)(1aL)(aL)

ต้นทุนแบบยกกำลัง

τ

CEXP(W,B,Sr,Er)=τ exp(1τj(ajLEjr)2)

exp(x)ex

r

aC=2τ(aLEr)CEXP(W,B,Sr,Er)

CEXPCEXP

ระยะทาง Hellinger

CHD(W,B,Sr,Er)=12j(ajLEjr)2

01

r

aC=aLEr2aL

Kullback – Leibler divergence

ยังเป็นที่รู้จักข้อมูล Divergence , ข้อมูลกำไร , เอนโทรปีสัมพัทธ์ , KLICหรือKL Divergence (ดูที่นี่ )

DKL(PQ)=iP(i)lnP(i)Q(i)

DKL(PQ)QPP=EiQ=aLajiEji

CKL(W,B,Sr,Er)=jEjrlogEjrajL

P=EiQ=aL

r

aC=EraL

Kullback – Leibler divergence ทั่วไป

จากที่นี่

CGKL(W,B,Sr,Er)=jEjrlogEjrajLj(Ejr)+j(ajL)

r

aC=aLEraL

ระยะทาง Itakura – Saito

นอกจากนี้จากที่นี่

CGKL(W,B,Sr,Er)=j(EjrajLlogEjrajL1)

r

aC=aLEr(aL)2

((aL)2)j=ajLajL(aL)2aL


ขอบคุณสำหรับการแบ่งปันคุณสามารถพิจารณาสิ่งเหล่านี้ได้: github.com/torch/nn/blob/master/doc/criterion.md
Yannis Assael

2
คุณมีความผิดพลาดเล็ก ๆ ในส่วนของอนุพันธ์ข้ามเอนโทรปีมันควรจะเป็นa*(1-a)ไม่ได้a*(1+a)
Amro

1
นอกจากนี้ยังเป็นการดีที่จะแสดงฟังก์ชั่นการสูญเสียพินบอลเพื่อลดปริมาณข้อผิดพลาดแทนที่จะลดข้อผิดพลาดโดยเฉลี่ย ใช้มากในระบบสนับสนุนการตัดสินใจ
Ricardo Cruz

ฉันจะดูกราฟสำหรับสิ่งเหล่านี้ได้ที่ไหน
coiso

1

20

ไม่มีชื่อเสียงที่จะแสดงความคิดเห็น แต่มีข้อผิดพลาดในการลงชื่อเข้าใช้ในการไล่ระดับสี 3 ครั้งล่าสุด

C=jEjlog(Ej/aj)=jEjlog(Ej)Ejlog(aj)dC=jEjdlog(aj)=j(Ej/aj)dajaC=Ea
ข้อผิดพลาดของสัญญาณเดียวกันนี้ปรากฏใน Generalized KL divergence

C=j(Ej/aj)log(Ej/aj)1=j(Ej/aj)log(Ej)+log(aj)1dC=j(Ej/aj2)daj+dlog(aj)=j(1/aj)daj(Ej/aj2)daj=j(ajEj)/aj2dajaC=aE(a)2
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.