Lisp hala AI problemlerini çözmek için kullanılıyor mu?


20

Yapay zeka sorunları üzerinde çalışırken Lisp dilinin erken kullanıldığını biliyorum. Bugün hala önemli işler için kullanılıyor mu? Değilse, bugün AI'da çalışmak için en yaygın olarak kullanılan yeni bir dil var mı?

Yanıtlar:


9

Genel olarak, cevap hayırdır, ancak mevcut paradigmalar LISP'ye çok şey borçludur. Bugün en çok kullanılan dil python.

İlgili cevaplar:

LISP, günümüzde fonksiyonel programlama dediğimiz şeyde birçok önemli kavramın öncülüğünü yaptı. Bu özelliklerin çoğu o zamandan beri modern dillere dahil edildi ( Wikipedia sayfasına bakın). LISP çok etkileyici: çok az sözdizimi var (sadece listeler ve bazı temel işlemler), ancak karmaşık fikirleri temsil eden kısa özlü programlar yazabilirsiniz. Bu yeni gelenleri şaşırtıyor ve AI için dil olarak sattı. Ancak, bu genel olarak programların bir özelliğidir. Kısa programlar karmaşık kavramları temsil edebilir. Ve LISP'de güçlü kod yazarken, herhangi bir acemi size başkalarının LISP kodunu okumanın veya kendi LISP kodunuzu hata ayıklamanın çok zor olduğunu söyleyecektir. Başlangıçta, fonksiyonel programlama ile ilgili performansla ilgili hususlar da vardı ve C gibi düşük seviyeli zorunlu dillerle değiştirilmek lehine düştü (Örneğin, fonksiyonel programlama hiçbir nesnenin değiştirilmemesini ("mutasyona uğramış") gerektirir, bu nedenle her işlem gerektirir iyi bir çöp toplama olmadan, bu hantal olabilir). Bugün, iyi kod yazmak için python, ruby ​​ve scala gibi modern dillerin her ikisini de desteklemek için fonksiyonel ve zorunlu bir program karışımının gerekli olduğunu öğrendik. Bu noktada, ve bu sadece benim düşüncem, LISP'yi python'a tercih etmek için hiçbir neden yok.

Şu anda en çok dikkat çeken yapay zeka paradigması, uzmanların AI'nın takip etmesi için kurallar yazdığı Uzman Sistemler (80'lerde) gibi önceki yaklaşımların aksine, verilerden öğrendiğimiz Makine Öğrenimi'dir. Python şu anda makine öğrenimi için en yaygın kullanılan dildir ve Tensorflow ve Pytorch gibi birçok kütüphaneye ve aktif bir topluluğa sahiptir. Çok büyük miktarda veri işlemek için Hadoop, Hive veya Spark gibi sistemlere ihtiyacımız var. Bunların kodu python, java veya scala ile yazılmıştır. Çoğu zaman, temel zaman yoğun alt rutinleri C ile yazılır.

80'lerin AI Kışı, doğru dile sahip olmadığımız için değil, doğru algoritmalara, yeterli hesaplama gücüne ve yeterli veriye sahip olmadığımızdan kaynaklanıyordu. Yapay zeka öğrenmeye çalışıyorsanız, zamanınızı dilleri değil algoritmaları inceleyerek geçirin.


6

AI modelleri üzerinde çalışırken kesinlikle Lisp'i kullanmaya devam ediyorum.

Önemli bir iş için kullanılıp kullanılmadığını sordunuz . Bu, kendi çalışmamla ilgili cevap vermem için çok öznel, ancak yapay zeka modellerimi, kendisini önemli olarak kabul edip etmediğini sorguladım ve olumlu bir cevapla yanıtladı. Tabii ki, yanıtı da doğal olarak önyargılı.

Genel olarak, Lisp'de önemli miktarda AI araştırma ve geliştirme yapılmaktadır. Ayrıca, AI olmayan problemler için bile, Lisp bazen kullanılır. Lisp'in gücünü göstermek için, çeyrek yüzyıl önce tamamen Lisp'de yazılan ilk sinir ağı simülasyon sistemini tasarladım.


İlk IDE de bir LISP IDE idi. Ayrıca, EMMAScript, JavaScript'in resmileştirilmesi, hızlı prototipleme için şu anda popüler olan Python'dan çok daha iyi bir dilbilimsel sistemdir ve Java'dan daha çok LISP'ye benzer. Makine görüsü ve işitme alanındaki gelişmeler dışında, ML'nin mevcut trendinden gelen kalıcı değerin çoğunu görmüyorum. LISP'nin AI laboratuvar çalışması için hala mükemmel bir dil olduğunu ve yapılandırılmış verileri temsil etmek için XML'den çok daha doğal olduğunu kabul ediyorum.
FauChristian

4

LISP hala önemli ölçüde kullanılmaktadır, ancak daha azdır. Geçmişte hala endüstride veya araştırmada aktif olan birçok insan nedeniyle momentum var (fıkra: son VCR, Temmuz 2016'da bir Japon yapımcı tarafından üretildi, evet). Ancak dil (bildiklerime göre), tipik olarak Russell ve Norvig'in referans kitapları olarak Makine Öğreniminden yararlanmayan AI türleri için kullanılır. Bu uygulamalar hala çok faydalıdır, ancak Machine Learning bugünlerde tüm buharı almaktadır.

Düşüşün bir başka nedeni, LISP uygulayıcılarının kısmen Clojure ve diğer son dillere geçmeleridir.

AI teknolojilerini öğreniyorsanız, LISP (veya Şema veya Prolog) genel olarak "AI" ile neler olup bittiğini anlamak için iyi bir seçimdir. Ancak çok pragmatik olmak ya da çok pragmatik olmak istiyorsanız, Python ya da R topluluk seçimleridir

Not: Yukarıdaki somut örnek ve referanstan yoksundur. Üniversitelerde ve LISP'den ilham alan veya doğrudan kullanan bazı şirketlerin farkındayım.


@ Harsh'ın cevabını eklemek için, LISP (ve Şema ve Prolog), akıllı mekanizmalar oluşturmak için daha uygun görünmesini sağlayan niteliklere sahiptir - AI'ları 60'larda algılandığı gibi yapmak.

Niteliklerden biri, dil tasarımının geliştiriciyi oldukça zarif bir şekilde düşünmesine, büyük bir problemi küçük sorunlara, vb. Ayrıştırmasına yol açmasıydı. Diğer bazı dillerle karşılaştırıldığında, bu şekilde gelişmekten başka seçenek yoktur. LISP bir liste işleme dilidir ve "tamamen işlevseldir".

Yine de bir problem LISP ile ilgili çalışmalarda görülebilir. Yapay zeka alanındaki kayda değer bir husus, (kısaca) kişinin bir “dünya” daki nesneleri ve kuralları tanımladığı ve durumları --- dünyanın durumlarını hesaplamak için gelişmesine izin verebileceği Durum Hesabı üzerindeki çalışmadır . Dolayısıyla durumları düşünmek için bir modeldir. Ana probleme çerçeve problemi denir , yani bu matematik ne yapmadığını söyleyemezdeğişiklik --- sadece ne değişir. Dünyada tanımlı olmayan hiçbir şey işlenemez (ML ile buradaki farka dikkat edin). İlk uygulamalar LISP'leri kullandı, çünkü o zamanlar AI dili buydu. Ve çerçeve problemiyle sınırlanmıştı. Ancak, @Harsh'ın da belirttiği gibi, LISP'nin hatası değildir: Herhangi bir dil aynı çerçeveleme sorunuyla (Durum Analizi ile ilgili kavramsal bir sorun) karşı karşıya kalır.

Yani dil AI / AGI / ASI açısından gerçekten önemli değil. Kavramlar (algoritmalar vb.) Gerçekten önemlidir.

Makine Öğreniminde bile, dil sadece pratik bir seçimdir. Python ve R, öncelikle kütüphane ekosistemleri ve kilit şirketlerin odak noktası nedeniyle günümüzde popülerdir. Ancak RaspberryPI tabanlı bir uygulama için bir model çalıştırmak için Python veya R'yi kullanmaya çalışın ve bazı ciddi sınırlamalarla karşılaşacaksınız (ancak yine de bunu yapıyorum :-)). Böylece dil seçimi pragmatizme dönüşüyor.


1

Kanımca python ve java LISP'den devralındı. Birçok kişi bunları kullanıyor, çok sayıda kütüphane var. Ve daha da önemlisi, web teknolojilerine kolayca entegre edilebilirler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.