• Yapay zekadan makale özeti

    • Bu video, derin öğrenme konusunda araştırmacı olarak çalışan Irem Kömürcü'nün sunduğu dört haftalık bir eğitim semineridir. Webinar formatında düzenlenecek olan eğitim, her perşembe günü gerçekleştirilecektir.
    • Eğitim, derin öğrenmenin temel kavramlarından başlayarak, yapay sinir ağları, CNN (Evrişimli Sinir Ağları), RNN (Geri Besleme Sinir Ağları) gibi ağ türlerini, veri ön işleme tekniklerini, Python kütüphanelerini (TensorFlow, Keras, Numpy, Pandas, Matplotlib, OpenCV) ve çalışma ortamlarını (Jupyter Notebook, Google Colab) kapsamlı şekilde ele almaktadır. Ayrıca, veri setlerinin nasıl bölüneceği ve uzaktan algılama görüntülerindeki farklı boyut problemlerinin çözümleri de anlatılmaktadır.
    • Eğitim, özellikle uzaktan algılamada derin öğrenme uygulamalarını öğrenmek isteyenler için hazırlanmıştır. İçerikte, sosyal bilimlerde derin öğrenmenin kullanımı, deprem hasar tespiti ve orman değişiklikleri gibi uygulamalar da ele alınmaktadır. Katılımcılar sorularını chat kısmından veya e-posta üzerinden sorabilirler.
    00:04Eğitim Tanıtımı
    • İTÜ'de derin öğrenme temel bilgilerine ve uygulamalarına yer verecek dört haftalık bir uzaktan eğitim başlıyor.
    • Eğitimler İrem Kömürcü tarafından sunulacak ve toplantı linkleri her perşembe günü, sunum içerikleri her cuma günü e-posta olarak gönderilecek.
    • Video kayıtları ve eğitim notları dört hafta sonunda webinar.cs.crs.tr adresinden ulaşılabilir.
    01:38Webinar Serisi Hakkında
    • Dört haftalık webinar serisi, derin öğrenme, sense flow ve kod okumayı kapsayacak geniş bir içerik sunacak.
    • Özellikle remote sensing verileriyle çalışanlar ve computer vision üzerine çalışmalar yapmak isteyenler için uygulamaya yakın, interaktif bir seri düzenlenecek.
    • Sorular chat kısmından sorulabilir veya e-posta ile iletilebilir.
    02:40Eğitim Programı
    • İlk hafta derin öğrenmeye giriş yapılacak, hangi kaynakların kullanılacağı ve hangi ortamlarda çalışmalar yapılacağı anlatılacak.
    • İkinci hafta daha uygulamalı bir şekilde gidecek, TensorFlow kullanımı, kitaptan kod indirme ve GitHub'daki kodları okuma konuları ele alınacak.
    • Üçüncü hafta RS verileri üzerinde derin öğrenme işlemlerine, dördüncü hafta ise 3D yapılarda derin öğrenme uygulamalarına odaklanılacak.
    03:59Yapay Zeka ve Derin Öğrenme Kavramları
    • Yapay zeka, derin öğrenme, makine öğrenmesi ve veri kavramları arasında farklar açıklanacak.
    • Derin öğrenme terimi 2010'lardan itibaren kullanılmaya başlanmış ve bu alandaki gelişmeler insan beynine yaklaşan çıktılar üretmesine imkan sağlamış.
    • Derin öğrenme, makine öğrenmesinin bir alt dalı olarak görülür ve yapay zeka kavramı 1950'li yıllardan beri kullanılmaktadır.
    06:47Machine Learning ve Deep Learning Kavramları
    • Machine learning, makinelere verilen matematik formüllerinden bahsediyor ve örneğin spam mailleri veya hava durumu tahminlemesi gibi uygulamaları içeriyor.
    • Deep learning ise insandan yola çıkarak oluşturulmuş bir yapıdır ve nöronların birleşimiyle bir yapay sinir ağı oluşturur.
    • Yapay sinir ağlarında nöronlar, ağırlıklar, bias değerleri ve activation fonksiyonları kullanılarak çıktılar elde edilir.
    09:27Yapay Sinir Ağlarının Yapısı
    • Giriş katmanında nöron sayısı feature sayısı kadar, çıkış katmanında ise sınıf sayısı kadar nöron bulunur.
    • Bias değeri, ağırlık değeri sıfır olsa bile çıktının sıfır olmamasını garanti eder.
    • İnsan sinir hücresinin sadece bir türü incelenirken, deep learning araştırmalarında farklı nöronlarla insan beynine daha fazla yaklaşılması hedefleniyor.
    11:11Yapay Sinir Ağlarının Çalışma Prensibi
    • Yapay sinir ağlarında girdiler, çeşitli katmanlardan geçerek filtreler uygulanarak bir tahminleme çıktısı verir.
    • Gizli katmanlar sayısı önemli değildir ve istenildiği kadar artırılabilir.
    • Yapay sinir ağları, veri setiyle birlikte istatistiksel yöntemlerle tahminleme yaparak öğrenme gerçekleştirir.
    12:41Farklı Yapay Sinir Ağları
    • Görüntü işleme için CNN (Convolutional Neural Networks) kullanılırken, doğal dil işleme ve ses verileri için farklı ağlar tercih edilir.
    • RNN (Recurrent Neural Networks) tekrarlayan bir yapıya sahiptir ve önceki çıktılar sonraki çıktıların beslenme kaynağı olur.
    • RNN'ler özellikle doğal dil işleme ve ses işleme alanlarında kullanılır ancak bir önceki ağdan ağırlıkları aktarırken yavaşlık sorunu yaşarlar.
    17:23CNN'lerin Önemi ve Çalışma Prensibi
    • CNN'ler (Convolutional Neural Networks), özellikle verilerde çok sık karşılaşılan ve yaygın olarak kullanılan ağ yapılarından biridir.
    • Segnet, VGG, Resnet gibi birçok ağ modeli CNN temelini kullanmaktadır.
    • CNN'ler, verinin nasıl işlendiği ve çıktı verildiği konusunda sorun yaşandığında, ağlara nasıl müdahale edilebileceği konusunda önemli bilgiler sunar.
    18:30CNN'lerin Genel Yapısı
    • CNN'lerde girdi verisi, nöronlardan oluşan bir sinir ağına geçirilir ve ara katmanlardan geçtikten sonra bir çıktı elde edilir.
    • Convolution ve pooling gibi katmanlar, verinin işlenmesinde önemli rol oynar ve bu katmanlar computer vision alanında kullanılır.
    • Bu katmanlar sonrası veri, yapay sinir ağına sokulur ve çeşitli işlemler yapılarak bir veya daha fazla çıkış üretir.
    19:56CNN'lerin Amacı ve Kullanım Alanları
    • CNN'ler, verilerde belli özellikleri saptırmak için kullanılır, örneğin kenarları belirginleştirmek gibi.
    • Pooling katmanı, ağırlıkları azaltarak ağın uygunluğunu artırır ve yeni bir veri yapısı elde edilir.
    • Flattening katmanında, kare matris halindeki veri düzleştirilerek sinir ağına uygun hale getirilir.
    21:53CNN Modellerinin Seçimi
    • Farklı CNN modelleri, veriyi farklı şekilde işler ve farklı katmanlar kullanır.
    • U-Net gibi modeller, veriyi küçültüp sonra büyüterek işlerken, ResNet gibi modeller daha düzgün bir şekilde ilerler.
    • Verinin niteliği ve istenen çıktı şekli, hangi CNN modelinin kullanılacağına karar verir.
    24:38CNN'lerin Çalışma Süreci
    • CNN'de veri, convolution katmanından geçerek özellik çıkartma ve filtreleme işlemi yapılır.
    • Bu işlem sonrası elde edilen yapıya "feature map" adı verilir ve ardından pooling işlemi ile ağırlıklar azaltılır.
    • Düzleştirilen veri, yapay sinir ağına sokulur ve sınıflandırma işlemi gerçekleştirilerek tahmin yapılır.
    26:49Yapay Sinir Ağlarında Katmanlar
    • Yapay sinir ağlarında girdiler tek tek alınır ve ağırlıklarla çarpım işlemi uygulanır.
    • Verinin düzleştirilmesi işlemi şarttır.
    • Polling katmanı (CNN içerisinde) farklı çeşitlerden oluşur, ancak genellikle kullanılan türü max polling'dir.
    28:31Max Polling İşlemi
    • Max polling'de 2x2 boyutunda ve 2 adımlı (stride) bir filtre uygulanır.
    • Filtre, matris içerisindeki maksimum piksel değerini bulur ve bu değer polling çıktısına eklenir.
    • Stride değeri 1 olsaydı, filtre her adımda bir hücre ilerlerdi.
    31:26Convolution Layer
    • Convolution, CNN'nin ana yapı taşıdır ve bir filtreleme işlemidir.
    • Giriş verisine çeşitli filtreler uygulanarak özellikler (feature map) çıkarılır.
    • Filtre uygulaması sırasında stride ve padding değerleri belirlenir ve filtre ile giriş verisi arasında çarpım işlemi gerçekleştirilir.
    34:54Nöronlar ve Ağırlıklar
    • Nöronlar arasında iletişim sırasında bir ağırlık kullanılır ve bu ağırlık ile çarpım işlemi gerçekleştirilir.
    • İleri beslemeli ve geri beslemeli ağlar kavramı sinir ağlarında kullanılır.
    • Geri yayılım (back propagation) yöntemi, hata oranını hesaplayarak ağırlıkları güncelleyerek ağın eğitilmesini sağlar.
    38:00Yapay Sinir Ağlarında Hata Azaltma ve Ağırlık Güncelleme
    • Yapay sinir ağlarında hata ve yanılma payı önemlidir, çünkü çıktı işlemi sırasında ne kadar yanıldığımız sonucu ciddi derecede etkiler.
    • Hata payını azaltmak için, net değer elde edildikten ve activation fonksiyonundan sonra oluşan çıktı ile hata fonksiyonu kullanılarak geri yayılım ile tüm ağırlıklar güncellenir.
    • Optimizasyon algoritmaları (genellikle gradient descent) kullanılarak yeni ağırlıklar verilerek ağ güncellenir ve hata payı azaltılır.
    39:50Veri Ön İşleme ve Augmentation
    • Yapay sinir ağları oluşturduktan sonra verilerle yapılacak işlemler önemlidir; veriler text veya görüntü verileri olabilir.
    • Veri ön işleme (preprocessing) aşamasında verilerin kontrast değerleri, piksel değerleri veya blurlaştırma gibi işlemlerle hazırlanır.
    • Augmentation, veriyi yapay/sentetik şekilde artırmak için kullanılır; veri azalsa veya daha iyi çıktılar elde etmek için veriyi çoğaltabilirsiniz.
    42:53Augmentation Teknikleri ve Önemi
    • Augmentation teknikleri arasında flip, rotation, random crop, kontrast değerlerini değiştirme, blurlaştırma, keskinleştirme ve zoom gibi işlemler bulunur.
    • Doğru augmentation değerleri kullanıldığında sonuçlar ciddi derecede artabilir ve projeleriniz için yararlı olacaktır.
    • Sadece bir augmentation tekniği kullanmak zorunda değilsiniz, birden fazla teknik uygulayabilir ve veri setinizi genişletebilirsiniz.
    45:27Genel Özet ve Uygulama
    • Hangi augmentation tekniğini kullanacağınız veri setinize ve hedefinize bağlıdır; örneğin kenar tespiti için kontrast değerleriyle oynayabilirken, kanser hücresi tespiti için blurlaştırma daha iyi olabilir.
    • Augmentation için albumentations kütüphanesi önerilir, bu kütüphanede çok fazla çeşit bulunan ve hızlı bir şekilde kullanılabilecek teknikler mevcuttur.
    • Yapay sinir ağlarında veri label etme, train-validation-test olarak bölme, training işlemi, değerlendirme ve model kaydetme gibi adımlar önemlidir.
    48:55Gelecek Dersin İçeriği
    • Gelecek hafta train işlemi, optimizeer seçimi ve Keras ile TensorFlow konuları anlatılacak.
    • Model seçiminde data ve istenen çıktıya bağlı olarak değişiklikler yapılabilir.
    • Gelecek hafta Titanic flow'un mantığı ve kullanımı detaylı olarak ele alınacak.
    50:22Framework Kavramı
    • Framework, halihazırda temeli atılmış bir yapı vererek datayı nasıl alabileceğimizi, işleyebileceğimizi ve çıktı elde edebileceğimizi gösteren bir sistemdir.
    • Deep learning alanında en çok kullanılan framework'ler TensorFlow ve Keras'tır.
    • Akademik çalışmalarda PyTorch, TensorFlow ve Keras'a göre hemen hemen aynı seviyede kullanılmaktadır.
    52:33Framework Seçimi
    • TensorFlow 2.0 sürümünden sonra Keras framework'ün tamamen içerisine alındı, böylece hem TensorFlow hem Keras kullanılabilir hale geldi.
    • Framework seçiminde datanın nasıl alınacağı, işleneceği ve sonuç üretileceği önemli bir rol oynar.
    • Deep learning alanında testler yapılarak hangi framework'in verimi daha iyi aldığı belirlenir.
    56:10Popüler Python Kütüphaneleri
    • Numpy, numerik işlemler için kullanılan bir kütüphanedir ve bilimsel hesaplamalarda sıkça kullanılır.
    • Numpy ile diziler oluşturulabilir ve veri üzerinde hızlı işlemler yapılabilir.
    • Pandas, veri bilimi alanında veriyi okuma, şekil verme ve toplu işlemler yapma konusunda önemli bir rol oynar.
    59:42Veri İşleme Kütüphaneleri
    • Yapay sinir ağı modelleri için pandas kütüphanesi sıkça kullanılır ve veri yapısında değişiklikler yapılabilir.
    • Pandas ile CSV dosyalarından belli sütunlar ve satırlar okunabilir, veriler görüntülenebilir ve farklı formatlara dönüştürülebilir.
    • Cyclearn kütüphanesi, veri boyutunu küçültme, model seçme ve tahmin başarısını değerlendirmek için kullanılır.
    1:02:32Görselleştirme Kütüphaneleri
    • Matplotlib kütüphanesi ile veriler görselleştirilebilir, bu özellikle akademik çalışmalar ve proje sunumlarında etkili bir yöntemdir.
    • Görselleştirme, verinin doğruluğunu kontrol etmek ve machine learning işlemlerinin ilerlemesini takip etmek için kullanışlıdır.
    • Matplotlib ile lineer veya dağınık verileri görselleştirmek, veri analizinde önemli bir adımdır.
    1:06:53Görüntü İşleme Kütüphaneleri
    • OpenCV, görüntü işleme için en çok kullanılan kütüphanelerden biridir ve özellikle akademik çalışmalarda sıkça tercih edilir.
    • OpenCV ile piksel tabanlı işlemler yapılabilir, verilerin farklı kanallarında işlemler gerçekleştirilebilir.
    • Remote sensing verileri gibi çok boyutlu verilerin işlenmesinde OpenCV çok etkilidir.
    1:09:13Çalışma Ortamları ve Donanım Gereksinimleri
    • Yapay zeka ve derin öğrenme işlemleri için özellikle GPU donanımı gereklidir.
    • Büyük veri setleri ve çok boyutlu veriler bilgisayarların kapasitesini aşabilir.
    • Bilgisayarların yeterli gücü olmayan durumlarda cloud ortamları tercih edilebilir.
    1:10:55Bilgisayar Sorunları ve Çözüm Ortamları
    • Bilgisayarlarımızda tuş sorunları, fazla kullanımı ve bellek sorunları gibi çeşitli hatalar yaşayabiliriz.
    • Sorunlu bilgisayarlar için cloud ortamı, yerel bilgisayarlar için ise bazı yerel işlemler ve MRG'lar önerilecektir.
    1:11:32Anaconda Navigator ve Çalışma Ortamları
    • Anaconda Navigator, GPU tabanlı işlemlerde sık kullanılan bir araçtır ve içinde Jupyter, notebook, audio ve spider gibi farklı eklentiler ve çalışma ortamları bulunur.
    • Çalışırken belli kütüphaneler yüklenebilir ve farklı environment'lar oluşturulabilir.
    • Spider, özellikle Python uzantılı yapılar ve veri temelli machine learning tabanlı işlemler için tercih edilen bir arayüzdür.
    1:13:46Jupyter Notebook ve Avantajları
    • Jupyter Notebook, kodlamaya yeni başlayanlar için özellikle önerilen bir araçtır.
    • Bölüm bölüm işlemler yaparak (seller) hata bulmayı kolaylaştırır ve daha temiz çıktılar elde edilmesini sağlar.
    • Deep learning temelli işlemlerde import, veri hazırlama, generator ve train işlemleri gibi her bir işlemi ayrı bir hücrede yapmak yararlıdır.
    1:15:31Cloud Ortamları
    • GPU'ya sahip olmayan bilgisayarlar için cloud ortamları önerilir.
    • En tanınmış bulut ortamları Amazon'un AWS, Google Colab ve Microsoft'un Azure'dur.
    • Fiyat-performans karşılaştırmasında AWS daha çok tercih edilmektedir.
    1:16:35AWS ve Google Colab Özellikleri
    • AWS, ses tanıma ve görüntü işleme gibi projeler için hazır kütüphaneler ve yapılar sunarak geliştirme sürecini hızlandırır.
    • Google Colab, Drive hesabına bağlı olarak kullanılabilen ve kodları uzaktan çalıştırabilen bir platformdur.
    • Google Colab, Drive'da oluşturulan bir klasöre bağlanarak kullanılabilir ve Jupyter Notebook'a benzer bir arayüze sahiptir.
    1:20:46Google Colab'da GPU Kullanımı
    • Kendi bilgisayarında kurulum yapılmadığında GPU kullanılamaz ve işlemler CPU üzerinden devam eder.
    • Google Colab'da GPU kullanmak için "Düzen" (Edit) menüsünden "Not Defteri Ayarları" (Notebook Settings) seçeneğine gidilmelidir.
    • Donanım hızlandırıcı (Hardware Accelerator) seçeneğinden GPU kullanılabilir.
    1:21:37Google Colab'da GPU ve CPU Ayarları
    • Google Colab'da "None" seçeneği CPU kullanırken, "GPU" seçeneği GPU'yu kullanır ve genellikle GPU tercih edilir.
    • GPU ayarlandıktan sonra "Kaydet" diyerek Colab notebook'un GPU ile çalışmasını sağlayabilirsiniz.
    • GPU boyutu yetersiz kalırsa "Pro" sürümüne geçiş yapılabilir, ancak küçük denemeler için veri verinizin küçük bir kısmını kullanmanız önerilir.
    1:22:40Google Colab'da Python ve Kütüphane Kullanımı
    • Google Colab'da Python yüklü olarak gelir ve bazı kütüphaneler önceden yüklenmiş durumdadır.
    • IPYNB uzantılı Jupyter Notebook dosyaları doğrudan Colab'da kullanılabilir.
    • Py uzantılı dosyaları kullanmak için "!" ile başlayarak Python komutları çalıştırılabilir ve "pip install" ile kütüphaneler yüklenebilir.
    1:24:23Google Drive Entegrasyonu
    • Google Colab ile Google Drive entegrasyonu yapılabilir, böylece CSV dosyaları, görüntüler gibi dosyalara erişilebilir.
    • Entegrasyon için doğrulama yapmanız gerekir ve bunun için Fuat Beşer'in Medium'daki kaynakları kullanılabilir.
    • Drive'daki dosyaları Colab'da kullanmak için klasör oluşturup bağlanma işlemi yapılabilir.
    1:26:41Veritabanı Entegrasyonu ve Azure
    • Veri tabanı entegrasyonu için Amazon ve Azure gibi platformlarda özel yapılar mevcuttur.
    • Azure'da SQL, NoSQL gibi farklı veritabanları kullanılabilir ve bu veritabanları Colab'a import edilebilir.
    • Cloud ortamında çalışmanın avantajı zaman kaybı yaratmaması ve hızlı müdahale imkanı sağlamasıdır.
    1:27:49Docker ve Kaynak Önerileri
    • Docker, farklı bağımlılıkları olan projelerde konteyner yapısı kullanarak güncellemelerin birbirine karışmasını önler.
    • Python öğrenmek için "W3Schools" web sitesi tavsiye edilir.
    • Derin öğrenme (deep learning) için "Deep Learning with Python" kitabı hem İngilizce hem Türkçe olarak önerilmektedir.
    1:30:42Önerilen Kaynaklar ve Eğitim Kursları
    • Stanford Üniversitesi'nin Coursera'da bulunan ücretsiz bir machine learning ve deep learning kursu önerilmektedir.
    • Kodlama öğrenmek isteyenler için W3 Schools gibi kaynaklar, kodları deneyebilme imkanı sunmaktadır.
    • Kaggle ve Stack Overflow gibi platformlar, dataset bulma, hata çözme ve kariyer yapmak isteyenler için önemli kaynaklardır.
    1:33:36GitHub ve Diğer Kaynaklar
    • GitHub'da halihazırda paylaşılmış kodları kullanıp projelere destek verebilirsiniz.
    • Konuşmacının 2018'de yayınladığı, GitHub ve Git kullanımına dair iki önemli kaynak bulunmaktadır.
    • Haftaya kadar bu kaynaklara hazırlanılması önerilmektedir.
    1:34:57Dersin İçeriği ve Gelecek Planı
    • Bu derste deep learning temelleri, ortamlar ve kütüphaneler anlatılmıştır.
    • Haftaya TensorFlow ile bir notebook üzerinden uygulama yapılacak.
    • Haftaya özelinde dost fonksiyonları, optimize'lar ve activation fonksiyonları üzerinde durulacaktır.
    1:36:14Soru-Cevap
    • Derin ağlarda filtrelerin (örneğin 3x32) nasıl seçilip uygulanacağı, hazır modellerde incelenip kullanılabileceği belirtilmiştir.
    • Farklı boyutlu uzaktan algılama görüntülerinde preprocessing ve pooling teknikleri kullanılarak sorunların çözülebileceği açıklanmıştır.
    1:40:34Veri Setlerinin Bölünmesi
    • Veriler genellikle train (eğitim), test ve validation (doğrulama) olarak ayrılır.
    • Veri seti genellikle %70'i train, %20'si validation ve %10'u test olarak bölünür.
    • Train verisi modelin öğrenmesi için kullanılır, validation verisi modelin doğruluğunu kontrol etmek için, test verisi ise modelin hiç görmediği verilerle performansını test etmek için kullanılır.
    1:43:49Veri Setlerinin Kullanım Amacı
    • Remote sensing verileri çeşitli alanlarda ve amaçlarla kullanılabilir.
    • Deprem öncesi ve sonrası yıkılan binaların hasar tespiti, ormanların değişimi, karayollarının gelişimi gibi alanlarda kullanılabilir.
    • Görsel verilerin yanı sıra text (yazı) verileri de sayısal veya metinsel olmak üzere kullanılabilir.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor