Yapay Zekâ Nasıl çalışıyor (How AI Works)?

Geçtiğimiz gün küçük oğlumun ödevlerine bakarken gördüm aşağıdaki resmi. Almanca kelimeler ile resimlerin eşleştirilmesini isteniyordu ödevde. Hiç almanca bilmiyor olmamama rağmen biraz düşünme ile her kelimeyi doğru şekilde eşleştirebildim. Yüzde yüz doğru cevapları seçtim. Eminim siz de rahatlıkla yapabilirdiniz.

Peki bunu nasıl yaptım ya da bu konunun günümüz dünyası ile ne ilgisi var? 

İnsan beyni nasıl düşünüyor ya da düşünmek eyleminde neler gerçekleşiyor? Bilim dünyası uzunca bir süredir bu sorunun cevabını arıyor ve yapay zekâ (AI) üzerine ciddi araştırmalar yapılıyor. İkinci makine dönemi içinde (Artificial Machine) olduğumuz şu dönemde, AI üzerine, özellikle 2010’lardan sonra oldukça mesafe alındı, halen de alınıyor. Zira, gün geçmiyor ki yeni bir AI uygulaması ile karşılaşmayalım.

Şimdi konuyu başka bir perspektiften açıklamaya çalışalım. Resme yani oğlumun ödevine geri dönelim. Almanca kelimeler ile resimleri eşleştirmek…

Hiç bilmediğim almanca kelimelere bakarken bazı çıkarımlar yapmaya çalıştım. Resimlere bakarak Almanca kelimelerin İngilizce ve Türkçe karşılıklarını aklımdan geçirdim (bildiğim diller bu olduğu için).

  • Türkçe aslan kelimesine benzeyen kelime yoktu seçeneklerde ancak İngilizce aslan anlamına gelen ‘lion’ kelimesine benzeyen, onu çağrıştıran ‘Löwe’ kelimesi vardı seçeneklerde. Lion ve Löwe kelimelerinin harf sayıları eşit ve ikisi de ‘L’ harfi ile başlıyordu. Aralarında benzerlik vardı ve ‘löwe’ kelimesi bir ihtimal aslan kelimesinin Almanca karşılığı olabilirdi.
  • Yunus kelimesine benzeyen kelime de yoktu seçeneklerde. Ancak İngilizce ‘yunus’ kelimesinin karşılılığı olan ‘dolphin’ kelimesine oldukça benzeyen, harf sayıları birbirine yakın ve ilk harfi ‘d’ olan ‘delfin’ kelimesi bulunuyordu seçeneklerde. Aralarındaki benzerlik oldukça yüksekti. Büyük ihtimalle ‘delfin’ kelimesi yunusun almanca karşılığı olmalıydı. 
  • Benzer şekilde papağana benzeyen kelime ‘papagei’ olarak, zebra kelimesi ise bire bir aynısı olarak zebra olarak duruyordu seçeneklerde. Bu kelimeler de ingilizce karşılıklarına oldukça yakın ya da aynısıydı. 
  • Maymun için zaten ‘affe’ kelimesi işaretlenmişti ki ne Türkçe (maymun) ne de İngilizce (monkey) karşılığına hiç benzemiyordu.
  • Devekuşu da aynen ‘affe’ gibi Türkçe (devekuşu) ne de İngilizce (ostrich) karşılığına hiç benzemiyordu. Ancak diğer seçenekler yerini bulunca geriye bir tek bu kaldığı için devekuşunun da karşılığı ‘Strauß’ olmalıydı.

Tüm bunları beynimin içindeki ‘neuronlar’ aracılığı ile yapmıştım. Daha önce öğrendiğim kelimeler beynimin içinde yer etmiş (training) ve öğrendiklerimi ilk defa gördüğüm kelimeler (testing) ile karşılaştırarak (algorithm) aralarında benzerlik (similarities) olup olmadığını anlamaya, çıkarım yapmaya çalışmıştım. Bir kelime zaten işaretlenmişti. Dört kelime ile ilgili oldukça benzerlikler bulmuştum ve geriye kalan bir kelime hakkında benzerlik kuramasam da geriye kalan tek kelime olduğu için beş seçeneği de doğru işaretleyebilmiştim.

Peki, ben bu sonuca nasıl ulaşabilmiştim? Daha doğrusu, insan beyninin öğrenme ve karar verme dürtüsünü taklit eden yapay zekâ bu sonuca ulaşabilir mi, ulaşabilirse bunu nasıl yapar?

Cevabı birlikte arayalım. 

Beynimin için deki neuronlar bu kelimelerin İngilizce ve Türkçe karışlıklılarını daha önce defalarca görmüştü ve öğrenmişti (supervised learning). Bir başka ifadeyle makine öğrenmesinin ilk fazı olan ‘training’ session daha önceleri gerçekleşmişti. Şimdi, karşıma çıkan ve daha önce görmediğim kelimeler (unseen data) ile daha önceki öğrenme sürecini test ediyordum. Bunu yaparken yaptığım tek şey kelimeler arasında benzerlik kurmaya çalışmaktı (similarities). Bazen kelime uzunluğu, bazen harflerin benzerliği bazen ise hiç benzerlik olmaması karar verme sürecinde bana yardımcı olmuş ve kelimeler ile resimleri doğru bir şekilde eşleştirebilmiştim.

Yapay zekâ işte aynen bu şekilde çalışıyor. Büyük veri üzerinden öğreniyor ve öğrendiğini matematiksel olarak modelliyor. Öğrendikleri ile yeni gördüklerini model üzerinde karşılaştırarak sınıflandırma (classification) yapıyor (Learning – Modelling – Testing). Tek fark bunu sayılar (vektörler) üzerinden yapıyor. İşin özeti aslına bu kadar basit.

Tabi ki insan beyninin işleyişi çok daha kompleks. Ancak şunu biliyoruz ki gördüğümüz, okuduğumuz, hissettiğimiz, tattığımız ya da duyduğumuz her şey (beş duyudan gelen büyük veri) milyarlarca neuronun (processing unit) oluşturduğu bir ağ üzerinde (Neural Networks) işlenerek, filtrelenerek bir modele dönüştürülüyor ve beynimizde bu model bir süre kalıyor. Yeni bir şey (unseen data) ile karşılaşınca yeni veri beynimizin içindeki, daha önceden öğrenme sürecinde oluşturulmuş ve sayısını bilemediğimiz modellerden ilgili olan ile karşılaştırılıyor ve beyin bir cevap üretiyor. Bir şeye cevap verememenizin gerçek nedeni muhtemelen o konu ile ilgili daha önce öğrenme (training) sürecinden geçmemeniz, yeterince öğrenememeniz (under-fitting) ya da aşırı ezber yapmanız (over-fitting) olabilir. 

Yapay Zekâ uygulamaları (Regression, Classification, Clustering) geleceği şekillendirmeye çoktan başladı. Artık her şey akıllı (smart) olmak zorunda. Smart yani veri üreten ve paylaşan nesnelerden gelen verileri kullanmak fark oluşturuyor. Yapay Zekâ konusunu ivedilikle gündeminize almanızı, bu konu hakkında kendinizi geliştirmenizi öneririm. Bu konu üzerine düşünün derim.

Organizasyonel Gelişim (Martec’s Law)

Teknolojik gelişimi transistor boyutlarının her on sekiz ayda bir yarıya indirgenebilmesi üzerinden açıklayan ‘Moore’s Law’, daha fazla küçülmenin silikonun yarı iletkenlik özelliğini kaybetmesine neden olmasından dolayı artık geçerliliğini kaybetmişe benziyor. Exponansiyel büyüme (artan ivmelenme) gösteren IC içindeki transistor sayısı, önce logaritmik (azalan ivmelenme), şimdilerde ise saturasyon moduna girmiş durumdadır. IC işlem yeteneğini /gücünü daha da artırabilmek ve yeniden artan ivmelenme yakalayabilmek için malzeme bilimciler yeni arayışlar içindeler (graphin, memristor, vs.,).

Silikon teknolojisinin alternatif malzemesi henüz tam netlik kazanmasa da bilim dünyası bu açığı ‘IoT, Big Data/AI, Quantum Computing ve Algoritmalar’ üzerinden telafi etmeye çalışarak, saturasyon modundaki teknolojik gelişim eğrisini yeniden exponansiyel moda dönüştürmeye çalışmaktadır; başarmışa da benziyorlar. Zira, son on yıl içinde hayatımıza giren ve bildiklerimizin geçerliliğini yitirmesine neden olan, teknolojinin exponansiyel olarak yeniden gelişmeye başladığı Endüstri 4.0 teknolojileri ile karşı karşıyayız.

Teknolojinin exponansiyel gelişimi bizi neden bu kadar ilgilendiriyor ve aynı zamanda da endişelendiriyor? Bunu en güzel açıklayan kuramların başında teknolojinin exponansiyel, organizasyonların ise logaritmik olarak geliştiğini; teknoloji ve organizasyonel gelişim eğrileri aradaki mesafenin çok açılması durumunda işletmelerin yaşamsal riske girebileceklerini savunan ‘Martec’s Law’ gelmektedir. Bu kuramı, iki atom arasındaki çekim gücünün aralarındaki mesafenin karesiyle ters orantılı olması durumuna benzetebiliriz: Mesafe açılırsa, atomlar arasında bağ kalmaz ve kopmalar meydana gelir.

Günümüz işletmelerinin en temel sorunlarının başında organizasyonel büyümenin teknolojik gelişime göre yeterli olmaması; teknoloji ile organizasyon yetkinliği arasındaki mesafenin giderek açılması gelmektedir. Altın yumurtlayan kaz örneğinde olduğu gibi yumurtayla birlikte kaza da odaklanarak, organizayonel gelişim eğrisini sık periyotlarda logaritmik moddan exponansiyel moda dönüştürmek gerekiyor, bu sorunun üstesinden gelebilmek için. Zira, teknolojik gelişim evresi, biz işletmecilerin etki alanının dışında olduğu için bu alana müdahale edebilmemiz pek mümkün gözükmemektedir. Yapabileceğimiz tek şey logaritmik moddaki organizasyonel eğrisini belirli aralıklarla ve etkin müdahelelerle exponansiyel moda çevirmek; saturasyon moduna düştüğünde hemen yeni teknikler/stratejiler ile bozulan eğriyi düzeltmeye çalışmaktır. Aynen, sürekli iyileştirme felsefesinde olduğu gibi…

Peki, bu durumda ne yapmak gerekiyor. Dünya; IoT, AI, Nano materyaller üzerine olanca hız ile giderken odaklanılması gereken en öncelikli unsur Çevik Organizasyonlar gibi görünüyor. Keza, esnekliğin ve hızın kombinasyonu olarak tanımlanan çeviklik olmadan ön görülemeyen belirsizlik ile mücadele edebilmek, değişime adapte olabilmek olanaklı değildir. İnsana yatırım ile yetkin iş gücü elde etmek, yetkin iş gücü ile yalın/çevik süreçler tasarlamak, tasarlanan süreçleri uygun teknolojiler ile desteklemek ve kazanımları tüm tedarik zincirinde yaygınlaştırabilmek Çevik Organizasyonların en önemli karakteristiğidir. Keza, Dijital Dönüşümün özünde yalın/çevik (Leagile) stratejiler üzerine teknolojinin bindirilmesi yatar. Bir başka ifade ile standart binanın temeli, teknoloji ise onu yükselten kolonlardır.

Deneyimler göstermiştir ki değişim ya da dönüşümün süreçlerinde başarısızlığın temel nedenlerinin başında karar vericilerin ya da strateji belirleyicilerin süreç içinde etkin rol almaması gelmektedir. Bilgi eksikliği, konuyu önceliğe almama, bütçe ayırmama, kısa zamanda aşırı beklenti ya da değişim sürecini taşere etme yaklaşımı gibi etkenler bu sonucun sebepleri arasında gösterilebilir. Patron ya da karar vericiler 4.0 olmadan işletmenin 4.0 olması, organizasyonel gelişim sürecinde logaritmik moddan exponansiyel moda geçilebilmesi, teknoloji ile organizasyon arasındaki mesafenin kapatılabilmesi mümkün değil gibi gözükmektedir. 

Yapay Zeka (AI)

Bilimin özünde deney yani deneme yatar. Toeri’den kurama; kuramdan yasa ’ya geçebilmek için bilim dünyası sürekli olarak deney tasarlar, gözlem yapar ve öğrenir. Bu zamana kadar bu süreç hep bu şekilde olmuştur; ancak AI (yapay zekâ) bu metodu değiştirmeye çoktan başladı bile. Artık, deneyler çok daha hızlı, doğru ve en önemlisi algoritmalar üzerinden gerçekleşiyor…

AI sistemlerinin temel karakteristiği ‘öğrenme, adaptasyon ve yorumlama’ olarak tanımlanabilir. Bunu şöyle açıklayalım. Önceleri expert sistemler üzerinden bilgi alırdık. Look-up table dediğimiz, kısıtlı (poor data) ancak uzman bilgisine dayanan veri tablolarından elde edilen veri setleri üzerinde istatistik bilimi uygulamaları ve oldukça düşük işlem yeteneğine sahip işlemciler (low computing power) üzerinden analiz yapmaya, süreci anlamaya, yorum yapmaya, geleceği ön görmeye çalışırdık. Ancak şimdi AI ile bu konu farklı bir boyuta geçmiştir. Verilerden sadece geçmişi değil gelecekte ne olabileceğini ya da verilerin bilmediğimiz ancak bize faydası olacak başka neler içerdiğini öğrenebiliyoruz. Örneğin, AI sistemleri artık sadece bir masanın yanına sandalye konulması gerektiğini (Context) değil aynı zamanda masanın dört ayağı olduğunu, üzerine bir şeylerin konulabileceğini de yorumlayarak verinin amacı dışında farklı domainlerde de kullanılabilmesinin önünü açmaktadır (Abstraction).

AI sistemlerini genel olarak üç farklı konunun aynı amaç doğrultusunda bir araya gelmesi ile elde edilen; geçmişi açıklayan ve geleceği ön gören, insanların klasik yöntemlerle hem zaman hem de teknik açından elde edilebilmesi pek mümkün olmayan anlamlı bilgilere ulaşmasına ve kullanmasına olanak sağlayan sistemler bütünü olarak yapabiliriz. IoT ile gelen büyük veri geçmişin poor data kavramının sorunlarını ortadan kaldırırken; CPU/GPU alanındaki gelişmeler işlem yapma hızının (computing power) oldukça ötelere gitmesine olanak sağlayarak, algoritmalar üzerinden gerçekleşen öğrenme sürecinin (iterasyon) gerçekleşebilmesine olanak sağlamaktadır. Bir başka ifade ile şu dönemde AI konuşmamızın ana nedeni büyük veri, işlem hızı ve algoritma alanındaki muazzam gelişmelerdir.

AI sistemini çok genel olarak altı ana bileşen altında irdeleyebiliriz.

  1. Veri (Data): Sensorlar ya da diğer veri kaynaklarından gelen yapılandırılmış veya yapılandırılmamış veriler. Verilerin 90% si yapılandırılmamış kategoridedir. Ancak, AI uygulamalarında değer katan sonuçların 90% ‘ı hemen hemen 10% kısmı oluşturan yapılandırılmış verilerden elde edilir.
  2. Veri hazırlama (Data Preparation): AI sistemlerinde veri setleri aynen excel tabloları gibi satı ve sütunlardan oluşurlar. Veri analizinde vektör, matris ve tensorlerin kullanılması için bu düzen gereklidir. Ancak, aynı zamanda verilerin etkin/hızlı bir şekilde işlenebilmesi, matematiksel modelin doğru oluşturulabilmesi için veri setleri üzerinde hummalı çalışmaların yapılması gerekir (AI uygulamalarında en uzun zamanı bu aşama alır). Verilerin güvenilir, doğru olmasının yanı sıra veri boyutun azaltılması (PCA: Principle Component Analysis) konusu bu aşamada oldukça önemlidir. Zira, makine öğrenmesi süreci gerçekte bu aşamadan sonra başlar. Bu amaç doğrultusunda calculus ve istatistik bilimimin birçok teori ve kuramından faydalanılır. Örneğin; Covariance matrix, veri setleri arasında korelasyon olanları elimine ederek, aralarında ilişki olmayan veri setlerini dikkate alarak veri setinde boyut indirgemesi yapan bir tekniktir. Tabi bununla da iş bitmemektedir. Verilerin normalize edilmesi, outlier eliminasyonu, boş verilerin doldurulması, text verilerin rakamlara dönüştürülmesi gibi birçok şeyin bu aşamada yapılması gerekir. Zira işlem yapma hem maliyetli hem de uzun zaman alan süreçtir. AI sistemine ne girerseniz onu elde edersiniz (garbage in garbage out).
  3. Modelleme (Algorithms): Algoritmalar sürecin beynidir dersek yanılmayız. Intelligence ya da öğrenebilme süreci algoritmalar olmadan gerçekleşemez. Yapay Zekâ (AI) dediğimiz unsurun temelinde ‘deneme (iteration) & öğrenme (learning)’ unsuru yatar. Öğrenme yeteneği (Intelligence) yani birçok girdi verisi ile çıktı atasında matematiksel ilişki kurabilmek (veriyi modelleyebilmek), modellenen veri üzerinden tahminde bulunabilme yetisi AI’ın en temel karakteristiğidir (Machine Learning).  Bunun için AI’ın öncelikle verileri anlamlı bir fonksiyona dönüştürmesi (y= f {x1, x2…, xn}, AI is function aproximation); bu işi gerçekleştirebilmesi için de binlerce hatta bazen milyonlarca defa deneme (iterasyon) yapması gerekir. İterasyon yaparak, hata (error) fonksiyonunu minimize eden matematiksel modeli bulmak ve bulduğu model üzerinden tahmin gerçekleştirmek AI dan beklenen ana işlevdir. Algoritma alanında birçok yeni teknik/metot geliştirilmektedir. Ancak, Lineer cebir ve calculus bilmeden AI sistemleri için algoritma geliştirebilmek pek mümkün değildir. Bu konuda AI sistemlerine referans teşkil eden en eski algoritma perceptron learning algoritmasıdır (+backpropogation). Halen dahi neural networklerde kullanılan bu algoritma (Multi Layer Perceptron) ile support vector machine, random forest, KNN, Lineer Regression gibi birçok farklı algoritma yine farklı amaçlar için AI uygulamalarında kullanılmaktadır.
  4. Knowledge (Human & Machine Teaming). Elbette ki insan ve makine arasında temel farklılıklar vardır. Sürecin basit ve ölçeğin yüksek olması durumunda makineler avantajlı iken; kompleks ve düşük ölçekli süreçlerde insan faktörü halen en doğru çözümü sunabilmektedir. AI konusu Narrow AI ve General AI olarak iki kısımda incelenmektedir. Belirli bir amaç doğrultusunda tasarlanan (ses tanıma, görüntü tanıma, vs.,) AI sistemler narrow AI olarak tanımlanırlar. Tam otonomiye (full autonomy) olarak tanımlanan ki henüz tam mevcut değil general AI olarak tanımlanırlar. AI konusu yukarıda belirttiğimiz gibi binlerce girdi verisi ile çıktı verisi arasındaki ilişkiyi matematiksel olarak modellemek olarak da tanımlanabilir. Veri olmadan (doğru veri) AI sistemi sonuç üretemez. Bu aşamada insan/makine arasında iş bölümünün yapılması gerekir.
  5. Etkileşim (Interact with user). AI sistemleri ile verileri sınıflandırma (classification), gruplama (clustering), geleceği tahminleme (estimation/prediction), keşfetme (searching), optimizasyon ya da farklı çıkarımlar (inference) elde edebiliyoruz. Ancak, bilmek tek başına fayda sağlamıyor; bilgiyi kullanmak da gerekiyor. Etkileşim AI sistemlerinin ürettiği çıktının kullanıcılar tarafından kullanılması sürecidir.
  6. İşlem yeteneği (Computing Power). AI’ın gündemde olmasında işlem yapma hızının oldukça etkisi var. İterasyon süreci her ne kadar veri boyutu, algoritma yeteneğine bağlı olsa da işlem hızının da o denli önemi var. AI, desktop seviyesinde (CPU level) işlem hızı kısıtları nedeniyle sınırlı alanlarda yapılabiliyor. Google, Amazon, Facebook bir devler dil, görüntü, ses işleme, otonom sürüş gibi alanlarda çok güçlü ve hızlı farklı işlemciler (GPU level) kullanıyorlar. Ancak, yine de AI üzerinden istedikleri her şeye henüz ulaşamıyorlar ancak bu konuda çalışmalar üç yönlü yapılıyor: veriyi boyutunu küçültme, daha akıllı algoritmalar ve işlem hızı çok yüksek, daha düşük enerji gereksinimi olan, mevcuda göre çok daha güçlü süper bilgisayarlar. Fizik, kimya, biyoloji ve malzeme alanının ortak çalışmaları sonucu gelişecek olan Quantum Computing (super position) bu eksikliği dolduracak ve yakın bir zamanda bizi Quantum AI çağına itecek gibi duruyor…

AI konusu önümüzdeki yıllara damga vuracak gibi. Bu alanda çalışacak uzman veri bilimcilerine ve yapay zekâ mühendislerine olan gereksinim daha da artacak gibi duruyor. Genç arkadaşlara bu konuyu dikkate almalarını öneririm.

Yakın Gelecek | Quantum AI (New Machine Age)

Çok yakın bir zaman içinde yeni bir devrim ile karşı karşıya kalacak gibiyiz. Quantum AI…

AI ve Quantum Computing ile konvansiyonel teknolojiler üzerinden yapılamayan birçok şey yapılabilir duruma gelecek ve yapmakta olduğumuz birçok aktif faaliyet makinelere devredilecek gibi gözüküyor:

AI, epeydir bilinmesine rağmen gerekli koşullar oluşmadığı için gündemimize alamadığımız bir konuydu. Ancak, şimdi 1) Big Data (IoT), 2) Computing Power, ve 3) Algoritma alanındaki gelişmeler sayesinde etkisini hemen her alanda artırarak hissettiriyor. Geçmiş verilerden (Supervised / Un-supervised Learning) ya da deneyimlerden (reinforcement learning) öğrenerek model oluşturmak ve oluşturduğu model üzerinden geleceği tahminleme (regression), verileri sınıflandırma (classification), gruplandırma (clustering) işlemlerini yapabilmek AI’ın yetileri arasında. AI ‘daki Intelligence kavramı modelleme yapabilme özelliğinden (function aproximation); modelleme yeteneği öğrenebilme karekteristiğinden (learning ability); öğrenebilme yeteneği iterasyon hızından (computing power); iterasyon hızı ise algoritma (math & stats) ve büyük veriden (IoT) geliyor. Yani işin özünde: büyük veri, işlem hızı ve algoritmalar var.

AI, desktop seviyesinde (CPU level) işlem hızı kısıtları nedeniyle sınırlı alanlarda yapılabiliyor. Google, Amazon, Facebook bir devler dil, görüntü, ses işleme, otonom sürüş gibi alanlarda çok güçlü ve hızlı farklı işlemciler (GPU level) kullanıyorlar. Ancak, yine de AI üzerinden istedikleri her şeye henüz ulaşamıyorlar. Veri ve algoritma alanında çok temel sorunlar olmasa da ana sorun Computing Power ya da Iterasyon hızı (işlem ya da hesaplama hızı). AI, veri hazırlama süreçlerinde çok yüksek boyutlu büyük veri paketlerini hızlı bir şekilde çözümleyebilmek için mevcut durumda filtreleme, temizleme, örnek alma ya da özellik azaltma/birleştirme gibi teknikler kullanılsa dahi hayal edilen kurguya ulaşabilmek için işlem hızı çok yüksek, daha düşük enerji gereksinimi olan, mevcuda göre çok daha güçlü süper bilgisayarlara gereksinim var. Fizik, kimya, biyoloji ve malzeme alanının ortak çalışmaları sonucu gelişecek olan Quantum Computing (super position) bu eksikliği dolduracak ve yakın bir zamanda bizi Quantum AI çağına itecek gibi duruyor…

Quntum CPU’lar ile işlem yapabilme yetisi çok farklı bir boyuta geçecek ve şu an hayal edilen ve yapılamayan birçok şeyin makineler tarafından yapılabildiğini göreceğiz. Belki de tarihin tekerrür etmesi gibi yeni bir makine çağına gireceğiz.