Machine Learning Engineer Program : Sık Sorulan Sorular
# Cihan Özhan kimdir?
2000'lerin başından beri yazılım, siber güvenlik, veritabanı gibi alanlarda projeler geliştiren aktif bir araştırmacı ve yazılım geliştiricidir.
2010 yılından beri kendi proje ve girişimlerini yaparken aynı zamanda Türkiye'nin en büyük tüm bilişim akademilerinde eğitim vermiş ve bazı ileri seviye alanlarda kurumsal eğitim ve danışmanlıklar vermeye devam etmektedir.
Yapay zeka ve yazılım merakı 2000'lerin başlarında dahil olduğu siber güvenlik/hacking platformlarındaki AR-GE çalışmalarına dayanmaktadır. Bir nevi, hackleyebildiği sistemin çalışma mantığını derinlemesine anlayabilmek için o teknolojilerde uzmanlaşmaya çalışmıştır.
Bu şekilde bir çok programlama dili, veritabanı, altyapı ve yapay zekanın farklı bir çok alanında çalışmalar yapma fırsatı bulmuştur.
2014-2015 yıllarında insansız otomobil odaklı ve sonrasında otonom fabrika altyapıları geliştirmek üzere AR-GE çalışmaları yapmıştır.
Şuan yapay zeka güvenliği ve siber güvenlik sektöründe yapay zeka kullanarak Blue/Red Teaming yapabilen bir yapay zeka hacker girişimi üzerine çalışmaktadır.
# Machine Learning Engineer programına nasıl başvurabilirim?
Başvuru formu üzerinden : Başvuru Formu
# Soru/cevap ve kaynak paylaşımı için anlık iletişim kanalınız var mı?
Var, Discord
# Eğitimlerin video kaydı alınıyor mu?
Eğitimlerin video kaydı düzenli olarak alınmaktadır.
# Eğitim online gerçekleşen canlı bir eğitim mi, yoksa videolu bir eğitim midir?
Machine Learning Engineer programı online/canlı olarak gerçekleştirilen bir eğitimdir.
Ayrıca katılımcıların gelişimini hızlandırmak için yazılımın farklı alanlarında onlarca saatlik bir çok video kurs da ücretsiz olarak verilmektedir.
# Eğitim programının adı neden "Machine Learning Engineer"?
Yapay zeka diğer bir çok çok-disiplinli alanda olduğu gibi yanlış anlaşılma ve yorumlara açık bir alandır.
Yapay zeka sadece matematik, sadece kod, sadece teori gibi alanlara tekilleştirilemeyecek/sığdırılamayacak kadar fazla uzmanlıktan ve alt gereksinimlerden oluşur.
Bir yapay zeka araştırmacısı sadece modele(AI algoritmasının koda dökülmüş hali), sadece ilgili algoritmanın matematiksel uzmanlığına, ya da sadece o modelin bir yazılım olarak sunulmasına odaklanabilir.
Ancak bu yaklaşımlar çok daha fazladır: Yapay zekaya sinir bilimi, psikoloji, sosyoloji, güvenlik, performans ve daha bir çok farklı yaklaşım mevcut...
Bir modeli geliştirmek için bir çok uzmanlık ve bilgiye sahip olunması gerekir. Fakat bunu yapabilmek ilgili modelin profesyonel bir girişim olarak yayınlanabilmesi ve ürüne dönüştürlebileceği anlamına gelmez.
Ürüne dönüştürülme süreci tamamen yazılımsal uzmanlık, bilgi ve tecrübe gerektirir. Bunları kapsayan uzmanlığa da "AI/ML Engineer" diyoruz.
Bir Machine Learning Engineer uçtan uca bir yapay zeka projesini geliştirme bilgi ve tecrübesine sahip, bir AI projesini sıfırdan uçtan uca geliştirip ürüne dönüştürebilecek(olması gereken!) kişilere denir.
"Cihan Özhan Machine Learning Engineer" programınmın amacı, yıllarca edinilen ileri seviye ve derin yazılım geliştirme tecrübesini yapay zeka ile birleştirerek sıfırdan ürün/proje geliştirebilen uzmanlar yetiştirmektir.
# Yapay zeka akademik bir alan mı yoksa uygulamalı mı?
Her ikisi de!
- Eğer akademik bir kariyer planlıyorsanız yapay zekanın teorik ve algoritmaların matematiksel altyapılarına odaklanmanız ve bu alanlarda uzmanlaşmanız gerekir. Tercih etmediğiniz sürece tek bir satır kod yazmanız gerekmeyebilir.
- Eğer yazılımcıysanız ve yapay zeka alanında uygulayıcı olarak ilerlemek, projeler/girişimler geliştirmek istiyorsanız yapay zekanın onbinlerce detaya sahip yazılım ve yazılım altyapılarına odaklanmanız gerekir. Sınırsız uygulama, ortalama teorik bilgi yeterlidir.
Yapay zeka temellerini ücretsiz ve hızlandırılmış olarak öğrenmek için Cihan Özhan'ın 5.5 saatlik "Yapay Zeka Başlangıç Rehberi" videosunu izleyebilirsiniz.
--> Video : https://www.youtube.com/watch?v=ynh3OR_bmns
# Machine Learning Engineer eğitimi uygulamalı mı yoksa teorik mi?
Hem teorik hem de uygulamalıdır. Yapay zeka da her bir konunun teorik bir altyapısı vardır, bu nedenle ilgili bölüme/konuya girmeden önce teorik anlatım, sonrasında yoğun şekilde programlama ile bir çok uygulama gerçekleştirilir.
Genel bir ortalama vermek gerekirse (her bölüm ve konu için):
- Uygulama : %70
- Teorik : %30
# Machine Learning Engineer eğitiminin teorik kısımları matematik ağırlıklı mı gerçekleşecek?
Teorik bölüm matematik odaklı değildir. Bu eğitim tamamen yazılım/uygulama odaklıdır ve matematik formülleriyle ya da sadece sunum ile gerçekleşmez.
Teorik olarak bahsedilen kısım uygulama öncesinde ilgili algoritmanın çalışma mekanizmasını/kurallarını görsel ve mantıksal olarak anlatmayı hedefler.
Bir AI uygulayıcısı için bir algoritmanın çalışma mekanizmasını anlamak yeterlidir.
Yapay zeka alanında akademik ilerlemek yerine uygulayıcı olarak ilerlemek isteyen kişiler için bu yaklaşım yeterlidir.
*Yapay zeka alanında akademik kariyer ya da AI Researcher olarak ilerlemek isteyenler bu eğitim haricinde matematiksel AI yaklaşımı için eğitim alabilir ya da ek kaynaklar takip edebilir.
Örnek 01 : Kriptografi ve Matematik
Tecrübeli yazılım geliştiriciler bir çok kriptografi algoritması/library'si kullanır ve bu algoritmalara hakim olabilirler.
Ancak kriptografi temel olarak matematiksel bir uzmanlıktır. Buna rağmen, iyi bir yazılımcının dahi kriptografiye matematiksel olarak bakması ya da hakim olması gerekmez.
Örnek 02 : Oyun ve Matematik
Dünyada onbinlerce oyun geliştirici ve girişimi mevcut. Oyun geliştirmenin çekirdeği/temelleri matematik ve fizik bilgisine bağlıyken bu kadar oyun nasıl geliştiriliyor?
Cevabı gayet basit: Bu oyunların çok büyük çoğunluğu(neredeyse tamamı bile denebilir) çok gelişmiş oyun/fizik motorları ile geliştiriliyor.
Eğer bir oyun/fizik motoru geliştirmek ya da böyle bir ürün geliştiren bir firmada çalışmak isterseniz matematik bilginizin(+ yazılım) çok iyi olması gerekir.
Fakat eğer siz oyun alanında bir "uygulayıcı" olmak isterseniz odaklanmanız ve derinliğine kadar uzmanlaşmanız gereken şey o hazır oyun/fizik motorlarıdır. Bu da iyi bir yazılım bilgisi gerektirir.
*Yapay zeka çalışmalarında genel araştırmalar yapabilmek için lise/üniversite seviyesinde temel matematik bilgisi yeterlidir.
# Machine Learning Engineer programı için yazılım/programlama bilgisi ne kadar önemli?
Çok :)
Hiç programlama bilgisi olmayanların öncelikle programlama bilgi ve yeteneklerini geliştirmesi gerekmektedir. Machine Learning Engineer programı tamamen uygulamalı bir eğitimdir. Fakat yıllarınızı yazılıma vermiş olmanız gerekmez.
*Eğitim için gereken Python ve diğer yazılım bilgileri Cihan Özhan tarafından kendi YouTube kanalında ücretsiz olarak paylaşılmıştır.
# Hangi programlama diliyle ne kadar programlama bilgisi gerekiyor?
Bu eğitimden faydalanabilmek için en az Python programlama dilini function(fonksiyon), class(sınıf), inheritance(kalıtım/miras), temel dosya işlemleri seviyesine kadar iyi biliyor olmalısınız.
Eğer Python ya da hiç bir programlama dilini bilmiyorsanız Cihan Özhan'ın anlattığı onlarca saatlik Python Programlama Dili videolarını ücretsiz olarak takip edebilirsiniz.
Aşağıdaki eğitimler size gereken programlama bilgisini fazlasıyla sağlayacaktır:
- Python Programlama Dili (PlayList) : https://www.youtube.com/playlist?list=PLr48dQTh3FFxkKlY3Cv4E4sq3tqiDUTY0
- Flask ile Web Programlama (PlayList) : https://www.youtube.com/playlist?list=PLr48dQTh3FFz5dyjGkpZ3RELMsQJze5qF
# Eğitim PyTorch ile mi yoksa TensorFlow ile mi gerçekleştirilecek?
PyTorch ve TensorFlow dünya genelinde yapay zeka uygulama geliştirme sektörünü domine etmektedir.
Machine Learning Engineer programında hem PyTorch hem de TensorFlow'un yeteneklerinden faydalanacağız.
# Machine Learning Engineer programı için web ve veritabanı programlama temelleri bilgisi gerekli mi?
Temel seviyede, evet!
| Web Programlama
Web programlamayı geliştirdiğimiz bir AI modelinin yayınlanması için kullanacağız. Ve unutmayın! Bu eğitim programı uçtan uca bir içeriği kapsıyor.
Web programlama uzmanı olmanız gerekmez, sadece Python ile Flask Web Framework'ünü kullanmış ve temelleri biliyor olmanız yeterli olacaktır.
Cihan Özhan'ın Ücretsiz Flask ile Web Programlama Eğitimi : https://www.youtube.com/playlist?list=PLr48dQTh3FFz5dyjGkpZ3RELMsQJze5qF
| Veritabanı
Yapay zekayı doğru anlamak gerekiyor. Eğer 5.5 saatlik Yapay Zeka Başlangıç Rehberi videosunu izlediyseniz(aksi halde izlemelisiniz), yapay zekanın tamamen veri üzerine inşaa edildiğini göreceksiniz.
Bu veri metinsel, resim, ses, stream, frekans ya da herhangi bir dijitalleştirilebilir veri olabilir. Bu durumda, hangi veri türü üzerine odaklanmak istiyorsanız öncelikle o veri türüne hakim olmak için çalışılmalı.
Dünyada çok amaçlı veri depolama yazılımı da veritabanı olduğuna göre, veritabanı programlama için kullandığımız SQL dili temellerini bilmek size avantaj sağlayacaktır.
Strese gerek yok! Bunun için de Cihan Özhan'ın ücretsiz eğitimleri mevcut:
1 - Server Veritabanı Programlama (10 Saat, 2021) : https://www.youtube.com/playlist?list=PLr48dQTh3FFwi4x7FMkNx49JH_ve6eWdr
2 - SQL Server Veritabanı Programlama (2014) : https://www.youtube.com/playlist?list=PLr48dQTh3FFyJdRhEK-YHt4qrg7sJKTJT
Ayrıca, Cihan Özhan'ın 2013 yılında yayınladığı 700 sayfalık İleri Seviye T-SQL Programlama kitabı da ücretsiz olarak kaynak kodlarıyla birlikte yayınlanıyor.
Bunlar da yetmezse Cihan Özhan'ın Udemy'deki PostgreSQL, SQL Server, SQLite veritabanları için hazırladığı kursları inceleyebilirsiniz.