Firebase için ML Kiti Duyurusu

Merhaba değerli dostlarım,

Bu yıl düzenlenmekte olan Google I/O 2018 etkinliğinde yapay zeka ve makine öğrenimi etkisini oldukça gösterdi. Android P sürümünün daha akıllı olmasını sağlayan makine öğrenimi çalışmalarına Firebase için geliştirilen ML Kit’inin eklenmesi bizleri oldukça sevindirdi. ML Kit, Google’ın makine öğrenimi uzmanlığını Android ve iOS uygulamalarına güçlü ve kullanımı kolay bir pakette sunan bir mobil SDK’dır. Makine öğreniminde bilginiz olsun veya olmasın sadece birkaç satır ile mobil uygulamanızı daha akıllı bir hale getirmeniz hedeflenmektedir. Ayrıca buna başlamak için sinir ağları veya model optimizasyonu hakkında derin bir bilgiye sahip olmanıza gerek yok. Eğer uzman bir ML geliştiricisi iseniz TensorFlow Lite ile geliştirdiğiniz modelleri de rahatlıkla ML kiti ile mobil uygulamanıza uygulayabilirsiniz.

ML Kiti Nedir?

Bildiğiniz üzere günümüz dünyası oldukça hızlı hareket etmeyi bir zorunluluk haline getirmektedir. Bundan dolayı insanlar mobil uygulamaların daha akıllı olmasını istemektedirler. Mobil kullanıcılar, belirli bir işlem için programlanan uygulamalardan ziyade, kendilerine adapte olmayı sağlayan uygulamaları istemektedir. Bunun için yapay zeka ve makine öğreniminde kendimizi geliştirmemiz ve bu alandaki gelişmeleri takip etmemiz gerekiyor. Ancak bu iki alanda kendimizi geliştirmek oldukça zorlu bir süreçtir. Google, geliştiricilerin işlerini kolaylaştırmak ve mobil uygulamaların daha akıllı olmasını sağlamak adına ML Kitini duyurdu. Bu SDK’yı kullanarak profesyonel seviyede ML veya yapay zeka bilginiz olmasa dahi uygulamalarınızı daha akıllı hale getirebilirsiniz.

Bu SDK’nın arkasında yer alan Google teknolojileri genel olarak şunlardır.

  • Google Cloud Vision API
  • TensorFlow Lite
  • Android Neural Networks API

ML kiti tüm bu teknolojileri arkasına alarak bulut tabanlı işlem gücünü, mobil cihazlar için optimize edilmiş cihaz tabanlı gerçek zamanlı özellikleri ve TensorFlow Lite modelinin esnekliğinden faydalanmanızı sağlamaktadır. Bunları yapmak için birkaç satır kod yazmanız yeterlidir.

Google firmasının 8 Mayıs 2018’de duyurduğu ML kitine oldukça güvenmektedir. Çünkü makine öğrenimi mobil geliştirmede önemli bir sıçrama noktasıdır. Bu gelişmeyle birlikte makine öğrenimine dayanan mobil uygulamaların daha fazla tercih edileceğini söylemek yerinde bir tespit olacaktır. Yeni bir gelişme olan ML kiti şu an için beta sürümüyle yayınlanmaktadır. Google firması bu kiti “Google’ın makine öğrenimi uzmanlığını mobil geliştiricilere, Firebase’de güçlü ve kullanımı kolay bir pakette sunan yeni bir SDK.” şeklinde tanımlamaktadır.

Makine öğrenimine başlamak birçok geliştirici için oldukça zor bir süreçtir. Genellikle bu alanda yeni olanlar birkaç temel işlemi yapmak için bile saatlerini hatta günlerini harcamaktadırlar. Buna bir de mobil cihazlarda çalışacak modelleri uyarlamak ve optimize etmeyi eklediğiniz zaman, tecrübeli uzmanlar için bile çok ciddi bir emek gerektirmektedir. Bununla birlikte makine öğreniminin karmaşık olmasından öte, küresel bir kitle göz önünde bulundurulduğunda, kaynak eğitimi verileri daha pahalı ve zaman alıcı bir süreç olmaktadır.

 

Hangi ML İşlemleri Yapılabilir?

ML kitini kullanarak, makine öğrenimi deneyiminden bağımsız olarak Android ve iOS’ta ciddi bir emek ve zaman gerektiren zorlayıcı özellikleri rahatlıkla uygulamanıza kazandırabilirsiniz. ML alanında yeni biri olmanız kesinlikle bir sorun olmayacaktır.

ML kiti ile gelen ve “base” olarak tanıtılan genel ML özellikleri aşağıdaki gibidir.

  • Text recognition (metin tanıma)
  • Face detection (Yüz tanıma)
  • Barcode scanning (Barkod tarama)
  • Image labeling (Resim etiketleme)
  • Landmark recognition (Yer işareti tanıma)

Bizlere sunulan bu temel API’leri kullanarak ML kitine gönderdiğiniz  verilerden sezgisel bir sonuç elde edebilirsiniz. ML kiti yeni olmasına rağmen bu API’leri kullanarak uygulamasına ML özellikleri eklemeyi başaran erken kullanıcılar bulunmaktadır. Bunların içinde Lose It! uygulaması  ML kitini kullanarak kalori izleme özelliğine, makine öğrenimi kazandırmıştır. Örneğin metin tanıma API’sini kullanan bu uygulama, satın alacağınız gıda hakkındaki besleyici bilgilere kolaylıkla ulaşmanızı sağlamaktadır.

Lose It’in dışında bu kiti kullanan bazı firmalar ve ürünler aşağıdaki gibidir.

ML Kiti Nasıl Çalışmaktadır?

ML kiti ile işlemlerinizi hem cihaz hem de bulut üzerinde gerçekleştirebilirsiniz. Her iki yöntem birbiriyle kıyaslandığında artı ve eksileri bulunmaktadır. Cihaz ve Bulut tabanlı ML özelliklerini kullanırken aşağıdakileri bilmekte fayda var;

  • Cihaz tabanlı ML özellikleri ile internet bağlantısı olmadan işlemlerini yapabilirsiniz. Ayrıca bu yöntemde işlemleri daha hızlı gerçekleştirebilirsiniz.
  • Bulut tabanlı API’ler ile çalıştığınızda ise, daha yüksek bir doğruluk düzeyi elde edilmektedir. Burada Google Cloud Platform’unun makine öğrenme gücü etkisini hissettirmektedir.

ML ile gelen özelliklerin cihaz ve bulut tarafındaki kullanımlarını aşağıdaki tablodan görebilirsiniz.

 

ML Kiti Kullanımı

ML özelliklerini kullanmak için Firebase Console sayfasını ziyaret etmeniz gerekiyor. Google hesabıyla giriş yaptığınız zaman aşağıdaki API’leri kullanarak uygulamanıza ML özellikleri kazandırabilirsiniz. 

 

Önümüzdeki Aylarda ML Kiti

Tüm bu olanaklarıyla birlikte ML kiti için önümüzdeki aylarda iki API daha eklenmesi hedefleniyor. Bunlardan ilki mesajlaşma yanıtlarını desteklemenizi sağlayan akıllı yanıtlama API’si, diğeri de yüz algılama API’sine yüksek yoğunluklu bir yüz dağılım özelliği eklenmesidir. Böylece yüz algılama API’sinin daha hassas olması ve daha doğru sonuçlar vermesi hedeflenmektedir.

 

ML Uzmanları için Firebase ML Kiti

Makine öğreniminde iyi bir seviyede iseniz ve sunulan temel API’ler sizler için yeterli değilse bu durumda kendi özel modellerinizi geliştirebilirsiniz. ML kiti ile geliştirdiğiniz TensorFlow Lite modellerini uygulamalarınızda rahatlıkla kullanabilirsiniz. Modellerinizi Firebase’e yükledikten sonra bunların kullanıcılara dağıtımını ve kullanılmasını Firebase yapmaktadır. Bunun en büyük artısı APK dosyanızın boyutunu düşürmesidir. Diğer bir avantajı da uygulamanızı yeniden yayınlamak zorunda kalmadan modelinizi kolaylıkla güncelleyebilmenizdir.

Google firmasının bu alandaki çalışmaları oldukça etkileyici. Makine öğrenimi için şu ana kadar verilen destekler hiçte az değil. TensorFlow gibi bir kütüphanenin ücretsiz bir şekilde geliştiricilere sunulması bunun en büyük göstergesidir. Ancak bir sonraki aşamada karmaşık olan ML özelliklerini normal kullanıcıların da kullanımına sunmak geliyor. Burada ML kiti devreye girmektedir. ML ile birlikte kullanıcılardan elde edilen verilerden hatırı sayılır bir artış bekleniyor. Çünkü iyi bir makine öğreniminde, veri çok ama çok önemlidir. Veri artışı, maliyetlerin ve sunucu masraflarının artması anlamına geliyor. Bir diğer masrafta ML ile üretilen modellerin artışıdır. Bundan dolayı Google firması model sıkıştırma üzerine bir dizi girişimde ve çalışmada bulunmaktadır. Ayrıca yüklenen bir TensorFlow modelinden sıkıştırılmış bir TensorFlow Lite modeli elde etmeyi sağlayan bir özellik üzerinde çalışmalar yapılmaktadır. Bunun arkasındaki teknoloji şu an için geliştirilmektedir. Bu yüzden firma bunları deneyecek geliştiriciler aramaktadır. Bu alanda bilgi ve tecrübeli biriyseniz kesinlikle bu linkten bir hesap oluşturmanızı tavsiye ediyorum. Bu şekilde hem kendinizi hem de teknolojinin geliştirilmesini sağlayabilir insanlık için bu güzel projelere destek olabilirsiniz.

 

Özet

ML kiti hakkında anlattıklarımızı özetlemek gerekirse,

Yaygın ML kullanımı için gereken API’leri sağlar

Bu kit, mobil uygulamalar için bir dizi hazır API’ler ile gelmektedir. Bunlar;

  • Metin tanıma,
  • Yüzleri algılama,
  • Yer işaretlerini tanıma,
  • Barkodları tarama ve
  • Görüntüleri etiketleme olmak üzere 5 tanedir.

Bu genel API’ler ile çalışmak için verileri ML kit kütüphanesine yönlendirmeniz yeterlidir. ML kiti alınan verilere göre sezgisel bir çıktı sizlere sunacaktır.

Cihazda veya Bulutta kullanma imkânı

ML kitini ister cihazda ister bulutta kullanabilirsiniz. Cihaz üzerindeki API’ler verilerinizi hızlı bir şekilde işleyebilir ve ağ bağlantısı olmadığında dahi çalışabilir. Diğer yandan, bulut tabanlı API’ler, size daha da yüksek bir doğruluk düzeyi sağlamak için Google Cloud Platform‘un makine öğrenim teknolojisinin gücünü kullanmaktadır.

Kendi Özel Modellerinizi Dağıtma imkânı sağlar

ML kit’i ile gelen mevut API’ler uygulamanız için yeterli değilse, bu durumda geliştirdiğiniz TensorFlow Lite modellerini de kullanabilirsiniz. Bunun için modeli Firebase’e yüklemeniz yeterlidir. Modellerin uygulamanıza sunulması ve barındırılması işlemini Firebase yerine getirmektedir. ML Kit’i, özel modelinizin daha işlevsel olarak kullanılmasını sağlayarak uygulama geliştirme ve makine öğrenimi özelliklerini birbirinden ayırmayı sağlar.

HATIRLATMA: ML kiti hakkındaki görüşlerinizi şu linkten paylaşarak bunun gelişimine destek olabilirsiniz.

Yazıyı sabırla okuduğunuz için teşekkür ediyorum. Bu sayfayı paylaşarak birçok kişinin yeni gelişmelerden haberdar olmasını sağlayabilirsiniz. Saygılarımla…

Kaynak:

https://firebase.google.com/docs/ml-kit/

https://firebase.googleblog.com/2018/05/introducing-ml-kit-for-firebase.html