NEDEN PYTHON YAPAY ZEKÂ VE MAKİNE ÖĞRENİMİ İÇİN ÇOK KULLANIŞLI?
1- Python kullanıcıların gerçek problemlere odaklanmasına yardımcı olur.
Marc-Andre Lemburg, The PSF kurucularından ve eGenix'in CEO'suna göre Python, kodlama için eğitim almamış bilim insanları için anlaması çok kolay bir dil. Özellikle araştırma yapmak için ihtiyaç duyulan harici kütüphaneleri eklerken uğraşılması gereken problemleri ve zorlukları ortadan kaldırdığını belirten Lemburg, Numeric'ten sonra (şimdiki hali NumPy) ve IPython Notebook'ları (şimdiki haliyle Jupyter Notebok'ları), matplotlib ve daha birçok aracın daha eklenmesiyle beraber olaylar daha da sezgisel bir hale geldiğini belirtiyor. Ayrıca Python bilim insanlarının artık çözüm için gereken teknolojinin kullanımına değil de daha çok çözümlerin kendisine odaklanmasını oldukça kolaylaştırıyor. Diğer alanlarda da Python, bir çok teknolojiyi bir araya getiren ideal bir entegrasyon dilidir. Kullanıcılarının dili uygulama detaylarına zaman harcaması yerine problemleri çözmesine olanak sağlar. İşleri kolaylaştırmasının yanısıra, Python harici kütüphaneler ile alt seviyeli entegrasyon geliştirenler için de bir araya getirici bir platform niteliğindedir. Bunun ana sebebi ise Python'un eksiksiz bir C API'ı ile kolayca ulaşılabilir olmasıdır.
2- Python kullanmak istatistik ve matematik odaklı kullanıcılar için gerçekten çok kullanışlı.
Sebastian Raschka, araştırmacı ve Python Machine Learning kitabının yazarına göre ise en büyük iki neden var: Birincisi Python'ı okuması ve öğrenmesi çok kolay. İddialarına göre makine öğrenimi ve yapay zekâ ile uğraşan çoğu insan fikirlerini mümkün olan en uygun şekilde denemeye odaklanmak istiyor. Esas odak noktası araştırma ve uygulamalar, programlama ise sadece bir araç niteliğinde. Programlama dilini öğrenmek ne kadar kolay ve rahat olursa bu dili kullanacak istatistik ve matematik odaklı insan sayısı o kadar artacaktır. Araştırmacı ayrıca Python makine öğrenimi ve yapay zekâ (AI) işlevlerini güncel tutmanıza da yardımcı olduğuna da değiniyor. Yapay zekâ ve makine öğreniminde yeni fikirler denemek genelde karmaşık algoritmalar kullanılmasını gerektirir, dil ne kadar şeffaf olursa hataları bulup onarmak o kadar kolay olur. İkinci ana sebep olarak ise Python kendi başına bile kolay ulaşılıp anlaşılır bir dil olmasına rağmen, muazzam kütüphaneleri ile çalışmalarımızı daha da kolaylaştırdığını savunuyor. Kimse basit algoritmaları tekrar yazmak istemez. Python'un büyük kütüphaneleri sayesinde zaten bilineni tekrar tekrar keşfetmek yerine daha heyecan verici şeylere odaklanacağımıza da değiniyor. Python ayrıca C/C++ algoritmalarının uygulamaları ve CUDA/cuDNN ile çalışırken de bir bütünleyici dil görevi de görebilir. Bu da makine öğrenimi ve derin öğrenme kütüphanelerinin Python'da harika çalışmasının bir sebebi. Özetlemek gerekirse Python, araştırmacılara ve uygulayıcılara gereksiz detaylarla uğraşmaktansa yapay zekâ ve makine öğrenimine daha odaklanmalarına diğer dillere kıyasla daha çok imkan sağlıyor.
3- Python'un bilimsel hesaplama yapmak için birçok özelliği var.
Luciano Ramalho, The PSF dostu ve ThoughtWorks teknik müdürü bu durumun en önemli sebebi olarak NumPy ve SciPy kütüphanelerinin scikit-learn gibi makine öğreniminde adeta bir standart haline gelen projeleri kolaylaştırmasını gösteriyor. NumPy, SciPy scikit-learn ve birçok başka kütüphanenin yaratımının nedeni, Python'un bilimsel hesap yaparken çok cazip birçok özelliğinin olması. Ayrıca Ramalho Python'ın yazılım mühendisi olmayan kullanıcılar için de kolayca ulaşılabilir ve kullanılabilir olan basit ve tutarlı bir yazımı olduğuna da değiniyor. Ona göre başka bir sebep ise operatör aşırı yüklemesi. bu işlem kodu daha okunabilir ve özet bir hale getirip işimizi kolaylaştırıyor. Ayrıca Python'un harici kütüphanelerin dizi benzeri yapıları işlerken PEP3118 adında tampon bir protokolü mevcut. Son olarak Python'ın bilimsel işlemler için zengin bir kütüphaneyi sahip olması daha fazla bilim insanını içine alan ve güvenilir bir ekosistem oluşmasını sağlar.
4- PyTorch Nedir?
Makine öğrenmesi ve yapay zekaya olan ilgi arttıkça, PyTorch adını daha sık duymaya başladık. Python, C++ ve CUDA dilleri kullanılarak yazılmış olan PyTorch nedir? PyTorch, açık kaynaklı bir derin öğrenme ve makine öğrenme kütüphanesidir. Kendisi de Torch kütüphanesine dayanır ve Python tabanlıdır. PyTorch, computer vision ve natural language processing (NLP) gibi uygulamalar için kullanılır. Günümüzde PyTorch pek çok dünya lideri firma tarafından kullanılmaktadır. Bu firmalar arasından Apple, Samsung, NVIDIA ve U.S. Bank en bilinenleridir.
Önemi ve bilinirliği her geçen gün artık PyTorch öğrenmek kolay mı? Evet, PyTorch, diğer derin öğrenme kütüphanelerine göre daha kolaydır. Bunun nedeni, sözdiziminin ve uygulamasının Python gibi geleneksel programlama dillerine benzemesidir. PyTorch'un dokümantasyonu da yeni başlayanların kolay anlayabileceği şekilde geliştirilmiştir.
Salih Bedirhan EKER
Boğaziçi Üniversitesi Bilgisayar Mühendisliği Öğrencisi