ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับฟังก์ชันการเปิดใช้งานใน ML

เผยแพร่แล้ว: 2022-11-08

สารบัญ

ฟังก์ชันการเปิดใช้งานในการเรียนรู้ของเครื่องคืออะไร?

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

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

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

ลงทะเบียน เรียนหลักสูตร Machine Learning จากมหาวิทยาลัยชั้นนำของโลก รับ Masters, Executive PGP หรือ Advanced Certificate Programs เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

โมเดล ฟังก์ชันการเปิดใช้งาน Machine Learning นั้นโดยพื้นฐานแล้วมีสองประเภท -

  • เลเยอร์ที่ซ่อนอยู่
  • เลเยอร์เอาต์พุต

เลเยอร์ที่ซ่อนอยู่

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

เลเยอร์เอาต์พุต

วิธีการเปิดใช้งานที่ใช้โดยเลเยอร์เอาต์พุตของโมเดล Machine Learning มีวัตถุประสงค์หลักเฉพาะ: บีบอัดค่าภายในช่วงที่จำกัด เช่น 0 ถึง 1

ก่อนอื่นเรามาทำความเข้าใจเกี่ยวกับ ฟังก์ชั่นการเปิดใช้งานประเภทต่างๆ ในการเรียนรู้ของเครื่อง

1. ฟังก์ชันขั้นตอนไบนารี

ตัวแยกประเภทตามธรณีประตู ซึ่งกำหนดว่าเซลล์ประสาทควรมีส่วนร่วมหรือไม่ เป็นสิ่งแรกที่นึกถึงเมื่อเรามีฟังก์ชันกระตุ้น เซลล์ประสาทจะถูกกระตุ้นหากค่า Y มากกว่าค่าเกณฑ์ที่ระบุ มิฉะนั้นจะถูกทิ้งไว้เฉยๆ

มักจะถูกกำหนดเป็น -

f(x) = 1, x>=0

ฉ(x) = 0, x<0

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

2. ฟังก์ชันเชิงเส้น

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

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

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

สุดยอดหลักสูตรการเรียนรู้ของเครื่องและหลักสูตร AI ออนไลน์

วิทยาศาสตรมหาบัณฑิตสาขาวิชา Machine Learning & AI จาก LJMU Executive Post Graduate Program in Machine Learning & AI จาก IIITB
โปรแกรมประกาศนียบัตรขั้นสูงในการเรียนรู้ของเครื่อง & NLP จาก IIITB โปรแกรมประกาศนียบัตรขั้นสูงในการเรียนรู้ของเครื่องและการเรียนรู้เชิงลึกจาก IIITB Executive Post Graduate Program in Data Science & Machine Learning จาก University of Maryland
หากต้องการสำรวจหลักสูตรทั้งหมดของเรา โปรดไปที่หน้าด้านล่าง
หลักสูตรการเรียนรู้ของเครื่อง

3. ฟังก์ชันไม่เชิงเส้น

  1. ReLU

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

ความไร้ขอบเขตในเชิงบวกช่วยรักษาความเรียบง่ายในการคำนวณในขณะที่เร่งการบรรจบกันของการถดถอยเชิงเส้น ReLU มีข้อเสียเปรียบเพียงประการเดียวคือเซลล์ประสาทที่ตายแล้ว เซลล์ประสาทที่ตายแล้วบางส่วนถูกปิดในช่วงการฝึกและมีผลผูกพันเชิงลบกับ 0 ไม่มีวันเปิดใช้งานอีกครั้ง เนื่องจากฟังก์ชันจะเปลี่ยนจาก unbounded อย่างรวดเร็วเมื่อ x > 0 เป็น bounded เมื่อ x ≤ 0 จึงไม่สามารถแยกความแตกต่างได้อย่างต่อเนื่อง อย่างไรก็ตาม ในทางปฏิบัติ ปัญหานี้อาจแก้ไขได้โดยไม่มีผลกระทบถาวรต่อประสิทธิภาพ หากมีอัตราการเรียนรู้ต่ำและมีอคติเชิงลบอย่างมีนัยสำคัญ

ข้อดี:

  • ReLU ต้องการกระบวนการทางคณิตศาสตร์น้อยกว่าฟังก์ชันที่ไม่ใช่เชิงเส้นอื่น ๆ ทำให้มีค่าใช้จ่ายในการคำนวณและเป็นเชิงเส้นน้อยกว่า
  • ป้องกันและแก้ไขปัญหา Vanishing Gradient

ใช้:

  • ใช้ใน RNN, CNN และโมเดลการเรียนรู้ของเครื่องอื่นๆ

การปรับเปลี่ยน ReLU ที่แตกต่างกัน –

รั่ว ReLU

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

จะเห็นได้ว่า-

f(x)=ขวาน, x<0

f(x)=x, x>=0

ข้อดี -

  • Leaky ReLU ซึ่งมีความชันเป็นลบเล็กน้อย คือความพยายามที่จะแก้ไขปัญหา "ReLU ที่กำลังจะตาย" (เท่ากับ 0.01 หรือมากกว่านั้น)

ใช้ -

  • ใช้ในงานที่เกี่ยวข้องกับการไล่ระดับสีเช่น GAN

พารามิเตอร์ ReLU

นี่คือการปรับปรุงเหนือ Leaky ReLU โดยที่ตัวคูณสเกลาร์ได้รับการฝึกอบรมเกี่ยวกับข้อมูลแทนที่จะเลือกแบบสุ่ม เนื่องจากโมเดลได้รับการฝึกอบรมโดยใช้ข้อมูล จึงมีความอ่อนไหวต่อพารามิเตอร์มาตราส่วน (a) และตัวนับจะแตกต่างกันไปตามค่าของ a

ใช้ -

  • เมื่อ Leaky ReLU ล้มเหลว สามารถใช้ Parametric ReLU เพื่อแก้ปัญหาของเซลล์ประสาทที่ตายแล้วได้

GeLU (หน่วยเชิงเส้นข้อผิดพลาดเกาส์เซียน)

เด็กใหม่ล่าสุดในบล็อกและผู้ชนะ NLP (การประมวลผลภาษาธรรมชาติ) อย่างไม่ต้องสงสัย - งานที่เกี่ยวข้องคือ Gaussian Error Linear Unit ซึ่งใช้ในระบบที่ใช้หม้อแปลงและอัลกอริธึม SOTA เช่น GPT-3 และ BERT GeLU รวม ReLU, Zone Out และ Dropout (ซึ่งสุ่มเลือกศูนย์เซลล์ประสาทสำหรับเครือข่ายที่กระจัดกระจาย) ReLU ถูกทำให้ราบรื่นขึ้นด้วย GeLU เนื่องจากให้น้ำหนักอินพุตเป็นเปอร์เซ็นต์ไทล์มากกว่าเกต

ใช้ -

  • คอมพิวเตอร์วิทัศน์, NLP, การรู้จำเสียง

ELU (หน่วยเชิงเส้นเอ็กซ์โปเนนเชียล)

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

หวด

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

ข้อดี -

  • ผลลัพธ์คือวิธีแก้ปัญหาระหว่างฟังก์ชัน Sigmoid และ RELU ที่ช่วยทำให้ผลลัพธ์เป็นมาตรฐาน
  • มีความสามารถในการจัดการกับปัญหา Vanishing Gradient

ใช้ -

  • ในแง่ของการจัดหมวดหมู่รูปภาพและการแปลด้วยเครื่อง มันเทียบเท่าหรือเหนือกว่า ReLU ด้วยซ้ำ

ทักษะการเรียนรู้ของเครื่องตามความต้องการ

หลักสูตรปัญญาประดิษฐ์ หลักสูตร Tableau
หลักสูตร NLP หลักสูตรการเรียนรู้เชิงลึก

4. ฟังก์ชันเปิดใช้งาน Softmax

เช่นเดียวกับฟังก์ชันการเปิดใช้งาน sigmoid softmax ส่วนใหญ่จะใช้ในเลเยอร์สุดท้ายหรือเลเยอร์เอาต์พุตสำหรับการตัดสินใจ softmax เพียงกำหนดค่าให้กับตัวแปรอินพุตตามน้ำหนัก และน้ำหนักรวมเหล่านี้จะเท่ากับหนึ่ง

ข้อดี -

  • เมื่อเปรียบเทียบกับฟังก์ชัน RELU การบรรจบกันของเกรเดียนต์จะราบรื่นกว่าใน Softmax
  • มีความสามารถในการจัดการปัญหา Vanishing Gradient

ใช้ -

  • การจำแนกประเภท Multiclass และ Multinomina

5. ซิกมอยด์

ฟังก์ชัน Sigmoid ใน Machine Learning เป็นหนึ่งในฟังก์ชันการเปิดใช้งานที่ได้รับความนิยมมากที่สุด สมการคือ –

f(x)=1/(1+e^-x)

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

อนุพันธ์มีข้อ จำกัด ระหว่าง -3 และ 3 ในขณะที่ฟังก์ชั่นถูก จำกัด ระหว่าง 0 ถึง 1 มันไม่เหมาะสำหรับการฝึกเลเยอร์ที่ซ่อนอยู่เนื่องจากเอาต์พุตไม่สมมาตรรอบ ๆ ศูนย์ ซึ่งจะทำให้เซลล์ประสาททั้งหมดใช้เครื่องหมายเดียวกันระหว่างการฝึก .

ข้อดี -

  • ให้การไล่ระดับสีที่ราบรื่นระหว่างการบรรจบกัน
  • มักจะให้การจำแนกประเภทการทำนายที่แม่นยำด้วย 0 และ 1

ใช้ -

  • ฟังก์ชัน Sigmoid ใน Machine Learning มักใช้ในการจำแนกประเภทไบนารีและแบบจำลองการถดถอยโลจิสติกในเลเยอร์เอาต์พุต

บล็อกการเรียนรู้ของเครื่องยอดนิยมและปัญญาประดิษฐ์

IoT: ประวัติศาสตร์ ปัจจุบัน และอนาคต บทช่วยสอนการเรียนรู้ของเครื่อง: เรียนรู้ ML อัลกอริทึมคืออะไร? ง่ายและสะดวก
เงินเดือนวิศวกรหุ่นยนต์ในอินเดีย: บทบาททั้งหมด วันหนึ่งในชีวิตของวิศวกรแมชชีนเลิร์นนิง: พวกเขาทำอะไร? IoT คืออะไร (Internet of Things)
การเปลี่ยนแปลงและการรวมกัน: ความแตกต่างระหว่างการเปลี่ยนแปลงและการรวมกัน แนวโน้ม 7 อันดับแรกในปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง แมชชีนเลิร์นนิงกับ R: ทุกสิ่งที่คุณต้องรู้

6. Tanh – ฟังก์ชันการเปิดใช้งานไฮเปอร์โบลิกแทนเจนต์

คล้ายกับ ฟังก์ชัน Sigmoid ใน Machine Learning ฟังก์ชันการเปิดใช้งานนี้ใช้เพื่อคาดการณ์หรือแยกแยะระหว่างสองคลาส ยกเว้นเฉพาะการถ่ายโอนอินพุตเชิงลบเป็นปริมาณเชิงลบและมีช่วง -1 ถึง 1

tanh(x)=2sigmoid(2x)-1

หรือ

tanh(x)=2/(1+e^(-2x)) -1

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

ข้อดี -

  • ต่างจากซิกมอยด์ตรงที่มีฟังก์ชันศูนย์
  • ฟังก์ชันนี้ยังมีการไล่ระดับสีที่ราบรื่นอีกด้วย

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

เริ่มต้นอาชีพการเรียนรู้ของเครื่องด้วยหลักสูตรที่เหมาะสม

สนใจที่จะเจาะลึกลงไปในฟังก์ชันการเปิดใช้งานและความช่วยเหลือในการปรับปรุงการเรียนรู้ของเครื่องหรือไม่? รับภาพรวมของแมชชีนเลิร์ นิงพร้อมรายละเอียดทั้งหมด เช่น AI, Deep Learning, NLP และ Reinforcement Learning ด้วยหลักสูตร UpGrad ที่ได้รับการยอมรับจาก WES Masters of Science in Machine Learning และ AI หลักสูตรนี้ให้ประสบการณ์ตรงขณะทำงานมากกว่า 12 โครงการ ดำเนินการวิจัย ชั้นเรียนที่มีการเขียนโค้ดขั้นสูง และการฝึกสอนกับอาจารย์ที่เก่งที่สุด

ลงทะเบียน เพื่อเรียนรู้เพิ่มเติม!

บทสรุป

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

คุณจะตัดสินใจได้อย่างไรว่าฟังก์ชั่นการเปิดใช้งานใดดีที่สุด?

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

ฟังก์ชันการเปิดใช้งานควรเป็นแบบเชิงเส้นหรือไม่เชิงเส้น?

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

ฟังก์ชั่นการเปิดใช้งานใดที่สามารถเรียนรู้ได้ง่าย?

ธัน. การขยายช่วงให้ครอบคลุม -1 ถึง 1 จะแก้ไขข้อบกพร่องของฟังก์ชันการเปิดใช้งาน sigmoid ส่งผลให้มีจุดศูนย์กลางเป็นศูนย์ ซึ่งทำให้ค่าเฉลี่ยของน้ำหนักของเลเยอร์ที่ซ่อนอยู่เข้าใกล้ 0 การเรียนรู้จึงเร็วและง่ายขึ้นด้วย