Yapay zeka teknolojisinin faydalandığı tekniklerden birisi olan ve makine öğrenimi kapsamında ele alınan derin öğrenme (deep learning) nedir, nasıl çalışır, ne için kullanılır, yöntemleri, uygulamalarına örnekler, sinir ağları nedir, derin öğrenmenin sınırları ve zorlukları nelerdir, tarihi gibi konu başlıklarını rehberimizde okuyabilirsiniz.
Derin öğrenme (deep learning) nedir?
Derin öğrenme, insanların belirli bilgi türlerini edinme şeklini taklit eden bir tür makine öğrenimi (ML) ve yapay zeka (AI) tekniğidir. Derin öğrenme, istatistik ve tahmine dayalı modellemeyi içeren veri biliminin önemli bir unsurudur. Büyük miktarda veriyi toplamak, analiz etmek ve yorumlamakla görevli veri bilimcileri için son derece faydalıdır; derin öğrenme, bu süreci daha hızlı ve daha kolay hale getirir.
En basit haliyle, deep learning, tahmine dayalı analitiği otomatikleştirmenin bir yolu olarak düşünülebilir. Geleneksel makine öğrenimi algoritmaları doğrusal iken, derin öğrenme algoritmaları artan karmaşıklıktadır.
- Yapay Zeka nedir, türleri, tarihi ve uygulamaları
- En iyi yapay zeka uygulamaları listesi (2020)
- Hizmet Olarak Yapay Zeka (AIaaS) nedir?
Derin öğrenme nasıl çalışır?
Derin öğrenmeyi kullanan bilgisayar programları, hiyerarşideki her algoritmanın girdisine doğrusal olmayan bir dönüşüm uygular ve öğrendiklerini çıktı olarak istatistiksel bir model oluşturmak için kullanır. Buradaki tekrarlar, çıktı kabul edilebilir bir doğruluk düzeyine ulaşana kadar devam eder.
Geleneksel makine öğreniminde, öğrenme süreci denetlenir ve programcı, bir görüntünün bir objeyi içerip içermediğine karar vermek için bilgisayara ne tür şeyler araması gerektiğini söylerken son derece spesifik olmalıdır. Bu, özellik “özellik çıkarma” adı verilen zahmetli bir süreçtir ve bilgisayarın başarı oranı tamamen programcının “obje” için bir özellik setini doğru bir şekilde tanımlama yeteneğine bağlıdır.
Derin öğrenmenin avantajı, programın kendi kendine ayarlanan özelliği gözetimsiz oluşturmasıdır. Denetimsiz öğrenme yalnızca daha hızlı değil, genellikle daha doğru sonuçlar verir.
Başlangıçta, bilgisayar programına yüklenen eğitim verileri – her objenin o obje olup olmadığının etiketlenmesiyle – ile sağlanan bilgiler, o obje için bir özellik kümesi oluşturmak ve tahmine dayalı bir model oluşturmak için kullanılır. Bu durumda, bilgisayarın ilk oluşturduğu model, basit bir benzetme ile objenin birkaç temel özelliğini algılar ve bunu sadece dijital verilerdeki piksel modellerini arayarak yapar. Her yinelemeyle birlikte tahmin modeli daha karmaşık ve daha doğru hale gelir.
Deep learning algoritmalarını kullanan bir bilgisayar programına bir eğitim seti gösterilebilir ve içinde hangi görüntülerin bu objeye ait olduğunu doğru bir şekilde belirledikten sonra, program birkaç dakika içinde bu objenin olduğu milyonlarca görüntüyü tahmin ederek sıralayabilir.
Derin öğrenme programları, kabul edilebilir bir doğruluk düzeyine ulaşmak için büyük veri ve bulut bilişim çağına kadar, programcıların kolayca erişemeyecekleri çok büyük miktarda eğitim verisine ve yüksek işlem gücüne gereksinim duyuyordu. Ancak bu durum özellikle son yıllarda güçlenen GPU’lar ile değişti.
Derin öğrenme programlaması, doğrudan kendi tekrarlı çıktısından karmaşık istatistiksel modeller oluşturabildiğinden, büyük miktarlarda etiketlenmemiş, yapılandırılmamış verilerden de doğru tahmin modelleri oluşturabilir. Nesnelerin interneti (IoT) yaygınlaşırken, bu bilhassa önemlidir, çünkü insanların ve makinelerin oluşturduğu verilerin çoğu yapılandırılmamış ve etiketlenmemiş şekilde saklanmaktadır.
Derin öğrenme sinir ağları nedir?
Yapay sinir ağları (artficial neural networks) olarak bilinen bir tür gelişmiş makine öğrenimi algoritması, çoğu derin öğrenme modelinin temelini oluşturur. Sonuç olarak, deep learning bazen derin sinirsel öğrenme (deep neural learning) veya derin sinir ağı (deep neural network) olarak da adlandırılabilir.
Sinir ağları, tekrarlayan sinir ağları, yapay sinir ağları ve ileri beslemeli sinir ağları dahil olmak üzere birkaç farklı türdedir ve her birinin belirli kullanım durumları için sunduğu farklı faydalar vardır. Bunların tümü, verileri besleyerek ve modelin belirli bir veri öğesi hakkında doğru yorumlama veya karar verip vermediğini kendi kendine çözmesine izin vererek, aslında birbirine benzer şekillerde çalışır.
Yapılandırılmamış veriler, yalnızca eğitildikten ve kabul edilebilir bir doğruluk düzeyine ulaştıktan sonra bir derin öğrenme modeli tarafından analiz edilebilir, ancak derin öğrenme modelleri yapılandırılmamış veriler üzerinde eğitilemez.
Derin öğrenme yöntemleri
Güçlü deep learning modelleri oluşturmak için aşağıdaki gibi yöntemler kullanılmaktadır.
Öğrenme oranı azalması
Öğrenme hızı, model ağırlıkları her değiştirildiğinde tahmin edilen hataya yanıt olarak modelin ne kadar değişiklik yaşadığını kontrol eden, öğrenme sürecinden önce sistemi tanımlayan veya çalışması için koşulları belirleyen bir faktör olan bir hiperparametredir. Çok yüksek öğrenme oranları, istikrarsız eğitim süreçlerine veya yetersiz bir ağırlık setinin öğrenilmesine neden olabilir. Çok küçük öğrenme oranları, takılıp kalma potansiyeline sahip uzun bir eğitim süreci üretebilir.
Öğrenme oranı azaltma yöntemi, uyarlanabilir öğrenme oranları olarak da adlandırılır ve performansı artırmak ve eğitim süresini azaltmak için öğrenme oranını uyarlama sürecidir. Eğitim sırasında öğrenme oranının en kolay ve en yaygın uyarlamaları, zaman içinde öğrenme oranını düşürmeye yönelik teknikleri içerir.
Transfer öğrenimi
Bu süreç, önceden eğitilmiş bir modeli mükemmelleştirmeyi içerir; önceden var olan bir ağın bileşenlerine ulaşan bir arayüz gerektirir. İlk olarak, kullanıcılar önceden bilinmeyen sınıflandırmaları içeren mevcut ağa yeni verileri besler. Ağda ayarlamalar yapıldıktan sonra, daha özel kategorilere ayırma yetenekleriyle yeni görevler gerçekleştirilebilir. Bu yöntem, diğerlerinden çok daha az veri gerektirme avantajına sahiptir, böylece hesaplama süresini dakikalara veya saatlere kadar düşürür.
Sıfırdan eğitim
Bu yöntem, bir geliştiricinin büyük etiketli bir veri kümesi toplamasını ve özellikleri ve modeli öğrenebilen bir ağ mimarisini yapılandırmasını gerektirir. Bu teknik, özellikle yeni uygulamaların yanı sıra çok sayıda çıktı kategorisine sahip uygulamalar için kullanışlıdır. Bununla birlikte, genel olarak, aşırı miktarda veri gerektirdiğinden ve eğitimin günler veya haftalar sürmesine neden olduğundan daha az yaygın bir yaklaşımdır.
Bırakma
Bu yöntem, eğitim sırasında birimleri ve bağlantılarını sinir ağından rastgele bırakarak büyük miktarda parametrelere sahip ağlarda aşırı uyum sorununu çözmeye çalışır . Bırakma yönteminin, konuşma tanıma, belge sınıflandırması ve hesaplamalı biyoloji gibi alanlarda denetimli öğrenme görevlerinde sinir ağlarının performansını iyileştirebileceği kanıtlanmıştır .
Derin öğrenme uygulamalarına örnekler
Deep learning modelleri, bilgiyi insan beynine benzer şekillerde işlediğinden, insanların yaptığı birçok göreve uygulanabilir. Derin öğrenme şu anda en yaygın görüntü tanıma araçlarında, doğal dil işleme ve konuşma tanıma yazılımlarında kullanılmaktadır. Bu araçlar, sürücüsüz arabalar ve dil çeviri hizmetleri gibi çok çeşitli uygulamalarda görünmeye başlıyor .
Günümüzde derin öğrenme için kullanım örnekleri , özellikle doğal dil işleme, dil çevirisi, tıbbi teşhis, borsa ticaret sinyalleri, ağ güvenliği ve görüntü tanımaya odaklananlar olmak üzere her tür büyük veri analitiği uygulamalarını içerir. Bunun örnekleri ise aşağıdaki gibidir:
Müşteri deneyimi
Derin öğrenme modelleri sohbet robotları için zaten kullanılıyor. Olgunlaşmaya devam ettikçe, müşteri deneyimlerini iyileştirmek ve müşteri memnuniyetini artırmak için çeşitli işletmelerde derin öğrenmenin uygulanması beklenmektedir.
Metin yeniden yazma
Makinelere bir metindeki dil bilgisi ve yazım tarzı öğretildikten sonra, bu modeli, orijinal metnin doğru yazım, dilbilgisi ve stiliyle eşleşen tamamen yeni bir metni otomatik olarak oluşturmasında kullanıyorlar.
Havacılık ve askeri kullanım
Derin öğrenme, uydulardan gelen nesneleri tespit etmenin yanı sıra birlikler için güvenli veya güvensiz bölgeleri tespit etmek için kullanılıyor.
Endüstriyel otomasyon
Derin öğrenme, örneğin bir işçinin veya nesnenin bir makineye çok yaklaştığını otomatik olarak algılayan hizmetler sunarak fabrikalar ve depolar gibi ortamlarda işçi güvenliğini artırır.
Fotoğraf ve video renklendirme
Derin öğrenme modelleri kullanılarak siyah beyaz fotoğraflara ve videolara renk eklenebilir. Geçmişte, bu son derece zaman alan ve elle yapılan bir işlemdi.
Tıbbi araştırmalar
Kanser araştırmacıları, kanser hücrelerini otomatik olarak tespit etmenin bir yolu olarak uygulamalarında derin öğrenmeyi kullanıyor.
Makine görüşü
Derin öğrenme, makine görüşünü büyük ölçüde geliştirerek, bilgisayarlara nesne algılama ve görüntü sınıflandırma, restorasyon ve bölümleme için olağanüstü doğruluk sağlar.
Derin öğrenmenin sınırları ve zorlukları
Derin öğrenme modellerinin en büyük sınırlaması, gözlem yoluyla öğrenmeleridir. Bu, yalnızca eğitim aldıkları verilerde ne olduğunu bilebilecekleri anlamına gelir. Bir kullanıcının az miktarda verisi varsa veya daha geniş işlevsel alanı temsil etmesi gerekmeyen belirli bir kaynak kullanıyorsa, modeller sonradan genellebilecek bir öğrenim görmez.
Önyargı ise, derin öğrenme modelleri için de önemli bir sorundur. Bir model önyargı içeren veriler üzerinde eğitim alırsa, model bu önyargıları tahminlerinde yeniden üretir. Bu, derin öğrenme programcıları için can sıkıcı bir problem olmuştur, çünkü modeller veri öğelerindeki ince varyasyonlara dayalı olarak farklılaşmayı öğrenirler. Çoğu zaman, önemli olduğunu belirlediği faktörler programcıya açık bir şekilde açıklanmaz. Bu, örneğin, bir yüz tanıma modelinin, programcı farkında olmadan ırk veya cinsiyet gibi şeylere dayalı olarak insanların özellikleri hakkında kararlar alabileceği anlamına gelir .
Öğrenme oranı, derin öğrenme modelleri için büyük bir zorluk olabilir. Oran çok yüksekse, model çok hızlı yakınlaşacak ve optimalin altında bir çözüm üretecektir. Oran çok düşükse, süreç takılıp kalabilir ve bir çözüme ulaşmak daha da zor olacaktır.
Derin öğrenme modelleri için donanım gereksinimleri de sınırlamalar yaratabilir. Gelişmiş verimlilik ve daha az zaman tüketimi sağlamak için çok çekirdekli yüksek performanslı grafik işlemciler (GPU’lar) ve diğer benzer işlem birimleri gereklidir. Ancak bu birimler pahalıdır ve yüksek enerji tüketimi anlamına gelir. Diğer donanım gereksinimleri arasında rasgele erişim belleği (RAM) ve bir sabit sürücü veya katı hal sürücüsü (SSD) bulunur.
- DDR4 bellekler hakkında her şey
- En iyi AMD ekran kartları ve GPU’lar (2020)
- Transistörsüz bellek 1000 kat daha hızlı
Diğer sınırlamalar ve zorluklar şunları içerir:
- Deep learning, büyük miktarda veri gerektirir. Dahası, daha güçlü ve doğru modeller daha fazla parametreye ihtiyaç duyacak ve bu da daha da fazla veri gerektirecektir.
- Derin öğrenme modelleri eğitildikten sonra esnek olmaz ve çoklu görevin üstesinden gelemez. Etkili ve doğru çözümler sunabilirler, ancak yalnızca belirli bir sorun için çözüm üretebilirler. Benzer bir sorunu çözmek bile sistemin yeniden eğitilmesini gerektirecektir.
- Bilimsel yöntem programlama veya uygulama gibi muhakeme gerektiren herhangi bir uygulama, büyük verilerle bile uzun vadeli planlama ve algoritmik benzeri veri işleme gibi çalışmalar, derin öğrenme tekniklerinin yapabileceğinin tamamen ötesindedir.
Derin öğrenme mi makine öğrenimi mi daha iyi?
Derin öğrenme, sorunları çözme şekliyle kendisini farklılaştıran bir makine öğrenimi alt kümesidir. Makine öğrenimi, çoğu uygulanan özelliği belirlemek için bir alan uzmanına ihtiyaç duyar. Öte yandan, derin öğrenme, özellikleri aşamalı olarak öğrenir, böylece alan uzmanlığı ihtiyacını ortadan kaldırır. Bu, derin öğrenme algoritmalarının eğitilmesinin, yalnızca birkaç saniye ila birkaç saat gerektiren makine öğrenimi algoritmalarından çok daha uzun sürmesini sağlar.
Ancak, test esnasında bunun tersi geçerlidir. Derin öğrenme algoritmalarının testleri yürütmesi, verilerin boyutuyla birlikte test süresi de artan makine öğrenimi algoritmalarına göre çok daha az zaman alır.
Dahası, makine öğrenimi, derin öğrenmenin sağladığı aynı maliyetli, yüksek kaliteli makineleri ve yüksek performanslı GPU’ları gerektirmez.
Sonunda, birçok veri bilimcisi, üstün yorumlanabilirliği veya çözümleri anlamlandırma yeteneği nedeniyle geleneksel makine öğrenimini derin öğrenmeye tercih ediyor. Veriler küçük olduğunda makine öğrenimi algoritmaları da tercih edilir.
Derin öğrenmenin tercih edilebilir hale geldiği durumlar, büyük miktarda verinin olduğu durumları, özellik iç gözlem için alan anlayışının eksikliğini veya konuşma tanıma ve doğal dil işleme gibi karmaşık sorunları içerir.
Derin öğrenmenin tarihi
Derin öğrenmenin kökleri, Warren McCulloch ve Walter Pitts’in matematik ve algoritmaları kullanarak sinir ağları için bir hesaplama modeli oluşturduğu 1943’e kadar uzanıyor. Ancak, derin öğrenme terimi 2000’lerin ortalarında ortaya atıldı. Geoffrey Hinton ve Ruslan Salakhutdinov tarafından birçok katmana sahip bir sinir ağının, her seferinde bir katman bazında nasıl eğitilebileceğini gösteren bir makalenin yayınlanmasının ardından da, terim popülerlik kazandı.
2012’de Google algoritması kedileri tanıma yeteneğini kazandığında, derin öğrenme konusunda büyük bir etki yarattı. İki yıl sonra, 2014’te Google, İngiltere merkezli yapay zeka şirketi olan DeepMind’i satın aldı
Bundan iki yıl sonra, 2016’da Google DeepMind’in algoritması AlphaGo, Seul’deki bir turnuvada profesyonel Go oyuncusu Lee Sedol’u yenerek karmaşık masa üstü oyunu Go’da ustalaştığını gösterdi.
Son zamanlarda, derin öğrenme modelleri yapay zeka alanındaki gelişmelerin çoğunu oluşturuyor. Yapay zekayı robotik, video oyunları ve sürücüsüz arabalar gibi karmaşık uygulamalarla entegre etmenin bir yolu olarak ‘derin pekiştirmeli öğrenme’ ortaya çıktı.
Derin öğrenme ve pekiştirmeli öğrenme arasındaki temel fark, derin öğrenmenin bir eğitim setinden öğrenip daha sonra öğrenilenleri yeni bir veri setine uygularken, derin pekiştirmeli öğrenmenin ödülü optimize etmek için sürekli geri bildirim kullanarak eylemleri ayarlayarak dinamik olarak öğrenmesidir.
Pekiştirmeli öğrenme aracısı, üretici rakip ağların (GAN) hızlı ve güçlü bir şekilde kontrol edilmesini sağlama yeteneğine sahiptir . Karşıt Eşik Nöral Bilgisayarı (ATNC), belirli, istenen bir dizi farmakolojik özelliklere sahip küçük organik moleküller tasarlamak için derin pekiştirmeli öğrenmeyi GAN’larla birleştiriyor.
Bugün, GAN’lar dengesiz veri kümeleri içeren durumlarda veya verilerin hassas bilgiler içerdiği durumlarda kullanılabilen makine öğrenimi görevleri için yapay eğitim verileri oluşturmak için de kullanılıyor.