Robotlar Neden Tek Gözle Yaşıyor (ve Biz Buna Neden Son Verdik) 🤖🎬
Published: March 29, 2026
Selamlar. Size bugün bir itirafta bulunacağım: bütün VLA modelleri — yani robotlara "al şunu, koy bunu" diyebilmemizi sağlayan o havalı yapay zekalar — tek gözü kapalı yaşıyor.
Tek frame bakıyorlar dünyaya. Fotoğraf. Anlık. Donmuş.
Bu, hayatınızı Instagram story'lerden ibaret sanmak gibi bir şey. Evet, o anda nerede olduğunu görüyorsun. Ama nereye gittiğini? Rüzgarın bardağı masadan düşürmek üzere olduğunu? Hiç.
Biz buna son verdik. Adı: Neon.
🎧 First in first, background music.
"Abi Videoyu Aç, Fotoğrafa Bakma" Meselesi 📸→🎬
Mevzuyu şöyle düşünün.
Bir arkadaşınız size WhatsApp'tan tek bir fotoğraf atıyor: "Bu topu yakala." Fotoğrafta top havada asılı duruyor. Nereye gidiyor? Ne hızda? Yerçekimi mi var yoksa uzayda mısınız? Bilmiyorsunuz. Fotoğraf size pozisyon veriyor ama momentum vermiyor.
Şimdi aynı arkadaş 2 saniyelik video atıyor. Top sola doğru eğri çiziyor, yavaşlıyor, düşmeye başlıyor. Elinizi nereye uzatmanız gerektiğini hissediyorsunuz.
İşte mevcut VLA'ların durumu o fotoğraf. Neon'un durumu o video.
RT-2, OpenVLA, Pi0 — hepsi single-frame. Gözlerini her inference'ta kırpıyorlar. Kırp, bak, kırp, bak. Arada ne olduğunu bilmiyorlar. Bu, gözleri kapalı top yakalamaya çalışmak gibi bir şey. Bazen tutturursun. Ama neden tutturduğunu bile bilmezsin.
Esas Fikir: 7 Milyar Parametre Zaten Fiziği Biliyor 🧊
Peki dünyada video anlayan dev modeller yok mu? Var. Qwen2.5-Omni, Cosmos, InternVideo — milyonlarca saat gerçek dünya videosu üzerinde eğitilmiş 7 milyar parametrelik canavarlar.
Bu modeller şunları zaten biliyor:
- Bardak itilince düşer (sürpriz değil ama bunu öğrenmişler)
- Sıvılar aşağı akar
- Kapılar menteşede döner
- Nesnelerin hızı ve ivmesi var
- Temas mekaniği: sert şeyler çarpışır, yumuşak şeyler deforme olur
Yani internet-scale video pre-training, bir nevi fizik PhD'si vermiş bu modellere. Sadece diploma yerine weight'leri var.
Soru şu: bu bilgiyi robota nasıl aktarıyorsun?
Klasik cevap: "Fine-tune et." 7 milyar parametreyi al, robotik veriyle baştan eğit. 320 GPU-saat. Binlerce dolar. Ve en kötüsü — catastrophic forgetting. Model, bardağın düştüğünü unutuyor çünkü sen ona sadece küp kaldırmayı öğretiyorsun.
Neon'un cevabı: hiçbir şeyi eğitme.
Dondur. Üstüne Ufacık Bir Şey Koy. Bitsin. 🧊🎯
Neon'un mimarisi üç satırda özetlenebilir:
- 7B video backbone → tamamen dondurulmuş, gradyan geçmiyor
- 6M parametre action decoder → sadece bu eğitiliyor
- Toplam eğitilen parametre oranı → %0.08
Yüzde sıfır virgül sıfır sekiz.
Bunu perspective'e koyalım. Eğer 7B model bir apartman olsaydı, Neon sadece kapının kilidini değiştiriyor. Apartmanın kendisine dokunmuyor. Asansör çalışıyor, su akıyor, elektrik geliyor — hepsi backbone'dan. Sen sadece "bu anahtarla bu kapıyı aç" diyorsun.
┌─────────────────────────┐
│ Frozen Video Backbone │
│ (7B parametre) │
│ │
│ 🧊 DON'T TOUCH THIS 🧊 │
│ │
│ fizik, dinamik, nedensel │
│ ilişkiler, momentum, │
│ temas mekaniği... │
└────────────┬─────────────┘
│
feature tensor
│
┌────────────▼─────────────┐
│ Trainable Decoder (6M) │
│ │
│ 🔥 SADECE BURAYI EĞİT 🔥 │
│ │
│ "bu feature → bu joint │
│ açısı" mapping'i │
└──────────────────────────┘
Neden %0.08 Yeterli?
Çünkü zor kısmı — fiziği anlamak, nesneleri tanımak, hareketi takip etmek — backbone zaten biliyor. Decoder'ın tek işi "bu feature vector'ü şu servo açısına çevir." Bu, apartmanın kapısına yeni kilit takmak kadar basit.
Altı Duyu, Bir Robot 👁️👂🤚📡🗣️🦾
Neon tek kameralı değil. Altı modaliteyi aynı anda işleyebilir:
| Modalite | Ne Yapıyor | Neden Önemli |
|---|---|---|
| 🎬 Video | Temporal context, hareket takibi | Momentum ve dinamik |
| 🖼️ Görüntü | Spatial detail, nesne tanıma | Pozisyon ve geometri |
| 🔊 Ses | Ortam sesleri, komutlar | "Bardak kırıldı" → acil dur |
| 🗣️ Dil | Natural language instruction | "Kırmızı küpü al" |
| 🤚 Proprioception | Joint açıları, kuvvet sensörleri | Nerede olduğunu bilmek |
| 📡 Depth | 3D spatial awareness | Ne kadar uzak? |
Bunu single-frame VLA'larla kıyaslayın — onlar sadece 🖼️ ve bazen 🗣️ kullanıyor. Neon, bir insanın beş duyusu gibi çalışıyor. Hatta biraz daha fazla.
graph LR
V[🎬 Video<br/>Temporal] --> F[Frozen 7B<br/>Backbone]
I[🖼️ Image<br/>Spatial] --> F
A[🔊 Audio<br/>Context] --> F
L[🗣️ Language<br/>Instruction] --> F
P[🤚 Proprio<br/>Joint State] --> D
De[📡 Depth<br/>3D Space] --> F
F --> D[Action Decoder<br/>6M params]
D --> R[🤖 Robot Actions<br/>Joint velocities]
style F fill:#1a5276,stroke:#2980b9,color:#fff
style D fill:#922b21,stroke:#e74c3c,color:#fff
style R fill:#1e8449,stroke:#27ae60,color:#fff
Flow Matching: Difüzyonun Hızlı Kuzeni 🌊
Action generation için flow matching kullanıyoruz. Diffusion policy biliyorsanız — aynı fikir ama daha hızlı.
Diffusion: "Gürültülü bir sinyal al, yavaş yavaş temizle, 50 adımda action'a dönüştür."
Flow matching: "Gürültüden action'a düz bir yol çiz, 5-10 adımda var."
graph LR
subgraph "Diffusion (50 adım)"
N1[Noise] --> |step 1| S1[...]
S1 --> |step 2-49| S2[...]
S2 --> |step 50| A1[Action]
end
subgraph "Flow Matching (5 adım)"
N2[Noise] --> |step 1| S3[...]
S3 --> |step 2-4| S4[...]
S4 --> |step 5| A2[Action]
end
style A1 fill:#2ea44f,stroke:#1b7735,color:#fff
style A2 fill:#2ea44f,stroke:#1b7735,color:#fff
style N1 fill:#e74c3c,stroke:#c0392b,color:#fff
style N2 fill:#e74c3c,stroke:#c0392b,color:#fff
Sonuç: 10× daha az inference step, aynı kalite. Jetson Orin üzerinde bu, real-time ile slideshow arasındaki fark demek.
Strands Agents ile Entegrasyon 🧬
Strands Robots yazısında anlattığım 5-satır promise'i hatırlıyorsanız — Neon de aynı felsefe üzerine inşa edildi.
Klasik bir agent döngüsünü yazın:
# AI Agent döngüsü
response = model(context, tools)
for tool_call in response:
result = execute(tool_call)
context.append(result)
Bir robotun döngüsünü yazın:
# Robot döngüsü
while not done:
obs = sense() # kamera, proprioception, audio
action = policy(obs) # VLA inference
execute(action) # servo komutları
İkisi de aynı şey: sense → think → act. Agent tool çağırıyor, robot action çağırıyor. Fark yok. Bu yüzden Neon, Strands Agents'ın tool ekosisteminin içine doğal olarak oturuyor.
from strands_robots import Robot
from strands import Agent
from neon import NeonPolicy
# Neon-powered robot
robot = Robot("so100", policy=NeonPolicy(backbone="qwen2.5-omni-7b"))
agent = Agent(tools=[robot])
# Agent video anlıyor, robot hareket ediyor
agent("Masadaki bardağı al — ama dikkat et, sallantılı duruyor")
Agent "dikkat et, sallantılı duruyor" dediğinde, Neon'un video backbone'u bardağın son birkaç frame'deki sallanmasını görüyor. Single-frame VLA bunu göremez. Neon görür. Ve approach velocity'yi düşürür.
Benchmark Meselesi 📊
Bunları yazmam lazım çünkü ben "önce yap, sonra konuş" adamıyım. Benchmark'lar gelecek. Ama gelene kadar claim'leri küçük tutacağız.
Dürüstlük Politikası
Neon henüz erken aşamada. Aşağıdaki tablodaki değerler hedef ve erken sonuçlardır, peer-reviewed benchmark değil. Tam karşılaştırma için sonraki blog postunu bekleyin.
Beklediğimiz avantajlar, mimari tasarımdan gelen doğal sonuçlar:
| Metrik | Single-Frame VLA | Neon (Video-Native) | Neden |
|---|---|---|---|
| Dinamik nesne yakalama | Düşük | Yüksek | Momentum bilgisi var |
| Eğitim maliyeti | 320+ GPU-saat | ~8 GPU-saat | Sadece 6M param eğitiliyor |
| Catastrophic forgetting | Yüksek risk | Minimal | Backbone dondurulmuş |
| Modality count | 1-2 | 6 | Omni backbone |
| Inference latency | Değişken | Düşük | Flow matching, az step |
Üç Paper'ın Özeti, Üç Cümle 📚
Neon'un arkasındaki akademik motivasyon üç temel gözleme dayanıyor:
-
Ağır pre-train, hafif adapt — Foundation model'lar zaten dünyayı biliyor. Robotik için sıfırdan eğitmeye gerek yok. (GR-2, Octo)
-
Video > Fotoğraf — Temporal bilgi, spatial bilginin üstüne çıkıyor. Hareket tahmini için video zorunlu. (Video PreTraining, InternVideo)
-
Flow matching > Diffusion — Aynı kalite, 10× daha az step. Real-time robotik için şart. (Flow Matching for Generative Modeling)
Bu üç insight'ı bir araya getirin: dondurulmuş video backbone + flow matching action decoder = Neon.
Neden Bu Önemli? 🌍
Robotik hala pahalı, zor ve erişilmez bir alan. Bir VLA modelini fine-tune etmek binlerce dolar. Yeni bir robot platformuna adapte etmek aylar. Ve her yeni görev için döngü baştan başlıyor.
Neon'un vizyonu bunu kırmak:
- 8 GPU-saat eğitim maliyeti (320 değil)
- Sıfır catastrophic forgetting (backbone dokunulmaz)
- Yeni robot = yeni decoder (backbone aynı, sadece 6M param eğit)
- 6 modalite → daha zengin dünya algısı
- Flow matching → real-time inference Jetson'da bile
The Big Picture
Eğer bir robotu eğitmek 100$'a ve 1 saate düşerse, her okul, her lab, her garaj bir robot eğitebilir. Bu "Intelligent Robotics For Everyone" vizyonunun ta kendisi.
Yol Haritası 🗺️
timeline
title Neon VLA Roadmap
v0.1 — Foundations : Omni backbone integration
: Flow matching action decoder
: Single-robot SO-100 training
v0.2 — Multi-Modal : Audio + depth fusion
: Proprioception embedding
: Multi-camera support
v0.3 — Scale : Multi-robot training
: Sim-to-real with MuJoCo/Newton
: Full benchmark suite
v0.4 — Production : Strands Robots native policy
: One-click Jetson deployment
: Community model hub
Başla 🚀
from neon import NeonPolicy
# Backbone otomatik indirilir, dondurulur
policy = NeonPolicy(backbone="qwen2.5-omni-7b")
# 8 GPU-saat eğitim — sadece decoder
policy.train(dataset="your_robot_demos/", epochs=50)
# Inference — video-native, flow matching
actions = policy.predict(video_frames, instruction="Pick up the cup carefully")
Projenin kendisi Apache-2.0 lisanslı. Star'layın, fork'layın, PR atın. Single-frame VLA çağının sonunu birlikte getirelim.
Bu yazıyı neden yazdım?
Çünkü robotik hala "büyük lab'ların, büyük bütçelerin" alanı olarak görülüyor. Ama gerçek şu ki — doğru soyutlamalarla, doğru mimarilerle, bir Jetson ve bir kamera ile inanılmaz şeyler yapabilirsiniz.
Bitwise config flags ile O(n)'i O(1)'e düşürmüştük. Strands Robots ile 190 satırı 5'e düşürdük. Neon ile "eğitim için 320 GPU-saat" iddiasını 8'e düşürüyoruz.
Her seferinde aynı felsefe: karmaşıklığı soyutla, insana sadece karar ver.
"Al şunu" de. Gerisini Neon çözer.
Afiyet olsun! 🍽️
Çağatay.
Neon açık kaynak, Apache-2.0 lisanslı. Strands Robots ile entegre çalışır. Robotik herkes için olmalı — bize katılın.