Bırakın sinir ağı programı sizin için: otomatik program sentezini elde etmek için derin öğrenmeyi nasıl kullanırsınız

Xinzhiyuan önerilir

Yazar: Rishabh Singh, Jacob Devlin, Abdelrahman Mohamed ve Pushmeet Kohli

Lütfen makalenin sonundaki orijinal metni okumak için tıklayın veya orijinal metni görüntülemek için URL'yi doğrudan tarayıcıya kopyalayın. https://www.microsoft.com/en-us/research/blog/deep-learning-program-synthesis/

Geçtiğimiz birkaç on yılda, bilgisayar bilimi alanında büyük ilerleme kaydedildi, ancak gerçek bilgisayar yazılımı yazma süreci temelden değiştirilmedi - programcılar, programdaki algoritma mantığını adım adım manuel olarak yazmak için özel programlama dilleri kullanmalıdır. . Programlama dilleri yıllar içinde gittikçe daha kolay hale gelse de, nasıl programlanacağını öğrenmek çoğu bilgisayar kullanıcısı için hala yasak.

Yakın zamanda yayınlanan bir makalede, derin öğrenmeyi program sentezine uygulamanın en son araştırma sonuçlarını gösterdik, derin sinir ağlarının kullanıcı niyetlerine göre bilgisayar programları oluşturmayı öğrenmesine izin vermeye çalıştık. Kullanıcının, istenen program davranışını belirtmek için yalnızca birkaç giriş / çıkış (G / Ç) örneği sağlaması gerekir ve sistem buna göre ilgili programı oluşturur.

Kullanıcının listeyi belirli bir şekilde (aşağıda gösterildiği gibi) biçimlendirmek istediğini varsayalım. Yalnızca birkaç giriş / çıkış örneği sağlaması gerekir ve sistem kalan çıktıyı otomatik olarak doldurur (açık gri ile gösterilmiştir). Kullanıcıların yüzlerce veya binlerce giriş dizesini işlemesi gerekiyorsa, bu program çok zaman kazandırabilir.

Sistem, programları oluşturmak için etki alanına özel dil (DSL) kullanır. Kullanıcının DSL'in ayrıntılarını anlamasına gerek yoktur - aslında programın içeriğini hiç göremez. DSL'mizde, yukarıdaki örneğe karşılık gelen doğru program:

Program sentezinde iki temel zorluk vardır. Birincisi, etkileyici DSL'imizde on binlerce olası program vardır ve doğru program, sistemin daha önce hiç görmediği bir şey olabilir. İkincisi, G / Ç örnekleri gerçek kişiler tarafından manuel olarak oluşturulduğundan, yukarıdaki örnekte gösterildiği gibi genellikle gürültü (yazım hataları vb.) İçerirler (ikinci çıktı örneğinde, Useato Uesato olarak yanlış yazılmıştır).

Geçmişte, bu sorunun çözümü (en ünlüsü Microsoft Excelin FlashFill sistemidir) sezgisel aramaları yönlendirmek için elle yazılmış kurallara güvenmekti. Bununla birlikte, bu yöntem DSL'in yeteneklerini genişletmeyi zorlaştırır, sadece yıllar boyunca biriktirilmiş manuel kural yazmayı gerektirmez, aynı zamanda G / Ç örneğindeki herhangi bir gürültüye karşı da çok hassastır.

Ve RobustFill sistemimiz, programları herhangi bir manuel kural olmaksızın veriye dayalı bir şekilde sentezlemek için derin öğrenmenin en son sonuçlarını kullanır. Bunun yerine, I / O örneklerine dayalı programlar oluşturmak için ilk olarak dil çevirisi için kullanılan dikkatli sekans-sekans sinir ağını kullanır. Kullandığımız sinir ağının taslağı aşağıdaki gibidir ve detaylı bilgiler şekilde verilmiştir.

Sistemi eğitmek için rastgele oluşturulmuş milyonlarca I / O + program çifti kullandık ve DSL anlambilimini öğrenebildiği için gerçek dünya verileri üzerinde de iyi performans gösteriyor. Genel olarak, sistemimiz bir dizi gerçek karşılaştırmada% 92 doğruluk elde etti. I / O örneğinde önemli miktarda gürültü olsa bile sistemin yüksek doğruluğu koruyabilmesi özellikle cesaret vericidir.

Programlama için çıkarımlar

Sinir ağlarını karmaşık işlevsel bir dilde (FlashFill DSL) programlamayı öğrenmeleri için eğitmek başarılı oldu Bu atılım, aynı zamanda daha genel yapay zekanın gerçekleştirilmesine yönelik küçük ama dikkate değer bir adımdır. Bunu sadece sinirsel program sentezine yorumlanabilirliğin heyecan verici bir şekilde dahil edilmesini işaret eden temel bir zorluğu çözmez, aynı zamanda bilginin dağıtılmış ve sembolik temsillerinin ilişkilendirilmesi konusuna da değinir.

Daha zengin bir program kategorisi oluşturmak için şu anda bu sinir ağlarını genişletiyoruz, durum değişkenleri ve kontrol akışı içeren DSL'lerle yazılmış programları öğreniyoruz. Bu doğrultuda daha fazla araştırmanın, program sentezi ve indüksiyonla ilgili en temel teknik konuları daha iyi anlamamızı ve bunlarla ilgilenmemizi gerektireceğine inanıyoruz.

Bununla ilgili daha fazla bilgi edinin:

Jacob Devlin, Jonathan Uesato, Surya Bhupatiraju, Rishabh Singh, Abdelrahman Mohamed ve Pushmeet Kohli'nin yazdığı "RobustFill: Noisy I / O Altında Sinirsel Program Öğrenme", arXiv'de: 1703.07469

5. Uluslararası Öğrenme Temsilcileri Konferansı'nda Emilio Parisotto, Abdelrahman Mohamed, Rishabh Singh, Lihong Li, Denny Zhou ve Pushmeet Kohli tarafından "Nöro-Sembolik Program Sentezi" (ICLR 2017)

Bu makaleye katkıda bulunan stajyerler: Emilio Parisotto (Carnegie Mellon Üniversitesi), Jonathan Uesato (MIT), Surya Bhuptairaju (MIT)

Xinzhiyuan İşe Alım

Pozisyon: Hesap Yöneticisi

Yıllık maaş pozisyonu: 120.000-250.000 (Maaş + ikramiye)

İş yeri: Pekin-Haidian Bölgesi

Departman: Müşteri Departmanı

Rapor: Hesap Direktörü

Çalışma hayatı: 3 yıl

Dil: İngilizce + Mandarin

Eğitim gereksinimleri: tam zamanlı lisans eğitimi

iş tanımı:

  • Müşteri ihtiyaçlarını ve şirket marka konumlandırmasını doğru bir şekilde kavrayın, işbirliği planlarını planlayın ve yazın;

  • Aktif düşünme, yaratıcı, güçlü metin kontrol yeteneği, PPT kullanımında uzman, iyi görsel değerlendirme ve performans yeteneği, mükemmel PS yeteneği en iyisidir;

  • Hevesli ve neşeli, kişiler arası iletişimde iyi, iyi iletişim ve işbirliği becerileri ve ekip ruhu;

  • Mükemmel aktivite hazırlama ve uygulama yeteneği, baskıya ve uyarlanabilirliğe karşı güçlü direnç, yüksek yoğunluklu çalışmaya uyum;

  • 4A, bir halkla ilişkiler şirketinde çalışma deneyimi tercih edilir

  • Özellikle yapay zeka alanında yüksek teknolojiye yoğun ilgi duyanlar için bonus puan.

  • İş sorumlulukları:

    Planın uygulanmasını sağlamak için amir tarafından atanan projenin ilerlemesine katılın, yönetin ve takip edin. İlgili politikaların ve sistemlerin uygulanmasında üst seviyeye formüle edin, katılın veya yardımcı olun. Şirkete düzenli olarak doğru pazar bilgileri ve müşteri bilgileri sağlayın, müşteri ihtiyaçlarını analiz edin, belirlenen şirketin kilit müşterileriyle ilişkilerini sürdürün ve yeni işler geliştirmek için aktif olarak fırsatlar arayın. Müşteri veritabanını oluşturun ve yönetin, ilgili bilgileri izleyin ve analiz edin.

    Başvuru e-postası: jobs@aiera.com.cn

    HR WeChat: 13552313024

    Xinzhiyuan, yüksek ideallere sahip insanları görüşmeye davet ediyor, daha fazla işe alım pozisyonu için lütfen tıklayın Xinzhiyuan İşe Alım Görünüm.

    Hangi araba yeni bir enerji lisansı alabilir? Okuduktan sonra anlıyorsun
    önceki
    Messi ligin ilk turunda iki gol attı, aura devam ediyor! Neyse ki hala futbol var!
    Sonraki
    Renminbi keskin bir şekilde yükseldi ve petrol fiyatları aniden keskin bir şekilde düştü.
    Renren Chen Yizhou: Yeni ortaya çıkan ürünlere ve şirketlere her zaman hayran kalmalıyız
    Üzgünüm, bu SUV'yi denedikten sonra hemen değiştirmek istiyorum
    Profesör Zhou Zhihua'nın gcForest (çok taneli basamaklı orman) algoritması hisse senedi endeksi vadeli işlemlerinin yükselişini ve düşüşünü tahmin ediyor
    Japonya'da meyve bile yiyemiyorum ...
    Intelin DE ultrason robotlarının geliştirilmesine yönelik desteğinden tıbbi görüntüleme alanında yapay zekanın değerini ve fırsatlarını görün
    Avrupa'nın pahalı olduğunu kim söylüyor? Bu ülkenin fiyatı Güneydoğu Asya ile karşılaştırılabilir, 100 yuan 122 çiçeğe bölünebilir!
    "Hatırlatma" bu sefer tiyatroda tekrar "savaşı" görecek! Netizen: Yüksek hızlı raylı tirandan daha fazla
    Renminbi Afrika'da popüler hale geldikten sonra, İngiltere Çin parasını en çok sevdi ve Yeni Zelanda, Renminbi'nin Avustralya dolarının yerini alacağını açıkladı.
    Birinin günde 200'e bir araba kiralaması, bir araba satın alması ancak sürmemesi ve günde 200 değer kaybetmesi neden üzücü?
    Performansı iyileştirmek için başka nelerden yoksunuz?
    Bir kahve dükkanı mı açmak istiyorsunuz? Bu 10 size biraz ilham verebilir
    To Top