saplama Derin Öğrenme Nedir? (2024) - Unite.AI
Bizimle iletişime geçin

AI 101

Derin Öğrenme nedir?

mm
Güncellenmiş on

Derin öğrenme, yapay zekanın en etkili ve en hızlı büyüyen alanlarından biridir. Ancak derin öğrenmenin sezgisel olarak anlaşılması zor olabilir çünkü derin öğrenme terimi çeşitli farklı algoritma ve teknikleri kapsar. Derin öğrenme aynı zamanda genel olarak makine öğreniminin bir alt disiplinidir, dolayısıyla derin öğrenmeyi anlamak için makine öğreniminin ne olduğunu anlamak önemlidir.

Makine Öğrenmesi Nedir?

Derin öğrenme makine öğreniminden kaynaklanan bazı kavramların bir uzantısıdır, bu nedenle makine öğreniminin ne olduğunu açıklamak için bir dakikanızı ayıralım.

Basitçe ifade etmek gerekirse, makine öğrenimi, bilgisayarların belirli görevleri, bu görevleri gerçekleştirmek için kullanılan algoritmaların her satırını açıkça kodlamadan gerçekleştirmesini sağlayan bir yöntemdir. Pek çok farklı makine öğrenimi algoritması vardır, ancak en sık kullanılan algoritmalardan biri, çok katmanlı algılayıcı. Çok katmanlı bir algılayıcıya sinir ağı da denir ve birbirine bağlı bir dizi düğümden/nörondan oluşur. Çok katmanlı bir algılayıcıda üç farklı katman vardır: giriş katmanı, gizli katman ve çıkış katmanı.

Girdi katmanı, verileri orta/gizli katmandaki düğümler tarafından manipüle edildiği ağa alır. Gizli katmandaki düğümler, girdi katmanından gelen verileri manipüle edebilen, girdi verilerinden ilgili örüntüleri çıkaran matematiksel işlevlerdir. Sinir ağı bu şekilde “öğrenir”. Sinir ağları, adını insan beyninin yapısından ve işlevinden ilham almalarından alır.

Ağdaki düğümler arasındaki bağlantıların ağırlık adı verilen değerleri vardır. Bu değerler, esas olarak, bir katmandaki verilerin bir sonraki katmandaki verilerle nasıl ilişkili olduğuna ilişkin varsayımlardır. Ağ trenleri olarak ağırlıklar ayarlanır ve amaç, verilerle ilgili ağırlıkların/varsayımların sonunda veriler içindeki anlamlı kalıpları doğru bir şekilde temsil eden değerlerde bir araya gelmesidir.

Etkinleştirme işlevleri, ağın düğümlerinde bulunur ve bu etkinleştirme işlevleri, verileri doğrusal olmayan bir şekilde dönüştürerek, ağın verilerin karmaşık temsillerini öğrenmesini sağlar. Aktivasyon fonksiyonları, giriş değerlerini ağırlık değerleri ile çarpar ve bir yanlılık terimi ekler.

Derin Öğrenme nedir?

Derin öğrenme, birçok çok katmanlı algılayıcıyı bir araya getiren makine öğrenimi mimarilerine verilen terimdir, böylece yalnızca bir gizli katman değil, birçok gizli katman olur. Derin sinir ağı ne kadar "derin" ise, ağ o kadar karmaşık kalıplar öğrenebilir.

Nöronlardan oluşan derin katman ağları, belirli bir nöronun onu çevreleyen tüm nöronlarla bir bağlantıyı sürdürdüğü gerçeğine atıfta bulunarak, bazen tamamen bağlı ağlar veya tamamen bağlı katmanlar olarak adlandırılır. Tamamen bağlı ağlar, farklı derin öğrenme mimarileri oluşturmak için diğer makine öğrenimi işlevleriyle birleştirilebilir.

Farklı Derin Öğrenme Türleri

Araştırmacılar ve mühendisler tarafından kullanılan çeşitli derin öğrenme mimarileri vardır ve farklı mimarilerin her birinin kendi özel kullanım durumu vardır.

Dönüşümlü Sinir Ağları

Evrişimli sinir ağlarıveya CNN'ler, bilgisayarlı görme sistemlerinin oluşturulmasında yaygın olarak kullanılan sinir ağı mimarisidir. Evrişimli sinir ağlarının yapısı, görüntü verilerini yorumlayarak bunları tamamen bağlı bir ağın yorumlayabileceği sayılara dönüştürmelerini sağlar. Bir CNN'in dört ana bileşeni vardır:

  • Evrişimli katmanlar
  • Alt örnekleme/havuzlama katmanları
  • Etkinleştirme işlevleri
  • Tamamen bağlantılı katmanlar

Evrişimli katmanlar, görüntüleri ağa girdi olarak alan, görüntüleri analiz eden ve piksellerin değerlerini alan katmanlardır. Alt örnekleme veya havuzlama, görüntülerin sunumunu basitleştirmek ve görüntü filtrelerinin gürültüye karşı hassasiyetini azaltmak için görüntü değerlerinin dönüştürüldüğü/azaltıldığı yerdir. Aktivasyon işlevleri, verilerin bir katmandan sonraki katmana nasıl aktığını kontrol eder ve tamamen bağlantılı katmanlar, görüntüyü temsil eden değerleri analiz eden ve bu değerlerde tutulan kalıpları öğrenen katmanlardır.

RNN'ler/LSTM'ler

Tekrarlayan sinir ağları, veya RNN'ler, veri sırasının önemli olduğu ve ağın bir veri dizisi hakkında bilgi sahibi olması gereken görevler için popülerdir. Bir cümlenin anlamını çözerken kelimelerin sırası önemli olduğundan, RNN'ler genellikle doğal dil işleme gibi problemlere uygulanır. Tekrarlayan Sinir Ağı teriminin "tekrarlayan" kısmı, belirli bir öğenin çıktısının bir önceki hesaplamaya ve aynı zamanda mevcut hesaplamaya bağlı olması gerçeğinden kaynaklanmaktadır. Diğer derin sinir ağlarından farklı olarak, RNN'lerin "bellekleri" vardır ve dizideki farklı zaman adımlarında hesaplanan bilgiler, nihai değerleri hesaplamak için kullanılır.

Bir öğenin değeri hesaplanırken önceki öğelere ek olarak dizideki gelecekteki öğeleri de hesaba katan çift yönlü RNN'ler de dahil olmak üzere birden fazla RNN türü vardır. Başka bir RNN türü ise Uzun Kısa Süreli Bellek veya LSTM, ağ. LSTM'ler, uzun veri zincirlerini işleyebilen RNN türleridir. Normal RNN'ler "patlayan gradyan sorunu" denen bir şeyin kurbanı olabilir. Bu sorun, girdi verileri zinciri aşırı uzun olduğunda ortaya çıkar, ancak LSTM'lerin bu sorunla mücadele edecek teknikleri vardır.

Otomatik kodlayıcılar

Şu ana kadar bahsedilen derin öğrenme mimarilerinin çoğu, denetimsiz öğrenme görevlerinden ziyade denetimli öğrenme problemlerine uygulanmaktadır. Otomatik kodlayıcılar, denetlenmeyen verileri denetimli bir formata dönüştürerek sinir ağlarının sorun üzerinde kullanılmasına olanak tanır.

Otomatik kodlayıcılar veri kümelerindeki anormallikleri tespit etmek için sıklıkla kullanılır, anormalliğin doğası bilinmediğinden denetimsiz öğrenmeye bir örnek. Bu tür anormallik tespiti örnekleri, finansal kurumlar için dolandırıcılık tespitini içerir. Bu bağlamda, bir otomatik kodlayıcının amacı, verilerdeki düzenli kalıpların temelini belirlemek ve anormallikleri veya aykırı değerleri belirlemektir.

Bir otomatik kodlayıcının yapısı genellikle simetriktir ve gizli katmanlar, ağın çıktısı girdiye benzeyecek şekilde dizilir. Sık kullanılan dört otomatik kodlayıcı türü şunlardır:

  • Normal/düz otomatik kodlayıcılar
  • Çok katmanlı kodlayıcılar
  • Evrişimli kodlayıcılar
  • Düzenli kodlayıcılar

Düzenli/düz otomatik kodlayıcılar, yalnızca tek bir gizli katmana sahip sinir ağlarıdır, çok katmanlı otomatik kodlayıcılar ise birden fazla gizli katmana sahip derin ağlardır. Evrişimli otomatik kodlayıcılar, tamamen bağlı katmanlar yerine veya bunlara ek olarak evrişimli katmanlar kullanır. Düzenli otomatik kodlayıcılar, sinir ağının girdileri çıktılara kopyalamaktan başka daha karmaşık işlevleri yerine getirmesine izin veren belirli bir tür kayıp işlevi kullanır.

Üretken Çekişmeli Ağlar

Generatif Düşman Ağları (GAN'lar) aslında tek bir ağ yerine birden çok derin sinir ağıdır. İki derin öğrenme modeli aynı anda eğitilir ve çıktıları diğer ağa beslenir. Ağlar birbirleriyle rekabet halindedir ve birbirlerinin çıktı verilerine eriştikleri için hem bu verilerden öğrenirler hem de gelişirler. İki ağ, esasen, üretici modelin dedektif modeli/ayrımcıyı kandıracak yeni örnekler yaratmaya çalıştığı bir sahtecilik ve tespit oyunu oynuyor. GAN'lar bilgisayar görüşü alanında popüler hale geldi.

Derin Öğrenme Özeti

Derin öğrenme, sinir ağlarının ilkelerini genişleterek karmaşık kalıpları öğrenebilen ve bu kalıpları gelecekteki veri kümelerine genelleyebilen gelişmiş modeller oluşturur. Görüntüleri yorumlamak için evrişimli sinir ağları kullanılırken, sıralı verileri yorumlamak için RNN'ler/LSTM'ler kullanılır. Otomatik kodlayıcılar, denetimsiz öğrenme görevlerini denetimli öğrenme görevlerine dönüştürebilir. Son olarak, GAN'lar, özellikle bilgisayarla görme görevleri için yararlı olan, birbirine karşı çukurlu çoklu ağlardır.

Uzmanlık alanlarına sahip blogcu ve programcı Makine öğrenme ve Derin Öğrenme konular. Daniel, başkalarının yapay zekanın gücünü toplumsal fayda için kullanmasına yardım etmeyi umuyor.