Merhaba,
Öncelikle bu hevesini ve düşünceni takdir ediyorum. Her başarı böyle bir hevesle başlar. Çeşitli yapay zeka projeleri yapmış biri olarak elimden geldiğince tavsiyelerimi aktarmak isterim.
Öncelikle doğru bir yapay zeka öğrenimine başlamak için bazı deneyimlere sahip olman gerekiyor. Bunlardan ilki ve en önemlisi algoritma mantığı. Her şeyden önce algoritma mantığını geliştirmelisin. Algoritma mantığı yazılım sektörü için okuma yazma diyebileceğimiz bir şeydir. Algoritma mantığın ne kadar iyi olursa o kadar iyi bir yazılımcı olursun.
İkinci konu temel bilgiler. Yani donanım ve yazılımın temelleri. Bunlar bilgisayarın temelleri, yazılım yaşam döngüsü, nesne tabanlı programlama, veri yapıları, algoritma analizi, sayısal tasarım, ileri programlama teknikleri gibi daha çeşit çeşit konu ve ders olarak ayrılabilir. Buradaki amaç yazılım ve donanımın çalışma mantığını tamamiyle kavrayıp hakim olmaktır.
Üçüncü konu, diğer adımlardaki konulara yeterince hakim olduktan sonra yapay zeka öğrenimine başlanabilir. İlk olarak yapay zekanın temelleri incelenmelidir. Teorik kısmı önemlidir. Zira bu sizin hangi yöntemleri, teknolojileri öğrenip kullanacağınızı belirlediğiniz aşamadır. Yapay zekanın çeşitli dal ve konuları; makine öğrenmesi, derin öğrenme, doğal dil işleme, yapay sinir ağları gibi araştırılır ve teorik olarak öğrenilir.
Dördüncü aşamada eğer yapacağınız çalışmaya karar verdiyseniz hangi teknolojileri ve yöntemleri kullanacağını belirlemeniz gerekir. Yazılım yaşam döngüsü adımlarına bağlı kalarak projenin gereksinimlerini belirlenir. Buradan yola çıkarak projeniz için uygun yöntemleri kararlaştırırsınız. Örneğin görüntü işleme yapacağımı varsayalım. Python dilinde Tensorflow kütüphanesini kullanabiliriz yada C++ dilinde OpenCv kütüphanesi kullanabiliriz yada Matlab kullanabiliriz. Bunların seçimi tamamen yapacağımız projeye bağlıdır hangisi uygunsa onu seçmeliyiz.
Çalışmaya başlarken yazacağınız kodları en optimize şekilde yazmanız gerekir. Zira özellikle boyutu veya karmaşıklığı yüksek veriler ile çalışıyorsanız hem sisteminiz yavaş olacaktır hem de donanımınızı yoracaktır. Eğer bir ekip olarak çalışıyorsanız kodlar tüm ekibin anlayacağı biçimde bir standarda bağlı kalınarak yazılmalıdır. Yapacağınız projeye göre Gpu veya Cpu ihtiyacı olacaktır. Eğer ufak çaplı veya öğrenmek için çalışma yapıyorsanız ve sisteminiz de yetmiyorsa Google Colab, Microsoft Azure gibi sanal platformlar üzerinden Gpu, Cpu, Tpu desteği alınarak çalışmalar yapabilirsiniz.
Yapay zeka çalışmaları normal kodlamadan farklı olarak çok fazla sorun çıkarabilmektedir. Yaptığınız çalışmaya göre donanımınıza bile zarar verebilirsiniz. Bundan dolayı çok çalışma ve uğraş gerektirmektedir. Ben çalışmalarımı yaparken yeri geldi 12-13 saat bilgisayar başından kalkmadan uğraştığım oldu. 1 hafta basit bir sorun üzerinde uğraştığım zamanlar oldu. Dışardan bakıldığında aşırı sıkıcı gibi gözüken bu sektör aslında içine girildiğinde bambaşka bir dünya oluyor. Sıkılmadan bıkmadan bir sorun üzerinde çalışıyorsun ve sonunda çözüme ulaştığında yaşanan haz bambaşka oluyor.
Şöyle düşünmek lazım oluşturduğun yapay zeka bir bebek ve sen ona yürümeyi, okuma yazmayı öğretiyorsun. Daha sonra bırakıyorsun kendi koşmaya bisiklet sürmeye başlıyor. İşte bu çok farklı bir duygu yaşatıyor insana.
En önemlisi araştırma yapmak. Daha fazla öğrenmek. Eğer gerçekten ilgin varsa bilimsel makaleleri oku, araştır, öğren. Daha sonra bir yerden başla. Zor gelecek ama başladıktan sonra hiç de zor değil. Başkalarının çok zor hatta imkansız dediği projeleri tek başına yaptığında imkansız sana kolay gelecek yeni imkansızlar yaratacaksın. Ekip olayına hiç girme. Bireysel öğren arkadaşlarınla bilgi paylaşımında bulun. Ekip olacağım dediğin tüm kişiler belirli seviyeye geldiğinde hepiniz konunuza hakim olduğunuzda bir ekip ile proje çalışmasına başlayın.
Umarım anlattıklarım sana ve kendini geliştirmek isteyen nice insana faydalı olur. Eğer merak ettiğin başka bir konu olursa bilgim dahilinde yardımcı olmaya çalışırım.