3 puan yazan GN⁺ 2024-01-16 | 1 yorum | WhatsApp'ta paylaş
  • Öğrenme tekrar takvimini optimize eden FSRS için ABC of FSRS wikisi, fsrs4anki'den yeni awesome-fsrs wikisine taşındı
  • Bağlantılı MaiMemo araştırma materyalleri, aralıklı tekrar zamanlaması optimizasyonu ve bellek dinamiklerinin modellenmesini sırasıyla ACM KDD ve IEEE TKDE makalelerinde ele alıyor
  • Ayrı bir yazı, bir lisans öğrencisinin ACM KDD makalesi yayımlama deneyimi üzerinden aralıklı tekrar algoritması araştırma sürecini tanıtıyor
  • FSRS-Anki-20k ve anki-revlogs-10k, zaman serisi özelliklerini içeren açık kaynak veri setleri olarak birlikte sunuluyor
  • FSRS, topluluk odaklı bağımsız bir açık kaynak proje ve MaiMemo Inc. gibi kuruluşların desteği, temel katkı sağlayanların sürdürülebilir katılımını destekliyor

Yeni wikiye taşınan ABC of FSRS

Aralıklı tekrar araştırma materyalleri

Araştırma deneyimi yazısı

Açık veri setleri

Topluluk projesi ve destek

  • FSRS, topluluk tarafından yürütülen bağımsız bir açık kaynak proje
  • MaiMemo Inc. gibi kuruluşlara destekleri için teşekkür ediliyor
  • MaiMemo'nun desteği, Jarrett Ye gibi temel katkı sağlayanların FSRS'ye zaman ve uzmanlık ayırabilmesini sağlıyor
  • Bu tür iş birlikleri, FSRS'nin herkes için özgürce sunulan öncü bir aralıklı tekrar algoritması olarak kalmasına yardımcı oluyor

1 yorum

 
GN⁺ 2024-01-16
Hacker News yorumları
  • Aralıklı tekrarı iyileştirmenin ciddi biçimde hafife alınan bir yolu, kartları daha kolay hâle getirmektir. Etkili kartların şaşırtıcı derecede kolay olabileceğini öğrendim.
    Başta Anki ile Fransızca kelime ezberlerken İngilizce↔Fransızca çift yönlü kartlar yapıyordum; kart sayısı yüzlere çıkınca eş anlamlılar o kadar arttı ki iş eziyete dönüştü.
    Sonra Katzumoto’nun Japonca öğrenme tavsiyesini izleyip e-kitaplardan veya web sayfalarından tüm paragrafları yapıştırarak yalnızca tek bir kelimeyi gizleyen boşluk doldurma kartları yaptım; kolaydı ama etkiliydi.
    Daha da tembelleşip kelimenin yalnızca yarısını gizledim ya da kelimeyi kalın yazıp bağlam içinde kabaca hatırlayabiliyorsam başarılı saydım; tersine, daha iyi çalıştı.
    Bir kart çıktığında “Ah, yine şu kart mı?” diye düşündüğümde siliyordum; 3 kez yanlış yaparsam Anki’nin kartı kalıcı olarak askıya almasını ayarladım. Gerçekten bilmem gereken bir kelimeyse yakında daha iyi bir bağlamda yeniden karşıma çıkacağı için sorun olmuyordu ve Fransızca kelime dağarcığım hızla büyümeye devam etti.
    En büyük iyileştirmenin daha iyi bir aralıklı tekrar algoritmasından çok kart biçimini iyileştirmekten geleceğini düşünüyorum; işe yarayamayacak kadar kolay kartlar yapmak da şaşırtıcı biçimde zor. Üç dilde 35.000’den fazla Anki tekrarı yapmış biri olarak vardığım sonuç bu.

    • SRS’i doğru kullanma biçimi bu. Bizim gibi geek’ler daha akıllı tekrar algoritmaları ya da giriş yöntemleriyle %1 iyileştirme peşinde koşmaya yatkınız; ama gerçek başarısızlık modu çok daha sıradan: insanların bırakması.
      Bir şeyi öğrenmenin ilk ayında Anki’ye binlerce kart doldurup, bir iki ay sonra tekrar yükünün altında ezilerek tekrarların angarya gibi gelmesi yüzünden bırakanları sık görüyorum.
      Fark yaratan iki tavsiye var: Kartları biraz ‘fazla’ kolay yapmak ve hangi kartları ekleyeceğiniz konusunda epey seçici olmak.
      Kartı ilk oluşturduğunuzda o konuyu yeni çalışıyor olduğunuz için zihninizde çok canlıdır; o anki kendiniz için ilginç ve zorlayıcı kartlar yapmak istersiniz. Ama 1-2 hafta sonra, kafa karıştırmak yerine hafızayı hafifçe yoklayacak kadar kolay kartlar daha iyidir.
      Bir kitabın tüm cümlelerini olduğu gibi Anki’ye koymak yerine, bir meyve bahçesinde yürür gibi yavaşça dolaşıp en iyi bir iki elmayı toplamak daha iyidir. Çürük elmalar, yani ilginizi çekmeyen ya da çok zor kartlar, tüm desteyi kirletir ve tekrarın kendisinden kaçınmanıza yol açar.
    • Ben tersini yapageldim. Bir dilde 70.000 Anki tekrarı yaptım; bağlamı dikkatle eklemek genelde kart oluşturma zamanı israfı gibi geldi.
      Tekrarlar çoğunlukla hızlı geçildiği için kart başına öğrenme süresinde oluşturma zamanı şaşırtıcı derecede büyük pay tutuyor. Şimdilerde giderek daha az bağlam ekliyorum; sözlük eklentisinin oluşturduğu temel, basit kartlar çoğu zaman yeterli oluyor.
      Kartın ön yüzüne özellikle bağlam eklemem neredeyse yalnızca o bağlam içinde görülen teknik bir terim olduğunda oluyor. Yani bağımsız olarak öğrenmeye değmediğinde.
      Yine de tembel davranmanın ve kendinize karşı hoşgörülü olmanın iyi olduğunu düşünüyorum. Cevabı değerlendirirken de ana dil konuşuru düzeyinde kusursuz hâkimiyeti değil, gerçek hayatta karışıklığı önleyecek kadar anlayıp anlamadığımı ölçüt alarak oldukça gevşek davranıyorum.
    • Orijinal SuperMemo’nun SRS kartı yazmanın 20 kuralı bir hazine sandığı: https://www.supermemo.com/en/blog/twenty-rules-of-formulating-knowledge
      Kart kalitesini büyük ölçüde artıracaktır.
    • Gitar öğrenirken de benzer bir düşünceye kapılıyorum. Bir problemi beynin birden fazla yoldan ele almasını sağlamak iyi olabilir.
      Örneğin klavye üzerindeki notaları aralıklı tekrarla kaba kuvvetle ezberletebilirsiniz; ama pratikte bağlamı karıştırmak daha etkili oldu.
      Bazı haftalar tembellik edip yalnızca nota adlarını çalışıyorum; başka haftalar Macar gamı gibi tuhaf gamlarla oynuyorum; başka zaman da arpej akorlar ya da power chord ilerleyişleriyle, belirli bir şarkının sesini ya da hissini yeniden üretmeye çalışıyorum.
      Zamanla beyin bağlantılar kurmaya başlıyor. “Bu sadece Sol minör gamıymış”, “Bu Sol majör gamı ama şu notaları atlıyor”, “Bu kalıpla şöyle çalmayı deneyemez miyim?” gibi fark edişler oluşuyor.
      Bildiğimi düşündüğüm şeylerden çok, bilmediğimi fark etme hızımın çok daha hızlı artması gibi tuhaf bir his de var. Yine de 5-10 dakikalık gitar ödevleri veren bir aralıklı tekrar algoritması kullanıp kas hafızasını ve sinirsel bağlantıları birlikte geliştirmeyi düşünüyorum.
    • Dil öğrenmek için Anki’yi uzun zamandır ara ara kullandım; son dönemde de çevrimiçi üniversite derslerine çalışmak için kullanıyorum.
      İçerik yalnızca dilden ibaret olduğunda olduğundan daha çeşitli olduğu için sanırım kart biçiminin etkisi daha güçlü hissediliyor. Başkalarının yaptığı destelerde bile cevap tarafındaki ifadeleri sık sık düzeltiyorum; elde tutma oranında hissedilir bir fark yaratıyor.
      Kısa, öz ve doğal akan cevaplar daha iyi tutunuyor. Garip hissettiren bir kart varsa çekinmeden düzeltmek daha iyi.
  • Anki ile on binlerce yabancı dil kelimesi ezberledim; kartta resim olması kelimeyi hatırlamama her zaman yardımcı oldu.
    Şimdi ailemle oynadığımız bir bilgi yarışması oyunundaki 750 kartı ezberlemek gibi biraz aptalca sayılabilecek bir proje yapıyorum. Tüm soruların cevabı bir yıl olan kartlar. Örn: “Coca Cola Light hangi yıl çıktı?”
    Midjourney ile kartlar için görseller üretmek hatırlamayı çok daha kolaylaştırıyor.
    Her yüzyıl için temsilî bir kişi kullanan bir sistemim var. Einstein 1900-2000’i, Marie-Antoinette 1700-1800’ü temsil ediyor.
    Nesneler 10 yıllık dönemleri temsil ediyor. 60’lar arabası 60’ları, omuz pedli ceket 80’leri temsil ediyor gibi. Son basamaktaki rakamı da benzer şekilde ele alıyorum.
    Midjourney’e bu unsurları çizgi film tarzında görsellere dönüştürtüyorum; en komik ya da en saçma görseli kaydedip Anki kartının arka yüzüne koyuyorum. Görseli hatırlamak çoğu zaman yılın kendisini hatırlamaktan daha kolay oluyor.

    • Üç şey var. Birincisi, görsel tabanlı bir hafıza tekniği olan PAO’ya bakmanız iyi olur.
      İkincisi, görsellerin olmadığı gerçek durumlarda hatırlama performansı düşebilir; bu yüzden düzenli olarak görselli ve görselsiz şekilde ayrı ayrı test etmelisiniz.
      Üçüncüsü, o yarışmanın Trivial Pursuit olup olmadığını merak ediyorum. Bir arkadaşım orijinal Genus edisyonu kartlarının tamamını özellikle ezberlemişti.
    • Ben de şu anda coğrafya tarafında aynı şeyi yapıyorum. Bayraklar, başkentler gibi şeyler. Çoğu quiz gecesinde +5 civarı bir avantaj sağlar gibi geliyor.
    • O sistem çok yaratıcı. Tarihler benim için hep zordu; bundan sonra bu fikri çalıp kullanacağım.
  • İlginç. Benchmark’lara göre bu algoritmayı kullanınca klasik Anki algoritmasına kıyasla %20–30 daha az kart tekrar etmek yeterli oluyormuş
    Birkaç gün önce https://python.cards için kullandığım klasik SM-2 algoritmasının Python uygulamasını yayımlamıştım; FSRS’ye geçirebilirim: https://github.com/vlopezferrando/simple-spaced-repetition

    • python.cards iyi görünüyor. Birkaç örnek daha eklenirse güzel olur
      Web uygulamasını açık kaynak olarak yayımlama ihtimali olup olmadığını da merak ediyorum. Öğrencilerin X öğrenmesi gibi belirli alanlarda flashcard göstermenin popüler bir yolu olabilir gibi görünüyor
  • Açıklamaya bakılırsa FSRS de hâlâ her karta kesin bir tekrar tarihi atıyor gibi. Anki’yi bu özellik yüzünden bırakmıştım
    Üniversite öğrencisi değilim, sınava da hazırlanmıyorum; sadece canım istediğinde pratik yapmak istiyorum. Oturumlar arasında uzun boşluklar olabilir ve birikmiş kartlar yığılıyormuş hissi yaşamak istemiyorum
    Anki harika bir uygulama ama keşke tekrar tarihi atamak yerine kartları rastgele örnekleyen, ancak acil tekrar edilmesi gerekme olasılığıyla orantılı seçen bir algoritma olsaydı
    https://github.com/fasiha/ebisu gibi bir yaklaşımın Anki eklentisi olarak mümkün olması ya da açık bir kart formatı kullanan benzer bir uygulama bulunması güzel olurdu

    • Ama hafıza böyle çalışmaz. Önerdiğiniz gibi hatırlamayı bekleme durumuna alamazsınız. FSRS’nin kişiselleştirilmiş bellek eğrisini izlemesinin bir nedeni var
    • Canınız istediğinde pratik yapmak ve oturumlar arasında uzun boşluklar olabilmesi zaten SRS’nin yaptığı şey
      Sadece “birikenleri” tamamen temizlediğinizde artık istediğiniz zaman pratik yapamazsınız; yeniden pratik yapılabilir hâle gelene kadar bir süre beklemeniz gerekir
    • Bu tarz yarım yamalak bir uygulama yapmıştım; pek iyi çalışmadı
      Hatırladığım bilgileri tekrar etmek can sıkıcıydı, unuttuklarımın önemli bir kısmını ise tamamen unutmuştum. Bu yüzden tekrarın pek anlamı kalmıyor ve ilerleme çok yavaş oluyordu
      Asıl nokta, neredeyse unutmak üzereyken tekrar etmek; bu da son tarih ve takvim yönetimi olmadan zor
    • Phrasing.app’te tam da böyle bir yaklaşım geliştiriyoruz. Başta ebisu kullandık ama sonunda FSRS’nin bir fork’unu epey değiştirerek kullanmaya başladık
      Gerçekte son tarih kullanmıyoruz; istenen bazı analiz özellikleri dışında kullanıcıları birkaç zorluk seviyesinde tutmaya çalışıyoruz
      Her zaman gecikmiş olanları %100 temizlemekten çok ilerlemeyi daha önemli görüyoruz. Gerçekten önemli bir kelimeyse favorilere eklenir ya da tekrar karşısına çıkar
      Genel amaçlı bir flashcard uygulaması değil; yabancı dilde otomatik cümle madenciliğine çok odaklanıyor. Yine de FSRS’yi değiştirme deneyimimizle ilgili soruları memnuniyetle yanıtlarım
      Ürünle ilgili bilgiye https://blog.phrasing.app/phrasing-first-look/ adresinden bakabilirsiniz
    • Anki’de filtreli deste kullanıp kartları göreli gecikme derecesine göre sıralayabilirsiniz
  • FSRS’yi 3 aydır kullanıyorum; eski SM2 zamanlama algoritmasını deneme yanılmayla ayarlama derdi nihayet çözülmüş oldu
    Her destenin içeriği optimum tutma oranını ciddi biçimde etkileyebilir; artık birkaç ayda bir her destenin ağırlıklarını yeniden eğitince buna uygun şekilde adapte oluyor
    Makale[0] de büyük ölçekli gerçek dünya ortamında aralıklı tekrar biliminin titiz bir analizini görmek istiyorsanız okunmaya değer
    Kapsamlı benchmark’lar nedeniyle, çoğu kişi için koleksiyonuna göre ağırlıkları yeniden ayarlamak, binlerce inceleme birikene kadar büyük fayda sağlamayacaktır. Yazar 1.000 ve üzerini öneriyor
    Kartları geciktirseniz de iyi çalışıyor. Hatırlama olasılığı kararlılığa ve son tekrar zamanına dayandığı, son tarih geçtikten sonra da hatırladıysanız kararlılık biraz daha uzun güncellendiği için
    [0] https://dl.acm.org/doi/10.1145/3534678.3539081?cid=99660547150
    [1] https://github.com/open-spaced-repetition/fsrs4anki/wiki/The-Algorithm

  • Flashcard’ları hobi olarak sevdiğim için her gün birkaç aralıklı tekrar uygulamasını eğlencesine kullanıyorum. FSRS’yi de denedim ve iyi, ama henüz en yeni SuperMemo kadar değil
    Aynı ya da benzer materyali iki veya daha fazla uygulamaya koyunca fark görülüyor. Yine de FSRS şu anda mevcut olan neredeyse her şeyden çok daha iyi ve yakında SuperMemo’dan daha iyi olacak gibi
    Mochi Cards’ı yaklaşık 1 yıl kullandım; fena değildi, varsayılan Anki kurulumundan biraz daha iyiydi. Mnemosyne de benzer. SuperMemo SaaS uygulaması da iyi, ama dil materyalini düzenleme biçimini sevmiyorum
    Dil kelime hazinesi için Clozemaster kullanıyorum; doğru cevapladıktan sonra o cümleyi SuperMemo’ya koyuyorum. Çünkü SuperMemo algoritması o kadar daha iyi. Her kelime için ChatGPT açıklaması da var, onu da SuperMemo’ya ekliyorum
    En zor kısım kesinlikle iyi kartlar yapmak. Daha fazla fikir edinmek için http://arxiv.org/abs/2401.01257 ve https://rust-book.cs.brown.edu yardımcı oluyor
    SuperMemo kadar hızlı kart oluşturmamı sağlayan bir flashcard programı henüz bulamadım. SuperMemo’da bir metin bloğunu yapıştırıp (ctrl-n), boşluk silme için yapılacak kelimeyi seçip alt-x’e basmak yeterli. Aynı metin parçasında bunu birden çok kez yapabiliyorsunuz ve her seferinde yeni bir boşluk kartı tekrara giriyor
    Diğer uygulamaların çoğunda kartları tek tek oluşturmak gerekiyor. Sanırım bunun nedeni kart ve deste metaforuna fazla sıkı bağlı olmaları. SuperMemo her şeyi ağaç yapısı içinde düzenliyor ve bu büyük fark yaratıyor. Aslında düzenlemek şart bile değil; ama insanlar öğrendikleri materyal zihinlerinde tertemiz destelere ayrılacakmış gibi davranıyor

    • Anki’de Debian bazında bu Ctrl-Alt-C
    • Mochi’de de neredeyse aynı. n ile yeni kart oluşturup, ctrl-v ile metni yapıştırıp, kelimeyi seçip ctrl-l ile boşluk oluşturup, ctrl-[n] ile 0-9 numaralı boşluk grubunu oluşturmak yeterli
      Her boşluk grubunun kendine ait bir “kartı” oluyor
  • Aralıklı tekrarın önemi düşünüldüğünde, Anki’den farklı olarak modüler bir yaklaşım gerekmez mi diye düşünüyorum
    Üç şey birbirinden ayrı değil mi?

    1. Kartlar veya kartların alt kümesi
    2. Bu kartlarla etkileşim kayıtları
    3. Bu kayıtlara dayanarak kartları sunan ve tekrar kayıt ekleyen algoritma. Potansiyel olarak ihtiyaç anında hesaplama yapan bir yöntem olabilir
    • Anki FSRS, kullanıcının sağladığı girdiye dayanan tam zamanında hesaplama algoritmasına daha çok yaklaştı
      Veri yapısı katı biçimde modüler değil, ama mevcut Anki desteleri ve eklenti uyumluluğunu koruyarak pratikte mümkün olduğu kadar buna yakın
      Aslında artık yalnızca kayıtlar ve mevcut algoritma ayar değerleriyle tüm aralıkları ve zorlukları tamamen yeniden hesaplayan bir düğme var. Zaten FSRS kullanıyorsanız ve ayar değerleri değişmediyse, yeniden hesaplama her tekrardan sonraki artımlı hesaplamayla aynı olduğundan hiçbir etkisi yok
      İlkesel olarak tam zamanında hesaplanan saf bir fonksiyon gibi görülebilir; mevcut uyumluluk ve performans nedeniyle üretilen verileri önbelleğe alan bir yapı diye düşünebilirsiniz
  • Konuyla ilgili yüzsüz bir öz tanıtım olarak, YouTube videolarından Anki kartları oluşturabilen ücretsiz ve açık kaynaklı bir araç yaptım: https://youtube2anki.fly.dev/
    Geri bildirim almak isterim. Kod GitHub’da: https://github.com/vacmar01/youtube2anki

    • Harika. Hangi videolarda kullandığını sorabilir miyim?
  • FSRS ve Anki hakkında Xiaojun ile birkaç kez konuştum. Anki+FSRS gibi geleneksel aralıklı tekrar sistemlerinde öğrenen kişi bilgiyi çoğu zaman hep aynı bağlamda tekrar eder; bu da bilgiyi daha büyük bir ağın parçası yerine yalıtılmış bir birim olarak anlamasına yol açabilir
    Örneğin kelimeleri ayrı ayrı öğrenmek, dili gerçek hayatta kullanmaya yeterince hazırlamaz. Gerçek durumlarda bağlam, eşdizimler ve kullanım biçimleri büyük rol oynar
    Yalıtılmış tekrardan daha iyi bir dil öğrenme yöntemi, kelimeleri çeşitli bağlam ve kombinasyonlar içinde görmeyi sağlayarak kelimelerin doğal olarak öbekler ve cümleler halinde nasıl oluştuğunu anlamaktır
    Bu yüzden dil öğreniminde Anki kartları yerine gerçek hayattan kısa videolar gösteren bir şey geliştiriyorum. Her video küçük bir senaryo; dilin gerçek durumlarda nasıl kullanıldığını gösteriyor
    Öğrenciler yalnızca kelime ezberlemekle kalmıyor, kullanımını görsel ipuçları ve jestleri de içeren doğal bir bağlamda görüyor. Bu yaklaşım, kelime ve ifadelerin gerçek uygulamasını anlamayı sağlayarak öğrenmeyi daha sürükleyici ve etkili kılabilir. Çünkü yabancı dil öğreniminde başarısızlığın başlıca nedeni sürdürememek
    Anki’de eksik olan bir başka şey de “hatırlıyor musun?” değil, gerçek durum temelli quiz’ler. Öğrenciler öğrendiklerini eğlenceli ve düşük baskılı bir ortamda uygulamalı
    SRS algoritması çözümün yalnızca bir parçası, her derde deva değil. Hafızada duygunun kodlama üzerindeki etkisi gibi birçok etken var. İlk öpücüğünüzü ya da mezuniyet gününüzü hatırlamak için SRS’ye ihtiyacınız yok
    İnsanlar hiçbir SRS olmadan ana dillerini akıcı biçimde öğreniyor, ama yabancı dilde SRS kullansalar bile çoğu kişi akıcı olamıyor

    • Bağlam içinde öğrenmek ve bağlamı çeşitlendirmek gerektiği savı değerli, ama “insanlar Anki ya da gramer çalışması olmadan ana dillerini öğreniyor” sözü beni her zaman rahatsız ediyor
      Birinci dil edinimi ile ikinci dil edinimi elma ile pastırma kadar farklı. Bebeklerin ve yetişkinlerin beyinleri farklı; ihtiyaçları, yetileri ve bağlamları da çok farklı
    • Doğru. Refold yaklaşımı gibi SRS ile yoğun maruz kalma öğrenimini birleştiren tarafı tercih ediyorum