
Derin Öğrenme Nedir? Makine Öğreniminden Farkı Ne?
Yapay zekanın hızlı yükselişiyle birlikte literatüre yeni kavramlar da girmeye başladı. Her gün her yerde “AI” diye bir şey duyuyoruz lakin bu işin arka planında farklı süreçler işliyor. “deep learning” yani “derin öğrenme” ise yapay zeka diyarında ismi çok geçmeye başlayan bir işlem.
Son zamanlarda teknoloji dünyası yapay zeka uygulamalarında bir artışa tanık oldu ve bunların hepsi derin öğrenme modelleri tarafından destekleniyor. Uygulamalar Netflix’te film önermekten Amazon depo yönetim sistemlerine kadar uzanıyor. Peki nedir bu derin öğrenme? İşin ucu nereye doğru gidiyor?
Derin Öğrenme (Deep Learning) Nedir?
Derin öğrenme, bilgisayarlara tıpkı insanların yaptığı gibi örneklerden öğrenerek görevleri yerine getirmeyi öğreten bir makine öğrenimi türü. Bilgisayarlar nasıl bir şeyleri öğrenebiliyor? Oldukça kapsamlı veri kümeleriyle besleme yapılarak. Küçük yaştaki bir çocuk görerek, duyarak ve koklayarak, özetle duyu organlarıyla dünyada gerçekleşen bazı şeyleri kapar. Bilgisayardaki algoritmalar da benzer, tam olarak insan bir insan gibi düşünemese de görsel ve ses verileri gibi birçok veriyi tanımlayacak şekle getirilebiliyor.
Deep learning olarak anılan süreçte bilgisayarlar, insanın bilişsel süreçlerini simüle edecek şekilde kapsamlı veri kümelerinden öğrenmeleri için eğitiliyor. Derin öğrenme modelleri, sınıflandırma görevlerini yerine getirmek ve fotoğraf, metin, ses ve diğer veri türlerindeki kalıpları tanımak üzere öğretilebilir. Ayrıca görüntüleri tanımlamak veya ses dosyalarını yazıya dökmek gibi normalde insan zekası gerektiren görevleri otomatikleştirmek için de kullanılabilir.
İnsan beyinlerinde bilgileri öğrenmek için birlikte çalışan milyonlarca birbirine bağlı nöron bulunur. Derin öğrenme ise birlikte çalışan birden fazla yazılım düğümü katmanından oluşturulmuş sinir ağlarını içeriyor. Modeller, büyük etiketli veri kümeleri ve sinir ağı mimarileri kullanılarak eğitilmekte.
Deep learning metodu özetle bir bilgisayarın örneklerle öğrenmesini sağlar. Biraz önce verdiğimiz örneğe benzer şekilde, yeni yürümeye başlayan ve bir köpeğin ne olduğunu öğrenen çocuğu hayal edin. Yürümeye başlayan çocuk, nesneleri işaret ederek ve köpek kelimesini söyleyerek köpeğin ne olduğunu ve ne olmadığını öğrenir. Ebeveynler, yeni şeylerle tanışan çocuğa “Evet, bu bir köpek” veya “Hayır, bu bir köpek değil” gibi cevaplar verir. Küçük çocuk nesneleri işaret etmeye devam ettikçe, tüm köpeklerin sahip olduğu özelliklerin farkına varmaya başlar. Küçük çocuğun farkında olmadan yaptığı şey, karmaşık bir soyutlamayı açıklamaktır: köpek kavramı.
Bir bilgisayara “arabanın” nasıl bir şey olduğunu öğretiyoruz diyelim. Tekerlek, aynalar ve kaput gibi şeyleri söylemek yerine çok sayıda araba resmi gösterirsiniz. Bilgisayar ortak kalıpları kendi kendine bulabilir ve arabayı nasıl tanımlayacağını öğrenir. Bu da derin öğrenmenin özüdür.
Teknik anlamda derin öğrenme, insan beyninden esinlenen “sinir ağları” adı verilen bir yöntem kullanır. Bu ağlar, bilgiyi işleyen birbirine bağlı düğümlerin katmanlarından oluşmakta. Daha fazla katman, ağın daha karmaşık özellikleri öğrenmesine ve daha sofistike görevleri yerine getirmesine olanak tanıyacak şekilde “daha derin” olmasını sağlar.
Nasıl Çalışır?
Genellikle bir bilgisayar programı kullanmak, doğru çıktıları elde etmek için kesin girdiler gerektirir. Buna karşın derin öğrenme, rastgele veya kesin olmayan verileri alarak ilgili bir çıktı üretebilir. Misalen, geleneksel bir bilgisayar programı iki dijital portrenin tamamen aynı olup olmadığını söyleyebilir. Derin öğrenme modeli, portrelerin kendileri farklı olsa bile portre öznelerindeki benzerlikleri tanıyabilir.
Deep Learning, büyük veri setlerine ve çok fazla hesaplama gücüne dayanıyor. Bu iki şeyin kullanılabilirliği arttıkça da derin öğrenme modelleri daha sofistike hale gelmeye başladı. Günümüzde büyük veri koleksiyonları ve GPU destekli bulut bilişim hizmetleri, derin öğrenmeyi geliştiriciler ve günlük kullanıcılar için her zamankinden daha erişilebilir hale getiriyor.
Derin öğrenme kullanan bilgisayar programları, yeni yürümeye başlayan çocuğun bir köpeği tanımayı öğrenmesiyle aynı süreçten geçer. Yazılımlar, tahminleri ve sınıflandırmaları iyileştirmek ve optimize etmek için her katmanın bir öncekinin üzerine inşa edildiği, birbirine bağlı düğümlerden oluşan birden fazla katmana sahip. Derin öğrenme, girdisinde doğrusal olmayan dönüşümler gerçekleştirir ve öğrendiklerini çıktı olarak istatistiksel bir model oluşturmak için kullanır. Yinelemeler, çıktı kabul edilebilir bir doğruluk seviyesine ulaşana kadar devam eder. Verilerin geçmesi gereken işlem katmanlarının sayısı, “derin” denilen şeye ilham veren şeydir.
Geleneksel makine öğreniminde öğrenme süreci denetimlidir ve programcının bilgisayara bir görüntünün köpek içerip içermediğine karar vermek için ne tür şeyler araması gerektiğini söylerken son derece spesifik olması gerekir. Bu, “özellik çıkarma (feature extraction) adı verilen zahmetli bir süreç ve bilgisayarın başarı oranı tamamen programcının köpek için bir özellik kümesini doğru bir şekilde tanımlama becerisine bağlı. Derin öğrenmenin avantajı ise programın denetimsiz öğrenme yoluyla özellik kümesini kendi kendine oluşturabilmesi.
Başlangıçta bilgisayar programına eğitim verileri sağlanabilir. Her bir görüntünün meta etiketlerle köpek veya köpek değil olarak etiketlendiği bir dizi görsel gibi. Program, eğitim verilerinden aldığı bilgileri kullanarak köpek için bir özellik kümesi ve bir tahmin modeli oluşturur. Bu durumda bilgisayarın ilk oluşturduğu model, dört bacağı ve kuyruğu olan bir görüntüdeki her şeyin köpek olarak etiketlenmesi gerektiğini tahmin edebilir. Elbette program dört bacak veya kuyruk etiketlerinden haberdar değil. Sadece dijital verilerdeki piksel desenleri aranır. Her yinelemeyle birlikte tahmin modeli daha karmaşık ve daha doğru hale gelir.
Öğrenme dediğimiz süreç bu şekilde. Elbette aynı zamanda çok büyük hesaplama gücü gerekiyor. Köpek kavramını anlaması haftalar hatta aylar süren bir çocuğun aksine, derin öğrenme algoritmalarını kullanan bilgisayar programına bir eğitim seti gösterilebilir, sistem milyonlarca görüntü arasından hangi görüntülerde köpek olduğunu birkaç dakika içinde doğru bir şekilde belirleyebilir.
Geliştirilen algoritmalar, kabul edilebilir doğruluk seviyesine ulaşmak için muazzam miktarda eğitim verisine ve işlem gücüne erişim gerektiriyor. Derin öğrenme programları doğrudan kendi yinelemeli çıktılarından karmaşık istatistiksel modeller oluşturabildiğinden, büyük miktarlarda etiketlenmemiş, yapılandırılmamış verilerden doğru tahmin modelleri oluşturabilir.
Neden Önemli?
Derin öğrenmenin veri analizi ve tahmin üretme dahil olmak üzere iş uygulamaları için çeşitli kullanım alanları var. Ayrıca istatistik ve tahmine dayalı modelleme de dahil olmak üzere veri biliminin önemli bir unsuru. Bu nedenle, büyük miktarda veriyi toplamak, analiz etmek ve yorumlamakla görevli veri bilimcileri için süreci daha hızlı ve kolay hale getirerek son derece faydalı.
Derin öğrenme hem büyük miktarda etiketli veri hem de bilgi işlem gücü gerektiriyor. Bir kuruluş her iki ihtiyacı da karşılayabiliyorsa, derin öğrenme dijital asistanlar, dolandırıcılık tespiti ve yüz tanıma gibi alanlarda kullanılabilir. Ayrıca otonom arabalar veya tıbbi cihazlar gibi güvenliğin önemli bir faktör olduğu diğer potansiyel uygulamalar için çok önemli olan yüksek tanıma doğruluğuna sahip. Yapay zekanın ve bağlantılı olarak öğrenme modellerinin sektör standardı haline gelmesinin nedenlerini sıralarsak:
- Yapılandırılmamış Verileri İşleme: Yapılandırılmış veriler üzerinde eğitilen modeller yapılandırılmamış verilerden kolayca öğrenebilir, bu da veri kümelerini standartlaştırmada zaman ve kaynakları azaltır.
- Büyük Verileri İşleme: Gelişmiş grafik işleme birimleri (GPU’lar) sayesinde derin öğrenme modelleri büyük miktarda veriyi yıldırım hızında işleyebilir.
- Yüksek Doğruluk: Derin öğrenme modelleri bilgisayarlı görüşlerde, doğal dil işlemede (NLP) ve ses işlemede en doğru sonuçları sağlamakta.
- Örüntü Tanıma: Çoğu model makine öğrenimi mühendisinin müdahalesini gerektiriyor, ancak derin öğrenme modelleri her türlü detayı otomatik olarak algılayabilir. Pattern recognition olarak bilinen kalıp/biçim tanıma, metin, görüntü ve ses gibi her türlü şeyi önceden belirlenen karakteristikler yardımıyla tanıyabiliyor ve sınıflandırabiliyor.
Makine Öğreniminin Derin Öğrenmeye Evrimi
Makine öğrenimi, bilgisayarların açık bir programlama olmadan verilerden öğrenmesini ve kararlar almasını sağlayan yapay zekanın (AI) bir alt kümesi. Sistemlerin kalıpları tanımasına, tahminlerde bulunmasına ve zaman içinde performansı artırmasına olanak tanıyan çeşitli teknikleri ve algoritmaları kapsıyor.
Derin öğrenme geleneksel makine öğreniminden neden farklı? Makine öğrenimi kendi başına dönüştürücü bir teknoloji olsa da derin öğrenme, tipik olarak insan uzmanlığı gerektiren birçok görevi otomatikleştirerek bunu bir adım öteye taşıyor. Derin öğrenme esasen makine öğreniminin özel bir alt kümesi ve üç ya da daha fazla katmana sahip sinir ağlarını kullanmasıyla farklılaşıyor. Bu sinir ağları, büyük miktarda veriden “öğrenmek” için insan beyninin davranışını simüle etmeye çalışır.
Makine Öğrenimi ve Derin Öğrenme Arasındaki Fark
Her ikisi de yapay zekanın alt kümesi olsa da aralarında benzerlikler ve farklılıklar var:
Makine Öğrenimi | Derin Öğrenme |
---|---|
Veri kümesindeki gizli kalıpları ve ilişkileri öğrenmek için istatistiksel algoritmalar uygulanır. | Veri setindeki gizli kalıpları ve ilişkileri öğrenmek için yapay sinir ağı mimarisi kullanılır. |
Daha küçük miktardaki veri kümesi üzerinde çalışılabilir. | Makine öğrenimine kıyasla daha büyük hacimli veri kümesi gerektirir. |
Düşük etiketli görevler için daha iyi. | Görüntü işleme, doğal dil işleme vb. gibi karmaşık görevler için daha iyi. |
Modeli eğitmek daha az zaman alır. | Modeli eğitmek daha fazla zaman alır. |
Görüntüdeki bir nesneyi tespit etmek için görüntülerden elle çıkarılan ilgili özelliklerle bir model oluşturulur. | İlgili özellikler resimlerden otomatik olarak çıkarılır. Uçtan uca bir öğrenme sürecidir. |
Daha az karmaşık ve yorumlanması kolay sonuçlar. | Daha karmaşıktır, sonucun yorumlanması kolay değildir. |
Derin öğrenmeye kıyasla CPU üzerinde çalışabilir veya daha az işlem gücü gerektirebilir. | GPU’ya ve yüksek işlem gücüne sahip sistemler gerekli. |
Derin Öğrenmenin Temel Kavramları
Derin öğrenme algoritmalarının ve uygulamalarının inceliklerine dalmadan önce, teknolojiyi devrimsel hale getiren temel kavramları anlamak gerekiyor.
Sinir Ağları
Derin öğrenmenin merkezinde, insan beyninden esinlenen hesaplama modelleri olan sinir ağları yer alır. Bu ağlar, bilgiyi işlemek ve karar vermek için birlikte çalışan birbirine bağlı düğümlerden veya nöronlardan oluşur. Tıpkı beynimizin farklı görevler için farklı bölgelere sahip olması gibi, bir sinir ağının da belirli işlevler için belirlenmiş katmanları vardır.
Derin Sinir Ağları
Bir sinir ağını “derin” yapan şey, giriş ve çıkış arasında sahip olduğu katman sayısıdır. Derin sinir ağının birden fazla katmanı olması, daha karmaşık özellikleri öğrenmesini ve daha doğru tahminler yapmasını sağlıyor. Bu ağların “derinliği”, derin öğrenmeye adını ve karmaşık sorunları çözme gücünü veren şeydir.
Aktivasyon Fonksiyonları
Bir sinir ağında aktivasyon fonksiyonları karar verici gibidir. Hangi bilginin bir sonraki katmana aktarılması gerektiği çeşitli fonksiyonlarla belirlenmekte. Bu fonksiyonlar, ağın verilerden öğrenmesini ve incelikli kararlar almasını sağlayarak süreci biraz daha karmaşık hale getiriyor.
Derin Öğrenme Nerelerde Kullanılıyor?
Deep learning dediğimiz arka planda işleyen şey bugün birçok alanda kullanılıyor. Potansiyeli çok yüksek, gelecekte daha da yaygınlaşacak gibi görünüyor.
- Bilgisayarlı Görü (Computer Vision): Computer Vision, otonom araçlarda nesneleri algılamak ve çarpışmalardan kaçınmak için kullanılmakta. Ayrıca yüz tanıma, poz tahmini, görüntü sınıflandırması ve anormallik tespiti için de kullanılabiliyor. Otonom araçların giderek varlığını hissettirdiği dünyamızda bu teknolojinin ne kadar önemli olduğunu tahmin edebiliyorsunuzdur.
- Otomatik Konuşma Tanıma (Automatic Speech Recognition): Otomatik konuşma tanıma, dünya çapında milyarlarca kişi tarafından kullanılmakta. Telefonlarımızda bulunuyor ve genellikle “Hey, Google” veya “Merhaba, Siri” diyerek etkinleştirilir. Şimdi tanıdık gelmiştir. Bu tür ses uygulamaları ayrıca metinden sese, ses sınıflandırması ve ses etkinliği algılama için de kullanılabilir.
- Üretken Yapay Zeka (Generative AI): Generativ AI, CryptoPunk NFT’sinin 1 milyon dolara satılmasıyla talepte bir artış gördü. CryptoPunk, derin öğrenme modelleri kullanılarak oluşturulan üretken bir sanat koleksiyonu. OpenAI tarafından GPT-4 modelinin tanıtılması, güçlü ChatGPT aracıyla metin oluşturma alanında devrim yarattı; artık modellere tüm bir romanı yazmayı veya hatta veri bilimi projeleriniz için kod yazmayı öğretebilirsiniz.
- Zaman Serisi Tahmini (Time Series Forecast): Zaman serisi tahmini, piyasa çöküşlerini, hisse senedi fiyatlarını ve hava koşullarındaki değişiklikleri tahmin etmek için kullanılıyor. Finans sektörü spekülasyon ve gelecek öngörüleriyle ayakta kalan bir sektör. Derin öğrenme ve zaman serisi modelleri, kalıpları tespit etmede insanlardan daha iyidir, bu ve benzeri sektörlerde kullanılan temel araçlardır.
- Çeviri: Derin öğrenme çevirisi yalnızca dil çevirisiyle sınırlı değil. Artık OCR kullanarak fotoğrafları metne çevirebiliyoruz veya NVIDIA GauGAN2 kullanarak metni görsellere çevirebiliyoruz.
- Metin Oluşturma: Makinelere bir metin parçasının grameri ve stili öğretiliyor, daha sonra bu modeli kullanarak orijinal metnin doğru yazımına, gramerine ve stiline uyan tamamen yeni bir metin otomatik olarak oluşturulabiliyor.
- Renklendirme: Derin öğrenme modelleri kullanılarak siyah beyaz fotoğraflara ve videolara renk eklenebiliyor. Geçmişte bu son derece zaman alıcı, manuel bir işlemdi.
- Havacılık ve Askeriye: Derin öğrenme, ilgi alanlarını ve birlikler için güvenli veya güvenli olmayan bölgeleri belirleyen uydulardan nesneleri tespit etmek için kullanılıyor.
- Otomasyon: Derin öğrenme, görevleri otomatikleştirme konusunda çok iyi işler çıkarıyor. Örneğin depo yönetimi için robotları eğitmek gibi. Derin öğrenme, bir işçi veya nesnenin bir makineye çok yaklaştığını otomatik olarak tespit eden endüstriyel otomasyon aracılığıyla hizmetler sunarak fabrikalar ve depolar dahil ortamlarda çalışan güvenliğini iyileştiriyor. Ayrıca en popüler kullanımı oyunlar ve bulmacalar. Son zamanlarda OpenAI’ın Dota AI isimli algoritması profesyonel takım OG’yi yenmeyi başardı. Dünya şampiyonu takım OG, OpenAI tarafından geliştirilen yapay zekayı alt edemedi.
- Güvenlik: Algoritmalar, güvenlik sorunlarını belirleyerek dolandırıcılığa karşı koruma sağlayabilir. Örneğin, algoritmalar şüpheli oturum açma girişimlerini tespit edebilir, bildirimler gönderebilir ve kullanıcıların seçtikleri parola yeterince güçlü değilse onları uyarabilir.
- Öneri Motorları: Uygulamalar, kullanıcı davranışını izlemek ve tüketicilerin yeni ürün ve hizmetleri keşfetmesine yardımcı olmak için özelleştirilmiş öneriler üretmek için derin öğrenmeden yararlanabilir. Örnek olarak, Netflix gibi eğlence kuruluşları kişiselleştirilmiş video önerileri sağlamak için derin öğrenmeyi kullanıyor.
- Müşteri Deneyimi ve Geri Bildirimi: Derin öğrenme ayrıca müşterilerin geri bildirimlerini ve şikayetleri için de kullanılıyor. Gelişmiş müşteri hizmetleri deneyimi sağlamak üzere her sohbet botunda yer alabilir. Teknoloji olgunlaşmaya devam ettikçe, derin öğrenmenin deneyimi iyileştirmek ve müşteri memnuniyetini artırmak için çeşitli işletmelerde uygulanması bekleniyor.
- Biyomedikal: Bu alan, derin öğrenmenin tanıtılmasıyla en çok fayda sağlayan alan oldu. Deep learning, biyomedikalde kanseri tespit etmek, stabil ilaç oluşturmak, göğüs röntgenlerinde anomali tespiti yapmak ve tıbbi ekipmana yardımcı olma konusunda büyük yardım sağlıyor.