Kurs içeriği (5 / 8)
  1. 1 Makine Öğrenmesi Nedir? 40 dk
  2. 2 İlk Modelim: Taş, Kâğıt, Makas 80 dk
  3. 3 İyi Veri, İyi Model: Işık ve Açı Deneyi 80 dk
  4. 4 Sesleri Tanıyan Model 80 dk
  5. 5 Modelimi Scratch Oyununa Bağlıyorum 80 dk
  6. 6 Modelimi Karta Bağlıyorum: PictoBlox ile Arduino 80 dk
  7. 7 Yapay Zekâ Neden Yanılır? 80 dk
  8. 8 Mini Proje: Sesle Açılan Akıllı Çöp Kutusu 120 dk

Yapay Zekâ ile Tanışıyorum: Görüntü ve Ses Tanıma · Ders 5 / 8

Modelimi Scratch Oyununa Bağlıyorum

Etkinlik ⏱ 80 dk

Machine Learning for Kids sitesinde “sola”, “sağa” ve “zıpla” sesli komutlarını tanıyan bir model eğitiyor, bu modeli Scratch’e bağlıyoruz. Sonra kediyi sesimizle yönettiğimiz, gökten düşen elmaları topladığımız bir oyun yapıyoruz. Blok kodlarını adım adım birlikte kuruyoruz.

Bu derste

  • Machine Learning for Kids’te ses tanıma projesi oluşturur.
  • Her etiket ve arka plan gürültüsü için örnek kaydeder, modeli eğitir.
  • Modelin bloklarını Scratch’te kullanarak sesle kontrol edilen bir oyun yapar.
  • Oyundaki hatalı tepkilerin nedenlerini tartışır ve modeli iyileştirir.

Malzemeler

  • Mikrofonlu bilgisayar
  • Güncel bir tarayıcı (Chrome önerilir) ve internet bağlantısı
  • Olabildiğince sessiz bir ortam
  • İsteğe bağlı: kulaklıklı mikrofon

Bir modeli eğitmek güzel; ama onu bir işte kullanmak daha da güzel. Bugün eğittiğimiz modeli Scratch’e bağlayacak ve sesimizle oynanan bir oyun yapacağız. Kedimiz “sola!” deyince sola, “sağa!” deyince sağa gidecek, düşen elmaları yakalayacak.

Dersin Amacı ve Kazanımlar

Bu dersin sonunda:

  1. Machine Learning for Kids’te ses tanıma projesi oluşturabileceksiniz.
  2. Her etiket ve arka plan gürültüsü için örnek kaydedip modeli eğitebileceksiniz.
  3. Modelin bloklarını Scratch’te kullanarak sesle kontrol edilen bir oyun yapabileceksiniz.
  4. Oyundaki hatalı tepkilerin nedenlerini tartışıp modeli iyileştirebileceksiniz.

Gerekli Malzemeler

Malzeme Açıklama
Mikrofonlu bilgisayar Dizüstü bilgisayarın mikrofonu yeterlidir
Tarayıcı Chrome önerilir; modeli eğittiğiniz tarayıcıda Scratch’i de açmalısınız
Sessiz ortam Gruplar sırayla kayıt yapabilir
Kulaklıklı mikrofon (isteğe bağlı) Kalabalık sınıflarda diğer seslerin karışmasını azaltır

💡 İpucu

Komut olarak iki heceli, birbirine benzemeyen kelimeler seçin. “Sol” ve “sağ” gibi tek heceli kelimeleri model kolay karıştırır; “sola”, “sağa”, “zıpla” daha iyi sonuç verir. Etiket adlarında Türkçe karakter kullanmayın: sola, saga, zipla yazın.

Machine Learning for Kids Nedir?

Machine Learning for Kids (machinelearningforkids.co.uk), öğrencilerin model eğitip Scratch’te kullanabilmesi için hazırlanmış ücretsiz bir sitedir. Sitenin dili Türkçe yapılabilir. Türkçe seçildiğinde menüler (Hakkında, Projeler, Çalışma Sayfaları, Yardım, Oturum Aç) Türkçe görünür; ama bazı sayfalar, örneğin yeni proje formu, İngilizce kalır. Bu derste İngilizce yazıların Türkçe karşılıklarını da vereceğiz. Hesap açmadan denemek için Hemen dene seçeneğini kullanacağız. Bu seçenekte aynı anda tek proje yapılabilir ve proje birkaç saat sonra silinir; bu yüzden etkinliği tek ders içinde bitirmeye çalışın. Öğretmeniniz bir sınıf hesabı açtıysa onunla giriş yapabilirsiniz.

Etkinlik 1: Projeyi Oluşturalım

  1. machinelearningforkids.co.uk adresini açın ve Başla düğmesine tıklayın. Açılan sayfada Kaydolmadan dene bölümündeki Hemen dene düğmesine tıklayın.
  2. Projeler sayfasında Yeni proje ekle düğmesine basın.
  3. Açılan İngilizce formu doldurun: Project Name (Proje adı) alanına “sesli kedi” yazın. Project Type (Proje türü) listesinden Recognising sounds (Sesleri tanıma) seçeneğini seçin. Ses projelerinde dil seçme alanı yoktur. Storage (Depolama) bölümünde In your web browser (Web tarayıcında) seçeneğini seçin. Böylece proje bu bilgisayarın tarayıcısında saklanır; derse aynı bilgisayardan devam edin. In the cloud (Bulutta) seçeneği öğretmenin açtığı sınıf hesabıyla giriş yapıldığında işe yarar. Son olarak CREATE (Oluştur) düğmesine basın.
  4. Proje kartına tıklayın. Proje sayfasında üç düğme görürsünüz: Eğitme, Öğrenme ve Test ve Make (Yap). Eğitme düğmesine basın. Mikrofon izni istenirse izin verin.

Machine Learning for Kids’te yeni ses projesi

Etkinlik 2: Örnekleri Kaydedelim

  1. Eğitme sayfasında background noise adlı bir etiket kendiliğinden eklenmiş olarak gelir. Bu, arka plan gürültüsü etiketidir. Kutusundaki Örnek ekle düğmesiyle sınıfın normal sesini kaydedin. Kayıt sırasında kimse konuşmasın.
  2. Yeni etiket ekle düğmesiyle üç etiket oluşturun: sola, saga, zipla.
  3. Her etiket için Örnek ekle düğmesine basın ve kelimeyi açık seçik söyleyin. Her etikete en az 8, mümkünse 15 örnek kaydedin. Arka plan gürültüsü için de en az 8 örnek olmalı.
  4. Kelimeleri her seferinde biraz farklı söyleyin: hızlı, yavaş, yüksek, alçak sesle. Grubunuzdaki her öğrenci birkaç örnek kaydetsin; böylece model farklı sesleri öğrenir.

Etiketlere ses örnekleri ekleme

Etkinlik 3: Modeli Eğitelim

  1. Sol üstteki < Projeye dön bağlantısıyla proje sayfasına dönün ve Öğrenme ve Test düğmesine tıklayın.
  2. Yeni makine öğrenimi modelini eğit düğmesine basın ve eğitimin bitmesini bekleyin.
  3. Aynı sayfada Start listening (Dinlemeye başla) düğmesine basıp kelimeleri söyleyin. Model doğru etiketi buluyor mu? Bulmuyorsa Eğitme sayfasına dönüp örnek ekleyin ve yeniden eğitin.

Etkinlik 4: Scratch Oyununu Yapalım

Proje sayfasına dönüp Make düğmesine, sonra Scratch 3 seçeneğine tıklayın ve Open in Scratch 3 (Scratch 3’te aç) düğmesiyle Scratch’i açın. Blok listesinin en altında projenizin adını taşıyan yeni bir kategori göreceksiniz. Buradaki bloklar İngilizcedir; Scratch’in kendi blokları ise Türkçe görünür.

1. Kuklaları hazırlayın. Kedi kuklasının adını Kedi yapın. Bir Kukla Seç düğmesiyle bir Apple (elma) kuklası ekleyin. Değişkenler kategorisindeki Bir Değişken Oluştur düğmesiyle skor adlı bir değişken oluşturun.

2. Kedi kuklasının kodları:

  • 🏁 e tıklandığında bloğunun altına x: 0 y: -130 konumuna git ve projenizin kategorisindeki start listening (dinlemeye başla) bloğunu ekleyin. Model bu bloktan sonra mikrofonu dinlemeye başlar.
  • when I hear sola (sola duyduğumda) bloğunun altına x konumunu -40 değiştir ekleyin.
  • when I hear saga bloğunun altına x konumunu 40 değiştir ekleyin.
  • when I hear zipla bloğunun altına önce içinde y konumunu 8 değiştir olan bir 10 defa tekrarla bloğu, sonra içinde y konumunu -8 değiştir olan ikinci bir 10 defa tekrarla bloğu koyun. Kedi yukarı çıkıp geri iner.

3. Elma kuklasının kodları:

  • 🏁 e tıklandığında bloğunun altına skor değişkenini 0 yap ekleyin.
  • Altına bir sürekli tekrarla bloğu koyun. İçine sırasıyla şunları yerleştirin: x: (-200 ile 200 arasında rastgele bir sayı seç) y: 170 konumuna git; içinde y konumunu -2 değiştir olan bir 150 defa tekrarla bloğu; ardından eğer (Kedi e değiyor mu?) ise bloğu ve onun içinde skor i 1 kadar değiştir.

Böylece elma her seferinde rastgele bir yerden düşer, yaklaşık 5 saniyede yere iner. Yere indiğinde kediye değiyorsa skor bir artar. Yeşil bayrağa tıklayın ve sesinizle oynayın!

Scratch’te sesli kedi oyununun blokları

Sesli oyunun çalışma akışı

⚠️ Önemli Not

Model sizin sesinizden öğrendiği için başka birinin sesini her zaman tanımayabilir. Oyun yanlış tepki veriyorsa sorun çoğu zaman kodda değil, veridedir: Daha çok ve daha çeşitli örnek ekleyip modeli yeniden eğitin. “Hemen dene” ile yaptığınız proje birkaç saat sonra silinir; yaptığınız Scratch oyununu Dosya → Bilgisayarına kaydet ile kaydedebilirsiniz, ancak model bloklarının çalışması için modelin sitede eğitilmiş olması gerekir.

Sıra Sizde

  1. Kedi sahnenin dışına çıkabiliyor. Bunu önlemek için ne yapabilirsiniz? (İpucu: Hareket kategorisindeki “kenara geldiyse sek” bloğunu deneyin.)
  2. Oyuna yeni bir komut ekleyin: “dur” dediğinizde kedi “Mola!” desin. Yeni bir etiket oluşturup örnek kaydetmeyi ve modeli yeniden eğitmeyi unutmayın.
  3. Arkadaşınız oyunu sizin modelinizle oynasın. Kaç komutu doğru tanıdığını sayın. Sonucu iyileştirmek için ne yaptınız?

Kendini Dene

  1. Kedinin kodlarında start listening bloğu olmasaydı ne olurdu?
  2. Etiket adlarında neden “sağa” yerine “saga” yazdık?
  3. Oyunda kedi bazen siz konuşmadığınız halde hareket ediyor. Bunun olası nedeni nedir ve nasıl düzeltilir?

Cevaplar

  1. Model mikrofonu dinlemeye başlamazdı; “when I hear” blokları hiç çalışmazdı.
  2. Machine Learning for Kids etiket adlarında yalnızca harf ve rakam kullanmamızı ister; Türkçe karakterler sorun çıkarabilir. Bu yüzden İngiliz alfabesindeki harfleri kullandık.
  3. Model sınıftaki gürültüyü bir komut sanıyordur. Arka plan gürültüsü etiketine daha çok ve çeşitli örnek ekleyip modeli yeniden eğitmek gerekir.