Makine Öğrenimi ve Sinir Ağları - sayfa 35

 

CS 198-126: Ders 22 - Çok Modlu Öğrenme



CS 198-126: Ders 22 - Çok Modlu Öğrenme

Çok modlu öğrenme, nesneleri metin, resim, video veya ses gibi farklı şekillerde temsil ederken, aynı nesne olduklarını kabul etmeyi içerir. Dersler, çeşitli veri kümelerini yakalamada ve dağıtım kayması problemini çözmede çok modlu öğrenmenin önemini açıklar. Video, benzer görüntü-alt yazı çiftleri için gömmeler oluşturmak üzere metin ve görüntü kodlayıcıları kullanan, Karşıt Dilde Görüntü Ön Eğitim yöntemi olan CLIP'e odaklanır. Gömmeler, sınıflandırma, robotik, metinden görüntüye oluşturma ve 3D görüş için kullanılabilir. Konuşmacı, CLIP latentlerinin evrenselliğinin temsili öğrenmenin önemini ve makine öğrenimindeki yararlılığını gösterdiğini vurgular. CLIP yöntemi, çok modlu öğrenme alanının gelişmesine yol açmıştır.

  • 00:00:00 Videonun bu bölümünde öğretim görevlisi çok modlu öğrenme kavramını ve önemini açıklıyor. Çok modlu öğrenme, nesneleri metin, resimler, videolar veya ses gibi birçok farklı şekilde temsil etmeyi ve aynı nesne olduklarını kabul ederken nüanslarını yakalamayı içerir. Çok modlu veri kümeleri, tüm bu veri türlerini içerebilir ve amaç, öğrenme için daha fazla bağlam sağlamak üzere tüm bilgileri tutmaktır. Öğretim görevlisi, veriler farklı kaynaklardan ve veri kümelerinden gelebileceği için çok modlu öğrenmenin önemli olduğunu ve tüm bu fazladan bilgilerin atılmasının öğrenme için daha az bilgiyle sonuçlanabileceğini savunuyor.

  • 00:05:00 Bu bölümde, bir bilgisayar görme modeli fotogerçekçi veriler üzerinde eğitildiğinde ve karikatürize veriler üzerinde test edildiğinde ortaya çıkan dağılım kayması sorununa odaklanılmaktadır. Sorun, bireysel veri setlerinin mümkün olana kıyasla küçük dağılımlara sahip olmasıdır. Verilerdeki çeşitlilik nedeniyle, farklı nesneler, veri formatları ve ilişkiler içeren çeşitli veri kümeleri olduğu için dağılım kayması sorunu önemli bir sorun haline gelir. Çok modlu öğrenme, daha çeşitli veriler için daha iyi modeller geliştirmek amacıyla mevcut tüm verileri ve veriler arasındaki ilişkileri kullanarak bu sorunu çözmeyi amaçlar. Amaç, resimlerden metin ve sese kadar her şey için anlamlı sıkıştırılmış temsilleri öğrenmektir.

  • 00:10:00 Bu bölümde video, çok modlu öğrenmenin önemini ve çeşitli veri kümelerinde eğitim modelleriyle gelen zorlukları tartışıyor. İncelenmekte olan makalenin adı, Contrastive Language Image Pre-Training anlamına gelen ve görüntüler ile ilgili metin arasındaki ilişkileri araştırmayı amaçlayan CLIP'dir. CLIP modelinin arkasındaki fikir, eğer bir resim ve resim yazısı ilişkiliyse, o zaman hem resim hem de resim yazısı için öğrenilen temsillerin benzer olması gerektiğidir. Model, görüntüleri işlemek için bir görüntü dönüştürücü ve doğal dil işleme için bir dönüştürücü olmak üzere iki farklı model kullanır ve bunları sıfırdan eğitir. Eğitim prosedürü, hem metin hem de resim kodlayıcıların, eşleşen bir resim-yazı çifti için benzer ve farklı bir çift için farklı olan gömmeler oluşturmak amacıyla çeşitli kaynaklardan büyük miktarda resim-yazı çifti kullanarak ön eğitimi içerir. .

  • 00:15:00 Bu bölümde konuşmacı, görüntü kodlayıcı ve metin kodlayıcının, eşleşen çiftler için çok benzer ve eşleşmeyen çiftler için çok farklı olan gömülü görüntü ve metin verileri sürümleri oluşturmak için nasıl birlikte çalıştığını açıklar. Ortaya çıkan matrisin köşegen öğeleri, ideal olarak çok büyük olan eşleşen çiftler için yerleştirmeler arasındaki iç çarpımı temsil ederken, köşegen dışı öğeler, eşleşmeyen ve çok küçük veya negatif olması gereken yerleştirmeler arasındaki benzerlikleri temsil eder. Konuşmacı, bu yaklaşımın, kayıp fonksiyonunun köşegen elemanları mümkün olduğu kadar büyük yapmaya çalışırken köşegen dışı elemanları en aza indirmeye çalıştığı bir sınıflandırma görevine benzer olduğunu açıklar. Metin kodlayıcı ve görüntü kodlayıcı, bu amaca ulaşmak için birlikte çalışır ve eşleşen çiftler için benzer yerleştirmeler oluşturur.

  • 00:20:00 Bu bölümde, CLIP veya Contrastive Language-Image Pre-training adlı çok modlu öğrenme uygulamasını öğreniyoruz. CLIP, görüntülerin ve altyazıların gömülmesini oluşturmak için bir metin kodlayıcı ve bir görüntü kodlayıcı kullanır. Ardından, görüntünün başlıkla ne kadar iyi eşleştiğini görmek için yerleştirmelerin nokta çarpımını gerçekleştirir. Bunu yaparak CLIP, sıfır atış tahmini adı verilen herhangi bir ince ayar yapmadan görüntünün ne olduğunu tahmin edebilir. Bu yöntem, metin ve görüntülerin kodlanmış gösterimlerinin anlamlı olduğunu ve yeni verilere iyi bir şekilde genellenebileceğini göstermektedir.

  • 00:25:00 Dersin bu bölümünde, konuşmacı CLIP latentleri yoluyla temsil öğreniminin uygulanabilirliğini ve önemini tartışır. Gizli öğeler, donmuş önceden eğitilmiş bir model aracılığıyla görüntü kodlamanın genelleştirilebilir ve anlamlı çıktılarıdır. Bu gizli nesnelerin, görüntülerin gömülü temsilinde yardımcı olabilecekleri, nesnelerin sınıflandırılması ve robotik dahil olmak üzere çeşitli kullanım durumları vardır. Konuşmacı, temsili öğrenmenin her yerde uygulanabilir olduğunu ve metinden görüntüye oluşturma ve 3D vizyonda yararlı olabileceğini vurgular. Parlaklık alanı, işlenen görüntünün giriş başlıklarına karşılık gelen gizli kliple eşleştiği kayıp işlevi kullanılarak optimize edilebilir. Optimizasyon süreci ayırt edilebilir, bu da onu görüntünün yeniden yapılandırılması için etkili bir araç haline getirir.

  • 00:30:00 Bu bölümde, konuşmacı verilen bir yönlendirmeye dayalı olarak parlaklık alanları oluşturmak için görüntü gömme kavramını tartışıyor. Bu yöntem pahalı olmasına rağmen, çeşitli verilerin önceden eğitilmesine ve herhangi bir etki alanı için kullanılabilir gizli bilgiler oluşturmak üzere temsillerin veya ilişkilerin kullanılmasına dayanan gizli kliplerin evrenselliğini gösterir. Bu çok modlu öğrenme tekniğinin etkili olduğu kanıtlanmıştır ve makine öğrenimi alanında önemli bir alt alan olarak kabul edilir. Konuşmacı, klip yönteminin sadece bir başlangıç olmasına rağmen, bu alanda daha fazla gelişmeye yol açtığını belirtiyor.
CS 198-126: Lecture 22 - Multimodal Learning
CS 198-126: Lecture 22 - Multimodal Learning
  • 2022.12.03
  • www.youtube.com
Lecture 22 - Multimodal LearningCS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https://ml.berkeley.edu/de...
 

Derin Öğrenme Araştırması için Tensorflow - Ders 1



Derin Öğrenme Araştırması için Tensorflow - Ders 1

"Derin Öğrenme Araştırması için Tensorflow - Ders 1" videosu, kitaplığın temellerini ve pratik uygulamalarını açıklayan derin düzey bir eğitim ihtiyacını ele alarak TensorFlow ile ilgili öğreticiyi tanıtıyor. Ders, derin öğrenme perspektifinden TensorFlow kullanılarak modellerin nasıl oluşturulacağını ve yapılandırılacağını kapsar. Öğretici ayrıca, alt grafikleri çalıştırarak verimli hesaplama seçenekleri sağlayan düğümler, kenarlar ve oturumlarla nasıl çalışılacağı da dahil olmak üzere, hesaplamalı bir grafik modelini görselleştirmek için TensorBoard'da kullanılan araçları kapsar. Öğretim görevlisi, modelleri dağıtma yeteneği sağlarken CPU, GPU, Android veya iOS üzerinde çalışma yeteneği ile özel modeller oluşturmak ve kaynakları verimli bir şekilde yönetmek için TensorFlow'u sıfırdan öğrenmeyi önerir.

  • 00:00:00 Bu bölümde, konuşmacı çok sığ olmayan ve diğer eğitimlerin kaçırdığı noktaları ele alan video eğitimlerine ihtiyaç olduğunu açıklayarak TensorFlow'daki öğreticiyi tanıtıyor. Dersin CS 20'nin Stanford Üniversitesi içeriğini takip edeceğini ve Chip Huyen'in kişisel düşünceleriyle oluşturduğu slaytları kullandığını duyurur. Ek olarak, TensorFlow'un Google tarafından geliştirilen, grafiklere ve sayısal hesaplamalara izin veren ve lojistik regresyondan derin öğrenme modellerine kadar çeşitli makine öğrenimi modelleri oluşturmak için uygun hale getiren bir sayısal hesaplama kitaplığı olduğuna dikkat çekiyor. TensorFlow ayrıca modelleri CPU, GPU, android veya iOS üzerinde dağıtma yeteneği sağlar.

  • 00:05:00 Bu bölümde konuşmacı, kontrol noktaları kavramını tartışır - kesintiler durumunda aynı noktadan devam etmeyi sağlayan modellerin kaydedilen durumları. Derin öğrenme çerçevelerinde farklılaştırmanın önemi vurgulanır ve konuşmacı, Tensorflow'un sürece getirdiği kolaylığı anlamak için geri yayılım katmanlarını manuel olarak yazmayı önerir. Tensorflow'un popülaritesi, geniş bir topluluk tarafından kullanılmasına bağlanıyor ve görüntü stili aktarımı, el yazısı oluşturma ve StackGAN'lar gibi çeşitli projeler tartışılıyor. Ders, Tensorflow'un hesaplamalı grafik modelini, bina fonksiyonlarını ve yapılandırma modellerini derin öğrenme perspektifinden ele almayı amaçlamaktadır. Son olarak konuşmacı, en son API'ler ve kitaplıklar için bir kaynak olarak Tensorflow web sitesini kullanmanızı önerir.

  • 00:10:00 Bu bölümde konuşmacı, TensorFlow'u sıfırdan öğrenmenin önemini tartışıyor. Üst düzey soyutlamalar daha karmaşık görevlerin üstesinden gelebilirken, özel modeller oluşturmak için kodun arkasındaki işleyişi anlamak çok önemlidir. Konuşmacı, TensorFlow'un hesaplama tanımını yürütmesinden ayırdığını, bir hesaplama grafiğini bir araya getirdiğini ve işlemleri yürütmek için bir oturum kullandığını açıklıyor. Bu bölüm, TensorFlow'da işlemleri tanımlamanın, yerleşik TensorBoard aracı kullanılarak görselleştirilebilen bir grafiği nasıl oluşturduğunu açıklar. Kullanılan örnek kod, kenar değerlerinin tensör değerlerini temsil ettiği operatörler ve tensörler için düğümleri gösterir.

  • 00:15:00 Bu bölümde öğretim görevlisi, bir TensorFlow grafiğindeki düğümleri ve kenarları ve ayrıca grafik içinde hesaplamaları çalıştırmak için oturumların kullanımını tartışır. Kenarlar tensör iken, düğümler operatörler, değişkenler veya sabitler olabilir. Grafiği başlatmak ve hesaplamaları çalıştırmak için bir oturum kullanılır ve oturum gerekli kaynaklarla ilgilenir. Grafikte belirli bir düğümü bir oturumla çalıştırmak, grafiği hesaplar ve düğümün değerini döndürür ve öğretim görevlisi bunu toplama kullanan bir örnekle gösterir. Oturum nesnesi, işleçler ve tensör nesnelerinin içinde çalıştırılması için kaynak ortamını kapsar. Öğretim görevlisi, oturumu açıkça kapatmaya alternatif olarak "ile" ifadesinin kullanılmasından da bahseder.

  • 00:20:00 Bu bölümde video, Tensorflow'daki tembel değerlendirme kavramını açıklıyor. Tensorflow'da bir grafik oluşturulduğunda, bunun önceden hesaplanmadığını veya bir yerde önbelleğe alınmadığını, ancak hesaplamaların gerektiği gibi ve gerektiği zaman tembelce yapıldığını belirtir. Tembel değerlendirmenin gücü, her şeyin hesaplanması gerekmediği gerçeğinden gelir, bu nedenle, modelleri daha derinlemesine takip ederken bir sürü hesaplamadan tasarruf sağlar. session dot run metodu çağrılırken ilk argüman getirme listesindeki hesaplanması gereken düğümlerin listesidir ve Tensorflow tüm bu farklı düğümleri hesaplar ve sonuçları bir liste olarak geri verir.

  • 00:25:00 Bu bölümde öğretim görevlisi, alt grafikleri birden çok CPU veya GPU'da paralel olarak çalıştırma yeteneği de dahil olmak üzere hesaplamaları TensorFlow'da bir grafik olarak modellemenin faydalarını tartışıyor. TF cihazı GPU komutunu kullanarak belirli bir GPU'da çalışacak belirli bir grafiğin nasıl belirleneceğini ve TensorFlow'da birden çok grafiğin nasıl oluşturulacağını açıklarlar; bu, paralel olarak çalışan farklı modellere sahip olabileceğiniz topluluk öğrenimi gibi durumlarda yararlı olabilir. Öğretim görevlisi ayrıca, TensorFlow'daki oturumların kaynak kullanımı açısından açgözlü olabileceğini, bu nedenle birden çok grafik kullanırken kaynakları dikkatli bir şekilde yönetmenin gerekli olabileceğini belirtiyor.

  • 00:30:00 Bu bölümde öğretim görevlisi, TensorFlow'da grafiklerin nasıl oluşturulacağını ve değiştirileceğini tartışıyor. Birden fazla oturum oluşturulabileceğini ancak aralarında veri aktarmanın karmaşık olabileceğini açıklıyorlar. Basitlik için sadece bir seans kullanılması önerilir. Bir grafiğe düğüm eklemek için, örneklenen grafiğin varsayılan olarak ayarlanabileceği TF nokta Grafiği API'si kullanılır. Oturum başlatıldığında, grafik bir bağımsız değişken olarak iletilebilir ve tüm yürütme ortamı bunun etrafında oluşturulur. İki grafiği karıştırmaktan kaçınmak önemlidir ve varsayılan grafikte bir tutamaç elde etmek için API TF dot get underscore varsayılanı kullanılır.

  • 00:35:00 Bu bölümde, konuşmacı TensorFlow'da grafik kullanmanın avantajlarını tartışıyor. Avantajlardan biri, tüm grafiği çalıştırmak yerine alt grafikleri ve hatta tek bir işlemi çalıştırabilme yeteneğidir, bu da hesaplamaları daha verimli hale getirir. TensorFlow ayrıca, hesaplama alt grafikler kullanılarak açıklandığında hesaplamaların farklı cihazlar ve makineler arasında çalıştırılmasına izin veren dağıtılmış bir moda sahiptir. Bu bölümden çıkarılacak sonuç, bir oturumda hesaplama grafikleri oluşturmanın ve alt grafikleri çalıştırmanın önemidir.
Tensorflow for Deep Learning Research - Lecture 1
Tensorflow for Deep Learning Research - Lecture 1
  • 2017.01.29
  • www.youtube.com
These series of tutorials on tensorflow are based on the publicly available slides from the Stanford University class - CS20SI -being offered in the winter o...
 

Derin Öğrenme Araştırması için Tensorflow - Ders 2



Derin Öğrenme Araştırması için Tensorflow - Ders 2

Derin Öğrenme Araştırması için TensorFlow konulu ders, temel işlemler, tensör türleri, yer tutucular ve yavaş yükleme gibi çok çeşitli konuları kapsar. Yürütülmekte olan grafiği görselleştirmek için TensorBoard kullanmanın önemi vurgulanır ve rastgele karıştırma, rastgele kırpma, TF.dot multinomial ve rastgele gama işlevi dahil olmak üzere TensorFlow API'sinin çeşitli işlevleri tartışılır. Video ayrıca farklı veri türleri için 0'lık tanımlama, değişkenleri başlatma, bunlara değer atama ve TensorFlow etkileşimli oturumu kullanmanın yararlarını da kapsar. Son olarak, TensorFlow'da yer tutucuların kullanımı ayrıntılı olarak ele alınmış ve tanımsız şekillere sahip yer tutucular kullanılırken karşılaşılabilecek olası sorunlar tartışılmıştır.

Konuşmacı ayrıca birden fazla veri noktasının nasıl besleneceği ve ücretsiz diktelerin nasıl kullanılacağı da dahil olmak üzere TensorFlow'da yer tutucuların kullanımını tartışıyor. Ders daha sonra, döngülerde aynı işlemin birden çok düğümünün neden olduğu grafiğin şişmesini önlemek için hesaplamanın çalışma zamanına kadar ertelendiği tembel yüklemeye geçer. Değişken tanımları ve bilgi işlem işlevleri için işlem nesnelerinin tanımını hesaplama ve yapılandırma kodundan ayırmak, TensorFlow'da işlevleri çağırmayla ilgili sorunları önlemeye yardımcı olur. Konuşmacı ayrıca optimize edicinin çapraz entropiyi nasıl en aza indirdiğini ve TensorFlow kodunu verimli bir şekilde yapılandırmak için özellikleri kullanırken ağırlıkları ve önyargıları nasıl güncellediğini de ele alıyor.

  • 00:00:00 Dersin bu bölümünde, eğitmen temel işlemleri, tensör tiplerini, yer tutucuları ve yavaş yüklemeyi kapsar. TensorBoard kullanılarak görselleştirilen basit bir grafik programı ile TensorBoard kullanılarak TF grafiğinin nasıl görselleştirileceğini gösterirler. Süreç, oturum içeriğine bir TF tablo özeti dosya yazıcısı eklemeyi, olayları yazmak için bir konum sağlamayı, ne yazılacağını belirtmeyi ve bittiğinde yazıcıyı kapatmayı içerir. Ayrıca isim bağımsız değişkenleri ekleyerek grafiğin nasıl daha okunaklı hale getirileceğini de gösterirler.

  • 00:05:00 Bu bölümde konuşmacı, diğer çerçevelerde hemen bulunmayan TensorFlow'da otomatik bir özellik olan, çalışmakta olan grafiği görselleştirmek için TensorBoard'u kullanmanın önemini vurguluyor. Ders daha sonra TF.constant işlevinin imzasını ve değerinin, şeklinin ve veri türünün nasıl belirtilebileceğini veya çıkarılabileceğini inceler. Ek olarak konuşmacı, correct_shape true veya false olarak ayarlandığında ne olduğunu ve TensorFlow'un sabitler için benzersiz adları nasıl işlediğini açıklar. Son olarak ders, bir vektör ve bir matrisin nasıl oluşturulacağını, bunların nasıl birleştirileceğini ve grafiği görselleştirmek için TensorBoard'un nasıl kullanılacağını gösterir.

  • 00:10:00 Dersin bu bölümünde TensorFlow'da yayın yapma konusu tanıtılır ve NumPy'ye nasıl benzediği gösterilir. Yayın, bir matrise sabit toplama ve çarpma örnekleriyle gösterilir. İster sıfırlarla ister birlerle olsun, belirli değerlerle önceden doldurulmuş tensörler oluşturma kavramı ve TF.fill yöntemi kullanılarak özel bir değerle doldurulmuş tensörlerin nasıl oluşturulacağı da ele alınmaktadır. Bu tensörler için veri türünün doğru ayarlanmasının önemi vurgulanmıştır. Genel olarak ders, TensorFlow ile NumPy gibi diğer sayısal tabanlı kitaplıklar arasındaki benzerlikleri ve farklılıkları anlamanın önemini vurgular.

  • 00:15:00 Bu bölümde, konuşmacı Tensorflow'ta kullanılabilecek bazı farklı türdeki kısıtlamaları ve sıraları tartışıyor. Bir örnek, başlangıç ve bitiş değerlerinin float 32 veya float 64 olduğu, eşit mesafeli aralıklardan oluşan bir dizi oluşturmak için linspace'in kullanılmasıdır. Başka bir örnek, normal bir dağılımdan örnek alarak belirli bir şekle sahip bir tensör oluşturan rastgele normal fonksiyondur. Kesik normal benzerdir, ancak ortalamanın iki standart sapması içindeki örnekler. Son olarak, bir tensörün değerlerini belirli bir boyutta karıştırmanın bir yolu olarak rastgele karıştırma tartışılmıştır. Konuşmacı, kas hafızasını geliştirmek ve sürekli olarak belgelere güvenmekten kaçınmak için bu işlevleri uygulamanızı önerir.

  • 00:20:00 Bu bölümde öğretim görevlisi, verileri varsayılan olarak dördüncü boyutta karıştırarak görüntü veri kümeleri için kullanışlı hale getiren rastgele karıştırma işlevinden başlayarak Tensorflow API'deki çeşitli işlevleri tartışır. Rastgele kırpma işlevi, bir tensörden belirli bir şekle sahip bitişik veri bloklarını kırpar. TF.dot çok terimli fonksiyon, belirli bir logit tensörü ve örnek sayısı ile çok terimli bir dağılımdan örnekler. Son olarak, istatistikte iki parametreye sahip başka bir dağılım olan rastgele gama işlevi tartışılmaktadır: şekil ve beta.

  • 00:25:00 Bu bölümde konuşmacı, derin öğrenme araştırması için rastgele oluşturulmuş sabitler ve diziler oluşturmak üzere TensorFlow işlevlerinin kullanımını tartışıyor. Set_random_seed işlevi tanıtıldı; bu işlev, kullanıcıların tüm grafik için rastgele bir besleme ayarlamasına, sonuçların daha belirleyici bir şekilde rastgele olmasına ve kullanıcıların deneyleri tutarlı bir şekilde tekrarlamasına olanak tanımasına olanak tanır. Konuşmacı ayrıca eleman bazında toplama, matris çarpma ve modulo işlemleri gibi temel işlemler için çeşitli TensorFlow işlevlerini açıklar. Ayrıca konuşmacı, boolean ve string gibi bazı yerel Python türlerinin TensorFlow ile kullanılabileceğini vurgular.

  • 00:30:00 Dersin bu bölümünde konuşmacı, TensorFlow'da vektörler, matrisler ve diziler gibi farklı veri türleri için 0-ness tanımlama kavramlarını ve her tür için beklenen çıktının ne olacağını tartışır. Ayrıca yavaş 32 64'ten 8 16 32 64'e kadar olan TensorFlow veri türlerini ve bunların NumPy ile dönüşümlü olarak nasıl kullanılabileceğini de kapsar. Ek olarak, konuşmacı, grafik tanımında saklandıkları ve daha sonra sorunlara neden olabilecekleri için TensorFlow'da sabitlerin kullanılmasına karşı uyarıda bulunur.

  • 00:35:00 Bu bölümde, konuşmacı TensorFlow değişkenlerinin kullanımını tartışıyor ve kullanıcıların bir değer ve isteğe bağlı adla birlikte TFDOTvariable kullanarak bir değişken tanımlayabileceklerini açıklıyor. Boyutlar, girilen değerden çıkarılır ve kullanıcılar, TF.global_variables_initializer() işlevini kullanarak değişkenlerini başlatmayı seçebilir. Konuşmacı, başlatılmamış değişkenlerin hatalara yol açacağı, ancak kullanıcıların gerekirse değişkenlerin yalnızca bir alt kümesini başlatabilecekleri konusunda uyarır. Buna ek olarak, konuşmacı sabitlerin değişkenlerden farklı olduğunu, çünkü sabitin bir işleç olduğunu, değişkenin ise kullanıcıların çağırabileceği birden çok işlevi ve yöntemi olan bir sınıf olduğunu açıklar.

  • 00:40:00 Bu bölümde video, TensorFlow'da değişkenleri başlatmanın farklı yollarını açıklıyor; bunlardan biri, üzerlerinde belirli bir değerle "ata" işlemini çağırmak. Bu yaklaşım, bazı katmanlara önceden eğitilmiş bir modelden değerler atanırken diğerlerinin rastgele başlatıldığı transfer öğrenme kullanılarak bir model eğitilirken yararlı olabilir. Video ayrıca, tek bir değişkenin nasıl başlatılacağını ve "eval" yöntemini kullanarak bir değişkenin değerinin nasıl alınacağını tartışır. Ek olarak, video, bir değişkene bir değer atarken, değişkenin daha önce başlatılmamış olmasının sorun olmadığını ve "ata" işleminin, değeri atamadan önce değişkeni başlatabileceğini açıklar.

  • 00:45:00 Bu bölümde video, değişkenleri başlatmayı ve onlara değer atamayı kapsar. Başlatıcı işlemi, bir değişkenin başlangıç değerini değişkenin kendisine atar. Ayrıca, atama işlemi, bir değişkenin geçerli değerini yeni bir değerle ekler, çıkarır veya çarparken, atama alt işlemi, yeni değeri geçerli değerden çıkarır. Birden çok oturum, kendi değişken kopyalarını ve başlatmalarını koruyacaktır ve beklenmedik sonuçlardan kaçınmak için birden çok oturumla uğraşırken yürütme yolunu dikkatli bir şekilde yönetmek ve takip etmek önemlidir. Son olarak, başlatılmamış değişkenler atamalar veya işlemler üzerinde herhangi bir etkiye sahip olmayacaktır ve kaynakları serbest bırakmak için tüm oturumlar kapatılmalıdır.

  • 00:50:00 Bu bölümde, konuşmacı TensorFlow kitaplığında değişkenlerin başlatılmasını tartışıyor. TensorFlow çalıştırılırken, kodda kullanılan tüm değişkenler başlatılmalıdır. Birbirine bağlı olabileceğinden, birden fazla değişken kullanıldığında bu riskli olabilir. Bu gibi durumlarda, başka bir değişkeni başlatmak için kullanmadan önce değişkenin değerinin güvenli olduğundan emin olmak için değişken başlatma değeri kullanılmalıdır. Konuşmacı daha sonra etkileşimli bir TensorFlow oturumu kullanmanın faydalarını ve oturumun kod içindeki bir dizi işlemi değerlendirmek için nasıl kullanılacağını açıklamaya devam eder. Son olarak, konuşmacı, son işlem çağrılmadan önce ilgili tüm işlemlerin yürütülmesini sağlama yöntemi olan kontrol bağımlılığını tartışır. Bu, birçok işlemi içeren karmaşık makine öğrenimi modellerinde yararlı olabilir.

  • 00:55:00 Bu bölümde video, hesaplamada kullanılacak verilerin değerlerini bilmeden bir grafiğin birleştirilmesine izin veren TensorFlow'daki yer tutucuları tartışıyor. Yer tutucular, satır boyunca hesaplanacak gerçek değerler için yer tutucu görevi görür ve tanımlanmış bir tür ve şekle sahip TF.placeholder operatörü kullanılarak tanımlanır. Yer tutucuları içeren işlemler yürütülürken, yer tutucular ve değerleri ile bir sözlük oluşturulmalıdır ve bu sözlük daha sonra session.run() çağrısına beslenir. Yer tutucular şekli hiçbiri olarak ayarlayabilirken, bazı işlemlerin şeklin tanımlanmasını gerektirdiğini ve bunun da hatalara neden olabileceğini belirtmekte fayda var.

  • 01:00:00 Bu bölümde video, yer tutucuları ve bunların TensorBoard'da görselleştirilebilen kendi temelleri üzerinde nasıl geçerli birinci sınıf operasyonlar olduklarını tartışıyor. Bu bölüm ayrıca birden fazla veri noktasının nasıl girileceğini ve grafiğinizdeki herhangi bir değişken veya sabit için serbest diktenin nasıl kullanılacağını kapsar. Video daha sonra, nesnelerin yalnızca ihtiyaç duyulduğunda oluşturulduğu tembel yüklemeye ve yürütülmeden önce grafik içinde bir düğümün oluşturulduğu normal yüklemeye geçer. Yavaş yükleme kavramı, özellikle büyük veri kümeleriyle çalışırken bellek yönetimine yardımcı olur.

  • 01:05:00 Bu bölümde, konuşmacı tembel yüklemeyi ve bunun TensorFlow üzerindeki etkilerini açıklıyor. Tembel yükleme, hesaplamanın grafik oluşturma yerine çalışma zamanına kadar ertelendiği bir tekniktir - bu, hesaplama grafiğinde, özellikle döngülerde aynı işlemin birden çok düğümüne yol açabilir. Konuşmacı, grafiği şişirmekten ve diğer ilişkili sorunlardan kaçınmak için işlem nesnelerinin tanımını işlemlerin hesaplanmasından ve çalıştırılmasından ayırmayı önerir. Ek olarak, konuşmacı, değişken tanımları bir yerde ve bilgi işlem işlevleri başka bir yerde olacak şekilde kodu yapılandırmanın önemini vurgular.

  • 01:10:00 Bu bölümde öğretim görevlisi, derin öğrenme araştırması için TensorFlow kullanırken işlevleri çağırmayla ilgili sorunlardan kaçınmak için kodun nasıl yapılandırılacağını açıklıyor. Öğretim görevlisi, Python özelliklerini kullanarak 'start_prediction', 'optimized' ve 'error' gibi dahili özniteliklerin nasıl tanımlanacağını gösterir. Kod bloğunun ilk kısmı, bir işlem eklemeden önce veri boyutunu, hedef boyutunu, ağırlığını ve yanlılığını hesaplar. Bu işlemin ortaya çıkan çıktısı grafiğe eklenir. "Optimize et" işlevi, ilk çağrıldığında ilk düğümleri oluşturarak ve sonraki çağrıldığında bu düğümlere tanıtıcılar döndürerek aynı modeli izler.

  • 01:15:00 Bu bölümde konuşmacı, optimize edicinin çapraz entropiyi nasıl en aza indirdiğini ve TensorFlow'daki ağırlıkları ve önyargıları nasıl güncellediğini tartışıyor. İyileştirici ilk kez çağrıldığında, TensorFlow geri yayılımı gerçekleştirir ve kayba katkıda bulunan değişkenleri günceller. Daha sonra optimize edici çağrıldığında, TensorFlow zaten grafiğe sahiptir ve herhangi bir ek düğüm çağırmadan ağırlıkları en aza indirmek ve güncellemek için gelen düğümleri hesaplar. Özelliklerin kullanılması, TensorFlow kodunun daha verimli bir şekilde yapılandırılmasına yardımcı olur. Bir sonraki ders, bu süreci daha iyi anlamak için bir örnek sağlayacaktır.
Tensorflow for Deep Learning Research - Lecture 2
Tensorflow for Deep Learning Research - Lecture 2
  • 2017.02.05
  • www.youtube.com
This is the second lecture in the series of tutorials on tensorflow and is based on the publicly available slides from the Stanford University class - CS20SI...
 

Derin Öğrenme Araştırması için Tensorflow - Ders 3



Derin Öğrenme Araştırması için Tensorflow - Ders 3

Derin öğrenme araştırması için TensorFlow hakkındaki üçüncü ders, MNIST veri setini kullanan doğrusal regresyon ve lojistik regresyonu kapsar. Öğretim görevlisi, girdi verileri için yer tutucular oluşturarak, ağırlıklar ve yanlılık için eğitilebilir değişkenleri başlatarak, tahminlerde bulunarak, kaybı hesaplayarak ve optimize ediciyi belirli bir öğrenme hızıyla gradyan iniş olarak tanımlayarak TensorFlow'da bir doğrusal regresyon modelinin nasıl eğitileceğini gösterir. Ders ayrıca mini toplu stokastik gradyan inişini ve değişkenlerin şeklini hatırlamanın önemini açıklar. Modelin doğruluğu, TF argmax fonksiyonundan elde edilen maksimum değerin indeksi ile hedef değişken y'nin karşılaştırılması, TF azaltma toplamı ve TF kayan nokta kullanılarak doğru tahmin sayısının hesaplanması ve toplam test sayısına bölünmesiyle hesaplanır. örnekler. Son olarak öğretim görevlisi, bu modelin güçlü olarak kabul edilmediğini ve daha yüksek doğruluk sağlayan evrişimli katmanlar gibi daha sağlam modeller olduğunu belirtiyor.

  • 00:00:00 Bu bölümde, konuşmacı derin öğrenme araştırması için TensorFlow'daki üçüncü derse başlar ve bir önceki dersteki materyalin gözden geçirilmesiyle başlar. TensorFlow'un hesaplama grafiğinin tanımını yürütmesinden nasıl ayırdığını ve ona çeşitli işlemler ekleyerek bir grafiğin nasıl birleştirileceğini açıklarlar. Daha sonra TF sabitlerini, değişkenlerini ve yer tutucularını ve bunların işlevlerini bir grafik içinde tartışırlar. Konuşmacı, tembel yüklemeden kaçınmanın önemini vurgular ve bunun yerine optimum verimlilik için grafiğin birleştirilmesi ve yürütülmesini ayırmanın önemini vurgular. Daha sonra doğrusal regresyonun ilk örneğini sunarlar ve veri kümesindeki bağımsız değişkenlere dayalı olarak bağımlı değişken Y'nin nasıl tahmin edileceğini açıklarlar. Konuşmacı, dinleyicilere örnekleri takip etmelerini ve problemleri kendilerinin çözmelerini önerir.

  • 00:05:00 Bu bölümde, eğitmen doğrusal regresyonun temellerini açıklıyor ve TensorFlow'da bir doğrusal regresyon modelinin nasıl eğitileceğini gösteriyor. Y'nin tahmin edilen değerinin W ile X ile çarpıp B'ye eklendiği basit bir doğrusal model kullanılır. Kayıp, tahmin edilen değer ile Y'nin gerçek değeri arasındaki fark olarak hesaplanır ve eğitim, W ve B'nin eğitilebilir değişkenleri. Öğretim görevlisi daha sonra, giriş verilerinin yangın sayısı olduğu ve çıktı hedef değişkeninin belirli bir numunedeki test sayısı olduğu bir doğrusal regresyon örneğinin kodunu paylaşır. Kod, girdi verileri için yer tutucuların nasıl oluşturulacağını, W ve B'nin eğitilebilir değişkenlerinin nasıl başlatılacağını, tahminlerin nasıl bulunacağını, kaybın nasıl hesaplanacağını ve optimize edicinin belirli bir öğrenme oranıyla gradyan iniş olarak nasıl tanımlanacağını gösterir.

  • 00:10:00 Bu bölümde öğretim görevlisi, derin öğrenme araştırması için TensorFlow'da bir model yetiştirme sürecini açıklar. Modeli oluşturduktan ve kayıp fonksiyonunu tasarladıktan sonraki adım, bir oturum başlatmak ve modeli tanımlanmış sayıda dönem için çalıştırmaktır. Her dönem, eğitim verilerinin oturum boyunca tekrar tekrar çalıştırılmasını ve kaybı en aza indirmek için değişkenlerin güncellenmesini içerir. Süreç, TensorBoard aracılığıyla görselleştirilir ve ortaya çıkan model, herhangi bir girdi değeri için çıktıyı tahmin etmek için kullanılabilir. Öğretim görevlisi ayrıca, modelin tahminini etkileyen verilerde bir aykırı değerin varlığına da dikkat çeker.

  • 00:15:00 Bu bölümde öğretim görevlisi, TensorFlow'daki eğitim modellerinde optimize edicilerin rolünü açıklıyor ve gradyan iniş, grad momentum, Adam, RMSprop, proksimal gradyan ve proksimal a grad dahil olmak üzere çeşitli optimize edicileri listeliyor. Öğretim görevlisi, modelin genellenebilir olduğundan emin olmak için modelin performansını daha önce görmediği veriler üzerinde test etmenin önemini vurgular. Kare hata kaybı fonksiyonunun aykırı değerlere duyarlılığını ele almak için öğretim görevlisi Huber kayıp fonksiyonunu tanıtır ve nasıl çalıştığını açıklar. Öğretim görevlisi ayrıca Huber kayıp işlevinin TensorFlow'da nasıl kodlanacağına ilişkin talimatlar da sağlar.

  • 00:20:00 Bu bölümde öğretim görevlisi, derin öğrenmede yaygın olarak kullanılan bir kayıp fonksiyonu olan Huber kaybının uygulanmasını açıklar. Huber kaybı, regresyon problemleri için kullanılır ve tahminler ile etiketler arasındaki kalıntıyı bularak çalışır. Kalıntı, Delta değerinden küçükse, Küçük Çöz adı verilen bir işlev döndürülür. Ancak, Delta'dan büyükse, Büyük Çözünürlük döndürülür. Öğretim görevlisi daha sonra MNIST veri setini kullanarak lojistik regresyonu tartışmaya geçer. Lojistik regresyon, sınıflandırma problemlerinde kullanılır ve logiti X olarak W artı B olarak hesaplayarak çalışır. Bunun sonucu daha sonra bir softmax fonksiyonundan geçirilerek bir olasılık dağılımı üretilir. Bu durumda kullanılan kayıp fonksiyonu, iki olasılık dağılımı arasındaki mesafeyi ölçen çapraz entropi kaybıdır.

  • 00:25:00 Bu bölümde, eğitmen mini toplu stokastik gradyan iniş kavramını ve derin öğrenme için modelleri eğitirken toplu işlerin kullanımını açıklar. Bunu yaparak, GPU belleğinin en iyi şekilde kullanılmasına yardımcı olur ve tüm eğitim setini kullanamadığımızda etkilidir. Öğretici, model için bir yer tutucu oluşturma, giriş ve çıkış özellikleri için ağırlık ve eğilim değerlerini başlatma ve başlatma için tf.random.normal işlevini kullanarak tensorflow ile bir model oluşturma adımlarını içerir. Bu değişkenleri oluştururken şeklinin hatırlanmasının önemi de özellikle son girdi özellik boyutu ve sınıf sayısı ile vurgulanmıştır.

  • 00:30:00 Bu bölümde, kaybı hesaplamak için çapraz entropi kaybı fonksiyonunun kullanıldığı, parti boyutu 10 olan basit DF modeli tartışılmaktadır. Bir optimize edici tanımlanır ve model eğitildikten sonra, toplam doğru tahmin sayısını bulmak için test edilir. Doğru tahminler, logits grubu ve olasılık değerlerinin modele beslendiği ve doğru tahmin değerlerini hesaplamak için gerçek etiketlerle karşılaştırıldığı softmax işlevi kullanılarak hesaplanır. Aşırı uyumdan kaçınmak için optimize edicinin test setinde çalıştırılmaması önerilir.

  • 00:35:00 Bu bölümde sunum yapan kişi, modelin doğruluğunun nasıl hesaplanacağını açıklar. TF argmax işlevi, satırdaki maksimum değeri elde etmek için kullanılır ve en yüksek olasılığa sahip basamağın dizinini döndürür. Bu indeksi hedef değişken y ile karşılaştırıyoruz. Ardından, TF toplamını ve TF değişkenini kullanarak doğru tahminlerin sayısını hesaplıyoruz. Son olarak, bu özel lineer model için %90 olan doğruluğu elde etmek için doğru tahminlerin sayısını test örneklerinin toplam sayısına böleriz. Sunucu ayrıca, bu modelin güçlü olarak kabul edilmediğini ve daha yüksek doğruluk sağlayan evrişimli katmanlar gibi daha sağlam modeller olduğunu belirtiyor.
Tensorflow for Deep Learning Research - Lecture 3
Tensorflow for Deep Learning Research - Lecture 3
  • 2017.02.15
  • www.youtube.com
This is the third lecture in the series of tutorials on tensorflow and is based on the publicly available slides from the Stanford University class - CS20SI ...
 

Derin Öğrenme Araştırması için Tensorflow - Ders 4



Derin Öğrenme Araştırması için Tensorflow - Ders 4

TensorFlow for Deep Learning Research serisinin 4. Dersinde, konuşmacı, derin öğrenmeye dayalı doğal dil işlemede kelime gömmelerini derinlemesine araştırıyor. Ders, NLP problemleri için kelime gömmelerini öğrenme kavramını açıklar ve sinir ağlarında kelimeleri sayısal vektörler olarak temsil etme sürecini açıklar. Ders, yapay zeka tabanlı CBOW ve atlama gramları kullanarak kelime vektörleri üretmenin farklı yöntemlerini ve negatif örnekleme ve NCE kullanarak softmax'ta hesaplama karmaşıklığı sorununu ele almayı tartışıyor. Ayrıca öğretim görevlisi, değişkenleri TensorFlow'a yerleştirme sürecini ve yüksek boyutlu kelime vektörlerini indirgenmiş boyutlarda görselleştirmek için t-SNE'yi kullanma sürecini vurgular. Son olarak, ders, işlenen kavramların bir özeti ve kelime modelleri oluşturmaya odaklanacak bir sonraki ders hakkında bir özet ile sona erer.

  • 00:00:00 Bu bölümde öğretim görevlisi, derin öğrenmeye dayalı olarak NLP'de kelime yerleştirme kavramını tartışır. Sözcük yerleştirmeleri, sözcükler arasındaki anlamsal ilişkileri yakalayan bir sinir ağında sözcükleri sayılar olarak temsil etmenin bir yoludur. Amaç, ülkeler gibi benzer kavramları iki boyutlu bir uzaya yansıtırken bir araya toplayabilecek bir model oluşturmaktır. Öğretim görevlisi ayrıca sayma yoluyla kelime gömmelerini öğrenme sürecini açıklar ve sinir ağları ile geri yayılımı kullanmanın daha yeni yaklaşımını sunar.

  • 00:05:00 Bu bölümde konuşmacı, eş oluşum matrisini kullanarak kelimeleri vektörler olarak temsil etmenin yollarını tartışıyor. Bununla birlikte, birlikte oluşum matrisi çok büyük ve seyrek olduğundan çalışmayı zorlaştırır. Bunu ele almak için konuşmacı, matrisin düşük dereceli bir yaklaşımını bulmak için kesik SVD'nin kullanılmasını önerir. Bu, matrisi üç matris halinde çarpanlarına ayırmayı ve temsil olarak kullanmak için doğru tekil vektörlerin yalnızca ilk K'sini seçmeyi içerir. Bununla birlikte, SVD, özellikle büyük sözlükler için hesaplama açısından pahalı bir işlemdir ve ölçeklendirmeyi zorlaştırır. Ayrıca, sözlüğe yeni bir kelime eklemek, tüm hesaplamanın yeniden yapılmasını gerektirecektir.

  • 00:10:00 Bu bölümde video, yapay zeka oluşturmaya dayalı yöntemler kullanılarak sözcük vektörleri oluşturmaya yönelik iki yöntemi tartışıyor: sürekli sözcük torbası (CBOW) ve gram atlama. CBOW, merkez kelimeyi tahmin etmek için hedef kelimenin etrafındaki bağlamı kullanırken, atlama gram, bağlam kelimelerini tahmin etmek için merkez kelimeyi kullanır. Her kelimeyi temsil etmek için tek sıcak vektörler kullanılır ve kelime vektörlerini öğrenmek için basit bir sinir ağı aracılığıyla bir ağırlık matrisi oluşturulur. Eğitim örnekleri, bir pencere boyutu seçilerek ve pencere metin üzerinde hareket ettirilerek seçilir. Sinir ağı, cümlenin ortasında belirli bir kelime verilen bağlamdaki başka herhangi bir kelimenin olasılığını bulmak için eğitilmiştir.

  • 00:15:00 Dersin bu bölümünde, konuşmacı, sinir ağında yorumlanabilir hale getirmek için sözcükleri vektörler olarak temsil etmeyi içeren sözcük gömme tekniğini açıklar. Teknik, bir bağlamdan rastgele bir sözcük seçmeyi ve sözcük vektörlerini öğrenmek için bir ağırlık matrisi kullanmayı içerir; bunlar daha sonra sözcük dağarcığındaki sözcüklerin olasılık dağılımını oluşturmak için bir çıktı matrisi ile eşleştirilir. Softmax işlevi, skaler çıktı dağılımını normalleştirmek için kullanılır, böylece benzer bağlamlara sahip kelimeler kendilerine atanmış benzer olasılıklara sahip olacaktır. Bu yaklaşımı kullanarak, dersteki bir örnek, zeki ve akıllı kelimelerinin benzer bağlamlarda nasıl ortaya çıkacağını ve dolayısıyla bu iki kelime için kelime vektörlerinin çok benzer olacağını gösterdi.

  • 00:20:00 Bu bölümde öğretim görevlisi, softmax ile ortaya çıkan hesaplama karmaşıklığı sorununa olası çözümleri tartışıyor. Bu sorunu ele almak için yaygın olarak kullanılan iki yöntem, negatif örnekleme ve gürültü kontrast tahminidir (NCE). NCE, teorik bir garantiyle softmax'a yaklaşabilse de, her iki yöntem de pratik amaçlar için benzer sonuçlar verir. Ders daha sonra ampirik ve bilgi dağılımlarının tanımlarını inceler; burada amaç, modelin parametrelerinin yardımıyla ampirik dağılıma yaklaşmaktır. Son olarak, öğretim görevlisi, dil modeli tahmin problemini azaltmak için bir yöntem olarak NCE'yi tanıtır.

  • 00:25:00 Bu bölümde, konuşmacı ikili sınıflama kullanarak iki sınıflı eğitim problemi için nasıl veri üreteceklerini açıklar. C harfinden bir orta kelimeyi örneklerler ve ardından PT küçük P harfi W virgül C'den bir gerçek örnek alırlar. QW'yi kullanarak K adet gürültü örneği üretecekler ve bunlara 0'a eşit olan D etiketini atayacaklar. veri noktaları gürültüdür. Daha sonra iki dağılımın bir karışımını oluşturarak iki sınıflı verilerde D, virgül W'nin ortak olasılığını hesaplarlar. Koşullu olasılığın tanımını kullanarak, D'nin 0 ve 1 olduğu iki durum için W ve C verildiğinde bunu D'nin koşullu olasılığına çevirebilirler.

  • 00:30:00 Bu bölümde, konuşmacı, bölme fonksiyonunun pahalı hesaplanması problemini ve bunun Gürültü Kontrast Tahmini (NCE) kullanılarak nasıl çözüleceğini tartışıyor. NCE, bölümleme işlevini her ampirik bağlam sözcüğü için bir parametre olarak eklemeyi ve geri yayılım yoluyla öğrenmeyi önerir. Vc parametresini bire sabitleyerek ve P tilde W virgül C'yi u teta W virgül C bölü Vc ile bölme fonksiyonuyla değiştirerek, bir ikili sınıflandırma problemi elde edilir. Amaç, log olasılığı olarak yazılabilen K negatif örneğe göre D'nin koşullu olasılığını maksimize etmektir. Konuşmacı, NCE'nin beklentiyi bir Monte Carlo yaklaşımıyla nasıl değiştirdiğini ve süreci hesaplama açısından daha az maliyetli hale getirdiğini açıklıyor.

  • 00:35:00 Bu bölümde, Negatif Örnekleme (NS) yerine Gürültü Karşıtlık Tahmininin (NCE) kullanımı tartışılmaktadır. NCE, dil modelleme hedefini ikili bir sınıflandırma problemine indirgeyebilmekte ve model parametreleri için amacın aynı noktada gerçekleşeceği gösterilmiştir. NCE kaybı için TensorFlow API'sinin yanı sıra, TensorBoard'da daha iyi görselleştirme için düğümlerin birlikte gruplandırılmasına izin veren ad kapsamının kullanımı sunulur. Ad kapsamı özelliği bağlamında değişken adlarının kapsamı da açıklanmaktadır.

  • 00:40:00 Bu bölümde öğretim görevlisi, derin öğrenme araştırması için değişkenleri TensorFlow'a yerleştirme sürecini tartışıyor. Değişkenleri belirli bir kapsam içine yerleştirerek, TensorFlow Board'da güzel bir şekilde gruplandırılmış bir görselleştirmenin parçası haline gelirler. Öğretim görevlisi ayrıca t-SNE adı verilen bir teknik kullanarak kelime vektörlerinin nasıl görselleştirileceğini açıklar ve görselleştirme için TC'yi çizmek için bir tarif sağlar. Gömme matrisinden öğrenilen yüksek boyutlu vektörleri alarak, t-SNE, boyutları 2B veya 3B'ye indirgemek için kullanılır ve kelimeler arasındaki en yakın komşu ilişkilerini gösterir. Son olarak öğretim görevlisi, kelimeden işe model için kullanılan koda genel bir bakış sunar.

  • 00:45:00 Bu bölümde öğretim görevlisi girdi ve çıktı için yer tutucuları tanımlama, NCE kaybı için bir değişken oluşturma ve yerleştirmeleri ve yerleştirme matrisini tanımlama sürecini tartışır. 50.000 kelime dağarcığı ve 128 parti büyüklüğü kullanan ders, her kelime için 128 boyutlu bir kelime vektörü öğrenen bir gömme matrisi tanımlar. Skip-gram'daki çıkarım süreci de açıklanır, anlatım kolaylığı için her seferinde bir kelimeye odaklanılır. Daha sonra kayıp işlevi, TensorFlow API kullanılarak tanımlanır ve ders, negatif örnekler ve eğitim adımlarının sayısı gibi temel değişkenlerin bir dökümünü sağlar.

  • 00:50:00 Bu bölümde konuşmacı, softmax'ın karmaşıklığını çözmeye yardımcı olan bir ikili sınıflandırma problemi oluşturmak için NCE'nin (gürültü karşılaştırmalı tahmini) nasıl kullanıldığını tartışıyor. Proxy sınıflandırması için oluşturulan 64 adet negatif ve bir adet pozitif örneğin her biri bir kelime vektörüne karşılık gelmektedir. TensorFlow otomatik farklılaştırma, bir pozitif örneği 64 negatif örnekten ayırmak için bir ikili sınıflandırıcının ağırlıklarını güncellemek için kullanılır. Ders, kelime vektörleri, NCE, gömme matrisleri ve Temel Bileşen Analizi (PCA) dahil olmak üzere şimdiye kadar ele alınan kavramların bir özeti ile sona erer. Bir sonraki ders, kelime modelleri oluştururken farklı programları ve deneyleri yönetmeye odaklanacak.
Tensorflow for Deep Learning Research - Lecture 4
Tensorflow for Deep Learning Research - Lecture 4
  • 2017.03.04
  • www.youtube.com
This is the fourth lecture in the series of tutorials on tensorflow and is based on the publicly available slides from the Stanford University class - CS20SI...
 

Derin Öğrenme Araştırması için Tensorflow - Ders 5_1



Derin Öğrenme Araştırması için Tensorflow - Ders 5_1

TensorFlow for Deep Learning Research serisinin beşinci dersi, derin öğrenme deneylerinin etkili bir şekilde nasıl yönetileceği, TensorFlow'da otomatik farklılaştırmanın önemi ve eğitim modellerinin ve değişkenlerin kaydedilmesi süreci dahil olmak üzere çeşitli konuları kapsar. Konuşmacı, otomatik farklılaştırmanın TensorFlow gibi derin öğrenme çerçevelerinde sağlandığını ve kullanıcıların gradyanlarla uğraşmadan modellerini kodlamasını kolaylaştırdığını açıklıyor. Degradeleri manuel olarak hesaplamak zorunlu olmasa da, basit işlevler ve ağlar için bunları hesaplamak yine de yararlıdır. Alt sınıflar ve gerekli yer tutucular ve besleme teknikleri ile adlandırılmış bir varlık tanıma modelinin oluşturulması, ayrıca TensorFlow'da değişkenlerin kaydedilmesi ve geri yüklenmesi ve farklı oturumlar ve makinelerde modelleri kaydetme süreci de ele alınmaktadır.

  • 00:00:00 Bu bölümde, konuşmacı derin öğrenme deneylerinin nasıl yönetileceğini ve TensorFlow'da otomatik farklılaştırmanın önemini tartışıyor. Bir model yazarken çeşitli şeyler deneyeceğinizi ve eğitime başlayıp yeniden başlayacağınızı, bu nedenle uygun yönetimin çok önemli olduğunu açıklıyorlar. TensorFlow gibi derin öğrenme çerçevelerinde otomatik farklılaştırma sağlanır, bu da kullanıcıların gerçek gradyanlarla uğraşmadan modellerini kodlamasını kolaylaştırır. Konuşmacı, TensorFlow'un "gradyanlar" işleminin, ikinci argüman olarak sağlanan bir listede her tensöre göre Y'nin gradyanlarını bulmaya izin verdiği bir örnek sağlar. Ayrıca, TensorFlow ve derin öğrenmedeki her şeyin sayısal farklılaşmaya dayalı olduğundan da bahsediyorlar.

  • 00:05:00 Bu bölümde, konuşmacı, TensorFlow zaten bir nokta gradyan özelliğine sahipken, gradyanların elle nasıl hesaplanacağını öğrenmenin gerekli olup olmadığı hakkında konuşuyor. Zorunlu olmasa da, özellikle özel katmanlar yazarken veya patlama veya yok olan gradyanlar gibi gradyan sorunlarıyla uğraşırken basit işlevler veya ağlar için gradyanları çözmenin hala yararlı olduğunu öne sürüyor. Ayrıca, kullanımı kolaylaştırmak ve modeli tamamen işlevden çıkarmak için modelin daha nesne yönelimli bir şekilde yapılandırılmasını önerir. Konuşmacı, bir derin öğrenme modelinin bileşenlerinin nasıl kapsanacağına bir örnek olarak CS 244 D atama yapısından bahseder.

  • 00:10:00 Bu bölümde, konuşmacı bir derin öğrenme modeli oluşturmanın Model yönünü tartışıyor. Modelin, tam çıkarımın yazıldığı yer olduğunu, bir girdi alıp çıktıyı vermek için bir ileri geçiş gerçekleştirdiğini ve ardından tahmin edilen çıktıyı yer tutuculardan gelen gerçek çıktı etiketleriyle karşılaştıran bir kayıp skalasını oluşturan kayıp işlemini eklediğini açıklıyorlar. Konuşmacı, her şeyi tek bir temel sınıf olarak soyutlamayı ve dil modeli gibi belirli model türleri için alt sınıflar oluşturmayı önerir. Son olarak, alt sınıflarla ve yer tutucular ve akış teknolojisi gibi gerekli API'lerle adlandırılmış bir varlık tanıma modelinin nasıl oluşturulacağını açıklarlar.

  • 00:15:00 Bu bölümde, TensorFlow kullanarak derin öğrenme modellerini eğitme sürecini ve deneyleri etkili bir şekilde yönetmeyi öğreniyoruz. Süreç, değişken matrisler oluşturmayı ve yerleştirme matrislerini eğiten bir döngüde bir eğitim verisi çağını çalıştırmadan önce eğitim verileri için yerleştirmeleri almayı içerir. İlerlemeyi kaydetmek için, train.saver'a giden TF, grafikteki değişkenleri ikili dosyalara kaydeder; bu dosyalar, birinin durduğu yerden başlamak için gelecekteki çalıştırmalar sırasında çağrılabilir. Kod örneği, koruyucu nesnenin nasıl başlatılacağını ve en iyi duruma getiriciyi çalıştırmak, oturumu ve bazı dizin adlarını kaydetmek için eğitim adımında nasıl dolaşılacağını gösterir.

  • 00:20:00 Bu bölümde, konuşmacı TensorFlow'un Save sınıfının ayrıntılarını ve bununla ilişkili değişkenleri derinlemesine inceliyor. 0'dan başlayan eğitilebilir olmayan bir kod değişkeni olarak tanımlanan genel adım değişkeni, eğitim işlemi her çağrıldığında "minimize" işlevinde sağlanarak artırılabilir. Ek olarak, "maksimum tutulacak" değişkeni, kaydedilen kontrol noktalarının sayısını en yeni olanlarla sınırlandırır ve "kontrol noktasını her tut" değişkeni, bir kontrol noktasının ne sıklıkta kaydedildiğini kontrol ederek, onu uzun eğitim döngüleri için kullanışlı hale getirir.

  • 00:25:00 Bu bölümde eğitmen, TensorFlow'da değişkenlerin nasıl kaydedileceğini ve geri yükleneceğini tartışır. Kullanıcıların, her şeyi kaydetmek yerine belirli değişkenleri kaydetmek için bir değişken listesi veya bir sözlük belirtebileceğini açıklıyor. Bunun yararı, özellikle transfer öğrenimi yaparken yerden tasarruf etmek ve verimi artırmaktır. Değişkenleri geri yüklemek için kullanıcılar, belirli bir dizindeki en son kontrol noktasını kontrol edecek ve session.restore() işlevini kullanarak oradan geri yükleyecek olan tf.latest_checkpoint işlevini çağırabilir. Eğitmen ayrıca, kullanıcıların değişkenlere karşılık gelen anahtarlar ve değerler içeren koleksiyonlar oluşturarak ve ardından koruyucu nesneyi tüm varsayılan değerlerle başlatarak grafiği TensorFlow 0.11'den itibaren kaydedebileceklerinden bahseder.

  • 00:30:00 Dersin bu bölümünde eğitmen, TensorFlow modellerinin farklı oturumlarda ve hatta farklı makinelerde nasıl kaydedileceğini ve geri yükleneceğini açıklıyor. Adımlar, genel değişkenler başlatıcıyı çalıştırmayı, oturumu kaydetmeyi ve kaydedilmiş bir grafik dosyası oluşturmak için "meta grafiği dışa aktarma" yöntemini kullanmayı içerir. Kaydedilen bu grafik geri yüklenebilir ve orijinal grafik yoksa değişkenler tamamen farklı bir işlemde veya makinede yeniden başlatılabilir. Eğitmen ayrıca bir sonraki videoda ele alınacak olan TF.summary'den bahseder.
Tensorflow for Deep Learning Research - Lecture 5_1
Tensorflow for Deep Learning Research - Lecture 5_1
  • 2017.03.18
  • www.youtube.com
This is the first part of the fifth lecture in the series of tutorials on tensorflow and is based on the publicly available slides from the Stanford Universi...
 

Derin Öğrenme Araştırması için Tensorflow - Ders 5_2



Derin Öğrenme Araştırması için Tensorflow - Ders 5_2

Eğitim videosu, verilerin TensorBoard'da görselleştirilmesine izin veren TF özet işlemlerinin uygulanmasını tartışır. Öğretici, üç tür özet işlemi kapsar - TF.summary.scalar, TF.summary.histogram ve TF.summary.image - ve bunların nasıl tek bir dosyada birleştirilip FileWriter sınıfını kullanarak bir olay dosyasına yazılacağını açıklar. Öğretim görevlisi, TensorBoard'da grafiği görselleştirmek için ad kapsamlarının nasıl kullanılacağını gösterir ve ayrı dosyalara özet yazmak için bir test yazarı ve eğitimli bir yazar tanımlar. Kişinin modelinin performansını daha iyi anlamak için TensorBoard'un görselleştirme özelliklerinden yararlanmanın önemini vurguluyorlar. Genel olarak, TensorBoard, eğitim ilerlemesini izlemek için çok önemli bir araçtır ve operasyonlar eklemek ve bunları birleştirmek için API basittir.

  • 00:00:00 Bu bölümde, video eğitimi, TensorBoard'da görselleştirme için özet veriler oluşturmak üzere hesaplama grafiğindeki düğümlere bilgi ekleyen işlevler olan TF özet işlemlerinin nasıl kullanılacağını tartışır. Öğretici, üç tür özet işlemi kapsar: grafikteki kayıp, çapraz entropi ve öğrenme oranları gibi skaler değer düğümlerine iliştirmek için TF.summary.scalar; Belirli bir katmanın ağırlıkları gibi bir tensörün dağılımını görselleştirmek için TF.summary.histogram; ve görüntüleri, girdileri ve hatta bazı ara katmanları görselleştirmek için TF.summary.image. Öğretici, tüm özet işlemlerinin nasıl tek bir işlemde birleştirileceğini ve bunların FileWriter sınıfını kullanarak bir olay dosyasına nasıl yazılacağını açıklar.

  • 00:05:00 Bu bölümde, konuşmacı TensorBoard'da verileri görselleştirmek için TensorFlow'da bir dosya yazıcısının ve bir özetin nasıl kurulacağını açıklıyor. Her adımda çalıştırmak çok fazla veri üretebileceğinden, yazıcıyı belirli aralıklarla çalışacak şekilde ayarlamanızı önerirler. Dosya yazıcısına grafik nesnesi sağlanarak, hesaplama grafiği bir grafik tanım olarak kaydedilebilir ve TensorBoard'da görselleştirilebilir. Konuşmacı, y ekseninde karşılık gelen değerleri görmek için x ekseninde belirli adımları seçerek TensorBoard'da skalerlerin ve histogramların nasıl görselleştirileceğini gösterir. Kullanıcıları, modellerinin performansını daha iyi anlamak için TensorBoard'un görselleştirme özelliklerinden yararlanmaya teşvik ederler.

  • 00:10:00 Bu bölümde öğretim görevlisi, bir tensör alan ve bir özet düğümü ekleyen, değişken_summary adlı bir işlevi tanımlamayı tartışır. Fonksiyon ortalama, standart sapma, maks, min ve histogramı kapsar; her değişken, bir adlandırma perspektifinden kapsam dışı bırakılacaktır. Ayrıca, model yeterince eğitilmediğinde kayıpların en yüksek olduğu ve adım boyutu arttıkça kayıpların azaldığı dağılımlarda düzensizlik fikrini de tartışırlar. Çeşitli deneyler için farklı dosya yazarları kullanılabilir ve bunlar log donanımına kaydedilebilir. Yoğun yerleşim seçeneği, farklı seçenekler arasında seçim yapmanıza ve geçiş yapmanıza olanak tanır.

  • 00:15:00 Bu bölümde video, özet işlemleri uygulamaya ve görselleştirme için TensorFlow'da ad kapsamlarını kullanmaya odaklanıyor. Kod, grafiğin TensorBoard'da görselleştirilmesine yardımcı olmak için çapraz entropi ve doğruluk için ad kapsamlarını tanımlar. Birleştirilmiş op, TF.summary.merge_all çağrılarak elde edilir ve bu op, oturumu çalıştırırken kullanılır. Kod ayrıca bir test yazarını ve elde edilen özetleri ayrı dosyalara yazmak için eğitimli bir yazarı tanımlar. Kod, her adım için modeli eğitir ve özetleri yazar. Mod 10 adım sayısı sıfıra eşitse özet test yazarına, diğer tüm adımlar için eğitimli yazara yazılır.

  • 00:20:00 Bu bölümde, konuşmacı hem test yazarı hem de tren yazarındaki olayları aynı anda görselleştirmek için TensorBoard'u çalıştırma yöntemini tartışıyor. "S about - - saat eşittir yola" komutu her şeyi görselleştirmeye yardımcı olur ve mevcut ana bilgisayar, tarayıcı aracılığıyla gezinilebilen localhost kolon altı sıfır sıfır altıdır. Ek olarak, TF nokta özeti nokta görüntüsünün varsayılan olarak bir adı tensör maksimum çıkışları vardır ve şekil, yol boyutu, yükseklik, genişlik ve kanallarla dört boyutlu bir tensörü yorumlar. Maksimum çıkış argümanı, kaç tane ofset arka görüntünün oluşturulacağını ve TensorBoard'da gösterileceğini belirler. Genel olarak, TensorBoard, eğitim ilerlemesini izlemek için çok önemli bir araçtır ve çeşitli operasyonlar eklemek ve bunları birleştirmek için API basittir.
Tensorflow for Deep Learning Research - Lecture 5_2
Tensorflow for Deep Learning Research - Lecture 5_2
  • 2017.04.03
  • www.youtube.com
This is the second part of the fifth lecture in the series of tutorials on tensorflow and is based on the publicly available slides from the Stanford Univers...
 

Hesaplamalı Bir Grafik Olarak Geri Yayılımın Arkasındaki Sezgi



Hesaplamalı Bir Grafik Olarak Geri Yayılımın Arkasındaki Sezgi

Hesaplamalı bir grafik olarak geriye yayılımın arkasındaki sezgi bu videoda açıklanmaktadır. Konuşmacı, girdileri çıktılara eşleyen ampirik işlevi tahmin etmek için bir vekil işlevin nasıl kullanıldığını ve amacın kayıp işlevini en aza indiren parametreleri bulmak olduğunu tartışır. Geri yayılım, grafiğin geriye doğru geçişi yoluyla her bir parametreye göre kayıp fonksiyonunun gradyanının hesaplanmasına izin verir. Grafikteki her kapı için yerel gradyanlar hesaplanır ve bunlar, her girişe göre nihai çıktının gradyanını hesaplamak için kullanılabilir. Konuşmacı ayrıca, dallanma ve vektörleştirilmiş işlemler için gradyanların nasıl ele alınacağını ve türevleri hesaplarken boyutluluğun doğru çalışmasını nasıl sağlayacağını açıklar.

  • 00:00:00 bu bölümde, geri yayılım, sinir ağlarının eğitiminin hızlı bir şekilde yakınsamasını sağlar ve derinlemesine anlamak araştırmacılar için faydalı olabilir. Ders, bir sinir ağının amacının, girdileri çıktılara eşleyen, F(x) ile gösterilen, keşfedilemeyecek ampirik bir işlev olan işlevi bulmak olduğunu açıklayarak başlar. Ders, F'yi tahmin etmek için G(x,θ) vekil fonksiyonunun kullanıldığını ana hatlarıyla belirtir; burada θ sinir ağı parametrelerini gösterir ve amaç J kayıp fonksiyonunu en aza indiren parametreleri bulmaktır. Ders daha sonra geri yayılım tekniğinin nasıl olduğunu tartışır. grafiğin geriye doğru geçişi yoluyla her bir parametreye göre kayıp fonksiyonunun gradyanını hesaplayarak ağın en uygun parametreleri bulmasını sağlar.

  • 00:05:00 Bu bölümde konuşmacı, sinir ağı eğitiminde çok önemli olan tetaya göre G'nin türevini bulmayı tartışıyor. Kullanılan örnek, F'nin X, Y ve Z'ye göre kısmi türevinin hesaplanması gereken basit bir X, Y ve Z fonksiyonudur. Belirli bir işlem için girdiye göre çıktının türevleri olan yerel gradyanlar kavramı tanıtılır. Ancak, bu durumda X, Y ve Z olan uzak değişkene göre nihai çıktıyı hesaplamak için zincir kuralına ihtiyaç vardır.

  • 00:10:00 Bu bölümde, degradenin geriye doğru akışını kullanarak hesaplama grafiğindeki gradyanları nasıl bulacağımızı görüyoruz. Çıktı düğümünün gradyanı önemsiz bir şekilde 1'dir ve her düğümdeki gradyanı hesaplamak için yerel gradyanı bir önceki düğümden alınan gradyanla çarparız. Program daha sonra del F'nin Del X'e, del F'nin Del Y'ye ve del F'nin Del V'ye göre son gradyanlarını hesaplayabilir. Eğimi her zaman son kayıp fonksiyonuna göre hesapladığımızı akılda tutmak çok önemlidir; bir sinir ağı durumunda, J kayıp fonksiyonudur. Son olarak, bir sinir ağındaki bir nöronun ileri geçiş sırasında basit bir işlevi nasıl gerçekleştirdiğini ve geri yayılım sırasında gradyanları yerel olarak nasıl hesaplayabileceğimizi ve kullanabileceğimizi öğreniyoruz.

  • 00:15:00 Bu bölümde, konuşmacı bir nöron için hesaplamalı bir grafik olarak geri yayılımın arkasındaki sezgiyi açıklıyor. Lokal gradyan, geriye dönük fonksiyonun del Z ile Del X ve del Z ile Del Y değerleri ile çarpılmasıyla elde edilir. Geriye doğru akış, kendisine veri gönderen diğer nöronların Del X tarafından Del J'yi aldığı nöronun çıktısı yönünde gider. Hesaplamalı grafik tekniği, geriye doğru gradyanın olduğu sigmoid işlevi gibi daha karmaşık işlevler için de kullanılır. sayısal olarak hesaplanır. Her düğüm için yerel gradyan, fonksiyonun türevi alınarak ve ardından gradyan akışıyla çarpılarak hesaplanır.

  • 00:20:00 Bu bölümde konuşmacı, hesaplamalı bir grafikte her kapının yerel gradyanlarının nasıl hesaplanacağını ve bunların her girişe göre nihai çıktının gradyanını elde etmek için nasıl kullanılabileceğini açıklar. Videoda kullanılan örnek, toplama ve çarpma kapıları gibi birden çok kapıdan oluşan küçük bir hesaplamalı grafiği içerir ve konuşmacı bu örneği kullanarak geri yayılım algoritmasının arkasındaki sezgiyi açıklar. Konuşmacı, grafikteki her bir kapı için yerel gradyanların nasıl hesaplanacağını detaylandırır ve her girişe göre nihai çıktının gradyanını hesaplamak için bunların nasıl birleştirilebileceğini gösterir.

  • 00:25:00 Bu bölümde, konuşmacı hesaplamalı bir grafik olarak geri yayılımın arkasındaki sezgiyi tartışıyor. Toplama kapıları ve çarpma kapıları gibi farklı kapı türleri için gradyanların nasıl hesaplandığını ve geriye doğru akışı hesaplarken ortaya çıkan modeli açıklarlar. Konuşmacı ayrıca her kapı için ileri ve geri fonksiyonların nasıl tanımlanacağını açıklar ve tanımlandıktan sonra bu fonksiyonlar herhangi bir hesaplamalı grafik için kullanılabilir, bu da süreci daha verimli hale getirir.

  • 00:30:00 Bu bölümde, geri yayılımda ileri ve geri geçiş kavramı hesaplamalı bir grafik olarak ele alınmaktadır. İleri geçiş, kayba ulaşılana kadar bir sonraki düğüm için girdi haline gelen çıktıyı hesaplar. Geriye geçişte DZ başlangıçta bir olarak ayarlanır ve ters yönde hesaplamalar yapılır. Vektörlerle uğraşırken, yerel gradyan Jacobian matrisleri kullanılarak alınır ve zincir kuralında soldan çarpma kullanılır. Del X'e göre Del L veya Del Y'ye göre Del L, iki Jacobian matrisi, Del X'e göre del Z veya Del Y'ye göre del Z ve Del V'ye göre del L kullanılarak hesaplanır.

  • 00:35:00 Bu bölümde, konuşmacı hesaplamalı grafiği kullanarak belirli bir fonksiyonun ileri geçiş ve geri yayılımının nasıl hesaplanacağını açıklar. Örnek bir işlev kullanarak, konuşmacı ara değişkenler oluşturma ve ileri geçişi hesaplama sürecini adım adım anlatır. Daha sonra konuşmacı, her bir geçidin giriş ve çıkışına göre gradyanları hesaplayarak geriye doğru geçişin nasıl hesaplanacağını gösterir. Konuşmacı, sigmoid fonksiyonunun türevlerini akılda tutmanın yararlılığını vurgular.

  • 00:40:00 Bu bölümde, konuşmacı geri yayılımda dallanma ve vektörleştirilmiş işlemler için gradyanların nasıl ele alınacağını açıklar. Dallanma meydana geldiğinde, gradyanlar eklenir ve fonksiyonlar için gradyanlar hesaplanırken önceki ara gradyanlar yeniden kullanılabilir. Matris çarpımı gibi vektörleştirilmiş işlemler, her öğeye göre gradyanları ayrı ayrı hesaplayarak ve bunları birleştirmek için matris işlemlerini kullanarak benzer şekilde ele alınabilir. Gradyanların boyutluluğu, gerçekleştirilen işlemin çıktısının boyutluluğu tarafından belirlenir.

  • 00:45:00 Bu bölümde konuşmacı, TensorFlow'daki matris çarpımı örneğini kullanarak bir fonksiyonda del D/del W ve del D/del X hesaplanırken boyutluluğun nasıl sağlanacağını açıklıyor. W ve DD'nin boyutları biliniyor ve çarpma işlemini yapmanın tek yolu W nokta nokta nokta X kullanmak olduğundan, bu formülü ezberlemek iyi bir fikirdir. Konuşmacı, izleyicilere, TensorFlow gibi çerçeveler bu tür karmaşıklığı ortadan kaldırsa bile, TensorFlow'daki hesaplamalı grafik işlemlerini anlamanın önemli olduğunu hatırlatır. Bu bilgi, kullanıcının ileri ve geri geçişlerini yazmasını gerektiren özel katmanlarla uğraşırken faydalı olacaktır.
Intuition Behind Backpropagation as a Computational Graph
Intuition Behind Backpropagation as a Computational Graph
  • 2017.03.13
  • www.youtube.com
Here I go into details on how to visualize backpropagation as a computational graph. As part of my other tutorials on tensorflow, we have discussed as to how...
 

Bilgisayarla Görü için derin öğrenmeyi üretkenleştirme



Bilgisayarla Görü için derin öğrenmeyi üretkenleştirme

Jumio'nun CTO'su ve Baş Bilim İnsanı Lavash Patel, şirketlerinin çevrimiçi güven oluşturmak ve kimlik belgelerinin gerçekliğini doğrulamak için yapay zeka ve kimlik uzmanlarının bir karışımını nasıl kullandığını tartışıyor. Kimlik doğrulama süreci, kimliklerin ve alt türlerin çeşitliliği ve okunamayan görüntülerin düzeltilmesi ve reddedilmesi ihtiyacı nedeniyle zorludur. Doğruluğu korumak için, yapay zeka modellerinin sorunları tespit ettiği ve bir insanın sonuçlar üzerinde bir akıl sağlığı kontrolü yaptığı döngüde insan yaklaşımı benimsenir. Patel ayrıca, Jumio'nun yeni alt türlere uyum sağlayan ve kendini yeniden eğiterek geliştiren hibrit bir aktif öğrenme algoritması kullanarak derin öğrenmeyi nasıl verimli hale getirdiğini tartışıyor. Ek olarak, makine öğrenimi amacıyla hassas verilerle uğraşırken yüz tanımada ve PCI uyumluluğunu sürdürmede temiz verilerin önemini vurguluyor.

  • 00:00:00 Bu bölümde, Jumio CTO'su ve Baş Bilim İnsanı Lavash Patel, şirketin bir kimlik belgesinin gerçekliğini doğrulamak için yapay zeka ve kimlik uzmanlarının karışımı yoluyla çevrimiçi güven oluşturma işini anlatıyor. Bu tür bir doğrulama işlemindeki sorun, cep telefonları, web kameraları ve basit API çağrıları dahil olmak üzere her türlü kanaldan gelen trafiği kabul etmeleri gerçeğiyle daha da zorlaşıyor. Bu sorunların üstesinden gelmek için Jumio, bir kimliğin gerçekliğini ve kameranın önündeki kişinin kimliğini doğrulamaya yardımcı olmak için sınıflandırma ve Facemash modellerinin bir karışımını kullanır.

  • 00:05:00 Bu bölümde, konuşmacı, mevcut çeşitli kimlikler ve alt türler göz önüne alındığında, kimlik doğrulama için AI kullanmanın zorluklarını tartışıyor. Düzeltmenin veya görüntüleri hizalamanın önemi ve ayrıca bulanıklık veya parlama nedeniyle okunamayan görüntüleri reddetme ihtiyacı vurgulanır. Her bileşenin geçerli sayılması için geçmesi gerektiğinden, kimlik görüntülerini onaylamak, reddetmekten daha katı bir süreçtir. Dolandırıcı kullanıcıların kesin doğruluğunu ve reddedilmesini sağlamak için, sorunları tespit etmek için AI modellerinin kullanıldığı ve sonuçlar üzerinde bir akıl sağlığı kontrolü yapmak için bir insanın kullanıldığı döngüde insan yaklaşımı izlenir. Bu yaklaşım, dönüştürme ve dolandırıcılık tespiti açısından sektör lideri doğruluk sağlar.

  • 00:10:00 Bu bölümde, konuşmacı bilgisayar görüşü için derin öğrenmeyi üretimleştirmenin sınıflandırma yönünü tartışıyor. Son birkaç yıldır görüntü sınıflandırması Inception Sürüm 4 veya Viji 16 gibi önceden eğitilmiş bir ağ kullanılarak çözülse de, ayrıntılı etiketler yerine toplu etiketler nedeniyle sorun biraz farklıdır. 100 milyondan fazla etiketli görselle, farklı sınıfları keşfetmek, aktif öğrenmenin çözebileceği biçim değiştirmiş bir sınıf keşfetme sorunu haline geldi. Hibrit aktif öğrenme, bir avuç sınıf elde etmek için etiketli örneklerle en popüler sınıflardan başlayarak, denetimsiz öğrenme veya yerleşik kümeleme adımını içerir.

  • 00:15:00 Bu bölümde konuşmacı, hibrit bir aktif öğrenme algoritması kullanarak bilgisayarla görme için derin öğrenmenin nasıl verimli hale getirileceğini açıklıyor. Algoritma, sınıf başına çok sayıda örnek toplar ve bir sınıflandırıcıyı, görüntüleri çıktı güven düzeyleriyle 50 sınıfa ayırması için eğitir. Algoritma daha sonra, sınıflandırıcının emin olmadığı görüntüleri otomatik olarak kümeler ve bir insan aracı, gerektiğinde yeni sınıflar eklemek için bunları gözden geçirir. Model oluşturulduktan sonra API olarak dağıtılır ve uyumluluk düzenlemeleri varsa günlük kaydı, izleme ve sağlık kontrolleri eklenebilir. Ek olarak, konuşmacı, algoritmanın yeni alt türlere uyum sağladığını ve yazım yanlışı olan yeni bir kimlik algılandığında ve insan aracının bunu reddettiğinde yaptığı gibi, kendini yeniden eğiterek gelişmeye devam ettiğini belirtiyor.

  • 00:20:00 Bu bölümde konuşmacı, her zaman bir şampiyon modeli yerinde bulundurarak ve yeni modelleri şampiyona göre performanslarına göre değerlendirerek yeni modelleri nasıl ürettiklerini tartışıyor. Bu yöntem ayrıca, veri kümelerini sürekli olarak toplayan ve temizleyen hibrit bir aktif öğrenme altyapısı kullanarak sürekli iyileştirmeye olanak tanır. Üretim ardışık düzeni, veri kümelerinin temizliğine duyarlıdır ve eğitim için hedef hata oranı %20'den fazla olmamalıdır. Tüm süreç aynı zamanda PCI ve GDP uyumlu olmalıdır, yani eğitime veri yerine her şey şifrelenmeli ve veriye getirilmelidir. Konuşmacı daha sonra yüz eşleştirmeyle ilgili ikinci bir vaka çalışması sunar; burada yaş, cinsiyet ve etnik kökene ilişkin veri önyargılarını özçekimleri kimliklerle eşleştirmede kendi avantajlarına kullanırlar.

  • 00:25:00 Bu bölümde, konuşmacı, derin bir evrişim ağında yüz gömme ve üçlü kayıp işlevinin kullanımı yoluyla sahtekar kullanıcıları tespit etme sorununu çözmeye yönelik olası bir yaklaşımı tartışıyor. Süreç, bir yüz detektörü kullanarak yüzlerin kırpılmasını ve modeli eğitmek için genel veri setlerinin kullanılmasını ve ardından üretim verilerinde ince ayarın yapılmasını içerir. Model, bilgilendirici örnekleri toplamak ve verileri sürekli olarak artırmak için denetimli bir altyapının kullanılmasını içeren aktif öğrenme süreci aracılığıyla ince ayarlanmıştır. Konuşmacı, çok çeşitli kullanım durumlarında aktif öğrenmenin etkinliğini vurgular.

  • 00:30:00 Bu bölümde konuşmacı, bilgisayarla görmede, özellikle yüz tanımada temiz verinin önemini vurgular. Derin öğrenmeyi üretmenin sadece modellemeden çok daha fazlasını içerdiğini ve sınıflandırma gibi basit problemlerin bile üretim aşamasında çok sayıda karmaşıklığa sahip olabileceğini vurguluyor. İşbirlikçi zeka veya döngüdeki insan iş akışları da algoritmaların iyileştirilmesinde yardımcı olabilir ve temiz veri kümeleri gerektirdiğinden yüz tanımada özellikle önemlidir. Konuşmacı ayrıca şirketlerinin Viyana ve Montreal merkezli Ar-Ge ekipleri için işe aldıklarından da bahsetti.

  • 00:35:00 Bu bölümde konuşmacı, makine öğrenimi ve yapay zeka amaçları için hassas verilerle uğraşırken PCI uyumluluğunu korumanın zorluklarını tartışıyor. Konuşmacı, verilerin yalnızca amaçlanan amacı için kullanılması gerektiğini ve yetkisiz erişimi önlemek için yüksek düzeyde güvenli konumların ve prosedürlerin yürürlükte olması gerektiğini açıklar. Konuşmacı ayrıca verilerin PCI DMZ içindeki Amazon S3 klasörlerine konulduğunu ve gizlenmiş görüntülerin makine öğrenimi amacıyla oluşturulduğunu ve daha sonra kişisel verilerin sızmadığından emin olmak için bunların uzaktan denetlendiğini açıklıyor.
Productionalizing deep learning for Computer Vision
Productionalizing deep learning for Computer Vision
  • 2018.10.16
  • www.youtube.com
In this conference talk, I explore how we use deep learning algorithms for smarter data extraction, fraud detection, and risk scoring to continuously improve...
 

Gail Weiss: Transformers Gibi Düşünmek



Gail Weiss: Transformers Gibi Düşünmek

Gail Weiss, bu videoda dönüştürücü kodlayıcı kavramını tartışıyor ve dizileri işleme ve vektörlere kodlama yeteneklerini açıklıyor. Weiss, trafo kodlayıcıların güçlü yanlarını ve sınırlamalarını araştıran birkaç çalışmayı vurgular ve trafo kodlayıcıların yeteneklerini temsil etmek için kısıtlı erişim dizisi işleme dili (RASP) adı verilen bir programlama dili sunar. Tersini ve çevir seçiciyi hesaplamak için dizi operatörlerinin ve kitaplık işlevlerinin kullanımına girmeden önce, çok başlı dikkati, seçim modellerini ve belirli koşullar altında softmax'ın zorluklarını tartışıyor. Weiss, bir dönüştürücü için en uygun programın oluşturulmasına ilişkin içgörü ve Evrensel ve Sandviç Dönüştürücülerden elde edilen içgörüleri sağlar ve nihai olarak seçili yüklem ve ikili ve üçüncü sıra ilişkilerini tartışır.

Ayrıca, transformatör modellerinde daha yüksek düzeyde dikkat kullanmanın potansiyel yararları ve sakıncalarının yanı sıra, katmanlar boyunca bilginin korunmasında artık bağlantıların öneminden de bahsediyor. Ayrıca, RASP modelinden sapan çok derin transformatörlerle ilgili potansiyel sorunları tartışıyor ve bilgideki bulanıklığın üstesinden gelmek için daha uzun gömmelerin kullanılmasını öneriyor.

  • 00:00:00 Videonun bu bölümünde Gail Weiss, dizileri işlemek için tasarlanmış bir sinir ağının parçası olan dönüştürücü kodlayıcı kavramını tanıtıyor. Transformatör kodlayıcının belirli bir diziyi aldığını ve bunu BERT gibi bazı popüler örneklerle bir dizi vektör halinde kodladığını açıklıyor. Weiss daha sonra, biçimsel dilleri tanıma ve hesaplama yapma becerileri de dahil olmak üzere dönüştürücü kodlayıcıların güçlü yanlarını ve sınırlamalarını araştıran birkaç çalışmanın altını çiziyor. Bu çalışmalar, transformatör kodlayıcıların yeteneklerine ilişkin içgörü sağlarken, Weiss, transformatörlerin görevleri gerçekte nasıl işlediğine dair net bir önsezi sunmadıklarını belirtiyor.

  • 00:05:00 Bu bölümde Gail Weiss, tekrarlayan sinir ağlarının (RNN'ler), hangi duruma ulaşıldığına göre nihai bir sınıflandırma çıkarırken giriş vektörlerine dayalı olarak durumlar arasındaki geçişleri tanımlayan sonlu durum makinesine benzer olduğunu açıklıyor. Belirleyici sonlu otomat anlayışımızı kullanarak ifade güçlerini analiz ederek, RNN'lerle ne yapılacağına dair fikir edinerek, bir RNN'nin ağırlıklı sonlu otomata, deterministik sonlu otomata veya ağırlıklı deterministik sonlu otomata dönüştürülmesini sağlarlar. Ancak Transformers'ta bu sezgi yoktur ve Transformer enkoder için de benzer bir amaca hizmet edecek bir model geliştirilmesine ihtiyaç vardır. RNN'lerden farklı olarak, Transformer kodlayıcılar tüm girişlerini bir kerede alır ve tüm giriş belirteçlerini, işlemeyi sabit bir sayıda uygulayan derin bir ağ aracılığıyla paralel olarak işler. Transformers'ta durum olmamasına rağmen, bir dizi işlem aracılığıyla bilgiyi işleme ve yayma duygusu vardır.

  • 00:10:00 Bu bölümde Gail Weiss, bir transformatör kodlayıcının, Sıra Operatörlerinin (S-ops) oluşturulmasını açıklayan kısıtlı erişim sıra işleme dili (RASP) adı verilen bir programlama dili olarak nasıl temsil edilebileceğini açıklıyor. S-op'lar, işlemleri sekansa uygulayan ve daha fazla işlenmiş bilgi oluşturan transformatör kodlayıcının katmanlarını temsil eder. RASP, herhangi bir giriş dizisinden yeni karakter dizileri ve indeksler oluşturan iki sabit, belirteçler ve dizinler sağlar ve ardından transformatör kodlayıcı katmanının girişine gelen vektörlerin her birine öğe bazında ileri beslemeli bir ağ uygular. Programcı, herhangi bir öğe bazında işlem olabileceğinden, uygulanan işlemlerin mantıksal veya makul hesaplanmasından sorumludur.

  • 00:15:00 Videonun bu bölümünde, Gail Weiss, transformatör kodlayıcı katmanının element bazında olmayan bir parçası olan çok başlı dikkat kavramını tanıtıyor. Tek başlı dikkati ve vektör dizisine iki doğrusal dönüşüm uygulayarak, bir dizi sorgu ve bir dizi anahtar oluşturarak nasıl çalıştığını açıklayarak başlıyor. Anahtar, sunması gereken bilgileri, sorgu ise her pozisyonda istenen bilgileri açıklar. Anahtarların her biri ile sorgunun skaler çarpımı sayesinde ağırlıklar normalleştirilir ve her konumdaki çıktı elde edilir. Weiss, modelin daha fazla parametreye sahip olmasını sağlayan anahtarların ve değerlerin ara dönüşümü ile ilgili bir soruyu da açıklığa kavuşturuyor.

  • 00:20:00 Bu bölümde, konuşmacı çok başlı öz-dikkati ve birden çok işlemi tek bir katmana sıkıştırmak için nasıl kullanılabileceğini tartışıyor. İşlem, giriş vektörlerini eşit uzunluktaki vektörlere ayırmayı ve her bloğu farklı kafalara geçirmeyi içerir. Birden çok başlık uygulandıktan sonra, çok başlı öz-dikkatin çıktısını oluşturmak üzere birleştirilirler. Farklı kafalar arasında bir bağımlılık olmamasına rağmen, tek bir katman birden çok farklı kafaya sahip olduğu için birden çok işlem yapabilir. Bu süreç, programcının, derleyici için bir sorun olan çok başlı öz-dikkat yerine dikkat kafaları hakkında endişelenmesine olanak tanır.

  • 00:25:00 Bu bölümde Gail Weiss, bir transformatör için belirli seçim kalıplarının nasıl kodlanacağına dair örnekler veriyor. Weiss, kendilerini sıfır, bir veya iki ile tanımlamalarına göre konum seçme örneğini kullanarak, birinci konumun son iki konumu seçtiğini, ikinci konumun hiçbir şeyi seçmediğini ve üçüncü konumun yalnızca birinciyi seçtiğini belirtir. Weiss ayrıca, büyük veya eşit, küçük veya eşit veya eşit olmayan gibi çeşitli karşılaştırma türlerinin seçilebileceğini ve seçicilerin birlikte oluşturulabileceğini açıklıyor. Bununla birlikte, Weiss, seçim modellerinin transformatörlere soyutlanmasının, gerçekleştirilen işlemin mantıklılığına bağlı olduğunu ve bunun sağlanmasının programcıya bağlı olduğunu belirtiyor.

  • 00:30:00 Bu bölümde, konuşmacı softmax'ı belirli koşullar altında kullanmanın zorluklarını tartışıyor, yani seçim kriterlerini karşılamayan kalan pozisyonlara biraz odaklanılıyor. Bu sorunu ele almak için, konuşmacı, bu gömmelerin boyutu artırılırsa, softmax'ın "küçük veya eşit" ve "üzerinde" konumlardan oluşan sabit bir seçime yaklaşmaya başlayacağını öne sürüyor. Sunum daha sonra toplama fikrine ve belirteçlerin bir ortalama kullanılarak nasıl seçilip ağırlıklandırılabileceğine geçer. Konuşmacı, belirteç ters çevirmenin bir örneğini ve "olleh" çıktısı için "merhaba" kelimesi örneğini kullanarak ters giriş sırasını elde etmek için bir ters seçici seçiciyi nasıl oluşturduklarını ve belirteçleri nasıl topladıklarını sağlar.

  • 00:35:00 Bu bölümde, konuşmacı uzunluk operatörünün girişin bir parçası olmamasına rağmen transformatörlerde nasıl kullanılabileceğini ve keyfi gücü gizleyebilecek keyfi güçlü seçim işlemlerini önlemek için seçim kararlarının ikili olarak nasıl alındığını tartışır. Konuşmacı ayrıca, katıştırmaların değerini geri ekleyen atlama veya artık bağlantı gibi diğer transformatör bileşenlerinden ve RASP modelinde bulunmayan katman normlarından bahseder. Ek olarak, konuşmacı tekrar eden kodlardan kaçınmak için işlevlerin kullanımından ve seçicilerin oluşturulmasından bahseder.

  • 00:40:00 Bu bölümde konuşmacı, hangi indekslerin belirli bir aralıkta olduğunu kontrol etmek için val, min ve max gibi sıra işleçlerinin kullanımını tartışır. Ayrıca, yerinde histogramlar ve girdi dizilerinde belirteçleri sayma gibi işlevlerin uygulanmasında seçici genişliği gibi kitaplık işlevlerinin faydasından bahsederler. Ek olarak konuşmacı, bir seçici ve bir gösterge işlevi kullanarak bir dizinin uzunluğunu nasıl hesapladıklarını açıklayarak, katman normalleştirmenin bu tür hesaplamaları karmaşıklaştırabileceğini belirtiyor. Son olarak, tersini hesaplamak için bir geri besleme ağı içeren alternatif bir çözüm önerirler, ancak bunun yine de katman normalleştirmesinden etkilenebileceğini kabul ederler.

  • 00:45:00 Bu bölümde Gail Weiss, nispeten kısa sekanslarla uğraşırken bile transformatörlerin ters hesaplamayı ve çevirme seçiciyi nasıl öğrenebileceğini tartışıyor. Ayrıca Ras programı analizinin, seçme ve toplama çiftlerinin sadece dikkat başlıkları olmasını sağlarken, tersine hesaplamanın ne zaman uygulanacağını ve çevirmeli seçicinin ne zaman uygulanacağını belirlemek için kullanılabileceğini açıklıyor. Son olarak, gerçek bir transformatörün iki katmanda ters hesaplamayı nasıl gerçekleştirebileceğini araştırıyor; bu, transformatörün 20 çağdan sonra 100 uzunluğa kadar giriş dizilerini tersine çevirirken yüzde 99,6 doğruluk elde etmeyi başardığı bulgularıyla destekleniyor.

  • 00:50:00 Bu bölümde Gail Weiss, görevi etkili bir şekilde yerine getirmek için iki katman gerektiren bir transformatör için en uygun programın oluşturulmasını tartışıyor. Program bir katmana indirgenip iki kez parametre eklense veya iki kafa kullanılsa bile, değişen dizi uzunluğuyla nasıl başa çıkacağını bilmediği için yüksek doğruluk elde edemez. Ek olarak, dikkat modelleri her iki katmanda da aynıdır; birinci katman, dizi uzunluğunu hesaplamak için tekdüze dikkat kullanır ve ikinci katman, aynı ters dikkat modelini kullanır. Dahası, Weiss, belirteçlerin seçilmesini ve girdi dizisinde bu belirtecin kaç kez göründüğünün çıktısını almayı içeren yerinde bir histogram gösterir. Her jetonu kendisiyle aynı jetona veya sekans jetonunun başlangıcındaki ilk konuma odaklayarak, bir transformatörü eğitmek için yalnızca bir dikkat kafası kullanırlar, bu da tersin ve diğer elemanların hesaplanmasını çok daha kolaylaştırır.

  • 00:55:00 Bu bölümde Gail Weiss, her ikisi de trafo modeli hakkında düşünme ve onu kullanma biçimini etkileyen Universal Transformer ve Sandwich Transformer'dan gelen kavrayıştan bahsediyor. RASP'deki her dizi operatörünün sınırlı sayıda işlemin sonucu olduğunu, bu nedenle dilin sonsuz güçlü değil, sınırlı sayıda O(n^2) hesaplama olduğunu açıklıyor. Ayrıca dönüştürücü kodlayıcıdaki bir dikkat kafasının hesaplama maliyetine ve n^2 hesaplamalarını kullanmaya değmeyebileceğine de değiniyor. Konuşma daha sonra seçili yüklem ve ikili ve üçüncü sıra ilişkileri etrafında bir tartışmaya geçer.

  • 01:00:00 Bu bölümde Gail Weiss, ikinci sıra yerine üçüncü sıra gibi daha yüksek dikkat düzeyine sahip bir transformatör modelinin gücündeki potansiyel artışı tartışıyor. Böyle bir modelin potansiyel olarak O(n^2)'den büyük işlemlerle işlevleri hesaplayarak gücünü artırabileceğini açıklıyor. Ancak, bu aynı zamanda hesaplama açısından daha pahalı olacaktır. Weiss ayrıca, bilgileri katmanlar boyunca tutmanın ve yeniden kullanmanın bir yolu olarak trafo modelindeki artık bağlantıların önemini vurguluyor ve bunların kaldırılmasının, ayrı bir işlem olarak görünmeseler bile performansı büyük ölçüde azaltabileceğini öne sürüyor.

  • 01:05:00 Videonun bu bölümünde Gail Weiss, çok derin transformatörlerde ortaya çıkabilecek olası sorunları ve bunların RASP modelinden nasıl sapabileceklerini tartışıyor. ICML'de okuduğu bir makaleden, bilgileri hızlı bir şekilde kaybetmesine neden olabilecek bir transformatörden belirli bilgilerin çıkarılmasının önemi hakkında bahseder. Ancak, bilgilerin önemli olduğu kabul edilirse saklanabileceğini de belirtiyor. Weiss ayrıca, dönüştürücü derinleştikçe bilgideki bulanıklık sorunlarının üstesinden gelmek için çok uzun bir gömme işlemine sahip olma fikrini de tartışıyor.
Gail Weiss: Thinking Like Transformers
Gail Weiss: Thinking Like Transformers
  • 2022.02.25
  • www.youtube.com
Paper presented by Gail Weiss to the Neural Sequence Model Theory discord on the 24th of February 2022.Gail's references:On Transformers and their components...
Neden: