Lisp ยังคงถูกใช้เพื่อแก้ไขปัญหา AI หรือไม่?


20

ฉันรู้ว่าภาษาของ Lisp ถูกนำมาใช้ก่อนเวลาเมื่อทำงานเกี่ยวกับปัญหาปัญญาประดิษฐ์ วันนี้มันยังถูกใช้เพื่อการทำงานที่สำคัญหรือไม่? ถ้าไม่ใช่มีภาษาใหม่ที่ใช้แทนภาษาที่ใช้กันมากที่สุดในการทำงานใน AI หรือไม่?

คำตอบ:


9

โดยรวมแล้วคำตอบคือไม่ แต่กระบวนทัศน์ปัจจุบันเป็นหนี้มากต่อ LISP ภาษาที่ใช้กันมากที่สุดในวันนี้คือไพ ธ อน

คำตอบที่เกี่ยวข้อง:

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

กระบวนทัศน์สำหรับ AI ที่ปัจจุบันได้รับความสนใจมากที่สุดคือการเรียนรู้ด้วยเครื่องจักรซึ่งเราเรียนรู้จากข้อมูลซึ่งต่างจากวิธีการก่อนหน้าเช่นระบบผู้เชี่ยวชาญ (ในยุค 80) ที่ผู้เชี่ยวชาญเขียนกฎสำหรับ AI ให้ปฏิบัติตาม ปัจจุบันไพ ธ อนเป็นภาษาที่ใช้กันอย่างแพร่หลายสำหรับการเรียนรู้ของเครื่องและมีห้องสมุดมากมายเช่น Tensorflow และ Pytorch และชุมชนที่ใช้งานอยู่ ในการประมวลผลข้อมูลจำนวนมากเราต้องการระบบเช่น Hadoop, Hive หรือ Spark รหัสสำหรับสิ่งเหล่านี้เขียนด้วย python, java หรือ scala บ่อยครั้งที่รูทีนย่อยที่ใช้เวลาเป็นแกนหลักถูกเขียนเป็น C

AI Winter of the 80s นั้นไม่ใช่เพราะเราไม่มีภาษาที่ถูกต้อง แต่เป็นเพราะเราไม่มีอัลกอริธึมที่เหมาะสมกำลังการคำนวณที่เพียงพอและข้อมูลที่เพียงพอ หากคุณกำลังพยายามเรียนรู้ AI ใช้เวลาในการศึกษาอัลกอริธึมไม่ใช่ภาษา


6

แน่นอนว่าฉันยังคงใช้ Lisp ต่อไปเมื่อทำงานกับแบบจำลอง AI

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

โดยรวมแล้วมีการวิจัยและพัฒนา AI จำนวนมากใน Lisp ยิ่งไปกว่านั้นแม้จะมีปัญหาที่ไม่ใช่ AI บางครั้งก็ใช้ Lisp เพื่อแสดงให้เห็นถึงพลังของเสียงกระเพื่อมฉันได้ออกแบบระบบการจำลองโครงข่ายประสาทเทียมแรกที่เขียนขึ้นใน Lisp เมื่อกว่าศตวรรษที่ผ่านมา


IDE ตัวแรกคือ LISP IDE เช่นกัน นอกจากนี้ EMMAScript การทำให้เป็นระเบียบของ JavaScript ยังเป็นระบบภาษาที่ดีกว่าสำหรับการสร้างต้นแบบที่รวดเร็วกว่า Python ที่ทันสมัยในปัจจุบันและมันก็เหมือนกับ LISP มากกว่า Java ฉันไม่เห็นคุณค่าที่ยั่งยืนมากมายที่มาจากแนวโน้มปัจจุบันของ ML ยกเว้นความก้าวหน้าด้านวิชันซิสเต็มและการได้ยิน ฉันยอมรับว่า LISP ยังคงเป็นภาษาที่ยอดเยี่ยมสำหรับงานห้องปฏิบัติการ AI และเป็นธรรมชาติมากกว่า XML สำหรับการแสดงข้อมูลที่มีโครงสร้าง
FauChristian

4

LISP ยังคงใช้อย่างมีนัยสำคัญ แต่น้อยลง ยังมีโมเมนตัมเนื่องจากมีผู้คนจำนวนมากที่ใช้มันในอดีตที่ยังคงทำงานอยู่ในอุตสาหกรรมหรือการวิจัย (เรื่องเล็ก ๆ น้อย: VCR ล่าสุดผลิตโดยผู้ผลิตชาวญี่ปุ่นในเดือนกรกฎาคม 2559 ใช่) อย่างไรก็ตามมีการใช้ภาษา (สำหรับความรู้ของฉัน) สำหรับ AI ที่ไม่ใช้ประโยชน์จากการเรียนรู้ด้วยเครื่องโดยทั่วไปจะเป็นหนังสืออ้างอิงจาก Russell และ Norvig แอปพลิเคชั่นเหล่านี้ยังคงมีประโยชน์มาก แต่การเรียนรู้ของเครื่องได้รับความนิยมอย่างมากในทุกวันนี้

อีกสาเหตุหนึ่งที่ทำให้ผู้ใช้ LISP ย้ายไป Clojure และภาษาอื่น ๆ

หากคุณกำลังเรียนรู้เกี่ยวกับเทคโนโลยี AI, LISP (หรือ Scheme หรือ Prolog) เป็นทางเลือกที่ดีที่จะเข้าใจสิ่งที่เกิดขึ้นกับ "AI" โดยรวม แต่ถ้าคุณต้องการหรือต้องปฏิบัติอย่างจริงจัง Python หรือ R เป็นตัวเลือกของชุมชน

หมายเหตุ: ข้างต้นไม่มีตัวอย่างที่เป็นรูปธรรมและการอ้างอิง ฉันรับรู้ถึงงานบางอย่างในมหาวิทยาลัยและบาง บริษัท ได้รับแรงบันดาลใจจากหรือใช้ LISP โดยตรง


เพื่อเพิ่มคำตอบของ @ Harsh LISP (และ Scheme และ Prolog) มีคุณสมบัติที่ทำให้ดูเหมือนว่าเหมาะสมกว่าสำหรับการสร้างกลไกอัจฉริยะ - ทำให้ AI เป็นที่รับรู้ในยุค 60

หนึ่งในคุณสมบัติคือการออกแบบภาษาทำให้นักพัฒนาคิดอย่างสง่างามเพื่อแยกปัญหาใหญ่ออกเป็นปัญหาเล็ก ๆ น้อย ๆ ฯลฯ "ฉลาด" หรือ "ฉลาด" ถ้าคุณต้องการ เมื่อเทียบกับภาษาอื่นแล้วแทบจะไม่มีทางเลือกอื่นนอกจากพัฒนาไปในทางนั้น LISP เป็นภาษาการประมวลผลรายการและ "ทำงานได้อย่างหมดจด"

อย่างไรก็ตามปัญหาหนึ่งสามารถเห็นได้ในงานที่เกี่ยวข้องกับ LISP สิ่งที่น่าสังเกตในโดเมน AI คืองานเกี่ยวกับSituation แคลคูลัสซึ่งหนึ่งในนั้นอธิบายวัตถุและกฎใน "โลก" และสามารถปล่อยให้มันพัฒนาไปคำนวณสถานการณ์ --- สถานะของโลก ดังนั้นจึงเป็นแบบจำลองสำหรับการให้เหตุผลกับสถานการณ์ ปัญหาหลักเรียกว่าปัญหาเฟรมซึ่งหมายความว่าแคลคูลัสนี้ไม่สามารถบอกสิ่งที่ไม่ได้เปลี่ยน --- แค่การเปลี่ยนแปลงอะไร สิ่งใดก็ตามที่ไม่ได้กำหนดไว้ในโลกไม่สามารถดำเนินการได้ (โปรดสังเกตความแตกต่างที่นี่ด้วย ML) การใช้งานครั้งแรกใช้ LISPs เพราะนั่นเป็นภาษา AI และมีปัญหาเกี่ยวกับกรอบ แต่ตามที่ @Harsh กล่าวถึงมันไม่ใช่ความผิดของ LISP: ภาษาใดก็ตามที่ประสบปัญหาการวางกรอบเดียวกัน (เป็นปัญหาทางความคิดของแคลคูลัสสถานการณ์)

ดังนั้นภาษาไม่สำคัญจากมุมมอง AI / AGI / ASI แนวคิด (อัลกอริธึมเป็นต้น) เป็นสิ่งที่สำคัญจริงๆ

แม้ในการเรียนรู้ของเครื่องภาษาก็เป็นทางเลือกที่ใช้งานได้จริง Python และ R เป็นที่นิยมในปัจจุบันส่วนใหญ่มาจากระบบนิเวศของห้องสมุดและการมุ่งเน้นของ บริษัท สำคัญ ๆ แต่ลองใช้ Python หรือ R เพื่อเรียกใช้แบบจำลองสำหรับแอปพลิเคชันที่ใช้ RaspberryPI และคุณจะพบข้อ จำกัด ที่รุนแรง (แต่ยังคงเป็นไปได้ฉันกำลังทำอยู่ :-)) ดังนั้นตัวเลือกภาษาจะถูกเผาผลาญจนกลายเป็นลัทธินิยมนิยม


1

ในความคิดของฉันหลามและจาวาได้มาจาก LISP หลายคนใช้พวกเขามีห้องสมุดจำนวนมากที่มีอยู่ และที่สำคัญพวกมันรวมเข้ากับเทคโนโลยีเว็บได้ง่าย

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