Yapay Zeka ve Derin Öğrenmeye Başlama Rehberi

Ayyüce Kızrak
Mar 12, 2018 · 9 min read
Bir otostopçunun galaksi rehberi

“Yapay zeka ve derin öğrenme alanında çalışma yapmak istiyorum ancak nereden ve nasıl başlayacağımı bilemiyorum!” diyenlerdenseniz bu yazı, en çok karşılaşılan sorulardan yola çıkarak hazırlanmış, bir rehber niteliğinde.

1. Yapay zeka nedir?

Yapay zeka, dar zeka ve yapay genel zeka olarak ikiye ayrılmaktadır.

Yapay genel zeka; biyolojik olarak insan sinir sisteminden esinlenerek matematiksel olarak tasarlanan görsel algılama, konuşma ve ses tanıma, hareket, muhasebe ve muhakeme yeteneğine sahip, kendi kendine öğrenme işlemlerini sürdürebilen yazılımsal ve donanımsal sistemler bütünüdür.

Yapay dar zeka ise belirli bir problemin çözümü için geliştirilen ve veriden öğrenen dar kapsamlı yapay zeka sistemleridir.

2. Yapay zeka öğrenmek zor mu? Kendi kendime öğrenebilir miyim?

Hayır, zor değil. Ancak yapay zeka, ciddi anlamda zaman ayırıp çalışmayı gerektiren bir alandır. Üniversitelerde, bilimsel konferanslarda, online eğitim platformlarında, bloglarda ve Youtube’da yer alan

  • dokümanları,
  • videoları,
  • açık kaynaklı uygulamaları,
  • akademik makaleleri

takip ederek seviyenize uygun şekilde kendi kendinize de öğrenmeniz mümkündür.

3. Yapay zeka algoritmalarını ve matematiğini nereden öğrenebilirim?

Yapay zekanın temelini öğrenmek önemlidir. Aksi halde geliştirici değil uyarlayıcı olursunuz. Bu yüzden yapay sinir ağları (artificial neural networks), makine öğrenmesi (machine learning), işlemsel zeka (computational intelligence), derin öğrenme (deep learning) gibi temel dersleri mutlaka takip etmelisiniz:

Birçok değerli kaynağı kullanarak kendi hazırlamış olduğum Udemy’de yayınlanan Deep Learning A-Z™| Python ile Derin Öğrenme dersini de elbette tavsiye ederim!

👽 Kapsamlı Derin Öğrenme Rehberi : Derin Öğrenmede birçok parametre, hiperparametre ve konsept vardır. Bu alanda yeni olanlar için bazı temel konular üzerinden hızlıca geçmek için tarafımca bu not defteri oluşturulmuştur.

Stanford Üniversitesi (Türkçe):

Başak Buluz ve Yavuz Kömeçoğlu ile birlikte Türkçeleştirdiğimiz CS 229 — Machine Learning ve CS 230 — Deep Learning ders içeriklerinden oluşturulmuş el kitaplarını da takip edebilirsiniz!

CS 229 — Makine Öğrenmesi El Kitabı

CS 230 — Derin Öğrenme El Kitabı

Stanford Üniversitesi:

MIT (Massachusetts Teknoloji Enstitüsü):

Hacettepe Üniversitesi:

Online Eğitim Platformları:

Yapay zeka, makine öğrenmesi, derin öğrenme vb. online derslerin sertifikalı eğitimlerine ulaşabileceğiniz online eğitim platformları:

Coursera, Udacity, edX, fast.ai, Udemy, Google

Derin Öğrenme Kitabı:
Deep Learning Book-Ian Goodfellow and Yoshua Bengio and Aaron Courville

Tüm bunların yanında 2016 yılında ODTÜ, 2017 yılında Hacettepe Üniversitesi’nde gerçekleşmiş ve bu yıl Boğaziçi Üniversitesi’nde düzenlenen yapay öğrenme yaz okulları da gelişiminiz için faydalıdır.

4. Yapay zeka için hangi programlama dillerini tercih etmeliyim?

Veri biliminde en çok kullanılan 5 programlama dili*:

  • Python (%57),
  • C/C++ (%44),
  • Java (%41),
  • R (%37), ve
  • JavaScript (%28) dir.

Özellikle Python birçok derin öğrenme kütüphanesinin arka planında kullanılmasından dolayı en çok tercih edilen programlama dili iken veri görselleştirme içinse en tercih edilen dil R’dır. Python programlama dilinin bir diğer avantajı da hem akademik hem ticari uygulamalar için kullanılabilmesidir.

IEEE Spectrum’un 2018 için hazırladığı programlama dillerinin kullanımıyla ilgili araştırmanın sonuçları da şöyle:

Interactive: The Top Programming Languages 2018

5. Makine öğrenmesi ve Optimizasyon için kullanılabilecek diğer alternatifler nelerdir?

Elbette sadece 4. sorudaki programlama dilleri kullanılmamaktadır. En popüler 5 dilden sonra tercih edilen diğer ortamlar aşağıdaki gibidir:

  • Scala
  • Julia
  • Ruby
  • Octave
  • MatLab
  • SAS

6. Yapay zeka uygulaması geliştirmek için hangi araçları kullanmalıyım?

Kendi bilgisayarınızda:

Kullandığınız programlama diline göre uygun IDE (Integrated Development Environment-Tümleşik Geliştirme Ortamı) seçimi yapmalısınız. Örneğin en çok kullanılan Python dilinde çalışıyorsanız Anaconda (Package Management Tool-Paket Yönetim Servisi) ve/veya Visual Studio Code, Java için Eclipse tercih edebilirsiniz.

Ücretsiz bulut ortamında:

Microsoft Azure Notebook (sadece CPU) ve Google Colab (GPU desteği var) herhangi bir kurulum gerektirmeksizin uygulamanızı geliştirmenizi sağlamaktadır.

📺Google Colab kullanımı için anlatım videosu!

7. Derin öğrenme için GPU’ya ihtiyaç var diyorlar, doğru mu?

Doğru, ancak şart değil. Çünkü GPU’ya ihtiyacınız olup olmadığı çalışacağınız veri setine, modelinizin karmaşıklığına ve zaman kısıtınıza bağlıdır.

8. Peki TPU (Tensor İşlem Birimi) nedir ve ne denli ihtiyaç vardır?

Google’ın sunduğu bu teknolojinin arkasındaki ekibe göre, “Yapay sinir ağları temelinden faydalanan üretilen yapay zeka uygulamalarını eğitmek için kullanılan TPU’lar, CPU ve GPU’lara göre 15 ila 30 kat daha hızlıdır!”
✏️ Google Colab üzerine Adım Adım Google Colab Ücretsiz TPU Kullanımı için hazırladığım rehber yazıya buradan ulaşabilirsiniz!

TPU ile Yapay Sinir Ağlarınızı Çok Daha Hızlı Eğitin

🏋 Derin öğrenme modellerini bir de TPU kullanarak eğitmek ister misiniz?!

🍭 Çalışmaya bu bağlantıdan ulaşabilirsiniz!!!

Biyolojik beyinlerimizden daha hızlı işlem yapabildiğini söyleyen Martin Görner tarafından, Google I/O 2019 Konferansında, GoogleCodeLabs altında sunulan çalışmayı Türkçe olarak yayınlamamıza izin verdiği için teşekkür ederiz! 😎 Bu çalışmayı Başak Buluz ve Yavuz Kömeçoğlu ile birlikte çevirdik ve düzenledik. 💁🏻 👨🏻 🙋🏻

9. Hangi problem için hangi modelleri tercih etmeliyim/öğrenmeliyim?

Bunun için daha önce benzer problemlere nasıl yöntemler uygulanmış incelemeniz gerekir. Literatür taraması yapmanız şart ancak Andrew Ng’in Geoffrey Hinton ile yapmış olduğu “Derin Öğrenmenin Kahramanları” isimli röportajda Hinton’ın da söylediği gibi literatürde boğulmadan uygulamaları inceleyip yolunuza bakmalısınız. Teoriye hakim olmanız uygun modeli tasarlayabilmeniz için size gerekli bilgi birikimini sağlayacaktır. Çevrenizle fikir alışverişi yapmayı unutmayın!

  • CNN (Convolutional Neural Networks-Evrişimli Sinir Ağları): Nesne tanıma ve takip etme, stil transferi, kanser tespiti vb.
  • LSTM (Long Short Term Memory-Uzun-Kısa Süreli Bellek): Doğal dil işleme, çeviri, chatbot, finans uygulamaları vb.
  • GAN (Generative Adversarial Networks-Çekişmeli Üretici Ağlar): Sentetik veri üretme, sahte yüz üretme, stil transferi vb.
  • RL (Reinforcement Learning-Pekiştirmeli Öğrenme): Kendi kendine ve az veriyle öğrenen yapay zeka sistemleri vb.

10. Python hiç bilmiyorum, nereden öğrenmeliyim?

Online eğitim platformlarında ilgili dersleri takip ederek ve yapılmış uygulamaları inceleyerek sıfırdan öğrenebilir ya da kendinizi geliştirebilirsiniz. Öğrenmesi kolay bir programlama dilidir.

Python ile derin öğrenme uygulamaları geliştirebilmek için Keras kütüphanesinin yaratıcısı ve Google AI araştırmacısı François Chollet’in Deep Learning with Python kitabına göz atmalısınız.

11. Makine öğrenmesi, derin öğrenme ve optimizasyon uygulamaları geliştirmek için hangi kütüphaneleri (frameworks) kullanmalıyım?

Yapay zeka yani makine öğrenmesi ve derin öğrenme için çeşitli üniversiteler ve şirketlerce geliştirilmiş farklı özelliklere sahip birçok kütüphane ve API’lar (Application Programming Interface-Uygulama Programlama Arayüzü) bulunmaktadır.

Kullanım yoğunluğuna göre bu kütüphaneler aşağıdaki tablodaki gibidir:

Tüm bunlara alternatif olarak aşağıdaki kütüphaneler de kullanılabilir;

12. Veri setlerine nereden ulaşabilirim?

Ücretsiz olarak ulaşabileceğiniz bir çok veri seti sağlayıcıları vardır. Bunların en bilinenleri:

13. Akademik ve/veya ticari çalışmalar için destek programları var mıdır?

Evet, tabi ki var. Akademik çalışmalar için Bilimsel Araştırma Projesi desteği yüksek lisans ve doktora öğrencilerine üniversitelerinde başvuru ile alınabilmektedir. TUBİTAK destekleri hem akademik hem ticari projeleri destekleyecek şekilde sınıflandırılmıştır. Bunların yanında GPU gibi donanım ihtiyacı için NVIDIA GPU Grant Programı ile projeniz için uygun donanımı talep edebilirsiniz.

14. Sürücüsüz araçlar için yapay zeka uygulaması geliştirmeye nereden başlamalıyım? *

Öncelikle yapay zeka nedir, nasıl geliştirebilirim sorularının yanıtlarını takip ederek temel bilgileri edinmelisiniz. Ardından bu dönem ilk kez MIT’de açılan “Deep Learning for Self-Driving Cars” ve Udacity’de açılan “Introduction to Self-Driving Cars” derslerini takip etmek size değer katacaktır.

15. Finans alanında yapay zeka uygulamaları nelerdir? *

Yapay zekanın etki ettiği sektörlerden biri de finanstır. Finans alanında özellikle geleceğe yönelik tahminlerin yapılması ve kar marjının yüksek tutulması önem arz etmektedir. Borsa portföy yönetimi, algoritmik alım-satım işlemleri, sahtekarlık/dolandırıcılık (fraud) tespiti, kredi/sigorta taahhütleri, kullanıcı servisleri, güvenlik 2.0, sosyal medya ve basın kuruluşlarından alınan yazılı bilgilerden yola çıkarak duygu ve haber analizi, satış için ilgili tavsiyeler üretmek gibi çalışmalar makine öğrenmesi yöntemleriyle yapılabilmekte ve gelecekte de popülerliğini sürdürecek olan konulardandır.

16. Bitcoin tahmini yapmak için yapay zeka kullanabilir miyim? *

Makine öğrenmesi veya derin öğrenme modelleri ile kripto para tahmini yapmak da mümkündür. Henüz çok umut vadeden çalışmalar olmasa da makine öğrenmesiyle bitcoin fiyat tahmini yapılmasıyla ilgili çalışmalar bulunmaktadır. [1], [2], [3].

17. Derin öğrenme modeli tasarlamak için gereken donanımlar nelerdir?

Aslında sadece bir bilgisayar ve internet bağlantınızın olması temelde yeterlidir. Yani herkes evinde derin öğrenme modeli tasarlayabilir :) Ancak model tasarlamak bilimsel değerlere sahip olmakla mümkün olabilir. Bu yüzden bir model tasarımını temelden incelemiş olmanız gerekir. Özellikle öğrenciler için maddi kaynak sorun olacağından ücretsiz bulut servislerini çalışmalarınızda kullanmanızı tavsiye ederim. (Microsoft Azure Notebook, Google Colab kullanımı için Fuat’ın yazısı ve bu yazıyı özetlemek için hazırladığım anlatım videosuna buradan ulaşabilirsiniz.)

18. Yapay zeka eline silah alıp insanlığı yok edecek mi? *

Andrew Ng’in de söylediği gibi “Bugün yapay zekanın kötü bir süper zeka olmasından endişelenmek, Mars’taki aşırı nüfus artışından endişelenmek gibidir!” Ancak bu demek değildir ki Mars’a iniş yapmaya çok zaman var. Bu yüzden çeşitli ülkelerde yapay zeka konusunun üzerine etik değerlerin ve hukuksal kuralların düzenlenmesi için çalışmalar yürütülmektedir. Henüz insanların yabancı olduğu bu alanda dikkati dağıtmadan konuyu anlayıp pozitif yönlü çalışmalar yapılmasını tavsiye ederim. Ülkemizde de yapay zeka bilinci ve etiği konusunda çalışmalar AI Ethics Lab kuruluşu ve İstanbul Barolar Birliği’nde düzenlenen seminerler ve çalışma grupları ile başlamıştır.

19. Yapay zekanın cinsiyeti nedir? *

Bugün konu yapay zekanın cinsiyetini sorgulamaya bile gelebilmektedir. Ancak bugünün ve geleceğin alanı olan yapay zeka için üretilen bu tip spekülasyon ve manipülasyonlar ile vakit kaybetmek ülke insanının gelişimine herhangi bir katkı sağlamamaktadır. Yapay zekanın cinsiyetini sorgulamak yerine yapay zeka uygulaması üretmek sizi daha çok heyecanlandırmıyor mu?

20. Elon Musk yapay zekaya karşıysa neden yapay zeka üretmeye çalışıyor? *

Elon Musk’ın karşı olduğu ve tehdit olarak algıladığı şey yapay genel zekadır.

21. Yapay zeka algoritmalarının eksiklikleri ve fazlalıkları nelerdir?

Özellikle derin öğrenme özelinde konuşacak olursak; nesne tanıma, yüz tanıma, anomali tespiti, doğal dil işleme, çeviri vb. problem sahalarında çok fazla veri ihtiyacı bulunmaktadır. Veriye çok fazla ihtiyaç olmayan, sıfırdan kendi kendine öğrenmeye çalışan modellerle (Reinforcement Learning vb.) ise henüz bilgisayar oyunları dışında gündelik problemlere çözümler bulunamamaktadır. Bu süreçte, gelişimine yapay zeka alt dallarında eksiklikler olacaktır, bu da yeni çalışma alanları yaratacaktır.

22. Günümüzde mevcut olan yöntemlerle insan gibi davranan bir yapay zeka tasarlanabilir mi?

İnsanın sahip olduğu bütün özelliklerin, özellikle de muhakeme yeteneğinin, bir makineye kazandırılması için bir vakit söylemek için henüz çok erken.

23. Yapay zekalarda kullanılan nöronların insan gibi davranabilmesi için eksiklikler yok mu?

Evet, kesinlikle var. İnsan beyninin nasıl çalıştığının henüz tam olarak anlaşılamadığı için matematiksel olarak modellenmesi de tam anlamıyla mümkün olmamıştır. İnsan sinir sistemi ve beyin fonksiyonlarının açıklanmasıyla ilgili gelişmeler gerçekleştikçe beraberinde yapay zeka konularına da yeni çözümler üretilmesi mümkün olacaktır.

24. Nöronlar insan beyninde yüzlerce çeşit yapı ve görevle işlerken, en gelişmiş yapay zekada sadece birkaç yapı ve görev ile insan davranışı oluşturulamaz. Değil mi?

Haklısınız. Günümüzde genel olarak belirli problemlere rasyonel çözümler üretmek için yapay zeka sistemleri kullanılmaktadır. Bir bütünlük sağlanması için öğrenmenin az veriyle ve kendi kendine olması gerekiyor.

25. Veri görselleştirme gerekli midir ve bunu nasıl yapabilirim?

Veri görselleştirme

Önemli konulardan biri de veri görselleştirmedir. Çünkü bazen problemin anlaşılması noktasında en belirleyici konulardan biri olabilir. Bir problemi anlamak yola nasıl çıkmanız gerektiğini gösterir. Peki veri görselleştirme hakkında fikriniz yoksa nasıl öğrenebilirim diyorsanız bu ders sizin için güzel bir başlangıç olabilir.

26. Yapay Zeka ile sanat arasında bir bağ yaratılabilir mi?

Bunun için evet ya da hayır demek mümkün değil, oldukça göreceli bir konu olsa bile ben bilim ve sanat arasında mutlak bir bağ olduğunu düşünüyorum. Dolayısıyla sanat olarak algılanacak ürünler ortaya çıkabilir. Bunun için bir kaç örnek verebilirim: Müzik üretimi, görsel üretimi, veri görselleştirme ile hem görsel hem işitsel üretim, yenilikçi ürün tasarımları vb.

📺Artistik Stil Transferi Uygulaması anlatım videosu!

📺Bu tasarımları insan mı yaptı yoksa yapay zeka mı!

🎼ToneNet : A Musical Style Transfer

🎇Refik Anadol-Veriden Heykeller

Katkı veren herkese teşekkür ederim.

*: Bu spesifik ve geniş konular ilgili detaylı içerikler üretilecektir.

Not: Bu yazı sürekli güncelleniyor.

Thanks to Yavuz Kömeçoğlu

    Ayyüce Kızrak

    Written by

    PhD Candidate at Yildiz Technical University | AI + ComputerVision + CognNeuro Research Scientist | www.ayyucekizrak.com/

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade