เมื่อเร็ว ๆ นี้ฉันอ่านว่าเครือข่ายประสาทที่เกิดขึ้นซ้ำสามารถประมาณอัลกอริทึมใด ๆ
ดังนั้นคำถามของฉันคือ: สิ่งนี้หมายความว่าอะไรและคุณสามารถให้ฉันอ้างอิงที่นี่พิสูจน์แล้ว?
เมื่อเร็ว ๆ นี้ฉันอ่านว่าเครือข่ายประสาทที่เกิดขึ้นซ้ำสามารถประมาณอัลกอริทึมใด ๆ
ดังนั้นคำถามของฉันคือ: สิ่งนี้หมายความว่าอะไรและคุณสามารถให้ฉันอ้างอิงที่นี่พิสูจน์แล้ว?
คำตอบ:
พื้นหลัง
ก่อนอื่นเราต้องข้ามแนวคิดบางอย่างจากทฤษฎีการคำนวณ ขั้นตอนวิธีการเป็นขั้นตอนสำหรับการคำนวณฟังก์ชัน รับอินพุต, อัลกอริทึมจะต้องสร้างผลลัพธ์ที่ถูกต้องในจำนวนขั้นตอนที่ จำกัด แล้วยุติ การบอกว่าฟังก์ชั่นคำนวณได้หมายความว่ามีอัลกอริทึมสำหรับการคำนวณ ในบรรดาชุดที่ไม่มีที่สิ้นสุดของฟังก์ชั่นส่วนใหญ่จะไม่สามารถคำนวณได้ เครื่องทัวริงเป็นแบบจำลองทางคณิตศาสตร์ที่ทำให้แนวคิดการคำนวณเป็นทางการ มีรุ่นที่เทียบเท่าอื่น ๆ อยู่ แต่เครื่องทัวริงเป็นมาตรฐาน 'แบบจำลองอ้างอิง' ตามที่โบสถ์ทัวริงวิทยานิพนธ์อัลกอริทึมใด ๆ ที่สามารถนำมาใช้โดยเครื่องทัวริงและฟังก์ชั่นที่คำนวณได้ทั้งหมดสามารถคำนวณได้ดังนั้น อินสแตนซ์เฉพาะของเครื่องทัวริงคำนวณฟังก์ชันเฉพาะเท่านั้น แต่มีทัวริงชั้นพิเศษของเครื่องที่เรียกว่าเครื่องจักรทัวริงสากลที่สามารถจำลองเครื่องทัวริงอื่น ๆ สำหรับการป้อนข้อมูลใด ๆ พวกเขาทำสิ่งนี้โดยใช้คำอธิบายของเครื่องเพื่อจำลอง (และอินพุต) เป็นส่วนหนึ่งของอินพุตของตนเอง อินสแตนซ์เฉพาะของเครื่องทัวริงทัวริงจึงสามารถคำนวณฟังก์ชันที่คำนวณได้ใด ๆ (เช่นสามารถใช้อัลกอริทึมใดก็ได้) ระบบใด ๆ ที่แบ่งปันความสามารถนี้เรียกว่าทัวริงสมบูรณ์. วิธีหนึ่งในการพิสูจน์ว่าระบบทัวริงสมบูรณ์คือการแสดงให้เห็นว่าสามารถจำลองเครื่องทัวริงสากลได้ มีหลายระบบที่แสดงให้เห็นว่าทัวริงสมบูรณ์ (เช่นภาษาการเขียนโปรแกรมส่วนใหญ่เซลลูลาร์ออโตมาต้าและกลศาสตร์ควอนตัม )
เครือข่ายประสาทกำเริบ
กระดาษต่อไปนี้แสดงให้เห็นว่าสำหรับฟังก์ชั่นการคำนวณใด ๆ มีเครือข่ายนิวรัล จำกัด (RNN) ที่สามารถคำนวณได้ นอกจากนี้ยังมี RNNs จำกัด อยู่ที่ทัวริงสมบูรณ์และดังนั้นจึงสามารถใช้อัลกอริทึมใด ๆ
Siegelmann และ Sontag (1992) เรื่องพลังการคำนวณของอวนประสาท
พวกเขาใช้เครือข่ายที่มีจำนวน จำกัด ของหน่วยที่เชื่อมต่อซ้ำซึ่งได้รับอินพุตภายนอกในแต่ละช่วงเวลา สถานะของแต่ละหน่วยจะได้รับจากผลรวมถ่วงน้ำหนักของอินพุต (บวกอคติ) เรียกใช้ผ่านฟังก์ชั่นการเปิดใช้งานแบบไม่เชิงเส้น ฟังก์ชั่นการเปิดใช้งานเป็นฟังก์ชั่นเชิงเส้นอิ่มตัวซึ่งเป็นการประมาณค่าเชิงเส้นแบบชิ้นเดียวของ sigmoid น้ำหนักและอคติได้รับการแก้ไขแล้วดังนั้นจึงไม่มีการเรียนรู้เกิดขึ้น
เครือข่ายทำการแมปจากลำดับการป้อนข้อมูลแบบไบนารีไปยังลำดับการส่งออกแบบไบนารี มีอินพุตภายนอกสองตัวเข้าสู่เครือข่ายซึ่งจะถูกป้อนไปยังทุกหน่วย: 'สายข้อมูล' และ 'สายการตรวจสอบ' บรรทัดข้อมูลมีลำดับการป้อนข้อมูลเป็นศูนย์และรายการจากนั้นศูนย์หลังจากลำดับการป้อนข้อมูลเสร็จสิ้น บรรทัดการตรวจสอบความถูกต้องช่วยให้เครือข่ายทราบเมื่อเกิดการป้อนข้อมูลเข้า มันมีหนึ่งสำหรับช่วงเวลาของลำดับการป้อนข้อมูลแล้วศูนย์หลังจากที่มันเสร็จสิ้น หนึ่งหน่วยถือว่าเป็น 'หน่วยส่งออก' มันส่งออกศูนย์สำหรับความล่าช้าโดยพลการบางอย่างจากนั้นลำดับเอาท์พุทของศูนย์และคนแล้วศูนย์หลังจากเสร็จสิ้นการส่งออก อีกหน่วยหนึ่งถูกพิจารณาว่าเป็น 'หน่วยตรวจสอบความถูกต้อง' ซึ่งแจ้งให้เราทราบเมื่อมีการจัดลำดับเอาต์พุต
แม้ว่า RNNs เหล่านี้จะจับคู่ลำดับของอินพุตไบนารีกับลำดับเอาต์พุตไบนารีเราอาจสนใจฟังก์ชั่นที่กำหนดไว้ในวัตถุทางคณิตศาสตร์อื่น ๆ (ตัวเลข, เวกเตอร์, รูปภาพ, กราฟ ฯลฯ ) ประเภทอื่น ๆ แต่สำหรับฟังก์ชันที่คำนวณได้ใด ๆ วัตถุประเภทอื่น ๆ เหล่านี้สามารถเข้ารหัสเป็นลำดับไบนารี่ได้ (เช่นดูที่นี่สำหรับคำอธิบายของการเข้ารหัสวัตถุอื่น ๆ โดยใช้ตัวเลขธรรมชาติซึ่งสามารถแสดงเป็นไบนารี่ได้)
ผล
พวกเขาแสดงให้เห็นว่าสำหรับทุกฟังก์ชั่นที่คำนวณได้มี RNN จำกัด (ของแบบฟอร์มที่อธิบายข้างต้น) ที่สามารถคำนวณได้ พวกเขาทำสิ่งนี้ด้วยการแสดงว่าเป็นไปได้ที่จะใช้ RNN เพื่อจำลองหุ่นยนต์แบบกดลงที่มีสแต็คสองกองอย่างชัดเจน นี่เป็นรุ่นอื่นที่เทียบเท่ากับเครื่องทัวริง ฟังก์ชันที่คำนวณได้ใด ๆ สามารถคำนวณได้โดยเครื่องทัวริง เครื่องทัวริงใด ๆ สามารถจำลองโดยหุ่นยนต์แบบกดลงที่มีสองกอง หุ่นยนต์แบบกดลงใด ๆ ที่มีสองสแต็คสามารถจำลองโดย RNN ดังนั้นฟังก์ชันใด ๆ ที่คำนวณได้สามารถคำนวณได้โดย RNN นอกจากนี้เนื่องจากเครื่องทัวริงบางเครื่องนั้นเป็นสากล RNN ที่จำลองเครื่องเหล่านั้นเป็นทัวริงสมบูรณ์และสามารถใช้อัลกอริทึมใดก็ได้ โดยเฉพาะอย่างยิ่งพวกเขาแสดงให้เห็นว่ามีทัวริงสมบูรณ์ RNNs กับ 1058 หรือน้อยกว่าหน่วย
ผลกระทบอื่น ๆ
ผลลัพธ์ที่น่าสนใจของผลลัพธ์การจำลองคือคำถามบางอย่างเกี่ยวกับพฤติกรรมของ RNNs ไม่สามารถตัดสินใจได้ ซึ่งหมายความว่ามีขั้นตอนวิธีการที่ไม่สามารถตอบคำถามเหล่านี้สำหรับ RNNs พล (แม้ว่าพวกเขาอาจจะตอบได้ในกรณีของโดยเฉพาะอย่างยิ่ง RNNs) ตัวอย่างเช่นคำถามที่ว่าหน่วยที่กำหนดจะรับค่า 0 นั้นไม่สามารถตัดสินใจได้หรือไม่ ถ้าใครสามารถตอบคำถามนี้โดยทั่วไปมันเป็นไปได้ที่จะแก้ปัญหาการหยุดชะงักของเครื่องจักรทัวริงซึ่งไม่สามารถตัดสินใจได้
พลังการคำนวณ
ในบทความข้างต้นพารามิเตอร์เครือข่ายและสถานะทั้งหมดเป็นตัวเลขที่มีเหตุผล สิ่งนี้มีความสำคัญเนื่องจากเป็นการ จำกัด พลังของ RNNs และทำให้เครือข่ายที่เป็นผลลัพธ์สมจริงยิ่งขึ้น เหตุผลก็คือการปันส่วนเป็นตัวเลขที่คำนวณได้ซึ่งหมายความว่ามีอัลกอริทึมสำหรับการคำนวณความแม่นยำโดยพลการ ตัวเลขจริงส่วนใหญ่นั้นไม่สามารถคำนวณได้และไม่สามารถเข้าถึงได้ - แม้แต่เครื่องทัวริงที่ทรงพลังที่สุดก็ไม่สามารถเป็นตัวแทนของพวกเขาได้และหลาย ๆ คนสงสัยว่าพวกเขาอาจจะเป็นตัวแทนในโลกทางกายภาพได้ เมื่อเราจัดการกับ 'ตัวเลขจริง' บนคอมพิวเตอร์ดิจิทัลเรากำลังเข้าถึงชุดย่อยที่เล็กลง (เช่นหมายเลข 64 บิตที่เป็นทศนิยม ) การแสดงตัวเลขจริงตามอำเภอใจจะต้องใช้ข้อมูลที่ไม่มีที่สิ้นสุด
บทความกล่าวว่าการให้เครือข่ายเข้าถึงตัวเลขจริงจะช่วยเพิ่มพลังการคำนวณยิ่งกว่าเครื่องทัวริง Siegelmann เขียนเอกสารอื่น ๆ อีกจำนวนหนึ่งเพื่อสำรวจความสามารถ 'super-Turing' นี้ อย่างไรก็ตามสิ่งสำคัญคือต้องทราบว่าสิ่งเหล่านี้เป็นแบบจำลองทางคณิตศาสตร์และผลลัพธ์ไม่ได้หมายความว่าเครื่องจักรดังกล่าวอาจมีอยู่จริงในโลกทางกายภาพ มีเหตุผลที่ดีที่คิดว่าไม่ได้แม้ว่าจะเป็นคำถามเปิด
ฉันคิดว่านี่คือสิ่งที่คุณกำลังมองหา ผู้ชายคนนี้พิสูจน์ว่ามัลติเลเยอร์หรือแม้แต่เครือข่ายอาหารชั้นเดียวสามารถประมาณฟังก์ชั่นใด ๆ โดยมีเงื่อนไขว่าเน็ตมีหน่วยที่ซ่อนอยู่เพียงพอ
Hornik, K. (1991) ความสามารถในการประมาณค่าของเครือข่ายแบบส่งต่อหลายระดับ โครงข่ายประสาทเทียม, 4 (2), 251-257