แหล่งข้อมูลที่ดีสำหรับการเรียนรู้เกี่ยวกับโครงข่ายประสาทเทียมมีอะไรบ้าง [ปิด]


109

ฉันสนใจเครือข่ายประสาทเทียมมาก แต่กำลังมองหาจุดเริ่มต้น

มีทรัพยากรอะไรบ้างและโครงการเริ่มต้นที่ดีคืออะไร?


ฉันสมมติว่าโครงข่ายประสาทเทียม? คุณสนใจในด้านใด (คุณจะนำไปใช้กับอะไร: การเขียนด้วยลายมือการจำแนกประเภทตรรกะ)
bias

ฉันเดาตรรกะ: ฉันกำลังคิดเกี่ยวกับหุ่นยนต์ในเขาวงกตหรืออะไรทำนองนั้นและลองใช้อัลกอริทึมที่แตกต่างกัน แต่ทำในลักษณะที่เครือข่ายจะตัดสินใจว่าตัวไหนดีที่สุด ฯลฯ
cbrulak

3
มีหลักสูตรที่ยอดเยี่ยมจริงๆเกี่ยวกับ coursera จาก Geoffrey Hinton เกี่ยวกับโครงข่ายประสาทเทียม เริ่มต้นด้วยพื้นฐานและลงท้ายด้วยแนวทางที่ทันสมัยและอื่น ๆ อีกมากมาย
alfa

4
หลักสูตรMachine Learning โดย Andrew Ngเป็นสิ่งที่ฉันแนะนำสำหรับผู้เริ่มต้นก่อนที่จะทำหลักสูตรของ Geoffrey Hinton ซึ่งจัดการกับเครือข่ายประสาทเทียมขั้นสูงและแง่มุมทางทฤษฎี
พูดไม่ออก

คำตอบ:


17

นี่คือตัวอย่างบางส่วนของการเขียนโปรแกรม Neural Net http://www.codeproject.com/KB/recipes/neural_dot_net.aspx

คุณสามารถเริ่มอ่านได้ที่นี่: http://web.archive.org/web/20071025010456/http://www.geocities.com/CapeCanaveral/Lab/3765/neural.html

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


2
Geocities ปิดตัวลงเมื่อไม่กี่วันที่ผ่านมา แต่มีเวอร์ชันที่เก็บถาวรไว้ที่web.archive.org/web/20071025010456/http://www.geocities.com/… (อย่างน้อยก็ตอนนี้ ... )
RCIX

33

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

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

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

หนึ่งในหนังสือที่ดีที่สุดในเรื่องนี้คือคริสบิชอปโครงข่ายประสาทสำหรับการจดจำรูปแบบ มันค่อนข้างเก่าในขั้นตอนนี้ แต่ยังคงเป็นแหล่งข้อมูลที่ยอดเยี่ยมและคุณมักจะพบสำเนาที่ใช้ทางออนไลน์ในราคาประมาณ $ 30 บทโครงข่ายประสาทเทียมในหนังสือเล่มใหม่ของเขาคือPattern Recognition และ Machine Learningก็ค่อนข้างครอบคลุมเช่นกัน สำหรับบทช่วยสอนที่เน้นการนำไปใช้งานที่ดีเป็นพิเศษโปรดดูที่ CodeProject.comซึ่งใช้เครือข่ายที่ชาญฉลาดที่เรียกว่าเครือข่าย Convolutional ซึ่ง จำกัด การเชื่อมต่อในลักษณะที่จะทำให้การเรียนรู้การจำแนกรูปแบบภาพทำได้ดีมาก

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


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

ไม่ถูกต้องจริงๆที่จะบอกว่าการศึกษาประสาทวิทยาที่แท้จริงจะไม่เป็นประโยชน์สำหรับการวิจัยในสาขานี้ Jeff Hawkins และงานวิจัยของเขาพยายามที่จะรวมความรู้เพิ่มเติมเกี่ยวกับระบบประสาทในงานของเขาเกี่ยวกับ HTM HTM ทำงานได้ดี ในท้ายที่สุดการศึกษาระบบประสาทวิทยาอาจเป็นประโยชน์หากคุณตั้งใจที่จะลองค้นคว้าโครงสร้างเครือข่ายใหม่และเทคนิคการปฏิสัมพันธ์ที่เลียนแบบตัวอย่างทางชีววิทยาจริง หากคุณแค่ตั้งใจจะใช้สิ่งที่คนอื่นค้นคว้ามาแล้วแทนที่จะทำวิจัยของคุณเองใช่แล้วการค้นคว้าทางประสาทวิทยาอาจจะไม่มีจุดหมาย
SmugDoodleBug

29

ฉันขอแนะนำชุดที่ยอดเยี่ยมนี้โดย Anoop Madhusudanan ในรหัสโครงการ

เขานำคุณผ่านพื้นฐานเพื่อทำความเข้าใจวิธีการทำงานอย่างเข้าใจง่ายและแสดงวิธีใช้brainnetห้องสมุดของเขาเพื่อสร้างของคุณเอง


7
ว้าวเจ๋ง. คุณสามารถอ่านได้จากบล็อกของฉันเช่นกันamazedsaint.blogspot.com/2008/01/…
amazedsaint

11

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

หากคุณต้องการที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ AI และการเรียนรู้เครื่องผมขอแนะนำให้อ่าน Peter Norvig ของปัญญาประดิษฐ์: วิธีโมเดิร์น เป็นการสำรวจ AI และเทคโนโลยีสมัยใหม่มากมาย นอกจากนี้ยังกล่าวถึงประวัติศาสตร์และเทคนิคเก่า ๆ ด้วยและจะทำให้คุณมีพื้นฐานที่สมบูรณ์ยิ่งขึ้นในพื้นฐานของ AI และการเรียนรู้ของเครื่อง

โครงข่ายประสาทเทียมนั้นค่อนข้างง่าย โดยเฉพาะอย่างยิ่งถ้าคุณใช้อัลกอริธึมทางพันธุกรรมในการกำหนดน้ำหนักแทนที่จะเป็น backpropagation ที่เหมาะสม


1
โครงข่ายประสาทเทียมไม่ได้ประกอบด้วย backpropagation เท่านั้น มีเครือข่ายอื่น ๆ มากมายไม่ว่าจะเป็นความทรงจำที่เชื่อมโยงกัน, Kohonen SOFM, เครือข่ายที่ใช้การตอบกลับแบบปรับได้และอื่น ๆ ... MLP และ backpropagation เป็นเครือข่ายที่ได้รับความนิยมมากที่สุด แต่ไม่ใช่เครือข่ายที่มีประสิทธิภาพมากที่สุด ...
lmsasu

3
"โครงข่ายประสาทเทียมเป็นสิ่งที่เสื่อมโทรมในปัจจุบัน" - ดีไม่ได้อีกต่อไป เทคนิค "การเรียนรู้เชิงลึก" สำหรับการฝึก NN หลายชั้นและสถาปัตยกรรมเฉพาะกิจ NN ดูเหมือนจะเป็นสิ่งที่ร้อนแรงที่สุดใน ML ในตอนนี้ เพียงตัวอย่างเดียวจากหลาย ๆ คนgoogleresearch.blogspot.co.uk/2015/03/…
John Donn

5

ผมสองDWF 's คำแนะนำของโครงข่ายประสาทเทียมสำหรับการจดจำรูปแบบโดยคริสบิชอป แม้ว่าอาจไม่ใช่ข้อความเริ่มต้น Norvig หรือบทช่วยสอนออนไลน์ (พร้อมรหัสใน Matlab!) น่าจะเป็นการแนะนำที่อ่อนโยนกว่า

โครงการเริ่มต้นที่ดีคือ OCR (Optical Character Recognition) คุณสามารถสแกนเป็นหน้าข้อความและป้อนอักขระแต่ละตัวผ่านเครือข่ายเพื่อทำการจัดหมวดหมู่ (คุณต้องฝึกเครือข่ายก่อนแน่นอน!)



4

ฉันสามารถแนะนำจุดที่ไม่ควรเริ่มต้นได้ ฉันซื้อAn Introduction to Neural Networksโดย Kevin Gurney ซึ่งมีบทวิจารณ์ที่ดีใน Amazon และอ้างว่าเป็น "การแนะนำหัวข้อที่สำคัญที่สุดหัวข้อหนึ่งในด้านความรู้ความเข้าใจและคอมพิวเตอร์" โดยส่วนตัวแล้วฉันจะไม่แนะนำหนังสือเล่มนี้เป็นเล่มเริ่มต้น ฉันเข้าใจได้แค่ประมาณ 10% แต่อาจเป็นแค่ฉัน (ภาษาอังกฤษไม่ใช่ภาษาแม่ของฉัน) ฉันจะดูตัวเลือกอื่น ๆ จากหัวข้อนี้


3

http://www.ai-junkie.com/ann/evolved/nnt1.htmlเป็นการแนะนำที่ชัดเจนเกี่ยวกับ perceptron แบบหลายชั้นแม้ว่าจะไม่ได้อธิบายอัลกอริทึม backpropagation

คุณยังสามารถดู generation5.org ซึ่งมีบทความมากมายเกี่ยวกับ AI โดยทั่วไปและมีข้อความดีๆเกี่ยวกับเครือข่ายประสาทเทียม


2

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

สำหรับโครงการแรกKohonen แผนที่เป็นที่น่าสนใจสำหรับการจัดหมวดหมู่ : พบความสัมพันธ์ที่ซ่อนอยู่ในคอลเลกชันเพลงของคุณสร้างหุ่นยนต์มาร์ทหรือแก้รางวัล Netflix


1

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





1

Programming Collective Intelligenceกล่าวถึงเรื่องนี้ในบริบทของอัลกอริทึมการค้นหาและการจัดอันดับ นอกจากนี้ในโค้ดที่มีอยู่ที่นี่ (ใน ch.4) แนวคิดที่กล่าวถึงในหนังสือจะแสดงในตัวอย่าง Python


1

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

ฉันควรชี้ให้เห็นว่าหนังสือเล่มนี้ไม่ได้เกี่ยวกับ 'การสร้างจิตใจ' แต่เน้นเฉพาะการจดจำรูปแบบการสืบสกุล / นีโอคอร์เท็กซ์เท่านั้น หัวข้อทั่วไปได้รับการพูดถึงตั้งแต่ปี 1980 ที่ฉันหลงเชื่อดังนั้นจึงมีหนังสือเก่า ๆ มากมายที่อาจมีรูปแบบข้อมูลเดียวกันเล็กน้อย ฉันได้อ่านเอกสารรุ่นเก่าที่ระบุว่าระบบการมองเห็นเป็นเครื่องจดจำรูปแบบหลายชั้น เขาเชื่อว่าสิ่งนี้ใช้ได้กับนีโอคอร์เท็กซ์ทั้งหมด นอกจากนี้ให้ใช้ 'การคาดการณ์' ของเขาด้วยเม็ดเกลือ - ค่าประมาณฮาร์ดแวร์ของเขาน่าจะค่อนข้างแม่นยำ แต่ฉันคิดว่าเขาประเมินว่างานง่ายๆที่ซับซ้อนอาจต่ำเกินไป (เช่นการขับรถ) จริงอยู่ที่เขาเห็นความก้าวหน้ามากมาย (และเป็นส่วนหนึ่งของมัน) แต่ฉันก็ยังคิดว่าเขาเป็นคนมองโลกในแง่ดี มีความแตกต่างอย่างมากระหว่างรถยนต์ AI ที่สามารถขับหนึ่งไมล์ได้สำเร็จ 90% ของเวลาเมื่อเทียบกับ 99.9 +% ที่มนุษย์สามารถทำได้ ฉันไม่คาดหวังว่า AI จะขับไล่ฉันอย่างแท้จริงเป็นเวลาอย่างน้อย 20 ปี ... (ฉันไม่นับรถติดตาม BMW ที่ต้อง 'ฝึก' ในสนามจริงเพราะพวกเขาไม่ได้เล่นแบบเดียวกันจริงๆ เกม)

หากคุณมีแนวคิดพื้นฐานแล้วว่า AI คืออะไรและสามารถสร้างแบบจำลองได้อย่างไรคุณอาจจะข้ามไปที่เทคนิคอื่น ๆ ได้ดีกว่า


0

หากคุณต้องการเรียนรู้อย่างรวดเร็วเกี่ยวกับการประยุกต์ใช้แนวคิดเกี่ยวกับเครือข่ายประสาทเทียมในโปรแกรมจำลองจริงมีหนังสือออนไลน์ที่ยอดเยี่ยม (ปัจจุบันเป็นวิกิพีเดีย) ชื่อ 'Computational Cognitive Neuroscience' ที่http://grey.colorado.edu/CompCogNeuro/index php / CCNBook / หลัก

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

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

ฉันผ่านมันมาในชั้นเรียนระดับปริญญาตรีภาคการศึกษาที่ผ่านมาและมันก็เยี่ยม นำคุณผ่านทุกสิ่งทีละขั้นตอน

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