ChatGPT sanki asırlardır hayatımızdaymış gibi gelse de, muhtemelen adını bile duymadığınız GPT-1, 2018'de, ChatGPT olarak bildiğiniz o meşhur yazılımsa, 2022'nin Kasım ayında doğdu. Yani daha iki yılını bile doldurmadı. Şu anda ayda 20 dolar ödeyerek erişebileceğiniz Gpt ise, hayatımıza 14 Mart 2023'te girdi. Bunlar daha dün bile sayılmaz ve ChatGPT'nin yarattığı rüzgar, Claude ve Lama gibi diğer büyük dil modellerine, Sora gibi video üretim yapay zekalarına ve Suno gibi müzik üretim yapay zekalarına yayılarak her şeyi değiştirdi.
De, tüm bunlar nasıl çalışıyor hiç düşündünüz mü? Yani nasıl oluyor da bir yazılım gördüğü bir fotoğrafın neye ait olduğunu anlamakla kalmıyor, üzerine bir de o fotoğraftaki matematiksel denklemi çözüp... bir de sesli olarak bize çözüm yollarını anlatabiliyor.
Ya da nasıl oluyor da bir yazılım aynı anda hem Nazım Hikmet tarzında bir şiir yazıp hem de kuantum mekaniği dersi verebilecek düzeyde fiziğe hakim olabiliyor? Kaputun altında neler oluyor? Sahi bir makine herhangi bir şeyi nasıl öğreniyor?
Gelin bir bakış atalım. Bugünkü videomuza geçmeden önce bu videomuzun bir kısmına sponsor olan Honor'un mesajını size iletmek istiyorum. Yeni Honor 200 ve Honor 200 Pro telefonunu özellikle de fotoğraf çekmek için kullananlar için harika bir seçenek. 50 megapiksel yapay zeka destekli ana kamerası, 50 megapiksel telefoto kamerası ve 50 megapiksel selfie kamerasıyla gerçekten kolay kolay bulunmayacak bir kombinasyon. Ayrıca Honor 200 serisi, Roger Federer gibi dünyaca ünlü isimlerin portrelerini çekmeleriyle tanınan Stüdyo Harcourt'un fotoğrafçılıktaki deneyimiyle yapay zeka teknolojisini birleştirerek profesyonel bir stüdyoda 1-2 saat sürecek çekim işlemini hızlı ve kolay bir şekilde tamamlamanıza yardımcı olarak adeta profesyonel bir fotoğrafçı olmanıza olanak tanıyor.
5200 mAh'lık dev bataryası... ve 4000 nitlik ekranıyla özellikle de gündelik kullanım ve mobil oyunlar için çok iyi bir aday. Eğer yeni bir telefon arayışındaysanız, güvendiğiniz teknoloji uzmanlarının analizlerine göz attıktan sonra ihtiyacınız varsa aşağıya bıraktığım linklere bir bakın derim.
Şimdi gelin yapay zeka devrimi nasıl mümkün olabiliyor öğrenelim. Yazılım veya algoritma dediğimiz şey, 100 milyar kerede aynı girdiği verseniz, her seferinde aynı çıktığı verebilen, insan gibi yorulmayan, sıkılmayan, hataya neredeyse tamamen kapalı olan mantıksal bir reçete aslında. Hesap makinelerini düşünün veya Excel gibi bir aracı düşünün.
Hatta internet sitelerine gitmekte kullandığınız o URL çubuğunu düşünün. Oraya evrimagici.org yazdığınızda bir gün Wikipedia'yı, ertesi gün Netflix'i açsaydı ve sonucu bilemeseydiniz... o yazılımı kullanamazdınız, öyle değil mi? Veya hesap makinenizin aynı işlemin sonucunu her seferinde farklı verdiğini düşünün.
Yazılımlar bize müthiş bir hız kattılar. Ama işte geleneksel yazılım mimarilerindeki bu katı determinizm bir yandan da üretilen sonuçların zenginliğini kısıtladı. Halbuki zeka dediğimiz şeyi etkileyici kılan şey katılığı değil, esnekliği ve kıvraklığı. İşte bunu sağlayabilmek için daha olasılıkçı, daha istatistiki araçlar geliştirmeye başladık ve nihayetinde yapay zeka dediğimiz yazılımlar doğdu.
Bunlar daha stokastik yani daha öngörülemez bir doğaya sahipler. Ama bu öngörülemezlikleri ayarlanabilir ve hatta tetiklenebilir yapıda. O sayede her seferinde farklı yanıtlar üretmelerine rağmen halüsinasyonlar gibi hatalar bir yana yanıtlarının doğruluk değeri makul derecede tutarlı kalabiliyor.
İşte peki bu nasıl mümkün oluyor ama? Bakın! GPT, GPT diyoruz ama ne bu GPT?
O harflerin bir anlamı olmalı değil mi? GPT, Generative Pre-trained Transformer demek. Generative yani yaratıcı. Bazı insanların iddia ettiğinin aksine bu yapay zekalar ortaya kopyala yapıştırı olmayan özgün bir şeyler koyabiliyorlar. Pre-trained yani ön eğitimli tabirinden kasıt çok büyük bir veri setiyle önceden eğitilmiş olmaları.
Peki neden trained yani... eğitilmiş değil de pre-trained diyoruz dersiniz. Çünkü bunlar geniş amaçlar için geniş veri setleriyle eğitilmiş olsalar da dilersek onları ekstra eğitimle daha spesifik işleri yapacak şekilde de geliştirebiliyoruz. Ki işte yapay zekaya dayalı tıpla ilgili videoda da biraz bahsettiğim gibi bu özellikle de üst düzey meslekler açısından en sakat kısım. Çünkü o videoda da konuştuğumuz gibi şu anki müthiş dönüşüm daha mesela doktor veya mühendis olacak şekilde.
Özel olarak... eğitilmemiş yapay zekalarla yaşanıyor. Bir de tamamen tıbbi amaçlarla eğitilmiş. Veya ne bileyim diplomasi veya hukuk konusunda eğitilmiş yapay zekalar geldiğinde ne olacak? Hep birlikte göreceğiz.
Neyse, işte GPT'deki o son harf olan T ise Transformer, yani Transformatör demek. Ve işte şu anda içinde bulunduğumuz yapay zeka devriminde önemli olan şey GPT'nin G'si veya P'sinden ziyade T'si. Bunun ne olduğuna geleceğiz.
Ama ondan önce... biraz daha temele inmemiz lazım. Çünkü o T'nin karşılığı olan Transformer'lar da özünde bir derin öğrenme algoritmasından ibaretler.
Çok popüler bir terim olan Deep Learning yani derin öğrenme ise yapay sinir ağlarının bir versiyonundan ibaret. Yapay sinir ağları ise kökenleri taa 1958'de keşfedilen Perceptron adlı bir sisteme dayanan, adından da anlayacağınız üzere beynimizdeki sinir ağlarını taklit eden bir mekanizma. Dolayısıyla her şeyi yerli yerine oturtabilmek için önce buna bakmamız gerekiyor. Şimdi beyinde nöron dediğimiz sinir hücreleri var öyle değil mi?
Bunlar mikroskop altında böyle gözüküyorlar. Ama kolay anlaşılsın diye ders kitaplarında genellikle böyle gösteriyoruz. Burada sol tarafta gördüğünüz dendrit denen çıkıntılara başka nöronlar bağlanıyor. Ve o nöronlardan gelen elektrik sinyallerine bağlı olarak burada gördüğümüz nöronumuzun hücre gövdesinde bazı... biyokimyasal değişimler yaşanıyor.
Bu değişimlere bağlı olaraksa nöronumuz kendi elektrik sinyalini üretiyor ve bunu akson dediğimiz uzantılar boyunca iletiyor. Genelde bu sinyalleri şu tarz diye giden elektrik atımlarıyla gösteriyoruz ama bu tabii ki bir abartı. Nöronlarımızda elektrik tellerindeki kadar yüksek gerilimli bir akım bulunmuyor. Dolayısıyla öyle diye aktığını görmemiz mümkün değil.
Ama gerçekten de nöronlarımız birbirleriyle bioelektro kimyasal sinyaller aracılığıyla iletişim kuruyorlar. Ve düşünecek olursanız bu gerçekten muhteşem bir olay. Her neyse, her nöronun aksonları da başka nöronların dendritlerine bağlanıyor. Ve beynimizin içindeki bu özünde çok basit ama bir o kadar da karmaşık olan akıl almaz işlemleri, mesela görme, işitme, düşünme, mantık kurma, refleks gibi işlemleri dinamik bir şekilde yapabiliyor.
Keza hatırlama, öğrenme. Unutma gibi şeyler bu ağ içindeki nöronların bağlantı biçimlerinin ve güçlerinin zaman içerisinde değişmesiyle oluyor. Mesela burada tek bir nörona bağlanan 4000 kadar diğer sinir şeridinin bugüne kadar yapılmış en gerçekçi simülasyonunu görüyorsunuz.
Eğer BrainMap sitesine giderseniz bu bağlantıların gerçek versiyonlarını çok daha yakından inceleyebilirsiniz. Şimdi... Yapay zekanın temelinde yer alan yapay sinir ağları da işte bu nöral ağları suni bir şekilde yeniden yaratmaya dayanıyor. Bu tür yapay ağları genelde şu tarz bir grafikle tarif ediyoruz. Buradaki yuvarlakları nöronların o işlem yapan hücre gövdesi gibi düşünebilirsiniz.
Yeşil nöronlar girdi nöronlarını temsil ediyor. Bunlar bizdeki duyu organları gibi. Dışarıdan bir uyaran geliyor ve bunların bazıları aktive oluyorlar.
O çizgiler her bir nöronun birbiriyle olan bağlantılarını gösteriyor. Burada gösterilmemiş ama şu görselde gösterildiği üzere o çizgiler gerçekte belli çarpanlara karşılık geliyor. 1 ve 0 arasında bir değer alan o çarpanlar o iki nöron arasındaki bağlantının gücünü temsil ediyor. Çarpan 1'e ne kadar yakınsa o bağlantı o kadar güçlü, 0'a ne kadar yakınsa o kadar zayıf oluyor. Nöronların üzerindeki sayılarsa çok basit.
bir matematiksel işlemin sonucu. Her bir nöron kendine bağlanan diğer nöronlardan gelen sayıları aralarındaki bağlantının ağırlığıyla çarpıyor ve bu çarpım üzerine bias yani ön yargı dediğimiz sabit bir sayı ekliyor. Bu ön yargının amacı her bir nöronun ateşlenme eşiğini ayarlamak.
Tıpkı beynimizdeki nöronların belli bir ateşlenme eşiği olması gibi. Tabi bu işlemi yaptığımızda sıfırla bir arasında bir sayı elde etmiyoruz. Bunu sağlamak içinse sigmoid fonksiyonu diye çok basit ve şöyle gözüken bir fonksiyonu kullanarak sonucu sıfırla bir arasına normalize ediyoruz.
Ama kafanız karışmasın. Özetle o yuvarlakların her biri 4 işlem düzeyinde basit bir matematikten geçerek sıfırla bir arasındaki bir sayıyı üretip onu depolayan birimlerden ibaret. Şimdi önceki görsellerimize bir geri dönelim. Burada o sütunların her biri bir katmana karşılık geliyor.
Bu katmanları ne yap... yaptığına birazdan geleceğim ama istersek nöral ağımızı daha da karmaşıklaştırmak için daha fazla nöron ve katman ekleyebiliriz. Hatta daha da fazla ekleyebiliriz. Gayetinde öyle bir sistem elde edebiliriz ki, bunu gerçek bir canlının beyninden alınmış bir sinir ağı ile alt alta koyduğumuzda aradaki benzerliği net olarak görmeye başlayacaksınız.
Tabii ki biyoloji ile bilgisayar arasında halen dağlar kadar fark var. Ama daha bu noktada bile beynimizde bulduğumuz ve bu karmaşık davranışlarımızı sergileyebilmemizde kritik bir rolü olduğundan emin olduğumuz ağı belli bir seviyede makinalara kazandırmayı başardık bile. İyi de...
bu ağ nasıl çalışıyor? Nasıl oluyor da bir şeyleri öğrenebiliyor? Bunun için size basit bir soru sorayım.
Size birbirinden çok farklı gözüken şu harfleri gösterdiğimde beyniniz şıp diye onların hepsinin ağ harfi olduğunu anlayabiliyor. Öyle değil mi? Bunu nasıl yaptığımızı nörobilim sayesinde artık epey iyi bir şekilde biliyoruz. Burada onlara girmeyeceğim. Ama böyle bir yeteneği makinalara kazandırmanız gerekseydi nasıl bir çözüm bulurdunuz?
Yapabileceğiniz şeylerden biri sınır tanıma dediğimiz bir yöntem kullanmak olabilir. El yazısıyla yazılmış o karakterimizi, mesela buradaki 3 sayısını bir kutu içine alıp, o kutu içindeki piksellerin her birine parlaklıklarına göre 0 ile 1 arasında bir sayı atayabiliriz. Piksel tamamen siyaha denk geliyorsa 0, tamamen beyaza denk geliyorsa 1, diğer tonlardaysa bu ikisi arasında bir sayı. Şimdi amacımız bu şekilde elde edebileceğimiz herhangi bir...
piksel dağılımının hangi el yazısıyla yazılmış sayıyı temsil ettiğini tespit etmek. Bunu yapabilirsek el yazısını okumayı öğrenmiş olacağız. Bunun için öncelikle tüm piksellerimizi nöral ağın girdisine çevirmemiz lazım. Eğer rakamlarımızın sığdığı o kutu 28 satır ve 28 sütundan oluşuyorsa o zaman nöral ağımızın girdi katmanı da 28 kere 28'den 784 nörondan oluşacak demektir. Unutmayın.
o yuvarlakların her biri her bir pikselimizin grilik miktarını taşıyor. En sağdaki katmansa bize 0'dan 9'a kadar cevap verecek olan çıktı katmanı. Çünkü bu örnek kapsamında ağımızın öğrenmesi gereken şey 0'dan 9'a kadar olan 10 rakam.
Aradaki o iki katmansa el yazısının belli niteliklerini tanımlayacak şekilde eğitilecek olan katmanları temsil ediyor. Bu ara katmanlardaki nöronların sayısı da... Katman derinliği de yani kaç tane ara katman kullandığımızda tamamen keyfi bir tercih.
İsterseniz 10 katman koyabilirsiniz. İsterseniz her bir katmandaki nöron sayısını 100 veya 1000 veya 5 yaparsınız. Bu tamamen size kalmış.
Ama tabii ki bu kararınız ağınızın işlem hızını etkiliyor. Geleneksel olarak buradaki gibi sadece 2 ara katman kullanılıyor. Ki onlara gizli katmanlar diyoruz.
Ama eğer ki bu katmanların sayısı 3'ün üzerine çıkacak olursa A derinliğimiz arttığı için o sisteme artık derin nöral A demeye başlıyoruz. Ve işte o meşhur deep learning yani derin öğrenme lafı da bu katmanların sayısından geliyor. Katmanlarda olan bitene döneceğim ama ne olursa olsun o A boyunca yapılan matematiksel işlemler sonucunda en sağdaki 10 nörondan hangisi en parlak şekilde yanarsa yani hangisi bire en yakın sayıyı verirse sistem kendisine gösterilen el yazısının o rakam olduğunu düşünüyor diyoruz. Çoğu durumda, özellikle de ağın yeterince iyi eğitilmediği durumlarda o 10 rakamın her biri bir miktar aktive oluyor. Ama en çok aktive olan hangisi ise sistemin en yüksek olasılıklı tahmini de o oluyor.
Bu arada bu ağı 3 boyutta görmek isterseniz işte böyle muhteşem bir şeye dönüşüyor. Peki. Bu ağı nasıl eğiteceğiz? Çünkü ilk başta ağımızdaki bağlantıları tamamen rastgele atıyoruz. Haliyle bunların daha ilk seferde doğru sonucu verecek şekilde denk gelmesi imkansız.
Zaten makine öğrenmesi veya yapay zekayı eğitmek dediğimiz şey, tam olarak o ağırlıkların miktarını değiştirmek demek. Bunları aslında birer düğme gibi düşünebilirsiniz. Her birinin ne kadar çevrilmiş olduğunu tespit etme işi, öğrenme dediğimiz şeyin ta kendisi. Ve burada da...
Bir diğer meşhur terim olan büyük veri kısmı işin içine giriyor. Yani yapay zekayı eğitmekte kullanılacak olan, insanlar tarafından çok net bir şekilde hazırlanmış, mesela her bir el yazısı karakterin karşılığının özenle tespit edildiği bir veri seti. Hani bazı sitelerde Google size ben robot değilim diye beyan etmeniz sonrasında CAPTCHA denen bir şeyi çözdürüyor ya, işte o sorularda çıkan el yazılarını veya fotoğrafları size işaretletme amacı, Bu tarz insanlar tarafından kategorize edilmiş veri setleri yaratmak.
Çünkü elinizdeki veri seti ne kadar temiz ve çeşitliyse yapay zekanız da o kadar isabetli ve zeki oluyor. Tıpkı bir kitap okuyan insanla bin kitap okuyabilirsiniz. kitap okuyan insan arasındaki fark gibi. İşte bizim rakam tanıma yapay zekamızın da yeterince zeki olabilmesi için ona bol bol el yazısı rakam göstermemiz gerekiyor.
Tabii ki dediğim gibi, başta sistem eğitilmemiş olduğu için en başta saçma sapan cevaplar alıyoruz. Ama bu sorun değil. Back Propagation denen, yani geri yayılım denen bir işlem uygulayarak yapay zekamızın verdiği yanlış cevapları cezalandıracağız, doğru cevapları ise ödüllendireceğiz. Tıpkı bir bebeği.
veya bir köpeği eğitmek gibi. Bu geri yayılım dediğim işlem sırasında yaptığımızsa nöronlar arasındaki bağlantıları ağın verdiği cevabın doğruluğuna göre bir miktar güçlendirmek veya zayıflatmak. Tıpkı öğrenirken beynimizde olduğu gibi. Bir şeyleri öğrendikçe o şeylerle ilgili bağlantılar beynimizde güçleniyor. Unuttukça ise zayıflıyor.
Burada da çok benzer bir süreç geçerli. İyi ama... Bir makinayı ödüllendirmek veya cezalandırmak ne demek? Makineye şeker verecek veya kırbaç vuracak halimiz yok ya. İşte bu noktada da maliyet fonksiyonu dediğimiz çok boyutlu bir fonksiyon devreye giriyor.
Ama bunun mantığı da aşırı basit. Yapay zekamızı başta eğitirken elimizde iyi işaretlenmiş bir veri seti olduğu için ona gösterdiğimiz el yazısı rakamların gerçekte ne olduğunu biz biliyoruz. Ama biz ona ne verirsek verelim, henüz eğitilmemiş olan yapay zekamız bize bazı cevaplar üretmeye çalışıyor. Yani henüz eğitilmemiş bir ağın bile o 10 nörondan oluşan çıktı tarafında bazı nöronlar rastgele bir şekilde de olsa yanıyor.
Dolayısıyla ağ saçma bile olsa bir cevap üretebiliyor. Halbuki ona 3 rakamını gösteriyorsak sadece veya en fazla A- 3 rakamına karşılık gelen nöron yanmalı, diğerleri sönük olmalı. İşte maliyet dediğim şey, yapay zekanın hangi rakamı gördüğüne yönelik tahminiyle gerçekte olması gereken arasındaki farkı hesaplayan bir işlem.
Eğer yapay zeka kötü bir tahminde bulunursa maliyet yüksek çıkıyor. Eğer isabetli bir tahminde bulunursa maliyet düşük çıkıyor. Bu noktada algoritmamızın yapmaya çalıştığı genel şey ise sürekli olarak maliyeti düşürmeye çalışmak.
Bunu... Bu lise derslerinden aşina aldığınız iki boyutlu grafiklerde türevi sıfır yaparak minimum noktayı bulmaya çalışmak gibi düşünebilirsiniz. Ya işte bunlar gerçek hayatta o işlere yarıyor. Şaka bir yana üç boyutta bu karmakarışık bir arazide en çukur olan noktayı bulmaya benziyor.
Gerçek yapay zekalarda bu fonksiyon öyle iki veya üç boyutlu değil on binlerce, yüz binlerce hatta milyarlarca boyutlu olabiliyor. Ama alt. Ortada yatan matematik değişmiyor.
Yine aynı matematiksel metodları kullanarak o karmakarışık arazinin en dip noktasına ulaşmaya çalışıyoruz. İşte bunu yapabilen algoritmalara ise gradient descent yani gradiyan azalması diyoruz. Çünkü bu algoritmaların yaptığı şey bir kıvrım boyunca aşağı kayan bir topu andırıyor. Biliyorum böyle üst üste bir dolu terim kullanıyorum ama görebileceğiniz gibi bu terimler aslında aşırı basit, belki lise düzeyindeki matematiksel fikirlere karşılık geliyor.
Modern yapay zekanın baş döndürücülüğü de zaten bu basit fikirlerin bir araya gelmesiyle ortaya muazzam bir sistem çıkıyor olması. İşte elinizde eğer ki yeterince veri, mesela yeterince el yazısı rakam varsa bu cezalandırma yoluyla maliyeti düşürme bir noktadan sonra öylesine sıfıra yaklaşıyor ki sisteminiz her verdiğiniz el yazısını rahatlıkla ve tam isabetle okuyabilmeye başlıyor. Hatta bir noktadan sonra ona eğitim setinde bulunmayan yepyeni bir el yazısı rakam gösterdiğinizde onu da başarıyla tanıyabilmeye başlıyor.
Böylece dışarıdan baktığınızda yapay olarak zeki gibi gözüken bir sisteme kavuşmuş oluyorsunuz. İşte yapay zekalar en temel düzeyde böyle doğuyorlar. Ama bu anlatımda halen açık kalan bazı noktalar var. Mesela o ara katmanlarda ne oluyor da bu ağ ona gösterdiğimiz sayıyı tanıyabilmeye başlıyor? İlginç bir şekilde bu sorunun cevabını neredeyse hiçbir zaman bilemiyoruz.
O nedenle birçok yapay zeka algoritması black box yani kara kutu olarak biliniyor. Çünkü girdiler bir şeyler olup da doğru çıktılara dönüşüyor. Ama tıpkı beynimizde her bir nöronda tam olarak ne olup bitiyordu? Bu kadar gerçekçi bir algıya kavuşuyoruz onu bilemediğimiz gibi, yapay zekanın da sürekli doğru bilebildiği şeyleri nasıl olup da doğru bilebildiğini... bilemiyoruz.
Son dönemde OpenAI ve Antropik gibi firmaların bu konuyu aydınlatmaya yönelik olarak yayınladığı çok hoş araştırmalar var ve yavaş yavaş işin sırlarını daha iyi çözebilmeye başladık. Ama bunlar ilerleyen videoların konuları. Eğer kaçırmak istemezseniz kanal bildirimlerini şimdi açmayı unutmayın.
Ama genel olarak tıpkı beyin konusunda olduğu gibi yapay zekanında neden şu şekilde değil de bu şekilde çalıştığı hakkında bilmediğimiz çok fazla detay olduğunu söyleyebilirim. Ama işte yine de çalıştık. ...oluşuyor. Tıpkı beyniniz gibi. Yine de o ara katmanlarla ilgili illaki bir kavrayışa erişmek isterseniz, onları şöyle düşünebilirsiniz.
Her rakamın kendine özgü bazı nitelikleri var. Öyle değil mi? İşte 9 sayısı bir yuvarlak ve bir kuyruktan oluşuyor. Veya 8 rakamı iki yuvarlağın bir araya gelmesiyle oluşuyor.
İşte çıktıktan önceki son katmanın görevi, bu genel özellikleri teşhis etmek olabilir. Ondan önceki katmanda o... alt özelliklerin her birini tanıyor olabilir. Mesela 9'daki o yuvarlığa oluşturan alt birimleri düşünün.
Ama dediğim gibi gerçekte eğitilmiş bir nöral ağı açıp baktığımızda neredeyse hiçbir zaman böylesi basit ve sıradan ilişkilendirmeler göremiyoruz. Ama karmakarışık bir şeyler yapıyor ama her seferinde sonucu doğru bulabiliyor. O nedenle yapay zekayı muhteşem bir istatistik motoru olarak tanımlıyoruz. Ama unutmayın...
Birazdan döneceğimiz gibi aslında biz de muhteşem bir istatistik motorundan ibaretiz. İşte artık makinelerin en temelde bir şeyleri nasıl öğrenebildiğini biliyorsunuz. Tabii ki yıllar içinde bu temel mantık üzerine sayısız katman eklenerek çok daha gelişmiş ve karmaşık modeller üretildi. Bu sayede size anlattığım bu metodun takıldığı bazı problemler ortadan kaldırıldı.
Mesela o geri yayılım algoritmasının problemlerinden biri başta çok hızlı bir öğrenme sağlasa da bir noktadan sonra... acayip yavaşlıyor olması. O nedenle geri yayılım yerine ileri yayılıma dayalı çalışan Convolutional Neural Networks yani evrişimli sinir ağları diye bir model geliştirildi ve el yazısı rakam okuma gibi görüntü işleme, nesne algılama ve yüz tanıma gibi alanlarda çok sağlam atılımlar sağlandı.
Sonra geleneksel metodlarla bu yeni evrişimli ağları bir arada çalıştıran Recurrent Neural Networks yani evrişimli devirli sinir ağları geldi ve özellikle dil tercümesi, duygu analizi ve konuşma tanıma da çığır açıldı. Sonradan bence aşırı yaratıcı bir fikir olan, en iyi sonuca ulaşmak konusunda birbiriyle rekabete giren birden fazla sinir ağını içeren Generative Adversarial Networks yani üretken çekişmeli ağlar çıktı ve son zamanlarda aşırı popüler olan görüntü üretimi, görüntü iyileştirme ve insan benzeri metin üretme konusunda ortalığı kasıp kavurdu. Gerçi şimdilerde Mid Journey veya Sora gibi en üst düzey görüntü üretim araçları difüzyon modeli denen detaylarına ilerleyen videolarda anlatacağım bir sistem kullanıyorlar. Ama bunların hepsi, ama hepsi kaputlarının altında buraya kadar gördüğümüz nöral ağ yapısına sahipler.
İşte bir yandan tüm bu anlattıklarım olurken 2017 yılında öyle bir algoritma geliştirildi ki tarihte eşi benzeri görülmemiş bir devrim başladı. Transformer Yani transformatör algoritması. Bu yenilikçi sistem buraya kadar gördüğümüz metotların üzerine insan öğrenmesinin başka bir boyutundan ilham alan bir diğer katman daha ekliyor.
Attention yani dikkat katmanı. Çünkü bir çocuğu düşünün. Siz ona bir şeyler öğretmeye çalışabilirsiniz ama eğer ki çocuk sizin öğretmeye çalıştığınız şeye dikkatini veremezse veya yanlış kısımlara dikkatini verirse öğrendiği şey de tamamen hatalı olacak veya o öğrendiğini düzgün kullanamayacak.
Öyle değil mi? Hatta sırf bu nedenle günümüzde birçok çocuk dikkat eksikliğine dayalı bazı öğrenme sorunlarından muzdarip. Bakın ne diyoruz? Dikkat eksikliği. İşte beynimizdeki nöral ağları temel alan yapay zeka sistemlerine bir de dikkati modelleyen bir katman eklediğimizde yapabildiklerinin sınırı bir anda müthiş bir şekilde genişliyor.
Bunun altında yatan sebep de şu. Bu devirli sinir ağları gibi yeni modeller çok güzel çalışıyorlar. İyi hoş ama. kendilerine verilen son birkaç komuta, önceden verilen komutlara nazaran çok daha fazla ağırlık vermeye meyilli oluyorlar. Keza çok uzun bir komut verdiğinizde de son birkaç cümleye baştakilere nazaran çok daha fazla önem veriyorlar.
Yani kısa dönem hafızayı uzun dönem hafızaya çok fazla yayılıyorlar. Halbuki insanların öğrenmesinde uzun dönemli birikim çok daha önemli. İşte dikkat modelleri yapay zekaya bu öğrenme esnekliğini katıyor. Bunu yapmak için ise embedding yani gömme dediğimiz bir işlem uyguluyoruz.
Burada gömmekten kasıt eğer chat GPT gibi bir sohbet botunu düşünecek olursanız makine için tamamen anlamsız olan kelimeleri o kelimelere anlam katacak olan bir ilişkilendirme uzayına yerleştirmek veya gömmek. Böylece yapay zeka bir metindeki kelimelerin birbirlerine göre anlamlarını matematiksel olarak tespit edebilmeye başlıyor. Yapay zekayı devasa metin setleriyle eğittikçe birbiriyle yakın anlamlı olan kelimeler bu anlam uzayında da benzer yönlere bakmaya başlıyorlar. İşte bunu başarabilmek içinse anlamını çözmek istediğimiz şeyi token yani jeton veya belirteç denen küçük parçalara ayırıyoruz.
Bu tokenlar eğer sohbet botlarından bahsediyorsak bir cümlede ilgili dilde en çok kullanılan kelime, hece, karakter, boşluk veya bunların bir kombinasyonu olarak düşünülebilir. Eğer görsel bir yapay zekamız varsa küçük pikseller veya piksel grupları olarak düşünülebilir. Veya ses üreten bir yapay zeka ses dalgalarını ufak ama işlevsel parçalara bölebilir.
Sonrasında bu tokenlar da önceden gördüğümüz gibi bir dolu sayı dizisiyle temsil ediliyorlar. Vektör dediğimiz bu sayı kümelerinin amacı söylediğim gibi o tokenların her birinin anlamını çok boyutlu bir uzayda tanımlamak. Dediğim gibi bu uzayda birbiriyle daha yakın anlamlı olan kelimeler aynı yöne bakıyorlar. Daha uzak anlamlılarsa farklı yönlere bakıyorlar. Yani yapay zeka ilk kez bir...
anlam uzayı ile tanışıyor. Sonrasında yine bunları bir dizi matematiksel işlemden geçirerek tokenların birbiriyle etkileşmesine ve anlamlarını birbirlerine aktarmalarına izin veriyoruz. Yani algoritmamız mesela bir cümle içindeki kelimelerin birbiriyle ilişkisini öğrenerek onların hangi bağlamlarda ve ne amaçlarla kullanıldığını işte bu evrede anlamaya başlıyor. Ve bu işlemi tekrar tekrar yaparak ve detaylarına girmeyeceğim bazı ara katmanlardan geçirerek nihai olarak tek bir vektör elde ediyoruz. O vektör, yapay zekamızın üreteceği cümledeki bir sonraki kelimenin en olası token karşılığını tespit etmemizi sağlıyor.
Tıpkı o sayıları tespit etmeye çalışan yapay zekada en sağdaki nöronlarımızın tahminimizi bildiriyor olması gibi. Yani yapay zekamız elde ettiği o vektöre bakarak bir sonra gelmesi gereken en olası token'ı tespit ediyor. GPT'nin ilk hallerini kullananlar bunu çok iyi hatırlayacaktır.
GPT başta bir sohbet botu değildi. Eskiden ona öyle soru falan soramıyordunuz. Sadece bir cümle veriyordunuz.
O da sonraki cümleleri kendince tamamlıyordu. İşte transformatörler bu tarz bir amaçla geliştirildiler. Ama sonradan çok basit düzenlemelerle bu sistemleri sohbet botlarına...
ve görsel yaratıcılarına da dönüştürebilmeye başladık. Günümüzde chat GPT sizlerle konuşurken her bir kelimeyi işte tam olarak burada anlattığım işlemlerden geçirerek seçiyor. Ve bunu döngüsel olarak yaptığınızda her bir kelimesini zekice seçen, her bir cümleyi önceki cümlelere bağlayabilen, paragraflar arasında tutarlı bir şekilde akabilen bir araca kavuşuyorsunuz.
Tabii sadece yazı da değil. bir fotoğrafı oluşturan piksellerin birbiriyle ilişkisini veya o piksellerin oluşturduğu karelerin birbiriyle ilişkisini de öğrenebiliyor. Ki birden fazla fotoğraf karesinin birbirleriyle olan zamansal ve mekansal ilişkisine video dediğimizi size daha önceden anlatmıştım. İşte böyle.
İnsanlar bazen yapay zekayı küçümsemek için ne var ya bu sadece bir istatistik motoru. Tek yap- yaptığı bir sonraki kelimeyi en olası şekilde seçmek diyorlar. Ama bir düşünün, konuşma veya iletişim dediğimiz şey zaten tam olarak bu değil mi? Düşünme dediğimiz şey, mesela yapmak istediğimiz bir şeyin her adımını akıllıca planlayarak her bir adımdaki en olası hamlemizi doğru şekilde seçmeye çalışmak değil mi?
Günümüzde popüler olan her şeyi aşağılamaya, ve hor görmeye yönelik bir sosyal medya dürtüsü var. Bu bence çok üzücü. Çünkü artık yaratabildiğimiz bu müthiş sistemlerin baş döndürücülüğünün halk tarafından doğru düzgün anlaşılmasına engel oluyor.
Özetle, yapay zeka devrimini ateşleyen GPT, işte bu videoda özetlediğim temel mantık sayesinde mümkün oldu. Ha bu arada, transformatör teknolojisini geliştiren chat GPT'nin yaratıcısı olan OpenAI değil, bu algoritmayı 2017 yılında Google geliştirdi. Amaç, Google Transformer'i yani o meşhur dil çeviri aracını daha da geliştirmekti. Ama kısa sürede aynı mantığın sohbet botları inşa etmekte, yazıları görsele dönüştürmekte, sözlü komutlarla bilgisayar kodları yazmakta veya ses taklidi yapmakta kullanılabileceği fark edilmiş oldu.
Böylece GPT, DeepL, Staple Diffusion, Sora ve Eleven Labs gibi çağımızın en popüler yapay zeka sistemleri doğmuş oldu. Ve tüm bunlar... insan beynine bakıp da onda gördüklerimizin basit bir kopyasını silikon çiplere uyarlamamız sayesinde mümkün oluyor. Ama burada benim canımı sıkan bir şeyler var.
Biyolojiden aldığımız ilhamın neredeyse olduğu gibi lap diye silikon çiplerle çalışan bir mekanizmaya dayatıyoruz. Makinalara biz böyle öğreniyoruz, sen de böyle öğreneceksin diyoruz. Halbuki doğaya baktığımızda temel mantıklar genel olarak aynı kalsa da mimarilerin köklü bir şekilde değiştiğini ve...
bir canlı için kendi ortamına en uygun mimarilerin evrimleştiğini görüyoruz. Dolayısıyla bu yapay zeka devriminde halen çok eksik olan bir şeyler var. Acaba bir de bu yazılım mimarilerinin kendiliğinden evrimleşmesine izin versek ve böylece karbon temelli olmayan makinelerin kendilerine en uygun mimarileri ortaya çıkartmasına izin versek O zaman ne olacak?
E bu da bir başka videonun konusu olsun. Eğer bu videoyu beğendiyseniz, yapay zekanın şimdi bile tıp konusunda nasıl çığır açabileceğini anlattığım bu videoyu mutlaka izleyin derim. Bir sonraki videoda görüşmek üzere, hoşçakalın.