Servis Olarak “Zeki” Algoritmalar
Hepimiz biliyoruz ki bilgisayarlar ilk olarak matematiksel işlemleri mekanik hale getirerek kolaylaştırmak için üretildiler ve bilgi saklama, hızlı ve hatasız işlem yapabilme gibi işlevlere sahipler. Fakat modern toplumun üyeleri olarak bizler, bilgisayarların bu temel işlevlerinin ötesinde, bu teknolojik araçlardan artık daha fazla şeyler bekliyoruz. Bizimle diyaloğa giren, kararlarımızda bize yardımcı olan, hatta bizim adımıza karar veren, büyük veri yığınları içerisinde farkına varamadığımız ilişkileri ve örüntüleri tespit eden “zeki” yazılımlarla donatılmış sistemlerin hızla yaygınlaşması bu beklentinin bir sonucu.
Önümüzdeki yıllarda, günlük yaşamımızın bir parçası olan diğer elektronik cihazların hatta otomobillerimizin git gide bilgisayarlaşacağını düşündüğümüzde, “zeki” yazılımların daha da önem kazanacağı kuşku götürmez bir gerçek. Adını son dönemlerde “Yapay Zeka” kavramı ile birlikte sıkça duymaya başladığımız Makine Öğrenmesi(Machine Learning), tam da bu dönüşümün merkezinde yer alan kavramlardan biri. Makine Öğrenmesi, bilgisayar bilimleri içerisinde yer alan bir araştırma alanı ve en genel tanımıyla, insan beyninin sahip olduğu bazı bilişsel yeteneklerin bilgisayarlar için de olanaklı hale getirilmesini amaç ediniyor.
Makine öğrenmesi araştırmaları kapsamında bilgisayarların, sınıflandırma, kümeleme, tahmin, akıl yürütme, karar alma, örüntü tanıma vb. işlevlere sahip olabilmesi için gerekli yöntemler ve algoritmalar üretiliyor.
Aslında günlük yaşamımızda sıklıkla kullandığımız pek çok uygulama içerisinde, Makine Öğrenmesi algoritmalarını kullanan işlevler yer almakta. Fotoğraf içerisindeki yüzlerin tespit edilmesi, parmak izi tanıma, ses tanıma, el yazısı tanıma, sesin yazıya çevrilmesi, sürücüsüz otomobiller, sepet analizi, finans ve bankacılık sektöründe müşteri kredi risk analizi gibi kurumsal uygulamalar bunlara örnek olarak gösterilebilir.
Makine Öğrenmesi algoritmaları ve yöntemleri genellikle karmaşık matematiksel ve istatistiksel yöntemleri temel alıyorlar ve bazı durumlarda yüksek seviyede bilgi işlem kaynağına ihtiyaç duyuyorlar. Algoritmaların geliştiriciler tarafından uygulamaların içerisine entegre edilmesi ve performans sorununun ortadan kaldırılması bu anlamda ekstra bir çaba demek. Geliştiricilerin baş etmek durumunda kaldığı bu zorluğu ortadan kaldırmak için zekice bir çözüm ortaya atılmış durumda. Bu çözüm de; bu algoritmaların bulut platformları üzerinde servis olarak sunulması. Makine öğrenmesi algoritmalarının servis olarak sunulması, geliştirilen uygulamalar içerisinde bu algoritmaların kullanımını basitleştiriyor ve algoritmaların işleyişinde gereksinim duyulan yüksek bilgi işlem kaynağını bulut platformu yüklendiğinden dolayı uygulamanın performans problemini de ortadan kaldırıyor.
Servislere, artık neredeyse standart haline gelen REST API kullanılarak erişilebiliyor. Dolayısıyla mobil, web, masaüstü gibi herhangi bir platformda geliştirilen bir uygulama için bu servisler kullanılabilmesi olanaklı hale geliyor. IBM, Google, Microsoft gibi bilişim dünyasının önde gelen şirketleri kendi çözümlerini geliştiricilerin hizmetine sunmuş durumda. Önümüzdeki yıllarda bu alanda da ciddi bir rekabetin olacağını tahmin etmek hiç zor değil. Ayrıca önde gelen şirketlerin bu alana önem vermeleri de ayrıca “zeki” uygulamaların ileride yaygınlaşacağının ve ne kadar önemli olacağının belkide bir göstergesi.
Sonuç olarak; Yapay Zeka, Makine Öğrenmesi(Machine Learning) gibi kavramların yazılım geliştirme alanında oldukça önemli hale geleceği, bu teknolojilerle geliştirilen uygulamaların klasik uygulamalara göre bir adım önde olacağını anlamak hiç zor değil. Diğer yandan, bu gelişmeler dünyada oldukça yeni. Belkide, bu teknolojiler sayesinde henüz keşfededilmemiş ve dünya çapında bir etkiye sahip olacak proje fikirlerini hayata geçirme şansına sahip olacağız. Bundan dolayı, geliştiriciler olarak hızlı hareket etmemiz, dünyanın gerisinde kalmamamız gerekiyor.
Bu genel çerçeveyi çizdikten sonra, bir sonraki yazımızda Makine Öğrenmesi algoritmalarını daha detaylı inceleyeceğiz. Bu alandaki oldukça yeni ve önemli hizmetlerden biri olan “Microsoft Cognitive Services” hizmetini tanıyacağız.