/proje detayları
SWIFT Eye-Movement Model İçin Simulation-Based Inference
Simplified SWIFT modeli için BayesFlow tabanlı bir pipeline implemente ettim ve simulated eye-tracking fixation sequence'lerinden gaze-control parametrelerini infer etmeyi denedim.
Bu proje SWIFT eye-movement modelini simulation-based inference problemi olarak ele alıyor. Yani okuyucuların text işlerken ne zaman göz hareketi yaptığını ve bir sonraki bakışın nereye gideceğini modelleyen dinamik bir problem.
Full SWIFT modeli computationally intensive ve likelihood'ı tractable değil. Bu yüzden projede Engbert ve Rabe (2024) tarafından anlatılan simplified SWIFT yaklaşımından ilham alan bir simulator kullandım. Hedef, modeli BayesFlow ile amortized Bayesian inference workflow'una taşımaktı.
Python notebook içinde fixation sequence'lerini yükledim, çok kısa fixation'ları filtreledim, sentence-level metadata oluşturdum, gaze-control parametreleri için prior'lar tanımladım ve fixation duration, word position, saccade length, landing error, skip behavior, refixation behavior, skip rate ve refixation rate gibi kanalları simüle ettim.
Inference target olarak nu, r, mu_T ve eta parametrelerini kullandım. Simulator'u BayesFlow'a bağladım, inference variables ve summary variables için adapter'lar kurdum; FlowMatching, SetTransformer-style summary network ve daha sonra TimeSeriesNetwork / PointInferenceNetwork ile point-estimation denemeleri yaptım.
Metodolojik olarak proje BayesFlow, amortized Bayesian inference ve Prof. Dr. Paul Bürkner ile iliskili modern probabilistic modeling ekosisteminden besleniyor. Proje ayni zamanda Engbert ve Rabe (2024) simplified SWIFT tutorial'ina dayaniyor.
Öne çıkanlar
- Fixation duration, saccade length, skip/refixation behavior ve landing error için simplified SWIFT-style simulator implemente ettim.
- Gaze-control ve reading-dynamics parametrelerini temsil etmek için nu, r, mu_T ve eta prior'larını tanımladım.
- Custom simulation kodunu BayesFlow'a simulator metadata, adapter transformation'lari ve neural summary variable'lar ile bagladim.
- Online BayesFlow workflow'unu 50 epoch ve epoch basina 100 batch ile train ettim; validation loss ve default diagnostic'leri takip ettim.
- Posterior sample'lar ve loss, recovery, calibration ECDF, z-score contraction gibi diagnostic workflow'lari urettim.
- Package-version kisitlari nedeniyle TimeSeriesNetwork, ContinuousApproximator, PointApproximator ve PointInferenceNetwork gibi BayesFlow 2.x API alternatiflerini de denedim.
Figürler