ปัญญาประดิษฐ์กำลังเล่นฟังก์ชั่นที่เพิ่มขึ้นในชีวิตของประชาชาติที่มีอารยธรรมแม้ว่าประชาชนส่วนใหญ่จะไม่รู้จักมัน ตอนนี้เป็นเรื่องธรรมดาที่จะพูดกับคอมพิวเตอร์เมื่อโทรหาธุรกิจ Facebook กำลังจบลงด้วยความแม่นยำที่น่ากลัวในการยอมรับใบหน้าในภาพถ่ายที่อัปโหลด การมีปฏิสัมพันธ์ทางกายภาพกับโทรศัพท์ที่ชาญฉลาดกำลังจบลงด้วยการเป็นสิ่งที่ผ่านมา … กับ Siri ของ Apple เช่นเดียวกับคำพูดของ Google มันช้า แต่อย่างแน่นอนจบลงด้วยการพูดคุยกับโทรศัพท์ของคุณเช่นเดียวกับการบอกว่าจะทำอย่างไรดีกว่าพิมพ์หรือสัมผัส ไอคอน ลองใช้ถ้าคุณไม่เคยมีมาก่อน – หากคุณมีโทรศัพท์ Android รัฐ “ตกลง Google” ปฏิบัติตามด้วย “Lumos” มันเป็นเวทมนตร์!
โฆษณาผลิตภัณฑ์ที่เรากำลังคิดจะปรากฏบนบัญชีเครือข่ายสังคมออนไลน์ของเราราวกับว่ามีบางอย่างกำลังอ่านจิตใจของเรา ความจริงคือสิ่งที่กำลังอ่านจิตใจของเรา … แม้ว่ามันจะยากที่จะพินลงอย่างแม่นยำในสิ่งที่บางสิ่งบางอย่าง โฆษณาอาจปรากฏขึ้นสำหรับสิ่งที่เราต้องการแม้ว่าเราจะไม่เคยตระหนักว่าเราต้องการมันจนกระทั่งเราเห็นมัน นี่ไม่ใช่เรื่องบังเอิญอย่างไรก็ตามเกิดจากอัลกอริทึม AI
หัวใจของแอปพลิเคชั่น AI เหล่านี้จำนวนมากอยู่ที่กระบวนการเข้าใจว่าการเรียนรู้อย่างลึกซึ้ง มีการพูดคุยกันอย่างมากเกี่ยวกับการค้นพบอย่างลึกซึ้งเมื่อเร็ว ๆ นี้ไม่เพียง แต่ถูกต้องที่นี่ใน Hackaday อย่างไรก็ตามรอบ ๆ Interwebs เช่นเดียวกับสิ่งส่วนใหญ่ที่เกี่ยวข้องกับ AI อาจเป็นเรื่องที่ท้าทายเช่นเดียวกับความยากลำบากในการเข้าใจโดยไม่มีพื้นหลังที่แข็งแกร่งในวิทยาศาสตร์คอมพิวเตอร์
หากคุณคุ้นเคยกับบทความทฤษฎีควอนตัมของฉันคุณจะเข้าใจว่าฉันชอบที่จะใช้วิชาที่ท้าทายถอดความซับซ้อนที่ดีที่สุดที่ฉันสามารถอธิบายได้ในวิธีที่ทุกคนสามารถเข้าใจได้ มันเป็นเป้าหมายของบทความนี้เพื่อใช้แนวทางที่คล้ายกันกับแนวคิดนี้ของการเรียนรู้ที่ลึกล้ำ หากเครือข่ายประสาททำให้คุณข้ามตารวมถึงการค้นพบเครื่องให้ฝันร้ายของคุณเช็คอิน คุณจะเห็นว่า “การเรียนรู้อย่างลึกซึ้ง” ดูเหมือนว่าเป็นเรื่องที่น่ากลัว แต่ยังเป็นเพียงระยะเวลาเพียง $ 20 ที่ใช้เพื่ออธิบายบางสิ่งที่การหนุนค่อนข้างง่าย
การเรียนรู้เครื่อง
เมื่อเราตั้งโปรแกรมเครื่องเพื่อทำงานเราเขียนทิศทางเช่นเดียวกับเครื่องจะดำเนินการ ตัวอย่างเช่น LED บน … นำออก … ไม่มีข้อกำหนดสำหรับเครื่องที่จะเข้าใจผลลัพธ์ที่คาดหวังหลังจากเสร็จสิ้นคำแนะนำ ไม่มีเหตุผลที่ให้เครื่องเข้าใจหากไฟ LED เปิดหรือปิด มันทำในสิ่งที่คุณบอกให้ทำ ด้วยการเรียนรู้ของเครื่องกระบวนการนี้จะพลิก เราบอกเครื่องผลลัพธ์ที่เราต้องการเช่นเดียวกับเครื่อง ‘เรียนรู้’ ทิศทางที่จะไปถึงที่นั่น มีวิธีการหลายวิธีในการทำเช่นนี้ให้เรามุ่งเน้นไปที่ตัวอย่างง่ายๆ:
เครือข่ายประสาทเทียมจาก MIT
ถ้าฉันขอให้คุณสร้างหุ่นยนต์บิตที่สามารถนำทางตัวเองไปยังเป้าหมายวิธีการง่ายๆในการทำเช่นนี้จะทำให้หุ่นยนต์รวมถึงเป้าหมายบนเครื่องบิน XY Cartesian เช่นเดียวกับโปรแกรมหุ่นยนต์ที่จะไป หลายหน่วยในแกน X เช่นเดียวกับหลาย ๆ หน่วยบนแกน Y เทคนิคง่ายๆนี้มีหุ่นยนต์เพียงแค่นำคำแนะนำออกมาโดยไม่เข้าใจว่าเป้าหมายคืออะไร มันทำงานเฉพาะเมื่อคุณเข้าใจพิกัดสำหรับจุดเริ่มต้นเช่นเดียวกับเป้าหมาย หากการเปลี่ยนแปลงวิธีการนี้จะไม่ทำงาน
การค้นพบเครื่องช่วยให้เราสามารถนำเสนอด้วยการเปลี่ยนแปลงพิกัด เราบอกหุ่นยนต์ของเราเพื่อค้นหาเป้าหมายเช่นเดียวกับให้มันคิดออกหรือเรียนรู้ทิศทางของตัวเองที่จะไปถึงที่นั่น วิธีการหนึ่งในการทำเช่นนี้คือหุ่นยนต์ค้นพบระยะทางไปยังเป้าหมายเช่นเดียวกับการย้ายในทิศทางแบบสุ่ม คำนวณระยะทางใหม่ให้ย้ายกลับไปที่ที่เริ่มต้นเช่นเดียวกับบันทึกการวัดระยะทาง การทำซ้ำกระบวนการนี้จะให้การวัดระยะทางจำนวนมากหลังจากย้ายจากพิกัดคงที่ หลังจากใช้การวัดปริมาณ X แล้วหุ่นยนต์จะเคลื่อนที่ไปในทิศทางที่ระยะทางไปยังเป้าหมายที่สั้นที่สุดเช่นเดียวกับการทำซ้ำลำดับ ในที่สุดจะช่วยให้มันสามารถเข้าถึงเป้าหมายได้ ในระยะสั้นหุ่นยนต์กำลังใช้ประโยชน์จากการทดลองและข้อผิดพลาดเพื่อ ‘เรียนรู้’ อย่างแน่นอนวิธีการไปยังเป้าหมาย ดูสิ่งนี้ไม่ยากเลย!
แนวคิด “การเรียนรู้โดยการทดลองและข้อผิดพลาด” นี้สามารถแสดงเป็นนามธรรมในสิ่งที่เราเคยได้ยิน – เครือข่ายประสาทเทียม
เครือข่ายประสาทเทียมสำหรับหุ่น
เครือข่ายประสาทได้รับชื่อจากมวลของเซลล์ประสาทใน Noggin ของคุณ ในขณะที่เครือข่ายทั่วไปมีความซับซ้อนอย่างไร้เหตุผลการดำเนินงานของเซลล์ประสาทเดียวนั้นง่าย มันเป็นเซลล์ที่มีอินพุตจำนวนหนึ่งรวมถึงเอาต์พุตเดียวกับสัญญาณไฟฟ้าเคมีที่ให้บริการ IO สิ่งที่ระบุของเอาต์พุตจะถูกกำหนดโดยจำนวนอินพุตที่ใช้งานรวมถึงความแข็งแกร่งของอินพุตเหล่านั้น หากมีอินพุตที่มีการใช้งานเพียงพอเกณฑ์จะถูกข้ามรวมถึงเอาต์พุตจะสิ้นสุดลง เอาต์พุตของเซลล์ประสาทแต่ละชิ้นทำหน้าที่เป็นอินพุตเป็นหนึ่งเซลล์ประสาทอีกครั้งผลิตเครือข่าย
perceptron diagram ผ่านวิธีการฝึกอบรม neuarl neTwork ใน Python โดย Prateek Joshi
การสร้างเซลล์ประสาทใหม่ (ดังนั้นดังนั้นเครือข่ายประสาท) ในซิลิคอนควรเป็นเรื่องง่าย คุณมีอินพุตจำนวนมากในการสรุป เพิ่มอินพุตขึ้นเช่นเดียวกับถ้าพวกเขาเกินขีด จำกัด เฉพาะเอาต์พุตหนึ่ง อื่นเอาท์พุทเป็นศูนย์ บิงโก! ในขณะที่สิ่งนี้ช่วยให้เรา Sorta เลียนแบบเซลล์ประสาทมันน่าเสียดายที่ไม่มีประโยชน์มาก เพื่อที่จะทำให้เซลล์ประสาทซิลิคอนของเราคุ้มค่าที่จะเก็บในหน่วยความจำแฟลชเราต้องการให้อินพุตรวมถึงเอาท์พุทไบนารีน้อยลง … เราต้องการให้พวกเขามีจุดแข็งหรือชื่อที่เข้าใจกันมากขึ้น: น้ำหนักมากขึ้น
ในช่วงปลายทศวรรษที่ 1940 ผู้ชายคนหนึ่งของ Frank Rosenblatt คิดค้นสิ่งนี้เรียกว่า perceptron Perceptron เป็นเหมือนเซลล์ประสาทซิลิกอนของเราที่เราอธิบายในย่อหน้าก่อนหน้านี้มีข้อยกเว้นบางประการ สิ่งที่สำคัญที่สุดคือปัจจัยที่มีน้ำหนัก ด้วยการเปิดตัวของน้ำหนักรวมถึงข้อเสนอแนะเล็กน้อยเราได้รับความสามารถที่น่าสนใจที่สุด … ความสามารถในการเรียนรู้
แหล่งที่มาผ่าน kdnuggets
ย้อนกลับไปที่หุ่นยนต์บิตของเราที่เรียนรู้วิธีที่จะไปถึงเป้าหมาย เราให้ผลลัพธ์ที่ได้เป็นหุ่นยนต์เช่นเดียวกับการเขียนทิศทางของตัวเองเพื่อค้นหาวิธีการบรรลุผลนั้นด้วยกระบวนการทดลองและข้อผิดพลาดของการเคลื่อนไหวแบบสุ่มรวมถึงการวัดระยะทางในระบบพิกัด XY แนวคิดของ perceptron เป็นสิ่งที่เป็นนามธรรมของกระบวนการนี้ เอาท์พุทของเซลล์ประสาทเทียมเป็นผลลัพธ์ของเรา เราต้องการให้เซลล์ประสาทเพื่อให้ผลลัพธ์ที่คาดหวังแก่เราสำหรับชุดอินพุตเฉพาะ เราทำสิ่งนี้ให้สำเร็จโดยการให้เซลล์ประสาทเปลี่ยนน้ำหนักของอินพุตจนกว่าจะบรรลุผลที่เราต้องการ
การปรับน้ำหนักจะทำโดยกระบวนการที่เรียกว่าการแพร่กระจายกลับซึ่งเป็นประเภทของข้อเสนอแนะ ดังนั้นคุณมีชุดอินพุตชุดน้ำหนักรวมถึงผลลัพธ์ เราพิจารณาว่าผลลัพธ์ที่ได้มาจากที่ใดที่เราต้องการเช่นเดียวกับใช้ประโยชน์จากความแตกต่าง (เรียกว่าข้อผิดพลาด) เพื่อเปลี่ยนน้ำหนักที่ใช้แนวคิดทางคณิตศาสตร์ที่เข้าใจว่าการไล่ระดับสีที่ดี กระบวนการ ‘ปรับน้ำหนัก’ นี้เรียกว่าการฝึกอบรมบ่อยครั้งอย่างไรก็ตามไม่มีอะไรมากไปกว่ากระบวนการทดลองและข้อผิดพลาดเช่นเดียวกับหุ่นยนต์บิตของเรา
การเรียนรู้อย่างลึกซึ้ง
การค้นพบอย่างลึกซึ้งดูเหมือนจะมีคำจำกัดความมากกว่า IoT วันนี้ อย่างไรก็ตามที่ง่ายที่สุดข้างหน้าโดยตรงที่สุดที่ฉันสามารถค้นพบคือเครือข่ายประสาทที่มีหนึ่งหรือมากกว่าหนึ่งเลเยอร์ระหว่างอินพุตรวมถึงเอาต์พุตรวมถึงใช้เพื่อแก้ปัญหาที่ซับซ้อน โดยทั่วไปการค้นพบที่ลึกเป็นเพียงเครือข่ายประสาทที่ซับซ้อนที่ใช้ในการทำสิ่งที่ยากสำหรับคอมพิวเตอร์แบบดั้งเดิมที่ต้องทำ
Deep Discovering Diagram ผ่านคู่มือ Dummy เพื่อค้นพบลึกโดย Kun Chen
เลเยอร์ระหว่างอินพุตรวมถึงเอาต์พุตเรียกว่าเลเยอร์ที่ซ่อนอยู่รวมถึงเพิ่มความซับซ้อนของเน็ตประสาทอย่างมีนัยสำคัญ แต่ละเลเยอร์มีวัตถุประสงค์เฉพาะรวมถึงจัดเรียงในลำดับชั้น ตัวอย่างเช่นหากเรามีการค้นพบเว็บประสาทลึกที่ผ่านการฝึกอบรมเพื่อกำหนดแมวในภาพเลเยอร์แรกอาจมองหากลุ่มบรรทัดที่เฉพาะเจาะจงเช่นเดียวกับ Arcs เลเยอร์อื่น ๆ ที่สูงขึ้นในลำดับชั้นจะดูเอาท์พุทของเลเยอร์แรกรวมถึงพยายามที่จะกำหนดรูปร่างที่ซับซ้อนมากขึ้นเช่นวงกลมหรือสามเหลี่ยม แม้แต่เลเยอร์ที่สูงกว่าจะมองหาวัตถุเช่นตาหรือเครา สำหรับการอธิบายรายละเอียดเพิ่มเติมเกี่ยวกับเทคนิคการจำแนกลำดับชั้นให้แน่ใจว่าได้ตรวจสอบบทความของฉันเกี่ยวกับการเป็นตัวแทนที่ไม่แปรปรวน
เอาต์พุตจริงของเลเยอร์ไม่เข้าใจอย่างแม่นยำเนื่องจากได้รับการฝึกอบรมผ่านกระบวนการทดลองและข้อผิดพลาด สองเครือข่ายประสาทการค้นพบลึกที่คล้ายกันที่ผ่านการฝึกอบรมด้วยภาพเดียวกันที่แน่นอนจะสร้างเอาต์พุตที่แตกต่างจากเลเยอร์ที่ซ่อนอยู่ สิ่งนี้ทำให้เกิดปัญหาที่อึดอัดบางอย่างเนื่องจาก MIT กำลังค้นพบ
ตอนนี้เมื่อคุณได้ยินใครบางคนพูดคุยเกี่ยวกับการเรียนรู้ของเครื่องเครือข่ายประสาทเช่นเดียวกับการเรียนรู้อย่างลึกซึ้งคุณควรมีแนวคิดที่คลุมเครือของสิ่งที่เป็นอยู่และที่สำคัญกว่านั้นคือวิธีการทำงานอย่างไร เครือข่ายประสาทดูเหมือนจะเป็นสิ่งที่ยิ่งใหญ่ต่อไปแม้ว่าพวกเขาจะมีมานานแล้ว ตรวจสอบบทความ [Steven Dufresne] ในสิ่งที่เปลี่ยนแปลงไปในช่วงหลายปีที่ผ่านมารวมถึงการกระโดดเข้าสู่การสอนของเขาเกี่ยวกับการใช้ tensorflow เพื่อลองใช้มือของคุณที่เครื่อง