AI Builder ile Model Oluşturma

Bu makalede Microsoft AI yeteneği ve AI Builder’la model oluşturma üzerine bilgiler bulacaksınız.

Herkese merhaba,

Power Platform’un üzerine inşaa edildiği temel öğelerden biri olan AI Builder’dan bahsedeceğim. Bildiğiniz gibi Power Apps ve Power Automate’de geliştirdiğiniz uygulama yada flow (akış)lara AI yeteneği kazandırabiliyordunuz. Bu yazımda her zaman olduğu gibi işe en temelden başlayacağım ve AI Builder’dan bahsetmeden önce AI nedir ve nasıl AI Modeli oluşturulur bunlara birazcık değineceğim.

Microsoft’un tanımına göre AI, bilgisayarın insan zekasını taklit etme yeteneğidir. Yapay zeka ile bilgisayarların görüntüleri analiz etmesi, konuşabilmesi, etkileşime girebilmesi ve mevcut verileri kullanarak tahminleme yapabilmesi beklenmektedir. Aslında tasarım amacı insan beyninin taklit edilmesidir. Ancak insan beyninin bile henüz küçük bir kısmı keşfedilmişken şuan için AI’dan beklentimiz yukarıda saydıklarımla sınırlandırılmış. Kim bilir belki ileride rüya, biliçaltı, fonksiyonel kontrol gibi yetenekler de AI’a kazandırılır.

Tıpkı beynimizin görüp öğrendiğimiz deneyimlerimizden yola çıkarak herhangi bir konuyla ilgili karar verme mekanizması gibi yapay zekada da olay verilerin toplanması ve belirli algoritmalar üzerine oturtulup modellenmesi üzerine kuruludur. Yapay zeka 3 unsurdan beslenir; veri, verilerin saklanması ve algoritmalar..

Telefon, tablet ve bilgisayarlar en büyük veri kaynaklarımız. 2020’de yaklaşık 4 milyar insanın sosyal medya kullanımı göz önüne alınırsa tüm markaların, bankaların veya diğer satış ve hizmet kanallarının sosyal medya verileri başta olmak üzere veri analizine dayalı tahminlere ragbet etmeleri oldukça normal. Bu kadar verinin saklanması ise günümüzde gelişen cloud (bulut) teknolojileri sayesinde eskisi kadar sorun oluşturmuyor.

Microsoft’un gelişmiş cloud teknolojisi Azure’ın AL çözümü çok yönlü. İşi çok basitten başlatıp istediğiniz kadar karmaşık hale getirebilirsiniz. Uygulamalarınızda AI özelliğinden yararlanabilmek için AI konusunda çok bilgili veya tecrübeli olmanıza gerek yok. Mesela Cognitive Service’ler sayesinde bir dizi REST API çağırabiliyorsanız uygulamanıza duyma, konuşma, anlama ve görme yetenekleri kazandırabilirsiniz yada API yazmanıza gerek kalmadan kurum içi uygulamalarınıza Power App üzerinden AI builder ve hazır modeller ile yukarıdaki özellikleri uygulamanızda kullanabilirsiniz.

Bir diğer seçenek Azure Machine Learning Studio, Power Platform gibi sürükle bırak ile AI çözümleri oluşturmanızı sağlar. Azure Machine Learning’den bahsetmişken servislerden de bahsedelim. İki grup servisi mevcuttur: Visual Interface ve Code Interface. Aslında yapabilirliklerine baktığımızda Visual Interface, ML Studio prensibinde çalışır. Adından da anlaşılacağı gibi görsel olarak sürükle bırak ile deploy edebilirsiniz, tıpkı ML Studio çalışma prensibi gibi.. Ancak birinde olup diğerinde olmayan özellikler var.

Özetle Microsoft’un AI ekosistemini ML Studio, Azure ML Servisleri ve Cognitive Servisler oluştururlar. Bu kısım fazlaca detay barındırıyor içerisinde ve açıkçası benim uzmanlık çizgimin biraz dışarısında. Azure machine learning ve servislerini burada bırakıp Power Platformdan devam ediyorum.

Power Platform’da Power Apps ve Power Automate için AI Builder ile AI modeli oluşturabilirsiniz. Üstelik gerçekten çok kolay ancak modelin işleyebilmesi için titizlikle ve sabırla üzerinde çalışmak gerekiyor.

Model oluşturmak için daha önceden yapmış olduğum bir uygulama üzerinden sizlere örnek vereceğim. Prusa Natural, domatesli, ıspanaklı ve sade olmak üzere üç çeşit erişte satan bir firma. Projenin AI kısmında bizden istedikleri üç çeşit eriştenin paylaşılan resimlerde tanınması. Aslında proje daha kapsamlı ancak AI Builder için bu kadarını bilsek yeterli. Bunun için oluşturacağım modele önce erişte çeşitlerini tanıtacağım, ardından değişik fotoğraflarda etiketleyeceğim (tag) ve son olarak da modeli test etmek amacıyla rastgele bir fotoğraf koyacağım ve tanımladığım bilgiler doğrultusunda erişteyi tanımaya çalışacağım.

Bunu yaparken yüksek çözünürlüklü fotoğraf çekimlerini ve değişik açılardan çekilmiş fotoğrafları kullanacağım. Ne kadar çok fotoğraf yüklerseniz ve etiketlerseniz model objeyi o kadar iyi tanıyor ve performansı yükseliyor. Modelin objeyi öğrenmesi zamanla artıyor.

Nesne tanımlama için “Object Detection” modelini kullanacağım. Diğer model çeşitleri için ve örneğin devamını anlamanız için şu postuma göz atmanızı tavsiye ederim.

Gideceğim adres;

Power Apps > AI Builder > Build > Object Detection

Açılan pencerede Modelimin adını “Prusa_Natural” olarak giriyorum ve Create diyorum. Unutmayın minimum 15 resim gerekiyor.

ve model sayfam açılıyor. Bu sayfada modelimizin domain’ini belirleyeceğiz, bu domain kullanılan herhangi bir nesne veya raflarda kullanılan bir nesne yada marka logosu olabilir. Prusa Natural için tanımlayacağım şey (erişte) bir “common object” ve “next” diyorum.

Domain seçitikten sonra sırada modele tanımlayacağım objelere geldi. Resimlerde tanımasını istediğim 3 çeşit erişte tipi vardı. Bunları “+Add new object” diyerek elle manuel olarak giriyorum. Bu esnada isterseniz “select from database” diyerek veritabanından da seçebilirsiniz.

Yukarıda belirttiğim objelerin resimlerini yüklediğim adımdayım. Şimdilik resimelr için veri kaynağı kısıtı var ve lokalden, sharepoint ve Azure Blob Storage’dan resim yüklemenze izin veriliyor. Benim resimlerim lokalimde.

En iyisi her obje için en az 15 resim yüklemeniz. Tabii ne kadar fazla varyasyon eklerseniz modelin öğrenmesi o kadra yüksek olacağı için doğru tanımlama ihtimali de yükselecek .

ve “next” diyorum.

Bu aşama biraz sabır gerektiriyor. Bazen beyaz aydınlanma ışığını görebilirsiniz ama unutmayın ne kadar titizlikle etiketleme yaparsanız model o kadar başarılı olur. Dikkat etmeniz gereken her obje için en az 15 etiket oluşturmanız. Sabırlar diliyorum..

Tüm etiketlemeleri bitirdikten sonra “next” diyorum.

Modelimin özetini görüyorum, değiştirmek istediğim veya eklemek istediğim bir adım varsa ağaçtan geri dönebilirim. Yoksa da “train” diyerek modelimi oluşturuyorum.

Modelin öğrenmesi biraz zaman alıyor, bu adımda biraz beklemenizde fayda var. Statu “trained” olduğunda artık AI model yayınlanmaya hazır haldedir. Unutmayın yayınladıktan sonra modelde yapacağınız değişiklikler update olarak geçecektir. O yüzden bu adımda son kez yaptıklarınızı kontrol edebilirsiniz.

Modelin performansının düşük olmasının sebebi verilerimin zayıf olması yani benzer fotoğraflar koymam ve fotoğraf/tag sayımın az olması. Bunu zamanla geliştirebilirsiniz. Performans yükseldikte objeyi tanıma ihtimali de yükselecek.

Modeli yayınlamadan önce küçük bir test uygulayıp herhangi bir erişte fotoğrafı koyacağım ve erişteyi analiz etmesini bekleyeceğim.

Gördüğünüz gibi tabağın içindeki erişteyi 54% benzerlikle tanımladı. Sizin için yeterliyse “publish” edebilir ve Power Apps yada Power Automate’de kullanabilirsiniz.

Biraz uzun bir makale oldu ama umarım sizin için faydalı olmuştur.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s