1 puan yazan GN⁺ 2023-07-08 | 1 yorum | WhatsApp'ta paylaş
  • OpenWorm, mikroskobik bir nematod olan Caenorhabditis elegans (C. elegans) için kapsamlı bir hesaplamalı model oluşturmayı hedefleyen bir projedir
  • Yaklaşım, son 10 yılda yürütülen bilimsel deneylerden elde edilen verileri simüle ederek solucan davranışının ortaya çıkıp çıkmadığını gözlemleyen aşağıdan yukarı modellemedir
  • Docker konteyneri, simülasyonun ana bileşenlerini bir araya getirip yerel makinede çalıştıran bir ortamdır
    • Sinir sistemi modeli c302’yi çalıştırma
    • Sinir sistemi modelinin çıktısını kullanarak 3B solucan gövdesi modeli Sibernetic’i paralel çalıştırma
    • Sinir sistemi ve gövde modelinin çalışma grafiklerini oluşturma
    • Gövde modeli çıktısının videosunu oluşturma
  • Varsayılan simülasyon çalışma süresi, makul bir çalıştırma süresi için sınırlandırılmıştır; örnek çıktıyla karşılaştırıldığında yalnızca yaklaşık %5 çalışma süresine karşılık gelen kısmi çıktı gösterilir {p:5}
  • Çalıştırma gereksinimleri: en az 60GB boş alan, en az 2GB RAM, git deposunu klonlayabilecek bir ortam ve Docker kurulumu
  • Çalıştırma akışı git clone, isteğe bağlı ./build.sh, ./run.sh, bitince stop.sh ve yerel output dizinini kontrol etme adımlarından oluşur
  • ./build.sh atlanırsa OpenWorm Docker hub üzerinden en son sürüm Docker imajı indirilir
  • -d [num] argümanıyla simülasyon süresi milisaniye cinsinden değiştirilebilir; varsayılan değer 15, tam örnek video oluşturmak için gereken değer 5000’dir
  • ./run-shell-only.sh, master_openworm.py çalıştırılmadan önce konteynere giriş yaparak checkout edilmiş kod tabanını ve kurulu sistemin içini incelemek ya da değiştirmek içindir
  • Kurulum öğelerini değiştirmek için Dockerfile, çalıştırılan öğeleri değiştirmek için master_openworm.py düzenlenir; ardından yerel imajı yeniden oluşturmak için build.sh çalıştırmak gerekir
  • Varsayılan çıktı yalnızca bazı görselleri ve videoları host sisteme aktarır; tüm simülasyon çıktıları veya worm_motion_log.txt gibi veriler Docker konteynerinden kopyalanmalıdır
  • stop.sh, konteyneri ve ilgili dosyaları kaldırdığı için verileri dışarı almadan önce çalıştırılmamalıdır
  • Ek belgeler http://docs.openworm.org adresinde sağlanır; depoda proje genelini izlemek için high-level issues ve milestones bulunur

1 yorum

 
GN⁺ 2023-07-08
Hacker News görüşleri
  • 302 nöron, 7 milyar+ parametreli sinir ağlarına alışkın biri için çok etkileyici görünmeyebilir
    Ancak bu tür sinir ağlarıyla biyolojik nöronların ortak yanı, bisikletle atın ortak yanı kadar yakındır. İkisi de epey hızlı hareket edebilir, ama biri 1 milyar yılı aşkın acımasız doğal seçilimle evrimleşti, diğeri ise tek bir amaca göre hassas biçimde ayarlanmış metal bir makinedir
    Nöronlar da benzer şekilde, davranışı kontrol eden milyarlarca DNA baz çiftiyle şekillenen son derece sofistike biyolojik makinelerdir ve biyolojik sistemlerle yapay zeka sistemlerinde nöronların ortaya çıkan davranışı oldukça ilgi çekicidir

    • Buna ek olarak, bu nöronlar memeli nöronlarından da oldukça farklıdır
      “Bu nöronlar aksiyon potansiyeli üretmez ve voltaj kapılı sodyum kanallarını da ifade etmez” [1]
      Bu yüzden nikotin bağımlılığının ortaya çıkabilmesi daha da ilginçtir
      “C. elegans, memelilere benzer nikotin davranışsal tepkileri gösterdiği için nikotin bağımlılığı araştırmalarında da kullanılabilir. Buna akut yanıt, tolerans, yoksunluk ve duyarlılaşma dahildir” [1]
      [1] https://en.m.wikipedia.org/wiki/Caenorhabditis_elegans
    • “Davranışı kontrol eden milyarlarca DNA baz çifti” denmiş ama C. elegans’ın tüm genomu 100 milyon baz çiftinden oluşur
    • En iyi bakış açısı, tek bir biyolojik nöronun kendi başına genetik kontrol devreleri ile dolu karmaşık bir makine olduğudur
      Bu devreler bazı açılardan sinir ağlarını andırır ve daha da önemlisi, kısa ve uzun zaman ölçeklerinde kalıcı bellek ve durum taşırlar. Her nöron, model içindeki bir parametreden ziyade öğrenme ve davranış kapasitesine sahip yaşayan bir varlığa daha yakındır
      Buna karşılık sanal “nöron”, son derece basit bir matematiksel soyutlamadır ve biyolojik nörona kıyasla hesaplama karmaşıklığı ezici biçimde daha düşüktür. Connectome, nöronların nasıl bağlandığına dair yalnızca çok kaba bir haritadır; eksiksiz bir “sinir ağı” şemasından çok uzaktır
      Biyolojik bir nöronu, daha büyük bir sinir ağı içindeki durum taşıyan alt bir sinir ağı olarak modellemek mümkün olabilir, ancak hesaplama açısından eşdeğer olduğunu varsaysak bile biyolojik nöronun hesaplama bakımından önemli tüm davranışlarını temsil etmek için kaç sanal “nöron” gerektiğini hiç bilmiyoruz
      Bu yüzden 302 biyolojik nörona sahip bir solucan, hesaplama açısından milyarlarca sanal nörona eşdeğer olabilir; gerçekten bilmiyoruz
      Nöronlarda bellek bulunması açısından LSTM ağlarına biraz benzetilebilir ve biyolojik sinir ağları basit bir ileri beslemeli yapı olmadığından kesinlikle tekrarlayan sinir ağlarına daha yakındır
      Bu yüzden mind uploading hakkında konuşanları görünce gülüyorum. Biyolojik nöronların ilgili davranışlarını anlayıp modelleyebilene ve yaşayan nöronlardan kullanılabilir durum bilgisi çıkarabilene kadar gülmeyi bırakamam. Şu anda bu %100 bilim kurgu ve yakında zihnimizi upload edebileceğimizi düşünenler biyolojiyi bilmiyor
    • Biyolojik nöronların, makine öğrenmesindeki nöronlara benzemesi bile etkileyici geliyor. Muhtemelen araştırma ilgisi de burada yatıyor
      Benzer ilkelerle çalışıyorlarsa, solucan bu kadar küçük kaynaklarla bu davranışları nasıl sergileyebiliyor? Örneğin solucanın yeteneklerinde substratın ayrıntılı özelliklerinin vazgeçilmez olmadığı ortaya çıkarsa, bu yapay zeka araştırmaları için iyi haber olabilir
  • 1990’larda Ralph Siegel’in laboratuvarında programlama işi yapma fırsatım olmuştu ve o da bu tür solucan connectome modelleri üzerinde çalışıyordu
    https://en.wikipedia.org/wiki/Ralph_Siegel_(scientist)
    Connectome üzerinde nöron tepkilerini simüle etmek için Hodgkin-Huxley denklemlerini kullanıyordu. Bana anlatıldığı kadarıyla Hodgkin-Huxley modeli, insan bacağını menteşelerle bağlanmış üç sert blok olarak modellemeye benziyor. Birçok model için yeterince kullanışlıdır ama tam bir açıklama değildir
    Ayrıca solucan nöronları spike üretmez ve HH denklemleri spike trenleri üreten nöronları tanımladığı için solucan nöronları için uygun bir model olmayabilir. Bu tür nöronlar daha karmaşık sinir sistemlerinde bulunur
    HH denklemleri elimizdeki matematiksel model olduğu için simülasyonlarda kullanılıyor ve OpenWorm projesinde de hâlâ kullanılıyor gibi görünüyor. Solucan nöronlarının özellikleri hakkında bunu uzun zaman önce duymuştum, dolayısıyla bilgilerim eski olabilir
    Bu çalışmanın sürüyor olması harika ve sinir sisteminin nasıl işlediğine dair içgörüler sağlayabilir. Ama zorluk seviyesi muazzam ve devasa bir bilinmezlik alanında çok yavaş ve zahmetli biçimde ilerleniyor

    • Solucan nöronlarının spike üretmediğini ilk kez okuyorum ve gerçekten çok ilginç
      Bu durumda insan nöronlarından çok mu farklılar? Nasıl çalıştıklarını ve bununla ilgili nereden okuyabileceğimi merak ediyorum
    • Merakımdan soruyorum, bu araştırmanın hedeflediği herhangi bir ticari uygulama var mıydı?
  • Bu tür bottom-up yaklaşımı seviyorum. Çünkü yaşam hakkında hâlâ ne kadar az şey bildiğimizi çok iyi gösteriyor
    Burada Craig Venter’ın minimum hücre projesi syn3.0’dan da söz etmeye değer. Bu ekip 473 genden oluşan yaşayan sentetik bir hücre yaptı; bunun önemli bir kısmı deneme yanılmayla gerçekleşti ve o genlerin çoğunun işlevi hâlâ bilinmiyor
    Aynı ekibin yakın tarihli değerlendirmesi burada: https://doi.org/10.1016/j.cell.2022.06.046

    • Buna bottom-up yaklaşımı denebileceğinden pek emin değilim. Tanıtımı öyle yapılıyor ama gerçekte Jengaya daha yakın
      Yani sistem çökmeyecek şekilde hangi parçaların çıkarılabildiğine bakılıyor
      Genomun yapay olarak sentezlenmiş olması teknik olarak etkileyici ama biraz gösteriş gibi; sonuçta yine mevcut bir hücrenin içine yerleştirilmesi gerekti
      Bu, mevcut bir çipi kopyalayıp birkaç biti çıkararak değiştirip sonra da “sinyaller çalışmıyor ama kabaca sürülüyor” deyip arabayı sıfırdan yaptığını iddia etmeye benziyor
    • Bu minimum hücrenin 2 bin nesillik evrimini izleyen makale yeni yayımlandı: https://www.nature.com/articles/s41586-023-06288-x
  • Noam Chomsky, yapay zekanın iki türü olduğunu söylüyor
    Birinci tür yapay zeka araştırması, otonom araçlar, dil çevirisi ve nesne tanıma gibi mühendisliğe daha yakın alanlar
    İkinci tür yapay zeka araştırması ise, bilişsel bilimcilerin modelleriyle tutarlı bir şekilde insan ya da solucan gibi canlıların zekasını kopyalamaya çalışıyor
    Örneğin çocuklar gibi çok az yönlendirmeyle herhangi bir insan dilini edinen bir sistem bu türe girer
    OpenWorm, 2. türe daha yakın görünüyor. Bu 2. tür yapay zekayı daha fazla incelemek için ilginç kaynaklar varsa bilmek isterim
    [0]: https://youtu.be/TAP0xk-c4mk

  • Bunu birkaç yıl önce incelemiştim ve Kurzweil tarzı kıyamet senaryolarının bir ölçüde doğru çıkmasını hep ummuştum
    Önce C. elegans simüle edilir, sonra sadece ölçek büyütülerek insan da simüle edilebilir ve ardından tekillik gelir diye düşünüyordum
    Gerçekte aptal bir solucanı simüle etmek ne kadar zor olabilirdi ki? Konektom da var, tüm nöronları ve bağlantıları da biliyoruz, kolay olmalı gibi görünüyordu
    Sonra inceleyince şok oldum. Çalışmıyordu. Temel hareketlerin bir kısmı yeniden üretilebilmişti ama gerçek solucanın sergilediği pek çok davranış hâlâ gizemini koruyordu. Belgelerde de insanların bunu yakında çözecek gibi görünmediğini fark ettim; birkaç yıl sonra baktığımda ise sonunda vazgeçilmiş gibiydi
    Bildiğim kadarıyla, abartılı biçimde öne çıkarılan Avrupa beyin emülasyonu projesi de yolsuzluk şüpheleri arasında kapatıldı
    Bunu hiç anlamıyoruz ve hâlâ çok uzağında gibiyiz. Şimdilik bilimkurguya geri dönmemiz gerekecek gibi görünüyor

    • “Konektom var ve tüm nöronlarıyla bağlantılarını biliyoruz” denmiş ama öyle değil
      Her sinapsta belirli nörotransmiterler bulunur; mesafe, boyut, şekil, reseptör sayısı ve ilgili glia hücreleri iletim üzerinde çok büyük etkiye sahiptir. Aksonların mesafesi ve kalınlığı da iletilen sinyalin gücünü etkiler ve bunların hepsini ölçmek çok zordur
      Nöronlar sinyal gücü ve zamanlamaya da son derece duyarlıdır. Örneğin inhibitör sinapslar, hücre duvarında delikler açarak yükün zamanla sızmasına neden olacak şekilde çalışır. Bunun hızını biraz bile yanlış ayarlarsanız hücrenin davranışı büyük ölçüde değişebilir
      Konektom, tabiri caizse delicesine karmaşık bir önceden eğitilmiş modele daha yakındır; her nöronun, sinyale doğrudan tepkisinin yanı sıra zaman içindeki davranışını açıklayan çeşitli ağırlıkları vardır. Bu ağırlıklar olmadan emülasyon yapılamaz
  • Devs'in ilk bölümü aklıma geldi
    https://www.imdb.com/title/tt8134186/
    Yapay zeka mühendisi, bir nematodun hareketlerini senkronize ettikten sonra gelecekteki hareketlerini tahmin eden bir demo gösteriyor. Bu arada gerçekten çok iyi bir dizi

    • LLM'ler kamuoyunun bilincine yerleşmeden önce yapılmış olması nedeniyle daha da iyi oldu
      Verilere dayanarak son derece doğru ekstrapolasyon yapma fikri bu dizinin merkezinde yer alıyor; ama burada keseyim
  • Meyve sineği beyninin konektom modeli yakın zamanda yayımlandı[1]
    [1] https://hub.jhu.edu/2023/03/09/scientists-complete-first-map...

    • Harika bir gelişme, ancak C. elegans konektomu 1989'da yayımlandı ve bağlantıdaki projeye biraz bakınca, C. elegans'ın tüm davranış kümesinin nöron simülasyonundan ortaya çıkmasını sağlamaya hiç yaklaşılmadığı görülüyor
      Bunun mümkün olduğunu kanıtlamaya bile hâlâ uzağız
      Bu yüzden neurokernel [1] gibi projeler biraz fazla iddialı görünüyor. Yine de başarılar
      [1] http://neurokernel.github.io/
  • Birkaç yıl önce Londra'da düzenlenen OpenWorm mini konferansına benzer bir etkinliğe gitmiştim
    Birkaç gün boyunca solucan hareketi hakkında konuşuldu. Solucanlar ya da genel olarak hayvan hareketi konusunda hiçbir şey bilmiyordum ve yaşam simülasyonuna sadece amatörce ilgisi olan tam bir yabancıydım, bu yüzden anlatılanların çoğunu anlayamadım
    Yine de gerçekten ilginçti ve bu konuya tutkuyla bağlı insanlarla tanışmak çok güzeldi

  • Simülasyonu sonlandırırsanız solucanı öldürmüş olur musunuz?

    • Durumu bir yere kaydettiyseniz hayır
  • OpenWorm'un kurucu üyelerinden biri olarak, yaklaşık 10 yıl önce konektomu emüle edip robotiğe uygulamıştım
    https://youtu.be/YWQnzylhgHc
    Bu deneyde her nöronu bir program olarak temsil ettik ve tek tek nöron programları arasındaki iletişim için UDP mesajları kullandık. Birkaç sorun vardı; en büyük sorun, konektomun çok döngüsel olması nedeniyle deneyde “UDP stacking” dediğimiz bir durumun ortaya çıkmasıydı. Yani etkinleştirme sinyali olan UDP mesajları, programların işleyebileceğinden daha hızlı geliyordu
    Şu anda tamamlanmış Drosophila konektomunu indirip bir emülasyon oluşturmaya çalışıyorum. Nöronları ya da nöropilleri emüle etmek için hipervektörleri araştırıyorum, ancak hâlâ kavramı netleştirme aşamasındayım
    Komşuluk matrisleri, fonksiyonel programlama ve başka çeşitli fikirleri de denedim. Burada her fonksiyon hayvan sinir sisteminin bir bölümünü temsil ediyor; örneğin C. elegans için duyu nöronları, ara nöronlar ve motor nöronlarını üç ayrı fonksiyon ve program olarak ele almak gibi
    C. elegans emülasyonu tek bir Python uygulaması olarak da hayata geçirildi, ayrıca çeşitli başka programlama dillerine de taşındı ve birçok robot üzerinde belirgin emülasyonlar sergiledi. Ablasyon deneyleri, emüle edilmiş sinir sisteminin biyolojik sinir sistemiyle gözlemlenebilir davranışlar üzerinden uyuştuğunu gösterdi
    Sinir sisteminin evrimsel sürekliliğinin bir ucunda solucan beyni, diğer ucunda insan beyni var. Ancak yalnızca solucanın sinir sistemi bile genel zekâ ve AGI'ye giden kapıyı açıkça göstermektedir