กลับไปหน้าบทความ

อ่าน 3 นาที

เชนเนอร์

Chainer เป็น เฟรมเวิ ร์ก การเรียนรู้เชิงลึกแบบ โอเพนซอร์สที่เขียนด้วย ภาษา Python ล้วนๆ โดยใช้ ไลบรารี NumPy และ CuPy ของ Python การพัฒนานี้ดำเนินการโดยบริษัทร่วมทุนของญี่ปุ่น...

เชนเนอร์

เชนเนอร์
ผู้เขียนต้นฉบับเซยะ โทคุอิ
นักพัฒนาบริษัท คอมมูนิตี้ พรีเฟอร์ เน็ตเวิร์กส์ จำกัด
ปล่อย9 มิถุนายน2558 [ 1 ] [ 2 ] ( 9 มิถุนายน 2015 )
เวอร์ชันเสถียร
7.8.1 [ 3 ] / 5 มกราคม 2022 ( 5 มกราคม 2565 )
เขียนเป็นไพธอน
แพลตฟอร์มข้ามแพลตฟอร์ม
มีจำหน่ายในไพธอน
พิมพ์คลังการเรียนรู้เชิงลึก
ใบอนุญาตเอ็มไอที
เว็บไซต์chainer .org
ที่เก็บข้อมูล
  • github.com/chainer/chainer

Chainerเป็นเฟรมเวิ ร์ก การเรียนรู้เชิงลึกแบบโอเพนซอร์สที่เขียนด้วย ภาษา Python ล้วนๆ โดยใช้ ไลบรารี NumPyและCuPy ของ Python การพัฒนานี้ดำเนินการโดยบริษัทร่วมทุนของญี่ปุ่น Preferred Networks ร่วมกับIBM , Intel , MicrosoftและNvidia [ 4 ] [ 5 ] [ 6 ] [ 7 ]

Chainer โดดเด่นในด้านการนำรูปแบบ " define-by-run " มาใช้ตั้งแต่เนิ่นๆ รวมถึงประสิทธิภาพในการทำงานบนระบบขนาดใหญ่[ 1 ]เวอร์ชันแรกเปิดตัวในเดือนมิถุนายน 2015 และได้รับความนิยมอย่างมากในญี่ปุ่นตั้งแต่นั้นมา[ 1 ] [ 2 ]นอกจากนี้ ในปี 2017 Chainer ยังได้รับการจัดอันดับโดยKDnuggets ให้ อยู่ใน 10 อันดับแรกของโครงการ Python สำหรับการเรียนรู้ของเครื่องแบบโอเพนซอร์ส[ 8 ]

ในเดือนธันวาคม 2019 Preferred Networks ประกาศการเปลี่ยนผ่านความพยายามในการพัฒนาจาก Chainer ไปเป็นPyTorchและจะให้เฉพาะแพตช์บำรุงรักษาหลังจากปล่อยเวอร์ชัน 7 แล้ว[ 9 ]

กำหนดโดยการทำงาน

Chainer เป็นเฟรมเวิร์กการเรียนรู้เชิงลึกตัวแรกที่นำเสนอแนวทาง define-by-run [ 10 ] [ 11 ]ขั้นตอนดั้งเดิมในการฝึกเครือข่ายมีสองขั้นตอน: กำหนดการเชื่อมต่อคงที่ระหว่างการดำเนินการทางคณิตศาสตร์ (เช่น การคูณเมทริกซ์และการเปิดใช้งานแบบไม่เชิงเส้น) ในเครือข่าย จากนั้นจึงดำเนินการคำนวณการฝึกจริง วิธีนี้เรียกว่า define-and-run หรือแนวทางกราฟคงที่TheanoและTensorFlowเป็นเฟรมเวิร์กที่โดดเด่นที่ใช้แนวทางนี้ ในทางตรงกันข้าม ในแนวทาง define-by-run หรือแนวทางกราฟไดนามิก การเชื่อมต่อในเครือข่ายจะไม่ถูกกำหนดเมื่อเริ่มการฝึก เครือข่ายจะถูกกำหนดในระหว่างการฝึกเมื่อทำการคำนวณจริง

ข้อดีประการหนึ่งของแนวทางนี้คือใช้งานง่ายและยืดหยุ่น[ 12 ]หากเครือข่ายมีการควบคุมการไหลที่ซับซ้อน เช่นเงื่อนไขและลูปในแนวทางกำหนดและดำเนินการ จำเป็นต้องมีการดำเนินการที่ออกแบบมาเป็นพิเศษสำหรับโครงสร้างดังกล่าว ในทางกลับกัน ในแนวทางกำหนดโดยดำเนินการ สามารถใช้โครงสร้างพื้นฐานของภาษาโปรแกรม เช่น คำสั่ง if และลูป for เพื่ออธิบายการไหลดังกล่าว ความยืดหยุ่นนี้มีประโยชน์อย่างยิ่งในการใช้งานเครือข่ายประสาทแบบวนซ้ำ[ 13 ] [ 14 ]

ข้อดีอีกประการหนึ่งคือความง่ายในการดีบัก[ 12 ]ในแนวทาง define-and-run หากเกิดข้อผิดพลาด (เช่น ข้อผิดพลาดทางตัวเลข) ในการคำนวณการฝึกอบรม มักจะยากที่จะตรวจสอบข้อผิดพลาด เนื่องจากโค้ดที่เขียนเพื่อกำหนดเครือข่ายและตำแหน่งที่เกิดข้อผิดพลาดจริงนั้นแยกจากกัน ในแนวทาง define-by-run คุณสามารถระงับการคำนวณด้วยดีบักเกอร์ ในตัวของภาษา และตรวจสอบข้อมูลที่ไหลผ่านโค้ดเครือข่ายของคุณได้

Define-by-run ได้รับความนิยมมากขึ้นนับตั้งแต่ Chainer นำเสนอ และปัจจุบันได้ถูกนำไปใช้ในเฟรมเวิร์กอื่นๆ อีกมากมาย รวมถึง PyTorch [ 15 ]และ TensorFlow [ 12 ]

ไลบรารีส่วนขยาย

Chainer มีไลบรารีส่วนขยายสี่ชุด ได้แก่ ChainerMN, ChainerRL, ChainerCV และ ChainerUI ChainerMN ช่วยให้สามารถใช้ Chainer บน GPU หลายตัวได้ โดยมีประสิทธิภาพเร็วกว่าเฟรมเวิร์กการเรียนรู้เชิงลึกอื่นๆ อย่างมาก[ 1 ]ซูเปอร์คอมพิวเตอร์ที่รัน Chainer บน GPU 1024 ตัว ประมวลผล ชุดข้อมูล ImageNet 90 รอบ บนเครือข่าย ResNet-50 ใน 15 นาที ซึ่งเร็วกว่าสถิติเดิมของ Facebook ถึงสี่เท่า[ 16 ] [ 17 ] ChainerRL เพิ่มอัลก อริธึม การเรียนรู้แบบเสริมแรงเชิง ลึกที่ทันสมัย ​​และ ChainerUI เป็นเครื่องมือจัดการและแสดงภาพ

แอปพลิเคชัน

Chainer ถูกใช้เป็นเฟรมเวิร์กสำหรับPaintsChainerซึ่งเป็นบริการที่ทำการระบายสี อัตโนมัติให้ กับภาพวาดเส้นขาวดำโดยใช้การป้อนข้อมูลจากผู้ใช้น้อยที่สุด[ 18 ] [ 19 ]

ดูเพิ่มเติม

  • เว็บไซต์อย่างเป็นทางการ
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Chainer&oldid=1295331808 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เชนเนอร์

Chainer เป็น เฟรมเวิ ร์ก การเรียนรู้เชิงลึกแบบ โอเพนซอร์สที่เขียนด้วย ภาษา Python ล้วนๆ โดยใช้ ไลบรารี NumPy และ CuPy ของ Python การพัฒนานี้ดำเนินการโดยบริษัทร่วมทุนของญี่ปุ่น...

กำหนดโดยการทำงาน

Chainer เป็นเฟรมเวิร์กการเรียนรู้เชิงลึกตัวแรกที่นำเสนอแนวทาง define-by-run [ 10 ] [ 11 ] ขั้นตอนดั้งเดิมในการฝึกเครือข่ายมีสองขั้นตอน: กำหนดการเชื่อมต่อคงที่ระหว่างการดำเนินการทางคณิตศาสตร์ (เช่น การคูณเมทริกซ์และการเปิดใช้งานแบบไม่เชิงเส้น) ในเครือข่าย...

ไลบรารีส่วนขยาย

Chainer มีไลบรารีส่วนขยายสี่ชุด ได้แก่ ChainerMN, ChainerRL, ChainerCV และ ChainerUI ChainerMN ช่วยให้สามารถใช้ Chainer บน GPU หลายตัวได้ โดยมีประสิทธิภาพเร็วกว่าเฟรมเวิร์กการเรียนรู้เชิงลึกอื่นๆ อย่างมาก [ 1 ] ซูเปอร์คอมพิวเตอร์ที่รัน Chainer บน GPU 1024 ตัว...

แอปพลิเคชัน

Chainer ถูกใช้เป็นเฟรมเวิร์กสำหรับ PaintsChainer ซึ่งเป็นบริการ ที่ทำการระบายสี อัตโนมัติให้ กับภาพวาดเส้นขาวดำโดยใช้การป้อนข้อมูลจากผู้ใช้น้อยที่สุด [ 18 ] [ 19 ]