Bilgisayarlar nasıl “görür”? — Computer Vision ve Deep Learning

https://www.dji.com/mavic-air

Zeka mı, Bilinç mi?

Nasıl çalışıyor?

Videolar, Resimler, Koordinatlar:

  • Elinize kareli bir defter alın.
  • Kareli defterin her bir karesini 0 ve 1 arasında bir sayı ile numaralandırın.
  • Herhangi bir karenin içinde yazan sayı ne kadar 1'e yakınsa, o kareyi o kadar beyaza boyayın.
  • Sayı ne kadar 0'a yakınsa, o kareyi o kadar siyaha boyayın.
  • Sayı 0.5 ise, kareyi griye boyayın.
http://pippin.gimp.org/image_processing/chap_dir.html

Koordinatlar

  • Parmağını kareli defterin (resmin) sol alt köşesine koy.
  • Parmağını 4 çizgi (4 piksel) sağa götür.
  • Dur.
  • Parmağını 9 çizgi (9 piksel) yukarı götür.
  • Artık, (4,9) noktasındasın.
https://www.mathswithmum.com/find-coordinates-point-maths/

Tekrardan Drone’un yaptığı şey:

  • Bir resim düşünün, içinde bir el olsun.
  • Resimdeki elin etrafına bir dikdörtgen çizin. El, dikdörtgenin tam içinde olsun.
Nöral ağ, bu videodaki her resim için ayrı ayrı işlem yapıp dikdörtgenin köşelerini buluyor.

Dikdörtgenin köşelerini bulmayı Nasıl Öğrendi?

Beyin mi?

Kaynak: 3Blue1Brown
  • İçine kareli defterdeki sayıları atabiliyorsunuz.
  • Sonra bu nöral ağdan, doğru cevabın çıkmasını umabiliyorsunuz.

Bir cevabın çıkmasını umabiliyoruz. Ama o cevap nasıl doğru çıkıyor?

Binlerce el yazısı rakam resmi. https://neurohive.io/en/datasets/researchers-expanded-the-popular-mnist-dataset-with-50-000-new-images/
  • Veri seti, binlerce resim, ve o resimlerin hangi sayılar olduklarına dair doğru cevapları içeriyordu.
  • Yapay Zeka, başta, sallamasyon şekilde resimlerin hangi sayı olduğunu tahmin etti.
  • Yapay Zeka’nın tahminleri ile doğru cevaplar arasındaki fark hesaplandı. (Basitçe çıkarma işlemi yapıldı.)
  • Bu farkı küçültmek için, nöral ağdaki nöronların her birini nasıl değiştirmeliyiz? Bu hesaplandı. (türev alarak, gradient descent, backpropagation)
  • Hesaplara uygun olarak nöronlar (nöron ağırlıkları) değiştirildi. (updating neuron weights)
  • Az önce saydığım üç adım, binlerce resim için, yüzbinlerce kez tekrar edildi. (eğitim, training)
  • En sonunda nöronları o kadar eğitmiş, o kadar kez doğru yönde geliştirmiş olduk ki, nöral ağ, doğru sonuçlar çıkarmaya başladı.
  • Bir yuvarlağa giren sayıların hepsi toplanıyor. Yuvarlağa o sayı değeri yazılıyor.
  • Herhangi bir nöronun (çizginin) kalınlığı ile nöronun solunda kalan yuvarlaktaki sayı çarpılıyor.
  • O nöronun (çizginin) sağında kalan yuvarlakta, o yuvarlağa giren tüm nöronların sonuçları toplanıyor. (1. maddede de bunu yazdım aslında.)
  • En son, biz nöral ağda sağa doğru gide gide tüm yuvarlakları bitirince, kareli defterdeki sayılarımız, “işlenmiş” şekilde nöral ağdan çıkmış oluyor. Bu “işlem” doğru öğrenilmişse, çıkan sonuç doğru oluyor.

Özetle:

  • Videolar basitçe resim yığınıdır.
  • Resimler basitçe kareli defterlerdir. (matris)
  • Bazı yapılar (nöral ağlar), bu kareli defterlerden, elin koordinat noktalarını tahmin edebilirler.
  • Başka bir örnek vermek gerekirse bu yapılar, uygun veri seti ile eğitilirlerse, el yazısıyla yazılmış rakam fotoğraflarının, hangi rakam olduğunu tahmin edebilirler.
  • Nöral Ağlar üstte gördüğünüz resme benzerler. İçlerinde nöron denen çizgiler bulunur. Nöronlar, piksel değerlerini (en soldaki yuvarlakları) çarpma ve toplama işlemleri ile işlerler, sonraki yuvarlaklara iletirler. Sıradaki yuvarlağın içinde iletilmiş sonuçların hepsi toplanır. Bir sonraki yuvarlağa iletmek üzere işleme devam edilir.
  • Bu nöral ağlar, bir verisetini alıp, sallayarak tahmin yapıp, tahminleri ile doğru sonuçların arasındaki farka bakarlar. Tahminlerini nasıl iyileştirebileceklerini hesaplarlar. Bunu yaparken türev kullanırlar.
  • Sonra hesaplarına uygun olarak kendilerini, yani içlerindeki nöron ağırlıklarını yani çizgilerin kalınlıklarını değiştirirler.
  • Bunu binlerce resim için yüzbinlerce kez tekrar ettiklerinde, o işi çok başarılı şekilde yapabilen yapılara dönüşmüş olurlar.

Peki bunun Jedi’lıkla ne alakası var?

https://www.dji.com/mavic-air
  • Evinizde ışıkları açıp kaparken
  • Televizyonun kanalını değiştirirken
  • Bilgisayarda çizim yaparken
  • Oyun oynarken
  • Hoparlöre sesi kıs demek için
  • İçinde bulunduğunuz araçları yönetmek için
Thor (Film, 2011): Sizin atalarınız o şeyi büyü olarak adlandırırdı. Şimdi, siz, aynı şeyi bilim olarak adlandırıyorsunuz. Oysa benim geldiğim gezegende bu ikisi aynı şey.

--

--

--

Machine Learning Engineer at Primer AI | Sharing thoughts on computers and other geeky stuff

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ahmet Melek

Ahmet Melek

Machine Learning Engineer at Primer AI | Sharing thoughts on computers and other geeky stuff

More from Medium

Complete guide to setup TensorFlow GPU in Ubuntu 22.04/21.10

Rock-Paper -Scissors-Lizard-Spock 🗿 📝 ✂️ 🦎 🖖

Dive into the field of Artificial Intelligence in 10 weeks.

FPGA vs. GPU for Deep Learning —Introduction