“Yapay zekâ öğrenmesi” ifadesi genellikle iki farklı ihtiyacı anlatır: yapay zekânın nasıl öğrenildiğini anlamak veya yapay zekâ ve makine öğrenmesi alanında çalışmaya başlamak. Kodlama açısından en doğru başlangıç, veriden örüntü çıkaran makine öğrenmesi temellerini öğrenmek; ardından derin öğrenme ve üretken yapay zekâ konularına geçmektir. Bu sırayla ilerlerseniz küçük bir sınıflandırma projesi geliştirip modelin başarısını ölçebilir, ancak sonucu gerçek dünyada güvenilir kabul etmeden önce veriyi ve hataları ayrıca inceleyebilirsiniz.
Bir yapay zekâ sistemi çoğu zaman kendiliğinden bilgi edinmez. Önce örneklerden oluşan bir veri kümesi hazırlanır. Girdi olarak verilen özellikler ile beklenen çıktı arasındaki ilişkiyi öğrenen bir model oluşturulur. Örneğin e-postaların “istenmeyen” veya “normal” olarak işaretlendiği bir veri kümesinde model, yeni bir e-postanın hangi sınıfa daha çok benzediğini tahmin etmeye çalışır.
Makine öğrenmesinde temel süreç; veri hazırlama, eğitim, doğrulama ve test aşamalarından oluşur. Eğitim verisi modelin örüntüleri öğrenmesi için kullanılır. Doğrulama verisi model ayarlarını değerlendirmeye, test verisi ise daha önce görmediği örneklerdeki başarısını ölçmeye yarar. Model eğitim verisini ezberlerse buna aşırı öğrenme denir; böyle bir model eğitim verisinde başarılı görünürken yeni verilerde kötü sonuç verebilir.
Kodlama ve uygulama hedefliyorsanız aşağıdaki sıra gereksiz konu kalabalığını azaltır:
İlk proje, sonucu açıkça tanımlanabilen ve küçük bir veri kümesiyle çalışılabilen bir problem olmalıdır. Örneğin amaç, kısa metinleri iki kategoriye ayırmak olabilir. Girdiniz metin, çıktınız kategori olur. Model eğitildikten sonra daha önce kullanılmamış bir metin verilir ve modelin tahmini alınır.
Bu sonuç yalnızca modelin o girdiye ilişkin tahminidir; metnin kesin olarak doğru kategoriye ait olduğunu kanıtlamaz. Test başarısı yüksek olsa bile veri kümesi küçük, tek tip veya hatalı etiketlenmişse gerçek kullanımda performans düşebilir. Bu nedenle başarı ölçümünün yanında yanlış sınıflandırılan örnekleri de tek tek inceleyin.
Hazır bir yapay zekâ aracını kullanmak; doğru istem yazmayı, çıktıyı denetlemeyi ve araca uygun girdiler hazırlamayı gerektirir. Bir modeli geliştirmek ise veri toplama, model seçimi, eğitim, değerlendirme ve bakım süreçlerini kapsar. Hazır bir araçtan alınan düzgün görünen çıktı, modelin nasıl eğitildiğini veya her durumda doğru çalıştığını göstermez.
Kodlama öğreniyorsanız önce küçük ve ölçülebilir bir problem seçin. Girdiyi, beklenen çıktıyı ve başarısız sayılacak durumu yazılı olarak tanımlayın. Daha sonra veriyi eğitim ve test bölümlerine ayırıp modeli eğitin; son olarak hem ölçüm değerini hem de yanlış tahminleri inceleyin. Bu yaklaşım, yalnızca model çalışıyor mu sorusunu değil, hangi koşullarda güvenilir olduğu sorusunu da yanıtlar.
Yapay zekâ nasıl öğrenir?
Bir yapay zekâ sistemi çoğu zaman kendiliğinden bilgi edinmez. Önce örneklerden oluşan bir veri kümesi hazırlanır. Girdi olarak verilen özellikler ile beklenen çıktı arasındaki ilişkiyi öğrenen bir model oluşturulur. Örneğin e-postaların “istenmeyen” veya “normal” olarak işaretlendiği bir veri kümesinde model, yeni bir e-postanın hangi sınıfa daha çok benzediğini tahmin etmeye çalışır.
Makine öğrenmesinde temel süreç; veri hazırlama, eğitim, doğrulama ve test aşamalarından oluşur. Eğitim verisi modelin örüntüleri öğrenmesi için kullanılır. Doğrulama verisi model ayarlarını değerlendirmeye, test verisi ise daha önce görmediği örneklerdeki başarısını ölçmeye yarar. Model eğitim verisini ezberlerse buna aşırı öğrenme denir; böyle bir model eğitim verisinde başarılı görünürken yeni verilerde kötü sonuç verebilir.
Öğrenmeye hangi sırayla başlanmalı?
Kodlama ve uygulama hedefliyorsanız aşağıdaki sıra gereksiz konu kalabalığını azaltır:
- Python’da değişkenler, koşullar, döngüler, fonksiyonlar, listeler ve sözlükler.
- Veri okuma, eksik değerleri ele alma, tablo biçimindeki veriyi inceleme ve basit grafikler.
- Makine öğrenmesinde sınıflandırma, regresyon, özellik, etiket, eğitim verisi ve test verisi kavramları.
- Model başarısını doğrulukla sınırlamadan kesinlik, duyarlılık, F1 skoru veya ortalama hata gibi uygun ölçütlerle değerlendirme.
- Sinir ağları, katmanlar, ağırlıklar, kayıp fonksiyonu ve gradyan temelli öğrenme.
- Metin, görüntü veya ses gibi gerçek bir problem alanında küçük bir proje geliştirerek sonuçları inceleme.
İlk proje nasıl seçilmeli?
İlk proje, sonucu açıkça tanımlanabilen ve küçük bir veri kümesiyle çalışılabilen bir problem olmalıdır. Örneğin amaç, kısa metinleri iki kategoriye ayırmak olabilir. Girdiniz metin, çıktınız kategori olur. Model eğitildikten sonra daha önce kullanılmamış bir metin verilir ve modelin tahmini alınır.
Bu sonuç yalnızca modelin o girdiye ilişkin tahminidir; metnin kesin olarak doğru kategoriye ait olduğunu kanıtlamaz. Test başarısı yüksek olsa bile veri kümesi küçük, tek tip veya hatalı etiketlenmişse gerçek kullanımda performans düşebilir. Bu nedenle başarı ölçümünün yanında yanlış sınıflandırılan örnekleri de tek tek inceleyin.
Bir yapay zekâ projesinde karar ölçütleri
| Aşama | Kontrol edilecek soru | Sorun görülürse |
|---|---|---|
| Veri | Örnekler yeterli, ilgili ve doğru etiketlenmiş mi? | Eksik, yinelenen veya yanlış etiketli kayıtları ayırın. |
| Eğitim | Model eğitim verisini ezberliyor mu? | Ayrı doğrulama verisi kullanın ve model karmaşıklığını azaltmayı değerlendirin. |
| Test | Daha önce görülmeyen veride sonuç nasıl? | Test verisini eğitim sırasında tekrar tekrar kullanmayın. |
| Kullanım | Yanlış tahminin maliyeti nedir? | Tek bir başarı oranı yerine hata türlerini ve insan denetimini değerlendirin. |
Yapay zekâ öğrenmek ile yapay zekâ kullanmak arasındaki fark
Hazır bir yapay zekâ aracını kullanmak; doğru istem yazmayı, çıktıyı denetlemeyi ve araca uygun girdiler hazırlamayı gerektirir. Bir modeli geliştirmek ise veri toplama, model seçimi, eğitim, değerlendirme ve bakım süreçlerini kapsar. Hazır bir araçtan alınan düzgün görünen çıktı, modelin nasıl eğitildiğini veya her durumda doğru çalıştığını göstermez.
Kodlama öğreniyorsanız önce küçük ve ölçülebilir bir problem seçin. Girdiyi, beklenen çıktıyı ve başarısız sayılacak durumu yazılı olarak tanımlayın. Daha sonra veriyi eğitim ve test bölümlerine ayırıp modeli eğitin; son olarak hem ölçüm değerini hem de yanlış tahminleri inceleyin. Bu yaklaşım, yalnızca model çalışıyor mu sorusunu değil, hangi koşullarda güvenilir olduğu sorusunu da yanıtlar.