TinyML
Günümüzde ham sensörlerden gelen verilerin bir çoğu mikrodenetleyicilerden analiz
etmek için kullanılmıyor. TinyML teknolojisi bulutun en ucunda cihaz üzerindeki analizleri
gerçekleştirme yeteneğine sahip, düşük güç harcamasıyla gömülü sistemlerde ve akıllı
sistemlerde kullanımı artacak olan bir alan olduğu öngörülmektedir. TinyML, otomatik
görevleri gerçekleştirmek için mikrodenetleyiciler ve mikrodenetleyicilerde kullanılacak
sensörler ile geliştirilmiş düşük enerjili sistemlere uygulanabilir.Günümüzdeki enerji
fiyatlarınıda göze aldığımızda sağlayacağı güzel avantajlardan sadece birisi olduğunu
söyleyebiiliriz. Diğer avantajları da hızlı ve performanstan ödün vermeden sınırlı donanım
kaynaklarında çalışma imkanı sunmasıdır. Böylelikle makine öğrenimi ve gömülü
sistemler bir araya gelebilmektedir.
TinyML kullanım alanları neler olabilir konusunda belli başlı bir alan öngörmemiz
mümkün olmayacaktır. Her sektöre uygulanabilir bir makine öğrenimi sistemi olması
nedeniyle endüstri sektörünü olumlu etkileme potansiyeline sahiptir. Bu noktada hangi
durumlarda kullanımı tercih edebiliriz sorusu daha doğru olacaktır. Bunun için şunları
söyleyebiliriz:
–Düşük güçlü ve sınırlı kaynaklara sahip aygıtlarda makine öğrenimi modelleri
geliştirmek isteniyorsa,
–Bilgi işlem ağırlıklı makine öğrenimi modellerinin uygun olmadığı diğer gömülü
sistemlerde,
–Anormallik tespitinin yapılması istenen durumlarda,
–Mikrodenetleyicilerde sensörlerden elde edilen verilerin gelişmiş analizi ve veri
görselleştirmeleri yapılmak isteniyorsa,
–Düşük enerji kullanımı ile uygulanabilecek bir proje varsa,
–Nesnelerin interneti(IOT) projeleri gerçekleştirilecekse
TinyML’nin amacı, piller ve mikrodenetleyicilerle çalışan gömülü cihazların
makine öğrenimi işlerini anında tamamlayabilmesini sağlamaktır.
Günümüzde farkında olmasakta aktif olarak kullandığımız TinyML sistemleri
bulunmaktadır. Google Asistan, Siri ve Alexa gibi uygulamalarında uygulamayı aktif
hale getirmek için sesli uyandırma sözcüğü kullanır. Örneğin Google Asistan
uygulamasını aktif hale getirmek için “Hey Google” dediğimizde uygulama cihaza
yüklenen bir makine öğrenimi modeli yardımıyla yerel olarak atanan görevi çalıştırır.
ABI Research’e göre , 2030 yılına kadar TinyML yonga seti ile toplam 2,5 milyar
cihazın üretileceği öngörülüyor.TinyML’nin öncüsü kabul edilen Pete Warden,
TinyML sistemlerinin 1 mW’ın altında bir güç tüketiminde çalışmayı hedeflemesi
gerektiğini bir kitabında belirtmişti. 1 mW tüketimin, bir cihazı, aylar ila bir yıl arasında
makul bir ömre sahip standart bir pil ve küçük lipo-piller ile kullanılabilmesi demek.
TinyML ile yapılabilecek projelere farklı sektörlerde kullanımına yönelik bize fikir
olması açısından ele alalım:
Sağlık Hizmeti: Sensörler kullanılarak bir hastanın sağlık durumunu tahmin
etmek ve acil bir durumda tıbbi personele uyarı göndermek için TinyML
kullanılabilir.Örneğin, taşınabilir bir EKG cihazı, kalp ritimlerini analiz edebilir ve
bir kullanıcının kalp krizi geçirip geçirmediğini belirleyebilir.
Stok Yönetimi: Bir ürünün sayısı belirli bir sayıyı düştüğünde uyarılar oluşturmak
için raflar veya depolar sensörler kullanılarak taranabilir. Böylece müşterilerin
satın alma modeli tespiti yapılıp, gerektiğinde ürünün yeniden otomatik olarak
stoklanması sağlanabilir.
Orman Yangını Tespiti: Sıcaklık, nem ve gaz sensörleri kullanılarak orman
yangınlarını önceden tespit etmek için orman boyunca TinyML modüllerine
sahip uç cihazlar kurulabilir.
Tarım: Bir bitkinin resmini çekerek hastalıklarını tespit etme, ürün verimliliğini
arttırma, doğal kaynakların daha verimli kullanılmasını sağlamak gibi amaçlar
için TinyML kullanılabilir.
Cihaz durum kontrolü: Cihazın anaormal bir sorunu olduğunda uyarı verebilir.
Makine arızalarını tespit etmek ve üretim sürecini optimize etmek için endüstri
sektöründe kullanılabilir.
Otonom Araçlar: Otonom araçlar, sensörler ve kameralar gibi çeşitli veri
kaynaklarından gelen verileri TinyML kullanarak analiz edebilirler. Bu, aracın
etrafındaki nesneleri algılayabilmesine olanak tanır.
Edge Impulse Platformunu Kullanarak TinyML modeli oluşturalım
TinyML projeleri oluturmaya imkan sağlayan birçok platform geliştirilmektedir. Bu
bülten yazısında herkesin sensörden veri elde edip machine learning modeli
oluşturabilmesi için telefonun sensörleri kullanılacaktır. Oluşturulacak TinyML
modeli ile yerleştirmek istediğimiz gömülü sistemlerde hareket algılama tespiti
yapılabilir. Modelimiz kullanılarak sağ-sol, yukarı-aşağı , dairesel hareket ve
hareketsiz olma durumları belirlenebilir. İvme-ölçer sensörü(hareket açısını
algılama) ile örneğin, bir kişinin spor yaparken fiziksel aktiviteleri takip edilerek,
aktivite düzeylerinin değerlendirilmesi için bir hareket tespitine dayalı model
geliştirilerek gömülü sisteme entegre edilebilir.
Edge Impulse ile programlayabileceğiniz birçok kart bulunmaktadır.
3.Adım – Cihaza bağlanma: Cihazlar sekmesinden, Yeni bir Cihaz ekle diyerek
sensörden değer okumak istediğimiz cihaz eklenebilir. Karşımıza bu aşamada üç
seçenek çıkmaktadır. Telefondaki sensörleri kullanabilmek için telefona bağlanma,
bilgisayarınıza bağlanma veya mikrodenetleyici karta bağlanma. Biz bu aşamada
telefondaki sensörleri kullanmayı tercih edeceğimiz için Telefonu QR Kod ile okutarak
bağlanıyoruz.Bağlandığında durum kısmı yeşil olacaktır.
5.Adım – Veri Setinin Oluşturulması: Bu aşamada left-right, up-down,circle, idle
etiketlerinden 10’ar saniyelik hareket algılama için veriler oluşturuyoruz. Telefonda
oluşturduğumuz her veri, otomatik olarak sayfaya eklenecektir. Her etiketten eşit
sayıda veri seti oluşturalım. Projede her etiket grubu için 150 saniyelik veri setleri
oluşturulmuştur.
Veri setimizin %80’i train veri, % 20’si test verisi olarak ayrıldı. Data acquiwition
sekmesinden veri setine gelerek oluşturmuş olduğunuz ham verileri Raw Data
kısmından inceleyebilirsiniz.
Spectral Analysis, bir sinyalin frekans bileşenlerini belirleyerek, sinyalin
özelliklerini anlamamızı sağlamaktadır. Bu işlem, bir sinyalin zamana bağlı
dalga formunu frekans bileşenlerine ayrıştırarak gerçekleştirilir.
Classification, etiketleri olan örnek verilerden öğrenmesi ve daha sonra bu
etiketlere göre yeni girdileri doğru bir şekilde sınıflandırması gereken makine
öğrenimi modelidir.Sınıflandırma modeli, girdi verilerini alarak, verinin hangi sınıfa
ait olduğunu tahmin eder.
Anomaly Detection (K-Means) ,Yeni verilerde aykırı değerler bulmak için Edge
Impulse platformu kullanılabilir. Bilinmeyen durumları tanımak ve sınıflandırıcıları
tamamlamak için kullanılması gerekir.
Sol panelde yer alan Spectural feaures ve Anomaly detection kısmından veri
setinize ait bu özellikleri görebilir ve düzenleyebilirsiniz.
8.Adım – Model Eğitimi: Oluşturduğumuz modeli veri setiyle eğitmemiz gereken
aşamaya geldik. Edge Impulse, eğitim işlemini otomatikleştirmek için bir arayüz
sunmaktadır. Sol panel sekmesinde yer alan Classsifier sekmesine gelerek Start
Training diyerek modelimizi eğitelim.
Netron bir model görselleştirme ve analiz aracıdır. Makine öğrenimi, yapay zeka
ve veri bilimi için kullanılan popüler model türleri için (TensorFlow, PyTorch, ONNX,
Keras vb.) destek sunmaktadır. Modelinizi yükleyebileceğiniz ve modelinin
katmanlarını, bağlantılarını ve parametrelerini görebileceğiniz bir arayüzü
bulunmaktadır. Modelin yapısı ve özellikleri hakkında bilgi alarak, hızlı bir şekilde
tanımanıza yardımcı olmaktadır. Bu, özellikle bir modelin karmaşık yapılarına sahip
olduğu durumlarda, modeldeki sorunları gidermek veya iyileştirmeler yapmak için
kullanılabilir.
Edge Impulse’dan indiridiğimiz modeli , Netron’da inceleyebiliriz.