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

 

Ders 21. Bir TSP Algoritmasını Ayarlama



Ders 21. Bir TSP Algoritmasını Ayarlama

Bu YouTube videosu, yıllardır ortalıkta dolaşan NP-zor bir sorun olan gezici satış elemanı sorununa (TSP) odaklanmaktadır. Konuşmacı, daha iyi bir minimum kapsayan ağaç algoritması uygulamak, derleyici optimizasyonunu etkinleştirmek ve bir tablo arama algoritması kullanmak için mesafe hesaplamasını değiştirmek gibi, arama alanını optimize etmek ve TSP algoritmasını daha hızlı hale getirmek için aramayı budamak için çeşitli algoritmalar ve yaklaşımlardan geçer. Arama alanını sınırlandırma ve programları hız ve performans için optimize etmek üzere yaratıcı düşünme ihtiyacı, TSP ve diğer ilgili sorunların çözümüne ilişkin değerli bilgiler sağlayan video boyunca vurgulanmaktadır.

Bu videoda konuşmacı, önbelleğe alma, tembel değerlendirme ve verileri bir hash tablosunda depolama gibi TSP algoritmasını optimize etmek için çeşitli teknikleri tartışıyor ve ampirik verilerin sezgi üzerindeki önemini vurguluyor. Ayrıca TSP problemini çözme konusundaki deneyimlerini ve performans mühendisliğinin mesleğindeki önemini paylaşıyor. Konuşmacı, artımlı geliştirme ve özyinelemeli oluşturma da dahil olmak üzere kod optimizasyon sürecine ilişkin içgörüler sağlar ve uygulanması kolay olduğu için dinleyicileri bu teknikleri kullanmaya teşvik eder. Son olarak konuşmacı, performans mühendisliğini sürdürdüğü ve çeşitli Google hizmetlerini iyileştiren algoritmalar geliştirdiği için ve kariyeri boyunca edindiği dostluklar için minnettarlığını ifade ediyor.

  • 00:00:00 Bu bölümde John Bentley, uzun yıllardır var olan NP-zor bir problem olan gezici satış elemanı problemini (TSP) tanıtıyor. Sorunla ilgili deneyimini ve 40 yılı aşkın bir süre önce bu soruna nasıl bağımlı hale geldiğini anlatıyor. Daha sonra bir kümenin tüm altkümelerini numaralandırmak için özyinelemeli bir çözümü tartışır ve bir kümedeki tamsayıları sayma sürecini açıklar. Bu yöntemin iyi bir genelleme yapmadığını, ancak TSP için daha hızlı ve daha hızlı algoritmalar geliştirmeye yardımcı olacak ilkeler sağladığını belirtiyor.

  • 00:05:00 Bu bölümde, konuşmacı M boyutundaki tüm setlerin yinelemeli olarak nasıl oluşturulacağını açıklar. Yaklaşım, n-1 boyutunda bir dizi ile başlamak ve sonuna bir sıfır ekleyerek tüm M boyutundaki kümeleri numaralandırmaktır. Sonunda sıfır olan küme sayısı, 2'nin M eksi birin kuvveti alınarak hesaplanır. Yinelemeli çizim, her alt kümenin sıfırdan geriye doğru sayıldığı ve sonunda bir eklendiği bir örnekle gösterilmektedir. Bu algoritmanın kodu basittir ve çoğu programlama dilinde uygulanabilir. Konuşmacı, izleyicileri soru sormaya ve konuşmaya teşvik ederek, yaratıcılıklarının eğitim sistemi tarafından dövülmüş olabileceğini söylüyor. Videonun geri kalanı gezici satış elemanı problemini ve bunun için verimli bir algoritmanın nasıl geliştirileceğini anlatıyor.

  • 00:10:00 Bu bölümde konuşmacı, NP-zor olduğu kanıtlanan ilk problemlerden biri olan Gezgin Satıcı Problemi'nden (TSP) ve onun bilgisayar bilimindeki prototip bir problem olarak öneminden bahsediyor. Konuşmacı, meslektaşı doktora tezinde 16 maddelik bir TSP'yi çözme konusundaki mücadelelerini tartıştığında sorunla nasıl ilgilenmeye başladığına dair kişisel bir anekdot paylaşıyor. Konuşmacı daha sonra, Lehigh Üniversitesi'nde bir algoritma dersinde popüler bir konu haline gelen ve performans mühendisliğinin 40 yılda nasıl değiştiğine dair daha fazla araştırmaya yol açan, 20 yıl sonra aynı sorunu çözmek için nasıl bir program yazdığını tartışıyor.

  • 00:15:00 Bu bölümde konuşmacı, en iyi turu bulmak için n şehrin tüm faktöriyel permütasyonlarını oluşturmak için basit bir C programında yinelemeli bir algoritmayı açıklıyor. Ağacın dallanma faktörü her düğümde 9 olacak ve n=10 için 10 faktörlü olası kombinasyonla büyük bir ağaç elde edilecektir. Program, her permütasyon için şehirler arasındaki mesafelerin toplamını kontrol eder ve o ana kadar bulunan minimum toplamı kaydeder. Program doğru çalışıyor, ancak n=10 için hızı net değil.

  • 00:20:00 Bu bölümde, konuşmacı permütasyonları çalıştırmak için gereken süreyi tartışır ve programı daha hızlı hale getirmek için çeşitli yollar önerir. Hızlı bir dizüstü bilgisayarda dört permütasyon çalıştırmanın ne kadar hızlı olduğunu ve permütasyonlar büyüdükçe sürenin nasıl önemli ölçüde arttığını açıklıyor. Ayrıca, bir başlangıcı seçip diğerlerini yok saymak veya paralelleştirme kullanmak gibi programı hızlandırmanın yollarını da düşünüyor. Ek olarak, programı derleyicilerle, özellikle GCC ve -o3 ile optimize etme olasılığından bahseder. Son olarak, daha hızlı makinelere ve daha hızlı CPU süresine sahip olmanın avantajlarını tartışıyor.

  • 00:25:00 Bu bölümde konuşmacı, çeşitli optimizasyonlarla TSP algoritmasının ne kadar hızlı hale gelebileceğini tartışıyor. Örneğin, derleyici optimizasyonlarının basit bir şekilde etkinleştirilmesi, 25 kata kadar performans artışı sağlayabilir. Ayrıca, donanım yıllar içinde geliştikçe, çekirdek optimizasyonu daha yüksek bir saat hızı, daha geniş veri yolları ve daha derin ardışık düzen sağlayabilir. 150 kat hızlanma. Ayrıca, tablo arama algoritması kullanmak için mesafe hesaplamasını değiştirmek, 2,5 ila 3'lük bir hızlanma faktörüne yol açabilir. Genel olarak, performans hakkındaki eski sezgi artık geçerli olmasa da, dikkatli modelleme, çeşitli optimizasyonların TSP algoritması üzerindeki etkilerini belirleyebilir.

  • 00:30:00 Bu bölümde, konuşmacı aynı parçaları tekrar tekrar hesaplamaktan kaçınmak için aynı toplamı birden çok kez hesaplamak için bir endüktif algoritmayı optimize etmenin farklı yollarını açıklıyor. Konuşmacı ayrıca dört algoritmanın çalışma sürelerini gösterir ve daha iyi bir makine kullanmak ve en'nin her bir faktörünü aynı sürede problem boyutunu birer birer oluşturmak için kullanmak gibi daha hızlı nasıl gidileceğini açıklar. Ayrıca bir seyyar satıcı probleminin nasıl çözüleceğini açıklarlar ve optimal turun problemin farklı yönlerinde farklı göründüğünü gösterirler. Konuşmacı, uzun çalışma süresine rağmen sorunu çözmeye teşvik ederek sözlerini bitirir.

  • 00:35:00 Bu bölümde konuşmacı 52 faktöriyelin büyüklüğünü tartışıyor ve herhangi bir üstel fonksiyondan nasıl daha hızlı olduğunu açıklıyor. Bunun yaklaşık olarak 2 üzeri 225 veya 10 üzeri 67 olduğunu ve bunun çok büyük bir sayı olduğunu açıklıyor. Günlük terimlerle ifade etmek gerekirse, 52 faktöriyel nanosaniyeyi geri sayma ve her milyon yılda bir ileri adım atma, sonunda ekvatorun etrafında dönme ve Pasifik Okyanusu'ndan bir damla su alma örneğini veriyor. Daha sonra, arama alanını sınırlandırma ve bu sorunları verimli bir şekilde çözmek için aramayı budama ihtiyacını vurgular.

  • 00:40:00 Bu bölümde konuşmacı, çözmesi için kızı tarafından kendisine verilen bir problemi sunar. Sorun, 1'den 9'a kadar olan 9 tamsayının tüm permütasyonlarını bulmaktır, öyle ki, m uzunluğundaki her bir ilk alt dizi M'ye bölünebilir, böylece her şey 9'a bölünebilir. Konuşmacı, sorunu çözmek için bir program yazmadan önce düşünmenizi önerir. . Ardından, tüm olası permütasyonları oluşturmak için dizeleri ve özyinelemeli prosedürleri kullanan AWK programlama dilindeki bir programı tartışıyor. Bu programı çalıştırmak yaklaşık 49 dakika sürer! zaman karmaşıklığı

  • 00:45:00 Bu bölümde konuşmacı, bir program kullanarak belirli bir dizi ararken arama alanının nasıl optimize edileceğini tartışıyor. Bunu, belirli sayılarla bölünebilme ve belirli sayıları belirli konumlarda içerme gibi belirli özelliklere sahip bir dizi bulma örneğiyle gösterir. Kazanan dizide bulunması gereken özellikleri tanımlayarak, arama alanı olası seçeneklerin üçte birinden yarım bin olası seçeneğe önemli ölçüde azaltılabilir. Bu, süreci hızlandırmak için aramayı budamanın önemini vurgular. Konuşmacı, programların hız ve performans için nasıl optimize edileceğini düşünmenin gerekliliğini vurguluyor.

  • 00:50:00 Bu bölümde konuşmacı, TSP algoritmasını daha hızlı hale getirmek için aramayı budamanın yollarını tartışıyor. Aramayı budamanın bir yolu, işe yaramayan şeyi yapmaya devam etmemek, yani, daha fazlasını ekleyerek toplamın minimum toplamdan daha büyük olduğu ortaya çıkarsa, aramayı durdurun. Bu yöntem algoritmayı aynı makine üzerinde daha az zaman alarak daha hızlı hale getirebilir. Bununla birlikte, konuşmacı aramayı budamak ve bir alt sınır elde etmek için daha güçlü ama aynı zamanda daha pahalı olan bir TSP yolunu veya minimum yayılan ağacı hesaplamak gibi başka fikirler de sunar.

  • 00:55:00 Bu bölümde, konuşmacı, hesaplama süresinin çoğunun harcandığı yer olduğundan, daha iyi bir minimum yayılan ağaç algoritması uygulayarak TSP için alt sınırın nasıl geliştirileceğini tartışıyor. MST'yi hızlı ve verimli bir şekilde hesaplamak için şehirlerin alt kümesinin bir bit maskesi temsiliyle paralelliği kullanır. MST'nin hesaplanması n kare zaman alsa da, bu yöntem daha hızlı program hızına yol açan güçlü bir budama mekanizmasıdır. Birkaç denemeden ve zorlukların üstesinden geldikten sonra, program 17 saniyeden 0 saniyeye çıkarak daha büyük veri kümelerinin kolaylıkla işlenmesine olanak tanır.

  • 01:00:00 Bu bölümde konuşmacı, tembel değerlendirme uygulayarak, verileri bir hash tablosunda depolayarak ve daha akıllı bir arama ile daha iyi bir başlangıç turu kullanarak TSP algoritmasını optimize etme deneyini anlatıyor. Önbelleğe almanın faydalarını ve farklı yaklaşımları deneyerek ve test ederek algoritma performansının nasıl optimize edileceğini tartışıyor. Konuşmacı, performans mühendisliğinin ampirik verilere dayanması gerektiğini ve sezginin genellikle yanlış olduğunu vurguluyor. Ayrıca Monadnock Dağı'na tırmanmaktan ve öngörülebilir ve öngörülemeyen algoritmalar arasındaki farktan da bahsediyor.

  • 01:05:00 Videonun bu bölümünde konuşmacı, rastgele bir tur kullanmak yerine onu ilk başlangıç şehrine daha hızlı yönlendirerek TSP algoritma aramasının nasıl daha akıllı hale getirileceğini açıklıyor. Basit bir ekleme sıralaması kullanarak ve önce en yakın 30 şehri ziyaret ederek, arama alanı budanarak büyük bir fark yaratılabilir. Konuşmacı, 1997'de 230'dan çıkmaktan mutlu olduklarını, ancak 20 yıl içinde yalnızca Moore yasasını kullanarak 1.000 çarpanı alabileceklerini paylaşıyor. Ancak Moore yasası ve derleyici teknolojisini tüm algoritmalarla birleştirerek 52'ye kadar çıkabildiler. Konuşmacı, paylaştıkları her şeyin 160 satır kodla elde edilebileceğini ve tüm bunların kapsamı dahilinde olduğunu vurguluyor. bu dersi bitirmiş birinin pratiği.

  • 01:10:00 Bu bölümde, konuşmacı önbelleğe alma, ön hesaplama ve gereksiz çalışmayı önlemek için sonuçları depolama gibi kod optimizasyonu için çeşitli teknikleri tartışıyor. Ayrıca artımlı yazılım geliştirmenin önemini ve özyinelemeli oluşturmanın gücünü vurguluyor. Konuşmacı, tartıştığı bazı tekniklerin kod ayarlama hakkında yazdığı eski bir kitapta ele alındığından, ancak bazı fikirlerin bugün hala geçerli olduğundan bahsediyor. Ayrıca deneyler yapmak ve maliyetleri tahmin etmek için perde arkasında profil oluşturucular ve maliyet modelleri gibi pek çok araç kullandığından bahseder. Son olarak, pratikte uygulanması kolay olduğu için izleyiciyi bu teknikleri keşfetmeye ve kullanmaya teşvik ediyor.

  • 01:15:00 Bu bölümde, konuşmacı alfa-beta ayıklamadan karma çarpışma sorununa kadar çeşitli konuları tartışıyor. Konuşmacı ayrıca 1990'ların başında Meslektaşı ile Gezici Satıcı Problemini çözme deneyimini paylaşıyor. 48 eyalet başkenti sorununu çözebildiler ve bu konuda çok mutlu oldular. Konuşmacı ayrıca mesleğinde performans mühendisliğinin önemini vurguluyor ve otomatik gerrymandering ve telefon görüşmesi kodlama dahil olmak üzere çeşitli hesaplama sistemlerine dahil olduğundan bahsediyor. Genel olarak bu bölüm, konuşmacının bilgisayar programcılığındaki engin deneyimi ve çeşitli teknikler ve problemler hakkındaki bakış açıları hakkında içgörü sağlar.

  • 01:20:00 Bu bölümde konuşmacı, performans mühendisliğini bir yaşam biçimi olarak takip ettiği için minnettarlığını ifade ediyor. Bunun, kendisi için son derece tatmin edici ve tatmin edici olan çeşitli Google hizmetlerini geliştiren algoritmalar geliştirmesine izin verdiğinden bahsediyor. Konuşmacı ayrıca kariyeri boyunca edindiği dostluklar için minnettarlığını ifade ediyor ve performans mühendisliğinin kendisi için olduğu kadar başkaları için de iyi olmasını umuyor.
21. Tuning a TSP Algorithm
21. Tuning a TSP Algorithm
  • 2019.09.23
  • www.youtube.com
MIT 6.172 Performance Engineering of Software Systems, Fall 2018Instructor: Jon BentleyView the complete course: https://ocw.mit.edu/6-172F18YouTube Playlist...
 

Ders 22. Grafik Optimizasyonu



Ders 22. Grafik Optimizasyonu

Video, grafik kavramını, onu temsil etmenin çeşitli yollarını ve grafik algoritmalarının verimliliğini artırmak için optimizasyon tekniklerini tartışıyor. Konuşmacı, ilişkilerin modellenmesinde grafik uygulamalarını ve bir hedefe ulaşmanın en kısa yolunu veya en ucuz yolunu bulmanın yanı sıra kenarları eklemek, silmek veya taramak için grafikleri bellekte depolamanın en uygun yollarını araştırıyor. Video ayrıca, negatif değerleri filtrelemek için önek toplamlarıyla paralel genişlik öncelikli arama algoritmasının uygulanmasının yanı sıra, bit vektörleri kullanılarak grafik aramalarında önbellek performansının optimizasyonunu da kapsar. Son olarak, konuşmacı, güvenilirlik ve tutarlılığı sağlamak için koddaki determinizmin önemini vurgulayarak, on milyon köşesi ve yüz milyon kenarı olan rastgele bir grafik üzerindeki deneylerinden bahsediyor.

Video ayrıca, doğru min operatörünün uygulanması, deterministik paralel BFS kodu, yön optimizasyon tekniği ve grafik sıkıştırma dahil olmak üzere çeşitli grafik optimizasyon tekniklerini tartışır. Yön optimizasyon tekniği, sınır geniş olduğunda ve diğer grafik algoritmalarına uygulandığında gelen kenarları keşfetmek için aşağıdan yukarıya bir yaklaşım içerirken, grafik sıkıştırma, ardışık kenarlar arasındaki farkları kodlayarak ve kullanılan bit sayısını azaltarak bellek kullanımını azaltmayı amaçlar. Bu değerleri saklamak için. Ek olarak video, nerede iyi çalışıp nerede çalışmadıklarını belirlemek için farklı grafik türleri üzerinde optimizasyonları test etmenin önemini vurguluyor.

  • 00:00:00 Bu bölümde eğitmen grafik kavramını tanıtıyor ve onu temsil etmenin ve nesneler arasındaki ilişkileri modellemek için kullanmanın çeşitli yollarını açıklıyor. Örnekler arasında sosyal ağlar, protein ağları ve dünya çapındaki web yer alır. Köşeler ve kenarlar ağırlıklandırılabilir ve yönlendirilebilir ve meta verilere ve türlere sahip olabilir. Eğitmen ayrıca bir şehirden diğerine en kısa yolu veya bir varış noktasına ulaşmanın en ucuz yolunu bulmada grafik uygulamaları sunar. Son olarak ders, grafik algoritmalarının verimliliğini artırmak için sıkıştırma ve yeniden sıralama gibi grafik optimizasyon tekniklerini kapsar.

  • 00:05:00 Bu bölümde konuşmacı, ortak arkadaşlar veya ilgilenilen ürünler bulma, topluluk tespiti için kümeleme veya hileli web sitelerini tespit etme, beynin yapısını incelemek için bağlantı bilimi gibi sosyal ağ sorguları dahil olmak üzere çeşitli grafik optimizasyonu uygulamalarını vurgular. ve bilgisayarla görmede görüntü bölütleme. Konuşmacı ayrıca bir grafiği bellekte temsil etmenin iki yolunu açıklar: N karesi mertebesinde uzay gerektiren bitişiklik matrisi ve M mertebesinde uzay gerektiren kenar listesi gösterimi.

  • 00:10:00 Videonun bu bölümünde, bitişik liste formatı ve sıkıştırılmış seyrek satır formatı dahil olmak üzere bir grafiği temsil etmenin farklı yolları tartışıldı. Bitişiklik listesi biçimi, her işaretçinin o köşe için kenarları depolayan bağlantılı bir listeye işaret ettiği bir dizi işaretçi içerir. Bunun O(n + m) alan gereksinimi vardır, ancak belleğe rasgele erişim nedeniyle performans sorunları olabilir. Öte yandan, sıkıştırılmış seyrek satır biçimi, O(n + m) boşluk kullanımına sahiptir ve bir tepe noktasının derecesinin verimli bir şekilde hesaplanmasına izin verir. Ek olarak, kenarlardaki değerler veya ağırlıklar ek bir dizide saklanabilir.

  • 00:15:00 Bu bölümde video, depolama maliyeti, grafiği tarama, bir kenar ekleme, bir kenarı silme ve belirli bir köşenin tüm komşularını bulma dahil olmak üzere farklı grafik temsillerindeki takasları tartışıyor. Bitişiklik matrisinin depolama maliyeti O(n^2), kenar ekleme ve silme ise O(1)'dir. Kenar listesi için maliyet, grafiği taramak için O(m) ve bir kenar eklemek için O(1)'dir. Bir kenarı silmek O(m)'dir. O(m+n) depolama maliyeti ile JCU listesine bir kenar eklemek veya silmek için V derecesi gereklidir. En kötü senaryoda, sıkıştırılmış seyrek satır biçiminde bir kenar eklemenin maliyeti O(m+n)'ye kadar çıkabilir. Belirli bir tepe noktasının tüm komşularını bulmak, bitişiklik matrisi için O(n), kenar listesi için O(m) ve bitişiklik listesi için O(derecesi V).

  • 00:20:00 Bu bölümde konuşmacı, bitişik matris, kenar listesi, JCL listesi ve sıkıştırılmış seyrek satır (CSR) formatı dahil olmak üzere grafikleri temsil etmenin çeşitli yollarını ele alıyor. CSR'nin, grafiği güncellemeye gerek olmayan statik algoritmalarda seyrek grafiklerle uğraşmak için en iyisi olduğunu açıklıyor. Bunun nedeni, bir tepe noktasının tüm komşularının bellekte bitişik olarak saklanması ve taramayı kolaylaştırmasıdır. Ayrıca, gerçek dünyadaki grafiklerin seyrek olma eğiliminde olduğunu ve bir kuvvet yasası derece dağılımına sahip olduğunu, yani çoğu köşenin düşük dereceye ve birkaçının çok yüksek dereceye sahip olduğunu belirtiyor.

  • 00:25:00 Bu bölümde, eğitmen grafik optimizasyonunu ve genişlik öncelikli arama algoritmasının uygulanmasını tartışır. Grafiklerde çarpık derece dağılımıyla, köşeler boyunca paralelleştirilmiş bir algoritma çalıştırmak, sahip oldukları değişen sayıda kenar nedeniyle yük dengesizliği sorunlarına neden olabilir. Genişlik-ilk arama algoritması, köşeleri kaynak tepe noktasına olan uzaklıklarına göre ziyaret etmek için kullanılır ve çıktı, ziyaret edilen köşeleri ziyaret edilme sırasına göre, her bir tepe noktasından kaynak tepe noktasına olan mesafeye göre raporlamayı içerebilir. ağaçtaki her tepe noktasının önceki genişlik öncelikli arama düzeyinde bir ebeveyne sahip olduğu genişlik öncelikli arama ağacı. Seri BFS algoritması, mesafeleri sonsuza başlatır, bir kuyruk veri yapısı oluşturur, rotanın mesafesini sıfır olarak ayarlar ve onu kuyruğa yerleştirir. Algoritma, kuyrukta başka köşe kalmayana kadar yinelemeye devam eder. Bu algoritma için gereken iş, N ve M açısından ele alınmıştır.

  • 00:30:00 Bu bölümde konuşmacı, sıkıştırılmış seyrek satır formatını kullanan bir seri BFS algoritmasının uygulanmasını tartışıyor. Algoritma, ebeveyn ve Q olmak üzere iki diziyi başlatmayı, kuyruğa bir kaynak tepe noktası yerleştirmeyi ve mevcut tepe noktasının komşuları boyunca yinelemeyi içerir. Bununla birlikte, kodun en pahalı kısmı, belleğe rasgele bir erişim oluşturan komşunun ebeveynine erişimdir. Bu, hemen hemen her seferinde önbelleğin kaybolmasına neden olur ve performansın düşmesine neden olabilir. Adres dizisine çoğunlukla sıralı olarak erişilir, köşe başına yalnızca bir rasgele erişim gerektirir, bu da onu daha önbellek dostu hale getirir. Algoritmanın genel çalışması, M + N mertebesi olarak belirlenir.

  • 00:35:00 Bu bölümde konuşmacı, grafik optimizasyonunda önbellek performansının analizini ve optimizasyonunu tartışıyor. Analiz, bir dizinin sıralı olarak başlatılması sırasında önbellek kayıplarının nasıl meydana geldiğini, bir kuyruğun önünden köşeleri ayırmayı, dereceleri hesaplamayı ve ofset ve kenar dizilerine erişmeyi inceler. Optimizasyon, bir tepe noktasının henüz keşfedilip keşfedilmediğini depolamak için bir bit vektörünün kullanılmasını içerir; bu, üst bilgi içeren bir diziye erişimden kaynaklanan önbellek kayıplarını azaltmak için bir bitlik bir değişkendir. Bu optimizasyon, em'den n'ye kadar kenar ve köşe dizilerine erişimden kaynaklanan önbellek kayıplarını azaltır.

  • 00:40:00 Bu bölümde konuşmacı, önbellek kayıplarının sayısını azaltmak için bit vektörlerini kullanarak grafik aramalarının nasıl optimize edileceğini açıklar. Bit vektörü optimizasyonu, "ziyaret edilen" olarak adlandırılan ve yaklaşık olarak n bölü 32 boyutunda bir bit vektörünün başlatılmasını ve kaynak tepe noktası dışında bitlerinin 0'a ayarlanmasını içerir. Kod, ziyaret edilen komşuları kontrol etmek ve bir komşuyu keşfederken bitleri ayarlamak için bit vektör manipülasyonunu kullanır. Konuşmacı ayrıca, sınırlarda çalışan ve keşfedilen her tepe noktası için bir ana işaretçi oluşturan bir genişlik öncelikli arama algoritmasının paralel bir uygulamasını sunar. Paralel uygulama, sınırdaki birden çok köşe noktası aynı komşuyu ziyaret etmeye çalıştığında olası yarışların farkında olmalıdır ve her işlemcinin kabaca aynı miktarda işe sahip olmasını sağlamak için yük dengeleme gereklidir.

  • 00:45:00 Bu bölümde eğitmen, tüm ana girişleri negatif olarak başlatarak başlayarak bir grafik üzerinde paralel genişlik öncelikli aramanın nasıl gerçekleştirileceğini gösterir. Eğitmen daha sonra kaynak tepe noktasını sınırın 0. indeksi olarak ayarlar ve sınır boyutu sıfırdan büyükken, bir hücre for döngüsü kullanarak sınırdaki tüm köşeleri paralel olarak yineler. Dereceler dizisinin "i-inci" girişini, bu dizide bir önek toplamı gerçekleştirerek, sınırdaki tepe noktasının derecesi olarak ayarlarlar. Daha sonra eğitmen tekrar sınırın üzerinden geçer ve keşfedilip keşfedilmediğini görmek için her köşenin komşularını kontrol eder, bir karşılaştırma gerçekleştirir ve henüz keşfedilmemişse köşeyi komşunun ebeveynindeki negatif birin orijinal değeriyle değiştirmek için takas eder. .

  • 00:50:00 Bu bölümde video, bir dizideki negatif değerleri filtrelemek için önek toplamında çalışan ve negatif olmayanları tutan paralel bir Genişlik Öncelikli Arama (BFS) algoritmasını tartışıyor. önek toplamı aracılığıyla bir çıktı dizisi için benzersiz ofsetler. Video ayrıca, yineleme sayısının grafiğin çapıyla sınırlandığını, tepe başına işin n olduğunu ve algoritmanın genel çalışmasının n artı M'nin teta olduğunu belirterek, algoritmanın çalışmasını ve kapsamını da analiz eder. seri algoritmanın çalışması.

  • 00:55:00 Bu bölümde konuşmacı, on milyon köşesi ve yüz milyon kenarı olan rastgele bir grafik üzerindeki deneylerinden ve iki yollu hiper iş parçacıklı kırk çekirdekli bir makinede algoritmalarını nasıl test ettiklerinden bahsediyor. Ayrıca hyper-threading'in nasıl çalıştığını ve kodda non-determinizm olup olmadığını belirlemenin önemini açıklıyorlar. BFS kodunda önceden keşfedilmiş köşeler için minimum yazma işleci ve negatif değerler kullanmak gibi deterministik süreçleri uygulayarak determinizmin nasıl düzeltilebileceğini gösterirler. Bunu yaparak, kod tarafından oluşturulan son BFS ağacı her zaman aynı olacak ve güvenilirlik ve tutarlılık sağlayacaktır.

  • 01:00:00 Bu bölümde sunum yapan kişi, doğru min operatörünün uygulanmasını ve deterministik bir paralel BFS kodu kullanmanın faydalarını tartışır. Doğru min operatörü, karşılaştırma ve takas içeren bir döngü kullanılarak uygulanabilir ve hala tam olarak belirleyici olmasa da, tutarlı bir BFS ağacı üretir. Deterministik paralel BFS kodu ayrıca daha kolay hata ayıklanır ve performansı hakkında akıl yürütmesi daha kolaydır. Sunum yapan kişi ayrıca, sınır geniş olduğunda ve birçok köşe zaten keşfedilmişken, kenar geçişlerinden tasarruf etmek için gelen kenarları keşfetmek için aşağıdan yukarıya bir yöntem içeren yön optimizasyon tekniğini sunar.

  • 01:05:00 Bu bölümde video, 2012'de Scott Beamer tarafından incelendiği şekliyle BFS'deki yukarıdan aşağıya ve aşağıdan yukarıya yaklaşımların performansını tartışıyor. -up yaklaşımı geniş sınırlar için daha etkilidir. Bu iki yaklaşım arasındaki seçim, pratikte iyi çalışan 20'nin üzerinde n eşiğiyle sınırın boyutuna bağlıdır. Video ayrıca sınırı temsil etmenin farklı yollarını tartışıyor ve her zaman hem yukarıdan aşağıya hem de aşağıdan yukarıya yaklaşımlardan daha hızlı olan yön optimizasyonu yaklaşımı da dahil olmak üzere üç farklı geçiş yaklaşımının performansını karşılaştırıyor. Yön optimizasyonu fikri ayrıca sadece BFS'den daha geneldir ve diğer grafik algoritmalarına uygulanmıştır.

  • 01:10:00 Bu bölümde, konuşmacı iki grafik optimizasyon tekniğini açıklıyor: yön optimizasyonu ve grafik sıkıştırma. Yön optimizasyonu, sınırın boyutuna göre seyrek veya yoğun uygulama arasında seçim yapmayı içerir. Grafik sıkıştırma, ardışık kenarlar arasındaki farkları kodlayarak ve değişken uzunluklu kodlar veya K bitlik kodlar aracılığıyla bu değerleri depolamak için kullanılan bit sayısını azaltarak bellek kullanımını azaltmayı amaçlar. K bit kodlarının kodunun çözülmesiyle ilgili bir sorun, öngörülemeyen dallar içermesidir, bu nedenle bir optimizasyon, kodlamak için aynı sayıda bayta ihtiyaç duyan tamsayıları gruplandırarak ve grubun ve grubun boyutunu depolamak için bir başlık baytı kullanarak devam bitinden kurtulmayı içerir. her bir tamsayının kodunu çözmek için gereken bayt sayısı. Bu, alan kullanımını biraz artırır, ancak kod çözme maliyetini azaltır.

  • 01:15:00 Bu bölümde, algoritmaları büyük ama nispeten seyrek gerçek dünya grafiklerinde çalıştırırken yerden tasarruf etmek için, algoritmamızı çalıştırırken kenarların kodunu anında çözmemiz ve bunları içinde kodlamamız gerektiğini öğreniyoruz. yük dengesizliğini önlemek için parçalar. Deneyler, bu sıkıştırma şemalarının yerden tasarruf ettiğini ve sıkıştırılmamış sürümden yalnızca biraz daha yavaş olmalarına rağmen, bellek kullanımı nedeniyle paralel olarak çalıştıklarında sıkıştırılmamış sürümden daha hızlı hale geldiklerini göstermektedir. Son olarak, grafikler için optimizasyonlar belirli grafikler için iyi çalışabilir ancak diğerleri için iyi çalışmayabilir ve bu nedenle, optimizasyonların nerede iyi çalışıp nerede çalışmadıklarını görmek için farklı grafik türleri üzerinde test edilmesi önemlidir.
22. Graph Optimization
22. Graph Optimization
  • 2019.09.23
  • www.youtube.com
MIT 6.172 Performance Engineering of Software Systems, Fall 2018Instructor: Julian ShunView the complete course: https://ocw.mit.edu/6-172F18YouTube Playlist...
 

Ders 23. Dinamik Dillerde Yüksek Performans



Ders 23. Dinamik Dillerde Yüksek Performans

Bu videoda, Julia programlama diline odaklanılarak, yüksek düzeyli, dinamik olarak yazılmış dillerde performans açısından kritik kod yazmanın zorlukları tartışılıyor. Julia, C ve Fortran gibi daha düşük seviyeli dillerle aynı seviyede performans sunarken yüksek seviyeli, etkileşimli yetenekler sağlamayı amaçlamaktadır. Julia'nın birden çok tür için çalışan genel kod yazma yeteneği, yerleşik meta programlama ve optimize edilmiş kod yolları, büyük vandermonde matrisleri oluşturma ve özel işlevlerde belirli polinomlar için optimize edilmiş kod gibi durumlarda onu Python'dan daha hızlı hale getirir. Ek olarak Julia'nın optimize edilmiş kod yolları, kutuları Python'dan çok daha hızlı ayırır ve bu da onu diziler gibi dinamik veri yapılarıyla uğraşmak için daha iyi bir seçim haline getirir. Son olarak, video, Julia'nın farklı bağımsız değişkenler için bir işlevin farklı sürümlerine ve türlerin yinelemeli olarak çıkarılmasına izin veren birden çok gönderme ve tür çıkarım yeteneklerini tartışıyor.

Bu videoda ayrıca Julia'da parametrik polimorfizmin nasıl çalıştığı ve sonsuz tip aileleri oluşturmaya nasıl izin verdiği açıklanmaktadır. X ve Y için parametrelere sahip bir nokta tipi gibi parametreleştirilmiş bir tip tanımlayarak ve bu parametreleri real'in bir alt tipine ayarlayarak, belirli bir alt tip ile "örneklenebilen" bir tipler kümesinin tamamı oluşturulabilir. Ek olarak, konuşmacı Julia'nın iş parçacığı oluşturma, çöp toplama ve dağıtılmış bellek paralelliği uygulama yetenekleri ve kitaplıklarının yanı sıra tanımlayıcılar için geniş Unicode desteğini tartışıyor. Ayrıca, uygun ve açıklayıcı isimlere sahip değişkenlere sahip olmanın önemi vurgulanmakta ve konuşmacı Julia teknolojisinin Silk teknolojisi ile birleştirilmesini araştıran ve gelecekte yeni gelişmelere yol açabilecek bir projeden bahsetmektedir.

  • 00:00:00 Bu bölümde konuşmacı, Python ve Matlab gibi üst düzey, dinamik olarak yazılmış dillerde performans açısından kritik kod yazmanın zorluklarından bahsediyor. Bu diller teknik bilgi işlem ve etkileşimli keşif için popüler olsa da, performans açısından kritik kod yazma söz konusu olduğunda performans duvarına çarpma eğilimindedirler. Sonuç olarak, insanlar geleneksel olarak performans açısından kritik kod yazmak için bir çözüm olarak Fortran veya C gibi daha düşük seviyeli dilleri kullanırlar, ancak bu, kodlama karmaşıklığında ve genellik kaybında önemli bir sıçrama yaratır. Konuşmacı daha sonra, C ile aynı düzeyde performans sağlarken Python kadar üst düzey ve etkileşimli olmayı hedefleyen programlama dili Julia'yı tanıtır. 2013'te, son 1.0 sürümü artık kararlı ve vaat edilen performansını sunuyor.

  • 00:05:00 Bu bölümde, konuşmacı büyük bir vandermonde matrisi oluştururken Julia ve Python arasındaki performans farklarını tartışıyor. Python, kodun karmaşıklığından dolayı önemli ölçüde zaman alan matrisi oluşturmak için yüzlerce C kodu satırına güvenirken, Julia aynı matrisi yalnızca iki iç içe döngüyle ve tür bildirimi olmadan oluşturabilir. Julia ayrıca meta programlama veya kod üretimi için yerleşik tekniklere sahiptir ve özel fonksiyonlardaki belirli polinomlar için çok optimize edilmiş hat içi değerlendirmeye izin verir. Bazı durumlarda Julia, özel işlevler için optimize edilmiş C ve Fortran kitaplıklarından iki ila üç kat daha hızlı olabilir.

  • 00:10:00 Bu bölümde, konuşmacı Julia gibi yüksek seviyeli dillerin düşük seviyeli dillerde yapılması zor olan performans hilelerini nasıl mümkün kıldığını tartışıyor. Julia'nın nasıl hızlı olabileceğini Python ile karşılaştırarak ve Julia'nın yüksek hızlarda kod derlemeye olanak tanırken tamamen genel olma yeteneğini vurgulayarak açıklıyor. Konuşmacı ayrıca bir sayı listesinin toplamını hesaplamak için Julia'da bir not defterinin nasıl kullanılacağını gösteriyor ve Julia'daki uygulamayı Python ve C ile karşılaştırıyor. İstatistik toplamak ve uygulama için minimum süreyi döndürmek için kıyaslama araçlarının nasıl kullanılabileceğini gösteriyor. koşmak.

  • 00:15:00 Bu bölümde, konuşmacı bir döngü kuran ve onu çarpan bir ifadeyi yeniden yazmak için Julia'da bir makro kullanmayı tartışıyor. Bu yöntemi kullanarak, 10 üssü 7 sayının işlenmesi yaklaşık 11 milisaniye sürer. Ardından, Python işlevlerinin Julia içinden çağrılmasına izin veren pycall adlı bir paket kullanarak Python'da karşılaştırmalı değerlendirmeye geçer. Python'un toplam işlevi C'de yazıldığından ve bu nedenle nispeten iyi performans gösterdiğinden, Python listelerinin herhangi türden öğelerden oluşabileceği gerçeğinin, onu C'den daha yavaş yapacak şekilde yapılandırılması gerektiği anlamına geldiğini belirtiyor. performanstan ödün vermeyecek şekilde heterojenliğe izin veren Julia'ya.

  • 00:20:00 Bu bölümde konuşmacı, Python gibi dinamik dillerin diziler gibi veri yapılarında yüksek performans elde etme konusundaki zorluklarını tartışıyor. Konuşmacı, bir dizinin her öğesi için bir değer ve bir tür etiketi kombinasyonunun, optimize edilmiş bir uygulamanın, kutuyu dizi için yeniden tahsis etmeden dizinin her öğesi için tür bilgilerini ve verilerini okumasını zorlaştırdığını belirtiyor. Benzer değerleri birlikte yazıp göndererek dizi işlemlerini optimize etmenin bir yolu olarak dizilerin performansını iyileştirmek için tasarlanmış bir kitaplık olan numpy'nin kullanımını vurgularlar.

  • 00:25:00 Bu bölümde konuşmacı, Python kodu için nasıl hızlı bir Python derleyicisi yapılabileceğini tartışıyor. Bununla birlikte, Python'da tüm türlerin aynı olup olmadığını kontrol etmek için hızlı bir yol sağlama olanağından yoksundur, bu da her döngü yinelemesinde sonuç için yeni bir kutu tahsis etmesi ve artı işlevini dinamik olarak araması gerektiği anlamına gelir. Yavaş. Yerleşik Python'un C ve NumPy kodundan çok daha yavaş olduğu bulundu. Julia'daki dizi türü, kendisine eklenmiş türe sahiptir, bu da onu bellekte bir NumPy dizisi gibi gösterir ve herhangi birinin dizisi adı verilen bir Python listesinin eşdeğerinin, saf Python'dan bile daha yavaş olduğu bulundu. Julia, çok sayıda kutuyu Python'dan çok daha hızlı tahsis etmek için kod yollarını optimize etti.

  • 00:30:00 Bu bölümde, konuşmacı, herhangi bir kap türü üzerinde çalışan ve artı işlevini destekleyen düz döngüler kullanarak Julia'da optimize edilmiş kodun nasıl yazılacağını gösterir. İşlev tamamen geneldir ve döngüye alınabilen ve artı işlevi olan her şey üzerinde çalışır. Konuşmacı ayrıca, döngülerin vektörleştirilmesinin varsayılan olmadığını, çünkü kodun çoğunun otomatik olarak vektörleştirilemeyeceğini, bu da derleme süresini ve kod boyutunu artıracağını açıklıyor. Ek olarak, kod karmaşık sayılar, bir dizi kuaterniyon ve bir dizi benzersiz tamsayı ile teste tabi tutulur ve hepsi için çalışır. Genel olarak, Julia birkaç faktörden dolayı hızlıdır.

  • 00:35:00 Bu bölümde konuşmacı, Julia programlama dilinin, işleve iletilen bağımsız değişkenin türüne bağlı olarak işlevlerin özel sürümlerini nasıl derlediğini açıklar. Örneğin, f x eşittir x artı bir işlevi 64 bitlik bir tamsayı iletilirse, Julia o tür için o işlevin özel bir sürümünü derler. Girdi türlerinden çıktının çıkarsanmış türlerine geçme işlemine tür çıkarımı denir. Konuşmacı, Julia'nın dinamik bir dil olduğunu, bu nedenle tür çıkarımının başarısız olabileceğini ve başarısız olursa, C'ye geri döndüğünü not eder.

  • 00:40:00 Bu bölümde, konuşmacı tip çıkarımını tartışır ve yinelemeli olarak nasıl çalışabileceğine dair örnekler verir. LLVM derleyicisinin basit bir işlevi nasıl alabildiğini ve sürekli katlama yaparak birkaç makine talimatına nasıl optimize edebileceğini gösteriyor. Ardından, tür bildirimlerinin hataları önlemek için nasıl kullanılabileceğini ve farklı bağımsız değişkenler için bir işlevin farklı sürümlerine izin veren gönderim adı verilen bir şeyi nasıl yapabileceğini gösterir. Tür hiyerarşisine dayalı farklı yöntemler tanımlayarak, bir işlevin nasıl birden çok yönteme sahip olabileceğini gösterir.

  • 00:45:00 Videonun bu bölümünde konuşmacı, ana tip olarak "number" ve alt tipler olarak "integer" ve "Pole real" olmak üzere Julia'daki türlerin hiyerarşisini açıklıyor. Ayrıca, bir yöntemin yalnızca ilk bağımsız değişkenin türüne göre değil, tüm bağımsız değişken türlerine göre belirlendiği Julia'daki çoklu gönderim kavramından da bahsediyor. Nesne yönelimli programlamanın bu genelleştirilmesi, karma türler üzerinde çalışan bir işlemin aşırı yüklenmesini ve hiyerarşinin aşağısındaki en özel yöntemi seçmeyi kolaylaştırır. Bu noktayı açıklamak için bir artı işlevi örneği kullanılır.

  • 00:50:00 Bu bölümde, konuşmacı tek kesinlikli gerçek sayı veya karmaşık sayı gibi farklı değer türlerinin başka bir değere nasıl ekleneceğini açıklar. Bununla birlikte, farklı türde değerlerin birlikte eklenmesi - çift kesinlikli çift üyesine tek duyarlıklı karmaşık sayı gibi - yöntemlerin sahipliğiyle ilgili sorunlara neden olabilir. Konuşmacı, karekök işlevi örneğini ve bağımsız değişkenin türünü doğru bir şekilde anlayabilmek için dönüş değerinin tür olarak nasıl sabit olması gerektiğini sağlar. Tür çıkarımı, dönüş değerinin türünün girdinin değerine değil, girdinin türüne bağlı olmasını sağlar. Konuşmacı ayrıca Python ve MATLAB gibi dinamik dillerde performansta düşüşe yol açan tür çıkarımı ile ilgili zorluklardan bahsediyor.

  • 00:55:00 Bu bölümde, konuşmacı farklı dillerin karmaşık sayıları ve tamsayı aritmetiğini nasıl ele aldığını ve Julia'nın varsayılan tamsayı aritmetiğinin 64 biti nasıl kullandığını ve bu sayede daha küçük bit boyutlarına sahip dillere göre taşmaya daha az eğilimli olduğunu tartışıyor. Konuşmacı ayrıca Julia'da özel tipler tanımlamanın avantajlarından bahsediyor, özellikle iki boyutlu vektörler için özel bir nokta tipi tanımlamaya odaklanıyor; bu, iki değer için bir dizi kullanmaktan daha hızlı ve daha verimli olabilir. Konuşmacı, bu özel türü optimize etmek için birkaç yinelemeden geçer ve sonunda tanımlanmış bir artı işlevi olan değişmez bir yapıya ulaşır.

  • 01:00:00 Videonun bu bölümünde, konuşmacı bir nokta nesnesi için genel bir tür kullanmanın sınırlamalarını ve bunun sonucunda ortaya çıkan performans sorunlarını tartışıyor. Genel nokta türüyle, X ve Y değişkenlerinin kutulara yönelik işaretçiler olması gerekir, bu da önemli işaretçi takibine ve yavaş çalışma zamanı denetimlerine neden olur. Ek olarak, tür değişken olduğundan, bellekteki bir nesneye işaretçi olarak depolanması gerekir, bu da daha fazla performans sorununa yol açar. Bu sorunları ele almak için konuşmacı, X ve Y için belirtilen bağımsız değişken türlerine sahip değişken olmayan bir yapı kullanmayı önerir; bu, türün bir kutu işaretçisi yerine doğrudan bellekte depolanmasına izin vererek performansı artıracaktır.

  • 01:05:00 Bu bölümde, konuşmacı parametrik polimorfizmin Julia'da nasıl çalıştığını ve sonsuz tip aileleri oluşturmaya nasıl izin verdiğini açıklıyor. X ve Y için parametrelere sahip bir nokta tipi gibi parametreleştirilmiş bir tip tanımlayarak ve bu parametreleri real'in bir alt tipine ayarlayarak, belirli bir alt tip ile "örneklenebilen" bir tipler kümesinin tamamı oluşturulabilir. Bu, performanstan veya genellikten ödün vermeden veri türlerinde esneklik sağlar. Derleyici, bu türleri ardışık bellekte saklayacak ve toplama işlevlerini sıkı döngülerle optimize edecek kadar akıllıdır. Bu parametreleştirilmiş türler, Julia'nın üst düzey sözdizimine katkıda bulunur ve performans optimizasyonu için C kodu yazma ihtiyacını ortadan kaldırır.

  • 01:10:00 Bu bölümde, konuşmacı Julia'nın programlamada daha fazla esneklik sağlayan karışık yazmayı nasıl işleyebileceğini açıklıyor. Sayıları toplamak için artı işareti kullanıldığı sürece, herhangi iki tür sayı toplanabilir ve elde edilen tür, dönüş türüne göre belirlenir. 64 bitlik tamsayılar ve float64'lerin eklenmesiyle bir örnek verilmiştir. Ek olarak, derleyici bir dizideki tüm türleri bilir ve bu da sum gibi işlevlerin hızlı hesaplanmasına olanak tanır. Derleyicileri vektörleştirme, daha karmaşık veri yapılarını optimize etme yetenekleriyle sınırlı olabilirken, Julia'da hesaplamayı hızlandırmak için yapıları ve parametreleri kullanmanın yolları vardır. Konuşmacı, Julia'da hızlı, özel derleme ve tür çıkarımı sağlayan temel tasarım seçeneklerini vurgular.

  • 01:15:00 Bu bölümde, konuşmacı Julia'nın dizileri ve parametreleştirilmiş türleri uygulaması gibi bazı teknik yönlerini açıklamaktadır. Julia, çok fazla ayrıcalıklı tür oluşturmaktan kaçınmayı amaçlar ve bunun yerine kullanıcı kodunun yerleşik kod kadar iyi olmasına izin verir. Julia'nın nihai olan ve hatalara neden olabilecek alt türleri olmayan somut türleri vardır. Örneğin, bir dizinin alt türü, o türden gerçek bir dizi olmaz, ancak o diziyi kullanan bir işlev için derleyicide sorunlara neden olabilir. Derleyici, ayrıştırma, makro yeniden yazma ve tür çıkarımı dahil olmak üzere birkaç geçişten sonra makine kodu oluşturmak için LLVM'yi kullanır. Julia ayrıca, kullanıcıların sözdizimini değiştirmesine ve kodu yeniden yazmasına izin veren metaprogramlama yeteneklerine sahiptir. Çok boyutlu dizilerle kod üretimi mümkündür ve paralel tesisler Silk gibi dillere göre daha az gelişmiştir, ancak dil Python gibi global bir yorumlayıcı kilidine sahip değildir.

  • 01:20:00 Bu bölümde, konuşmacı Julia tarafından iş parçacığı, çöp toplama ve dağıtılmış bellek paralelliği uygulamak için sağlanan çeşitli yetenekler ve kitaplıkları tartışıyor. Büyük ve kesin sayıların işlenmesine izin veren BigNum türü ve BigFloat kitaplığı da tanıtıldı. Konuşmacı, Julia'nın tanımlayıcı olarak çok çeşitli Unicode desteğine sahip olduğunu ve denklem yazarken yararlı olabilecek LaTeX karakterlerinin sekme tamamlamaya izin verdiğini belirtiyor. Python'un bu özelliği ödünç almasından da bahsedilmektedir.

  • 01:25:00 Bu bölümde konuşmacı, dinamik dillerde uygun ve tanımlayıcı adlara sahip değişkenlere sahip olmanın önemini tartışıyor. Belirli bir biçimde adlandırılmış değişkenlere sahip olmanın kodu daha okunabilir ve anlaşılmasını kolaylaştırabileceğinden bahseder. Konuşmacı daha sonra sunum yapan kişiye teşekkür eder ve gelecekte yeni gelişmelere yol açabilecek olan Julia teknolojisinin Silk teknolojisi ile birleştirilmesini araştıran bir projeden bahseder.
23. High Performance in Dynamic Languages
23. High Performance in Dynamic Languages
  • 2019.09.23
  • www.youtube.com
MIT 6.172 Performance Engineering of Software Systems, Fall 2018Instructor: Steven JohnsonView the complete course: https://ocw.mit.edu/6-172F18YouTube Playl...
 

Richard Feynman: Makineler Düşünebilir mi?



Richard Feynman: Makineler Düşünebilir mi?

"Richard Feynman: Makineler Düşünebilir mi?" adlı videoda Feynman, makinelerin aritmetik, problem çözme ve büyük miktarda veri işleme gibi birçok konuda insanlardan daha iyi olmasına rağmen, makinelerin asla insan benzeri düşünme ve zekaya ulaşamayacağını savunuyor. Makineler, ışık ve mesafedeki değişimler gibi karmaşıklıklardan dolayı görüntüleri tanımakta zorlanır ve bilgisayarlar kalıpları tanısa da yeni fikirleri ve ilişkileri kendi başlarına keşfedemezler. Feynman ayrıca, California'daki deniz oyunları şampiyonasını kazanmak için bir buluşsal yöntemler listesi kullanan Lumic adlı bir adamın örneğine atıfta bulunarak, hava durumu tahmini ve diğer karmaşık görevler için makine kullanmanın etkililiğini tartışıyor. Feynman, akıllı makineler yapmak için, geliştiricilerin sinsice gelişen psikolojik çarpıtmalardan kaçınmalarını ve bunun yerine, makineler zekanın gerekli zayıflıklarını gösterdiğinden, emekten kaçınmanın yeni yollarını bulmaya odaklanmalarını öneriyor.

  • 00:00:00 Soru-Cevap bölümünün bu bölümünde Richard Feynman, makinelerin bir gün insan benzeri düşünme ve zekaya ulaşıp ulaşamayacağıyla ilgili bir soruyu yanıtlıyor. Farklı malzemelerden yapıldıkları için makinelerin asla insanlar gibi düşünmeyeceğine ve hiçbir şeyi aynı şekilde yapmayacağına inanıyor. Ancak aritmetik, problem çözme ve büyük miktarda veri işleme dahil olmak üzere birçok konuda makinelerin insanlardan daha iyi olduğunu belirtiyor. İnsanların her zaman makinelerden daha iyi yapabilecekleri bir şey bulmaya çalıştıklarını, örneğin kesin bir prosedüre sokmanın zor olduğu kalıpları tanımaya çalıştıklarını savunuyor. Genel olarak Feynman, makinelerin yetenekleri ve insanlardan farklılıkları hakkında ilginç bir bakış açısı sunuyor.

  • 00:05:00 Bu bölümde Feynman, özellikle insanlarla karşılaştırıldığında, makinelerin görüntüleri tanımada karşılaştığı zorlukları tartışıyor. Farklı görüntülerde bulunabilecek ışık, mesafe, eğim ve diğer faktörlerdeki farklılıkları açıklamakta zorlanırlar. İnsanlar parmak izlerini kolayca karşılaştırabilirken, baskıları mükemmel bir şekilde eşleştirmenin karmaşıklığı nedeniyle makineler genellikle bu görevle mücadele eder. Bilgisayar sistemleri, insanların yapabileceği ve kalıpları tanıyabileceği belirli şeyleri yapabilse de, şu anda kendi başlarına yeni fikirler ve ilişkiler keşfedemezler. İnsanlar, belirli alanlarda, özellikle karşılaştırmayı daha zor hale getiren karmaşıklıkların olduğu tanıma alanında, makinelere göre hala avantajlıdır.

  • 00:10:00 Bu bölümde Richard Feynman, hava durumu tahmini ve diğer karmaşık görevler için makine kullanma fikrini tartışıyor. Bilgisayarların insanlardan daha doğru tahminler yapabildiğini, çünkü daha fazla vakayı ve değişkeni daha hızlı analiz edebildiklerini açıklıyor. İnsanlar makineler için buluşsal yaklaşımları denemiş olsalar da, onlara belirli bir prosedür vermek daha etkilidir. Feynman, Kaliforniya'daki deniz oyunları şampiyonasını kazanmak için bir buluşsal yöntemler listesi kullanan Lumic adında bir adamın örneğini aktarır. Lumic'in makinesi hatalarından ders aldı ve zamanla daha etkili hale geldi. Makinenin en etkili buluşsal yöntemi öğrenme ve seçme süreci, onu akıllı gösteriyordu.

  • 00:15:00 Bu bölümde, Richard Feynman sorunları çözmek ve yeni buluşsal yöntemler bulmak için geliştirilen bir makineyi tartışıyor. Makinede bir dizi hata vardı ve bunlardan biri, makine her çözüm bulduğunda kredi atanan bir buluşsal yöntem içeriyordu. Bu, makinenin bu sezgisel yöntemi tekrar tekrar kullanmasına ve sonuçlarda bir bozulmaya yol açmasına neden oldu. Feynman, geliştiricilerin akıllı bir makine yapmak için sinsice bir tür psikolojik çarpıtma geliştirmekten kaçınmaları ve emekten kaçınmanın yeni yollarını bulmaya odaklanmaları gerektiğini öne sürüyor. Makinelerin zekanın gerekli zayıflıklarını gösterdiğini belirterek sözlerini bitiriyor.
Richard Feynman: Can Machines Think?
Richard Feynman: Can Machines Think?
  • 2019.11.25
  • www.youtube.com
This is a Q&A excerpt on the topic of AI from a lecture by Richard Feynman from September 26th, 1985.This is a clip on the Lex Clips channel that I mostly us...
 

Göz Yapay Zekada: Ilya Sutskever



Göz Yapay Zekada: Ilya Sutskever

Ilya Sutskever, bu videoda yapay zeka ile ilgili çeşitli konuları tartışıyor. Yapay zeka ve makine öğrenimine olan ilk ilgisini paylaşıyor ve Jeff Hinton ile yaptığı işbirliğinin evrişimli sinir ağı AlexNet'in geliştirilmesine nasıl yol açtığını açıklıyor. Sutskever ayrıca, dil modellerinin zorluklarından ve sınırlamalarından da bahsediyor ve onların sadece istatistiksel düzenlilikleri öğrenmekten daha fazlasını yaptıklarını ve fikirleri ve kavramları temsil etmenin önemli bir başarı olduğunu savunuyor. Ayrıca yapay zeka eğitiminde büyük miktarda veriye ve daha hızlı işlemcilere olan ihtiyacı tartışıyor ve bireylerin sistemlerin nasıl davranması gerektiğini belirtmek için veri girdiği yüksek bant genişliğine sahip bir demokrasi biçimi olasılığını öneriyor.

  • 00:00:00 Bu bölümde Ilya Sutskever, yapay zekaya ve bilince olan ilk ilgisini ve bunun onu o dönemde yapay zekanın en önemli yönü olarak gördüğü makine öğrenimini sürdürmeye nasıl yönlendirdiğini anlatıyor. 2003 yılında, o zamanlar AI'daki en büyük başarının satranç oynama motoru Deep Blue olduğu için, bilgisayar öğrenimi fikrinin hala tamamen erişilemez olduğunu belirtiyor. Sutskever daha sonra Toronto Üniversitesi'nde profesör olan Jeff Hinton'u nasıl bulduğunu ve onunla çalışmaya nasıl başladığını paylaşıyor, bu da sonunda 2012'de evrişimli sinir ağı AlexNet üzerinde iş birliğine yol açtı.

  • 00:05:00 Videonun bu bölümünde Ilya Sutskever, yapay zekaya katkıda bulunma konusundaki erken motivasyonundan ve yeterince büyük bir veri kümesi üzerinde büyük ve derin bir sinir ağı eğitmenin, görme gibi karmaşık görevleri çözmede mutlaka başarılı olacağını fark etmesinden bahsediyor. . Bu fikrin Imagenet yarışmasının başarısına nasıl yol açtığını ve evrişimli sinir ağlarının önemini tartışıyor. Daha sonra GPT projesinin, bir sonraki kelimeyi tahmin etmenin, tamamen çözülmeden önce makine öğreniminin Kutsal Kâsesi olarak kabul edilen denetimsiz öğrenmeye yol açabileceği fikrinin keşfedilmesiyle nasıl başladığından bahsediyor. Amaçlarına ulaşmalarını sağlayan Transformer makalesi çıkana kadar bu amaçla tekrarlayan sinir ağlarını kullanıyorlardı.

  • 00:10:00 Bu bölümde Ilya Sutskever, büyük dil modellerinin sınırlamalarına, özellikle de bilgilerinin eğitildikleri dilde kapsanmasına ve altta yatan gerçeklik anlayışının eksikliğine değiniyor. Ayrıca ölçekleme ve derin öğrenmenin, ölçeği verimli bir şekilde kullanmanın ve karşılığında ondan bir şey almanın ilk yolunu nasıl sağladığından ve neyi ölçeklendirdiğinizin ne kadar önemli olduğundan bahsediyor. Sutskever, dil modellerinin sınırlamaları hakkında konuşmak zor olsa da, bugün gördüğümüz bu sınırlamaların bundan iki yıl sonra da bizimle olacağından ne kadar emin olduğumuzu akılda tutmanın önemli olduğunu öne sürüyor.

  • 00:15:00 Bu bölümde Ilya Sutskever, makine öğrenimi modellerinin yalnızca istatistiksel düzenlilikleri öğrendiği ve dünyanın doğasını anlamadığı fikrine katılmıyor. İstatistiksel düzenlilikleri öğrenmenin önemli bir başarı olduğunu ve hafife alınmaması gerektiğini savunuyor. Verileri tahmin edip sıkıştırarak, bu modeller, insanlar tarafından oluşturulan metin merceğini içeren veriler aracılığıyla görüldüğü şekliyle dünyayı daha derinden anlıyor. Dil modellerinin iyi çıktılar üretmede bazı sınırlamaları olsa da fikirlerin, kavramların ve süreçlerin temsillerini öğrenmede mükemmeldirler. Sutskever, insan geri bildirim adımından pekiştirmeli öğrenmeyi geliştirerek, makinenin halüsinasyon eğilimini sınırlandırabilmemizin ve daha iyi sonuçlar elde etmek için bilgisinden yararlanabilmemizin an meselesi olduğuna inanıyor.

  • 00:20:00 Bu bölümde Ilya Sutskever, GBT'nin genel sohbet arayüzünün geri bildirim sağlayabildiği ve kullanıcı etkileşimine dayalı olarak ceza veya ödül oluşturabildiği sinir ağı eğitimindeki geri bildirim döngüsünü tartışıyor. Bu yaklaşımın sinir ağlarındaki halüsinasyon sorununu çözmeye yardımcı olabileceğinden bahsediyor. Sutskever ayrıca, Jana Kun'un tahmine dayalı mimarileri ortak bir şekilde yerleştirme konusundaki çalışmaları ve büyük dil modellerinin altında yatan dilbilimsel olmayan bir Dünya modeli fikri hakkında da yorum yapıyor. Çok modlu anlayış arzu edilirken, renkler gibi bazı kavramlar hala yalnızca metinden öğrenilebildiğinden, dünyayı görsel olarak veya videodan anlamanın gerekli olmadığını söylüyor. Sutskever, renklerin ağ yerleşimlerinin insan algısına benzer olduğu örneğini sunar.

  • 00:25:00 Bu bölümde, konuşmacı, en büyük zorluklardan birinin, bir görüntüyü tahmin etmek gibi, kendileri hakkında belirsizliği olan yüksek boyutlu vektörleri tahmin etmek olduğuna dair bir makaledeki iddiayı tartışıyor. Ancak konuşmacı, OpenAI'nin piksellere bir dönüştürücü uyguladıkları ve karmaşık ve incelikli bir şekilde görüntüler ürettikleri igpt üzerindeki çalışmasının örneğine atıfta bulunarak, mevcut otoregresif dönüştürücülerin zaten bu özelliğe sahip olduğuna ve gayet iyi çalıştığına dikkat çekiyor. Konuşmacı, önceden eğitilmiş modellerin, insanların düşüncelerinin, duygularının ve etkileşimlerinin sıkıştırılmış temsilleri dahil olmak üzere, dil ve onu üreten dünyadaki süreçler hakkında zaten bilgi sahibi olduğunu savunuyor. Bu nedenle, altta yatan gerçeklikle ilgili modellerin öğretilmesi sorunu, onlara bilgi vermekle ilgili değil, konuşmacının algoritmik olarak gerçekleştirilebileceğini öne sürdüğü süreci otomatikleştirmekle ilgilidir.

  • 00:30:00 Bu bölümde Ilya Sutskever, modellerin çıktılarında daha doğru hale gelme sürecini tartışıyor ve dil modeli ne kadar iyiyse üretken modelin de o kadar iyi olduğunu ve aslına uygunluk ne kadar yüksekse, o kadar çok şeyi yakaladığını açıklıyor. işlem. Modellerin artık, modeli öğretmede daha verimli olmak için yapay zeka yardımını kullanan bir "öğretmen ordusu" bilgisine sahip olduğunu belirtiyor. Takviyeli öğrenme süreci, insan öğretmenlerin yüksek düzeyde güvenilirlik elde etmek için modelin davranışını gözden geçirmesini içerir. Sutskever, modelleri halüsinasyon görmemelerini sağlarken daha güvenilir, kontrol edilebilir ve öğrenmede daha hızlı hale getirmeye odaklanmıştır. Büyük dil modelleri ile insan beyni arasındaki benzerliklere dikkat çekiyor ve daha büyük modellerin işlemesi için daha fazla parametre ve veriye ihtiyaç olduğunu öne sürüyor.

  • 00:35:00 Bu bölümde Ilya Sutskever, AI eğitiminde büyük miktarda veriye olan ihtiyacı tartışıyor ve şu anda eğitimin ilk aşamalarında gerekli olsa da, yaratıcı fikirlerle daha az veriden daha fazla şey öğrenmenin mümkün olabileceğini belirtiyor. . Sutskever, modelleri ölçeklendirmek için daha hızlı işlemcilere duyulan ihtiyaçtan ve sonuç onlardan daha ağır basarsa maliyetlerin potansiyel değerinden de bahsediyor. Demokrasi ve yapay zeka konusunda Sutskever, hükümetlerin teknolojiyi tavsiye için nasıl kullanacağı konusundaki belirsizliği dile getirdi, ancak gelecekte vatandaşların sinir ağlarına bilgi sağlamasını içeren demokratik bir sürecin istenebileceğini öne sürdü.

  • 00:40:00 Bu bölümde Ilya Sutskever, yapay zekanın demokrasideki rolünü tartışıyor ve yapay zekanın, bireylerin sistemlerin nasıl davranması gerektiğini belirlemek için veri girme fırsatına sahip olduğu yüksek bant genişliğine sahip bir demokrasi biçimi açabileceğini öne sürüyor. Ancak Sutskever, yapay zekanın belirli bir durumda tüm değişkenleri anlama ve analiz etme kapasitesi hakkında sorular soruyor. Orta ölçekli şirketlerin bile herhangi bir bireyin kavrayışının ötesinde olabileceği göz önüne alındığında, yapay zekanın doğru şekilde inşa edildiğinde hemen hemen her durumda inanılmaz derecede yardımcı olabileceğini öne sürüyor.
Ilya Sutskever: The Mastermind Behind GPT-4 and the Future of AI
Ilya Sutskever: The Mastermind Behind GPT-4 and the Future of AI
  • 2023.03.15
  • www.youtube.com
In this podcast episode, Ilya Sutskever, the co-founder and chief scientist at OpenAI, discusses his vision for the future of artificial intelligence (AI), i...
 

Makine Öğrenimi için Matematik - Çok Değişkenli Analiz - Tam Çevrimiçi Uzmanlık



Makine Öğrenimi için Matematik - Çok Değişkenli Analiz - Tam Çevrimiçi Uzmanlık

  1. Bu YouTube videosu, makine öğrenimini desteklemek için analizin temel kavramlarının sezgisel ve grafiksel olarak anlaşılmasını sağlamayı amaçlayan Çok Değişkenli Analiz çevrimiçi uzmanlığının bir parçasıdır. Video, türev, zincir kuralı, çarpım kuralı, özel durum fonksiyonları ve kısmi türev dahil olmak üzere bir dizi kavramı kapsar ve ilgi çekici uygulamalarından tam anlamıyla keyif almak için matematiğin temellerini anlamanın önemini vurgular. Video ayrıca, yüksek boyutlu uzaylarda gezinmek için hesabı uygulamamıza ve kısmi türev ve toplam türev kavramını kullanarak çok değişkenli verileri analiz etmemize olanak tanıyan çok değişkenli hesabı tanıtıyor.

  2. Makine öğrenimi için çok değişkenli analiz kavramı bu video dizisinde inceleniyor. Jacobian ve Hessian, optimizasyon teknikleri ve zincir kuralı ile birlikte tanıtılmaktadır. Sinir ağları, eğitim ve geri yayılıma odaklanılarak kapsanır. Taylor serisi, fonksiyonlara yaklaşma yöntemi olarak açıklanır ve çok değişkenli analiz kullanarak daha yüksek mertebeden yaklaşımlar oluşturma süreci tartışılır. Video, karmaşık gerçek dünya sorunlarının üstesinden gelmede bu kavramların önemini vurgulamaktadır.

  3. Videonun 3. kısmı, yakın noktalarda orijinal fonksiyona bir yaklaşım oluşturmak için polinom serileri olarak fonksiyonlara yaklaşmak için bir araç olarak Taylor serisinden başlayarak çok değişkenli analizin çeşitli yönlerini kapsar. Daha sonra, çözüme doğru adım atmak için sadece gradyanı kullanan Newton-Raphson yöntemine ve doğrusal cebir ile hesabı birleştiren bir vektör olan grad kavramına geçer. Ek olarak video, kısıtlamalı optimizasyon problemlerini çözmede yararlı olan Lagrange çarpanları yöntemini açıklamaktadır. Son olarak, video, değişkenler arasındaki fiziksel ilişkileri ve hipotezleri ortaya çıkarmaya yardımcı olabilecek en küçük kareler yöntemini kullanarak işlevlerin verilere nasıl sığdırılacağını gösterir. Genel olarak video, çok değişkenli analizin makine öğrenimindeki pratik uygulamalarına kapsamlı bir genel bakış sağlar.

  4. Videonun bu bölümü, doğrusal regresyondan başlayıp doğrusal olmayan modellere geçerek verilerin bir işleve nasıl sığdırılacağını tartışır. Fonksiyonlarda ve parametrelerde doğrusal olmayan modeller için artıkların karelerinin toplamını en aza indirmek için kullanılan, doğrusal olmayan en küçük kareler uyumu için en dik iniş formülü tanıtıldı. Video ayrıca, uydurma parametreleri için iyi bir başlangıç tahmini oluşturmanın ve uyumu verilerle görsel olarak karşılaştırmanın önemini de ele alıyor. Kurs, bir türevin tanımından sinir ağlarındaki uygulamalarına ve doğrusal regresyona kadar, makine öğrenimi için çok değişkenli analize giriş niteliğinde bir anlayış sağlar.

Bölüm 1

  • 00:00:00 Bu bölümde eğitmen, makine öğrenimi öğrenenler için çok değişkenli analiz kursunu tanıtıyor. Kurs, matematik ve onun uygulamalarının grafik ve animasyonlar kullanarak anlaşılmasını sağlayarak, onu daha sezgisel ve daha az bunaltıcı hale getirmeyi amaçlamaktadır. Kurs, temel matematik kavramlarını tanıtan ve beşinci ve altıncı modüllerde ilginç uygulamalar geliştiren altı modülden oluşur. Eğitmen, daha iyi anlaşılmasını kolaylaştırmak için ayrıntıları gözden geçirmeye ve kavramları grafiksel olarak sunmaya odaklanmayı ve aynı zamanda ilgilenenler için daha ayrıntılı açıklamalara bağlantılar sağlamayı önerir. Son olarak, bu bölüm, makine öğrenimi gibi matematiğin ilginç uygulamalarından tam olarak zevk almak için matematiğin tuhaflıkları ve notasyonları da dahil olmak üzere sıkıcı temellerini anlamanın önemini vurgulamaktadır.

  • 00:05:00 Bu bölümde eğitmen, bir işlev seçmenin bilimin yaratıcı özü olduğunu ve hesabın bir araba için hız-zaman grafiğinden hızdan çok daha fazlasını çıkarmamıza nasıl izin verdiğini tartışıyor. İvme, yerel gradyan olarak tanımlanır ve analiz için yeni bir grafik oluşturmak üzere zamana karşı çizilebilir. Eğitmen, sabit hızlı bir grafiğin nasıl sabit bir sıfır gradyanına sahip olacağını gösterirken, daha karmaşık bir grafiğin değişen pozitif ve negatif gradyan noktalarına sahip olacağını gösterir. Nihayetinde analiz, bir işlev ile değişkenlerindeki değişiklik arasındaki ilişkiyi açıklayan bir dizi araçtır ve bunları araştırmamıza ve manipüle etmemize olanak tanır.

  • 00:10:00 Bu bölümde, araba sarsıntısı olarak bilinen her noktada ivme fonksiyonunun eğimi alınarak ivme fonksiyonunun türevinin alınması kavramı ele alınmaktadır. Video ayrıca, integral denilen bir şeyle yakından ilişkili olan ters türev veya ters prosedür fikrini de araştırıyor. Daha sonra tartışma, matematiksel notasyonun yardımıyla gradyan kavramını tanımlayarak türevin resmi tanımına geçer. Doğrusal bir fonksiyonun gradyanı, hem yükselmenin hem de yatay mesafenin sırasıyla dikey ve yatay eksenler boyunca olan mesafeler olduğu yükseklik üzerinden uzunluk formülü kullanılarak açıklanır. Son olarak, gradyanı ifade etmek için limit gösterim şemasının nasıl kullanılabileceği kavramı da araştırılır.

  • 00:15:00 Bu bölümde video, türev kavramını ve bir fonksiyonun gradyanını bulmak için nasıl kullanıldığını açıklıyor. İşlem, o noktadaki teğet doğrunun eğimini veren (f(x+Delta X) - f(x)) / Delta X ifadesinin Delta X sıfıra yaklaştığında limitin alınmasını içerir. Video, bu yöntemi kullanarak basit doğrusal ve ikinci dereceden fonksiyonların gradyanını bulma örnekleri sağlayarak toplam kuralının birbiriyle değiştirilebilirliğini gösterir. Ortaya çıkan gradyanlar, sırasıyla bir sabit ve x'in bir fonksiyonudur.

  • 00:20:00 Bu bölümde eğitmen türev almanın kuvvet kuralını açıklar. Eğer f(X) eşittir AX üzeri B'nin bir fonksiyonunu alırsak ve türevini alırsak, sonuç, X'in f çizgisi eşittir ABX üzeri B'nin kuvveti eksi 1 olur, bu kuvvet kuralı olarak bilinir. Eğitmen ayrıca farklılaştırmanın uzun ve karmaşık ifadeler için sıkıcı olabileceğinden bahseder. Süreci hızlandırmak için toplam ve kuvvet kuralları gibi kuralları kullanabiliriz. Ardından video, farklılaştırıldığında bize ilginç sonuçlar veren üç özel durum fonksiyonunu açıklamaya devam ediyor. İlk fonksiyon, f x eşittir 1 bölü X'tir, bu da x eşittir 0'da bir süreksizliği gösterir. Eğitmen, gradyanını araştırmak için bu fonksiyona türev ifadesini uygular.

  • 00:25:00 Bu bölümde video, analizdeki bazı özel durum fonksiyonlarını tartışıyor. İlk olarak, fonksiyonun değerinin her zaman kendi gradyanının değerine eşit olduğu özelliği ile bir fonksiyonu açıklarlar. e üzeri X üstel işlevi, gerekli tüm kriterleri karşılayan tek işlevdir. Ardından, video trigonometrik fonksiyonlar sinüs ve kosinüs ve bunların türevlerinden bahsediyor. Bu fonksiyonların kendini tekrar eden örüntüsü üstel fonksiyonu hatırlatabilir. Nihayetinde video, türevin basit bir kavram olduğunu vurguluyor ve kişi cebirin tamamı üzerinde çalışamasa bile, her noktada yükselme veya ilerleme gradyanına bakabilir.

  • 00:30:00 Bu bölümde video, iki işlevin çarpımını ayırt etmek için uygun bir kısayol olan çarpım kuralını açıklıyor. Kural, matematikçilerin görece basit fonksiyonlarla uğraşırken türevleri hesaplamanın sıkıcı sürecinden kaçınmasına izin verir. Kural, bir kenarın x'in f fonksiyonu olduğu ve diğer tarafın g x'in fonksiyonu olduğu bir dikdörtgen kullanılarak açıklanır. Bu iki fonksiyonun çarpımı bize dikdörtgenin x olarak adlandırılabilecek alanını verir. Dikdörtgen dört bölgeye bölünerek az miktarda Delta X ile kenar değişiklikleri yapılır ve en hızlı küçülecek en küçük dikdörtgen göz ardı edilebilir. a'nın x'e göre türevinin son ifadesi, f x çarpı G x'in türevi artı G x x'in türevi çarpı f x'in türevidir.

  • 00:35:00 Videonun bu bölümünde zincir kuralı kavramı tanıtılmakta ve mutluluk ile pizza ve pizza ve paranın işlevleri ilişkilendirilerek mutluluğun paraya göre değişim oranını bulmak için kullanılmaktadır. Zincir kuralı, bir türev ilişkileri zinciri oluşturmanın bir yoludur ve doğrudan ikamenin bir seçenek olmayabileceği karmaşık işlevler için özellikle yararlıdır. Video daha sonra zincir kuralını fonksiyonlara uygular ve paraya göre mutluluk değişim oranının istenen fonksiyonunu elde eder. Video, zincir kuralının faydaları tartışılarak ve bir sonraki videoda tüm zaman kazandıran kuralların nasıl kullanılacağı önizlenerek sona eriyor.

  • 00:40:00 Bu bölümde, hesapta çarpım kuralının çarpım olarak yeniden yazılan bir kesre nasıl uygulanacağına dair bir örnek görüyoruz. İlk adım, paydayı yukarı taşıyarak ve negatif birin gücüne yükselterek işlevi bir çarpım olarak yeniden yazmaktır. Daha sonra fonksiyon iki ayrı parçaya bölünür: X'in G'si ve X'in H'si. Her parçanın türevi, farklı gösterim kullanılarak ve toplam, kuvvet ve zincirleme kuralları uygulanarak hesaplanır. Her iki kısım için de türev ifadeleri elde ettikten sonra, nihai cevabı elde etmek için çarpım kuralını uygulayabiliriz. Bu bölüm, görünüşte göz korkutucu işlevlerin doğru araçlarla kolayca evcilleştirilebileceğini, oysa görünüşte basit işlevlerle çalışmanın zor ama aynı zamanda eğlenceli olabileceğini hatırlatan bir hatırlatmayla sona eriyor.

  • 00:45:00 Videonun bu bölümünde eğitmen, önceki modülde öğrenilen türev kavramının bir uzantısı olan çok değişkenli hesabı tanıtıyor. Analiz edilecek birden fazla değişkenle, artık yüksek boyutlu alanlarda gezinmeye yardımcı olmak için kalkülüs uygulanabilir. Eğitmen, kritik olmasa da "çok değişkenli" ve "çok değişkenli" terimlerinin kullanımı arasındaki ince farkları açıklar. Tartışma daha sonra analiz uygulamaları bağlamında değişkenlerin ve parametrelerin inceliklerini açıklığa kavuşturmak için devam eder. Gelecekteki modüllerde eğitmen bazı ilginç veri analizi problemlerine matematik uygulayacaktır.

  • 00:50:00 Bu bölümde, konuşmacı bir fonksiyonun değişkenlerinin her birine göre türevini bulmak için kısmi türevin nasıl kullanılacağını açıklar. Alanı farklı parçalara ayırarak ve bu parçaları metalin kalınlığı ve yoğunluğuyla çarparak bir kutunun kütlesini bulmanın bir örneğini veriyorlar. Kutunun kütlesinin değişkenlerinin her birine (yarıçap, yükseklik, kalınlık ve yoğunluk) göre kısmi türevinin nasıl bulunacağını gösterirler ve birden fazla değişkenin bir fonksiyonunu ayırt etmek için kıvrımlı kısmi sembolün nasıl kullanılacağını açıklarlar. Konuşmacı, kısmi türevin tek değişkenli analizden çok daha karmaşık olmadığı ve makine öğreniminde temel bir kavram olduğu sonucuna varır.

  • 00:55:00 Bu bölümde, kısmi türev kavramı tanıtılır ve öğretici, kısmi türevlerin nasıl bulunacağını göstermek için üç değişkenli bir fonksiyon örneğini kullanır. Ardından öğretici, toplam türev kavramını tanıtıyor ve bir fonksiyonun tüm parametrelerindeki küçük bir değişiklik nedeniyle meydana gelen değişiklikleri ölçmek için kullanıldığını açıklıyor. Öğretici, toplam türevinin nasıl hesaplanacağını ve çok değişkenli problemleri çözmek için zincir kuralının nasıl kullanılacağını açıklar. Son olarak, Jacobian, lineer cebirden bazı fikirleri getirmenin ve bu kısmi türevleri optimizasyon ve makine öğrenimi bağlamında özellikle yararlı bir şeye dönüştürmenin bir yolu olarak tanıtıldı.

Bölüm 2

  • 01:00:00 Bu bölümde Jacobian kavramı çok değişkenli analiz bağlamında açıklanmaktadır. Jacobian, belirli XYZ koordinatları verildiğinde, bir fonksiyonun en dik eğim yönünü gösteren bir vektör döndüren bir vektör için cebirsel bir ifadedir. Video, bu konsepti göstermek için bir kontur grafiğine sahip karmaşık, çekici bir fonksiyonun iki boyutlu bir örneğini keşfetmeye devam ediyor. Jacobian vektörlerinin, alçak, karanlık bölgelerden uzağa ve yüksek, parlak bölgelere doğru yokuş yukarıyı gösterdiği gösterilmiştir. İki boyuttaki bu açık örnek, izleyicilere kursun ilerleyen bölümlerinde keşfedilecek daha yüksek boyutlu problemler için güven verme amaçlıdır.

  • 01:05:00 Makine öğrenimi için çok değişkenli analiz hakkındaki bu bölümde, Jacobian vektörü ve Jacobian matrisi kavramı inceleniyor. Jacobian vektörü, bir fonksiyonun vektör alanını bulmak için kullanılır; burada orijin maksimum, minimum veya eyeri temsil eder ve Jacobian matrisi, bir vektörü girdi ve çıktı olarak alan fonksiyonlar için oluşturulur. Doğrusal fonksiyonlar için, Jacobian matrisi sabit bir gradyandır ve vektör uzayları arasında koordinatları dönüştürmek için kullanılabilir. Makine öğrenimindeki birçok işlev yüksek ölçüde doğrusal olmasa da, düzgünlükleri, uzayın her bir küçük bölgesinin yaklaşık olarak doğrusal olarak kabul edilmesini sağlar ve boyuttaki değişikliği hesaplamak için her noktadaki Jacobian eklenebilir.

  • 01:10:00 Bu bölümde, bir sistemin maksimum veya minimum değerlerine karşılık gelen fonksiyonlar için girdi değerleri bulmaya atıfta bulunan matematikte optimizasyon kavramı tanıtılmaktadır. Optimizasyon süreci, rota planlama, üretim çizelgeleme ve stok seçimi gibi bir dizi gerçek dünya senaryosunda kullanılır. Basit bir fonksiyonun maksimum ve minimumlarını bulmak için Jacobian oluşturulabilir ve değerleri belirlenebilir, ancak daha karmaşık fonksiyonlar için optimal değerleri bulmak daha zor olabilir. Jakobiyen kullanan bir sistemin en derin noktasını bulma sürecini açıklamak için tabanı düz olmayan bir kum çukuru benzetmesi kullanılır.

  • 01:15:00 Bu bölümde, Jacobian vektörünün bir uzantısı olarak düşünülebilecek çok değişkenli sistemler için Hessian matrisi kavramı tanıtılmaktadır. Hessian matrisi, n'nin f işlevindeki değişkenlerin sayısı olduğu, n değişkenli bir işlev için N'ye n kare matristir. Hessian'ı bulmak için önce Jacobian'ı bulabilir ve sonra terimlerini yeniden ayırt edebiliriz. Hessian matrisi, önde gelen köşegen boyunca simetriktir ve bir fonksiyonun bir noktada maksimum mu yoksa minimum mu olduğunu belirlemek için kullanılabilir. Hessian'ın determinantı, bir fonksiyonun eyer noktası olup olmadığını belirlemek için kullanılır.

  • 01:20:00 Bu bölümde video, iki boyutlu manzaraların sınırlamalarını ve daha yüksek boyutların, pahalı hesaplamaların, keskin özelliklerin ve gürültülü işlevlerin getirdiği zorlukları tartışıyor. Sonlu farklar yöntemi, açık bir formülü olmayan problemlere çözüm üretmek için bir yaklaşım tekniği olarak tanıtılmaktadır. Farklı yönlerde küçük adımlar atarak, bu yaklaşım kullanılarak Jacobian'a yaklaşılabilir, ancak adımların boyutunu seçerken doğru dengeyi bulmak önemlidir.

  • 01:25:00 Bu bölümde video, gürültülü veriler ve hesaplama açısından pahalı işlevlerle uğraşırken ortaya çıkan zorluklar üzerine bir tartışmayla başlıyor. Konuşmacı, gürültülü verilerle başa çıkmak için en basit yaklaşımın, birkaç farklı adım boyutu kullanarak ve bir tür ortalama alarak gradyanı hesaplamak olduğunu vurgular. Ardından video, tek değişkenli zincir kuralının çok değişkenli işlevlerin üstesinden gelmek için yükseltileceği Modül 3'ü tanıtıyor. Konuşmacı gösterimi basitleştirir ve çok değişkenli zincir kuralının iki çok değişkenli türev ifadesinin nokta çarpımı yoluyla düzgün bir şekilde ifade edilebileceğini açıklar. Video, zaman kazandıran kuralların geri kalanının zaten çok değişkenli problemler için çalıştığını vurgulayarak ve çok değişkenli zincir kuralının genelleştirilmiş biçimiyle ilgili tartışmalarını sonlandırarak sona eriyor.

  • 01:30:00 Bu bölümde video, üç işlevli tek değişkenli bir örnek kullanarak zincir kuralının ikiden fazla bağlantı için nasıl çalıştığını anlatıyor. Ardından video, zincir kuralının hala çalıştığı, ancak Jacobian matrisi gibi ayrıntılara ek dikkat gösterilen çok değişkenli durumu tanıtıyor. F'nin T'ye göre türevi, F'nin Jacobian'ının X'in Jacobian'ı ve U'nun türev vektörü ile çarpımıdır ve skaler bir çıktıya yol açar. Bu kavram, yapay sinir ağları ve bunların gerçek dünya problemlerine uygulanması için çok önemlidir.

  • 01:35:00 Bu bölümde, video bir sinir ağının matematiksel işlevini tanıtıyor. Bir sinir ağı, basitçe bir değişkeni alan ve başka bir değişkeni geri veren, her iki değişkenin de vektör olabileceği bir işlevdir. Bir sinir ağının her bir düğümüne, bir ağırlık, bir sapma ve sinir ağlarına beyin nöronlarıyla ilişkilerini veren bir aktivasyon fonksiyonundan (Yunanca Sigma harfi ile temsil edilir) oluşan bir aktivite denir. Video, daha fazla nöron ekleyerek ağda nasıl daha fazla karmaşıklık yaratılacağını gösterir ve kompakt bir vektör biçiminde temsil edilebilen n girdi, ağırlık, sapma ve çıktı almak için ifadeyi genelleştirir. Bulmacanın son parçası, önceki katmanlarla aynı şekilde davranan girdiler ve çıktılar arasına gizli nöron katmanları eklemektir.

  • 01:40:00 Bu bölümde, etiketli veri ve geri yayılım kullanarak sinir ağlarını eğitme kavramı tanıtılmaktadır. Odak noktası, basit bir yapı seçerek ve ardından ağırlıkları ve sapmaları kademeli olarak güncelleyerek ağın eğitim girdilerini etiketleriyle en iyi şekilde eşleştirmesini sağlayan ağırlıkları ve sapmaları bulmaktır. Bir maliyet fonksiyonu tanımlanır ve ağırlıkları ve önyargıları güncelleme yönünü bulmak için W değişkenine göre C'nin gradyanı alınır. Ek olarak, bir dizi eğitim örneği için ağın maliyetini en aza indirmek amacıyla WB alanında gezinmek için kullanılabilen, maliyetin kısmi türevi için zincir kuralı ifadesi vurgulanmıştır.

  • 01:45:00 Videonun bu bölümünde, fonksiyonlara yaklaşımlar oluşturmak için bir yaklaşım olarak Taylor serisi tanıtılmaktadır. Video, tavukların yaklaşık pişirme sürelerini tahmin etmek için Taylor serisinin nasıl kullanılabileceğine dair bir örnek sunuyor. Süreç, fırın ve tavuğun özellikleri hakkında varsayımlarda bulunmayı ve tavuğun kütlesi ile pişirme süresi arasındaki ilişkiyi modellemek için bir dizi daha basit işlevi kullanmayı içerir. Taylor serisi yöntemi, grafikteki noktalardan biriyle aynı eğime ve yüksekliğe sahip bir fonksiyonun türetilmesine izin verir, ancak ilgi noktasından uzaklaştıkça yaklaşım zayıflar. Video ayrıca Taylor serisinin kuvvet serisi olarak adlandırılabileceğini açıklamakta ve bir kuvvet serisi için basit bir genelleştirilmiş ifade sağlamaktadır.

  • 01:50:00 Bu bölümde kesik seriler kavramı ve yaklaşımlar yoluyla fonksiyon oluşturma süreci tartışılmaktadır. Genelleştirilmiş bir kuvvet serisi, X'in artan kuvvetlerinin bir serisi olarak tanıtılır. Taylor serisi yöntemi, fonksiyon hakkında her şeyi bir noktada bilerek bir fonksiyonun başka her yerde yeniden oluşturulmasına izin verir. Bu yöntem yalnızca iyi huylu sürekli işlevler için kullanılabilir. Bir fonksiyon oluşturmak için yaklaşımların kademeli olarak iyileştirilmesi, bir örnekle grafiksel olarak gösterilmiştir. İlk yaklaşımlar yalnızca bir veya iki bilgi parçasına dayanırken, yaklaşımları daha da geliştirmek için daha fazla bilgi kullanılır.

  • 01:55:00 Bu bölümde video, çok değişkenli analiz kullanarak bir fonksiyonun daha yüksek mertebeden yaklaşımlarını oluşturma sürecini tartışıyor. İkinci dereceden denklemler oluşturmak için F(0), F'(0) ve F''(0) gibi bilgileri kullanarak birinci ve ikinci dereceden yaklaşımları bulmakla başlar. Video daha sonra üçüncü ve dördüncü dereceden yaklaşımları tartışmaya geçerek, alt sıradaki terimleri aynı tutarken parçalı yüksek dereceli terimlerin eklenebileceğini gösterir. Video ayrıca, kübik yaklaşımda kübik terimin önündeki katsayının, bir kübik terimin iki kez farklılaştırılmasından kaynaklandığını da not eder. Genel olarak video, karmaşık fonksiyonlara yaklaşmada çok değişkenli analizin kullanışlılığını gösterir.

Bölüm 3

  • 02:00:00 Bu bölümde, kuvvet serisi kavramı daha fazla uygulanıyor, burada "e üzeri x" fonksiyonunu terim terim türevliyoruz ve değişmeden kalan tatmin edici bir şey buluyoruz. Taylor serisi, x eşittir 0 noktası hakkında özel bir şey olmadığını kabul eder ve herhangi bir noktada fonksiyon hakkında her şeyi biliyorsanız, fonksiyonu herhangi bir yerde yeniden oluşturabileceğinizi söyler. x eşittir P noktasından başlayarak, Alman denklemi keyfi genişleme noktalarına izin verecek şekilde ayarlanabilir. Sıfırıncı dereceden terim, her yerde P'nin F noktasını kullanan yatay bir çizgi olacaktır ve P Noktasında eğriye bir teğet oluşturmak için, mevcut tüm bilgileri not etmeli ve fonksiyonun gradyanını kullanmalıyız.

  • 02:05:00 Bu bölümde, konuşmacı Taylor serisini, polinom serileri olarak fonksiyonlara yaklaşmak için kullanışlı bir araç olarak tanıtıyor. İkinci türevi bir P noktasında uygulayarak ve X'i X eksi P ile değiştirerek Maclaurin serisinin genel Taylor serisi formuna nasıl dönüştürüleceğini gösteriyor. Ortaya çıkan tek boyutlu Taylor serisi ifadesi, fonksiyonları polinom serileri olarak uygun bir şekilde yeniden ifade etmek için kullanılabilir. Konuşmacı ayrıca kosinüs fonksiyonunun bir Maclaurin serisi açılımının nasıl oluşturulacağını gösterir ve bu örneği kosinüs ve sinüslerin döngüsel modelini, seride X'in tek kuvvetlerinin yokluğunu ve tam olarak açıklamak için toplama notasyonunun kullanımını açıklamak için kullanır. seri. Bu bölüm, seri yaklaşımlarını ele alırken dikkatli olunması ve kabul edilebilir oldukları alanın bilinmesi için bir hatırlatma ile sona ermektedir.

  • 02:10:00 Bu bölümde konuşmacı, Taylor serisinin x=0'da süreksizliği nedeniyle tanımsız değerlere yol açan 1/X gibi kötü davranan bir fonksiyonla nasıl başa çıkabileceğini tartışıyor. Bununla birlikte, x=1 gibi başka bir yere giderek ve düzgün bir toplama notasyonuyla Taylor serisini uygulayarak, fonksiyonlara bir dizi iyileştirici yaklaşım inşa edilebilir. Video daha sonra bir yaklaşımda beklenen hatayı ve P noktasına yakın bir fonksiyonu değerlendirmek için birinci dereceden yaklaşımın nasıl kullanılacağını araştırıyor. Konuşmacı, hatanın tam olarak hesaplanabileceğinden bahsediyor ve herhangi bir yaklaşımın ne kadar doğru olacağını tahmin etmenin bir yolunu veriyor .

  • 02:15:00 yakın bir noktada orijinal fonksiyona yaklaşılıyor. Bu bölümde, birinci dereceden yaklaşımda tanıtılan, küçük bir sayı olması durumunda Delta x karesi mertebesinde olan hata terimini öğreneceğiz. Ayrıca, ikinci nokta X'ten sonlu bir uzaklıkta kaldığında, uzunluk üzerinden artış yaklaşımının bir türevin tanımını ve içindeki hatayı oluşturmamıza nasıl yardımcı olabileceğini görüyoruz. yakın bir noktada orijinal fonksiyona yaklaşmak için iki boyutlu bir fonksiyon veren iki boyutlu durum. Genel olarak, bu kavramlar, problem çözmede sayısal yöntemler uygulanırken önemli bir rol oynar.

  • 02:20:00 Bu bölümde eğitmen, çok değişkenli fonksiyonlar için Taylor serisi açılımlarının nasıl oluşturulacağını açıklar. Sıfırıncı dereceden bir yaklaşım, genişleme noktasında fonksiyonla aynı yüksekliğe sahip düz bir yüzeydir, birinci dereceden yaklaşım ise iki yöndeki gradyan bilgisini içerir. İkinci dereceden yaklaşım için, hepsi ikinci türev olan üç terimimiz var ve bu toplamı elde etmek için Delta X vektörümüzü Hessian ile ve sonra tekrar Delta X vektörünün devriği ile çarpmamız gerekiyor. Eğitmen bunun 2B'den çok boyutlu hiper yüzeylere hemen genelleştiğini, kalkülüs ve lineer cebir becerilerinin yanı sıra Jacobian ve Hessian kavramlarını kullandığını açıklıyor.

  • 02:25:00 Bu bölümde anlatıcı, tüm veri noktalarını taşımak yerine ortalama ve genişlik olmak üzere iki parametreyi kullanarak yükseklik dağılımına bir denklem uydurmak için bir yöntem açıklıyor. Süreç, modelin verilere ne kadar iyi uyduğuna dair bir ifade bulmayı ve ardından uyum parametreleri değiştikçe bu uyum iyiliğinin nasıl değiştiğine bakmayı içerir. Anlatıcı daha sonra bir denklemin çözümünü tahmin etmek için yineleme yapmayı, onu değerlendirmeyi, yeni bir tahmin üretmeyi ve çözüme ulaşılana kadar işlemi tekrarlamayı içeren Newton-Raphson yöntemini tanıtır. Bu yöntem, büyük, çok boyutlu bir fonksiyonun verilere uydurulması ve analitik olarak çözülmesi veya çiziminin çok pahalı olması durumunda kullanışlıdır.

  • 02:30:00 Videonun bu bölümünde, çözüme doğru adım atmak için sadece gradyanı kullanarak denklemleri çözmenin bir yolu olarak Newton-Raphson yöntemi tanıtılıyor. Ancak yöntem bazen bir döngüye takılmak veya çılgın değerlere sapmak gibi problemler yaratabilmektedir. Buna rağmen, yöntem, bir çözümü yinelemenin güçlü bir yoludur. Videonun bir sonraki bölümü, gradyan vektörünü bularak ve bir kontur grafiği üzerinde bir tepeden aşağı inerek bu yöntemin çok değişkenli fonksiyonlara nasıl uygulanacağına odaklanmaktadır. Bu, sonunda optimizasyona ve bir fonksiyonun parametreleri için en uygun olanı bulmaya izin verecektir.

  • 02:35:00 Bu bölümde lineer cebir ve hesabı birleştiren bir vektör olan grad kavramı açıklanmaktadır. Grad, vektörün X&Y konumlarında DF'yi DX'e ve DF'yi DY'ye yazdığımız vektör olarak tanımlanır. Yönlü gradyan, F gradına paralel bir birim vektör ile F gradının nokta çarpımı olarak sunulur ve yönlü gradyanın maksimum değeri, grad F'nin boyutudur. Grad noktalarının yönü, yön olarak açıklanır. kontur çizgilerine dik en dik iniş. Son olarak, veri değerleri ve model uyumu arasındaki farkı en aza indirmede gradyanın kullanımı tartışılmaktadır.

  • 02:40:00 verilen, X kare artı Y kare eşittir A kare, yani baktığımız noktaların tümü A yarıçaplı bir çember üzerinde. Bu yoldaki maksimum veya minimumları bulmak için, Lagrange çarpanları yöntemi. Bu, fonksiyonun konturuna dik olan gradyan vektörünün, dairenin yoluna dik olan gradyan vektörüyle eksi işaretine kadar nerede aynı yönde olduğunu bulmayı içerir. Bu bize konturun yola değdiği noktaları verecek, minimum ve maksimumları bulacağımız yer burası. Bu yaklaşım, belirli bir yol boyunca bir fonksiyonun maksimum veya minimum değerini bulmak gibi kısıtlamalara tabi olan optimizasyon problemlerini çözmemizi sağlar.

  • 02:45:00 Bu bölümde, kısıtlamalı optimizasyon problemlerini çözmek için bir araç olarak Lagrange çarpanları kavramı tanıtılmaktadır. Lagrange çarpanlarının kullanımını göstermek için bir daire denklem kısıtlaması ve çok değişkenli bir fonksiyon içeren pratik bir örnek kullanılmıştır. Denklemler, kısıtlama içindeki fonksiyonun maksimum ve minimum değerlerini bulmak için kurulur ve çözülür. Sonuçların üç boyutta çizilmesi, maksimum ve minimum noktaları gösterir. Bu yöntem, kısıtlamaların söz konusu olduğu makine öğrenimindeki optimizasyon problemlerinde yararlı olabilir.

  • 02:50:00 Bu bölümde video, çok değişkenli analiz kullanarak fonksiyonların nasıl optimize edileceğini ve problemlerin nasıl çözüleceğini tartışıyor. Gradyan vektörü, kontur çizgilerine dik olarak tanımlanırken ve her biri boyunca fonksiyonun farkına eşit elemanlara sahipken, mevcut bir tahminden bir problemin çözümüne ne kadar ilerleneceğini tahmin etmek için gradyanları kullanan Newton-Raphson yöntemi tanıtıldı. eksen. Video daha sonra Lagrange çarpanı yöntemini kullanarak gradyan fonksiyonunu kısıtlamanın tanjantına eşitleyerek kısıtlamaya tabi bir problemin nasıl çözüleceğini gösterir. Çok değişkenli analiz uygulamak, en küçük kareler yöntemini kullanarak işlevlerin verilere uymasına yardımcı olabilir ve değişkenler arasındaki fiziksel ilişkileri ve hipotezleri ortaya çıkarmak için verilerin temizlenmesine, analiz edilmesine ve grafik haline getirilmesine olanak tanır.

  • 02:55:00 Videonun bu bölümünde öğretim görevlisi, bir artık R ve ki-kare adı verilen bir uyum kalitesi ölçüsü kullanarak m ve c'nin optimal değerinin nasıl bulunacağını açıklıyor. R'yi, veri öğeleri ile bunların çizgi üzerindeki tahmin edilen konumları arasındaki fark olarak ve ki-kareyi kare artıkların toplamı olarak tanımlar. M ve C'nin pek çok farklı olası değeri için ki-karenin nasıl görüneceğini çizerek, minimumu 215 civarında ve 0'a yakın bir kesişme noktasında bulur. Minimum, ki-karenin gradyanı sıfır olduğunda bulunur. . Öğretim görevlisi, sorunun nasıl çözüleceğini açık bir şekilde açıklamaya devam eder ve ardından doğrusal inişle nasıl çözüleceğini gösterir. Ayrıca, montaj parametrelerindeki belirsizlikler hakkında nasıl fikir edinileceğini de açıklıyor.

4. Bölüm

  • 03:00:00 Bu bölümde, bazı verilere regresyon yoluyla doğru uydurma kavramı ele alınmakta ve uyumun verilerden sapmasını ölçen uyum iyiliği tahmincisi ki-kare tanıtılmaktadır. Uyumu görsel olarak karşılaştırmanın önemi, kesmenin eğime bağlı olduğu gerçeğiyle birlikte vurgulanır. Problem, uyumdaki sabit terim göz önüne alındığında gradyandaki belirsizliği ortadan kaldırmak için y'deki kütle merkezinin y-bardaki konumu olarak yeniden şekillendirilir. Video daha sonra doğrusal regresyondan keyfi olarak daha karmaşık olan uydurma fonksiyonları hakkında konuşmaya devam ediyor ve parametreler, ki-karenin tüm veri noktalarının toplamı olarak hesaplandığı doğrusal olmayan en küçük kareler kullanılarak verilere uyduruluyor. parametreleri a K olan YI ve XI modeli arasındaki fark, tümü Sigma kareye bölünür.

  • 03:05:00 Bu bölümde konuşmacı, fonksiyonlarda ve uydurma parametrelerinde doğrusal olmayan bir model için artıkların kareler toplamını en aza indirmek için kullanılan, doğrusal olmayan en küçük kareler uyumu için en dik iniş formülünü tartışıyor. Konuşmacı, bu formülün, ki-kare gradyanının sıfıra eşit olduğu veya ki-kare değerinin değişmeyi durdurduğu zaman olabilecek minimum ki-kare değerine ulaşılana kadar her yineleme sırasında uydurma parametrelerinin vektörünü güncellemek için kullanıldığını açıklıyor. Bu tür problemleri çözmek için çeşitli yöntemler olsa da, en dik iniş en basit olanıdır ve genelleştirilmiş bir doğrusal olmayan en küçük kareler uydurma problemi için minimum değeri bulmak için yeterlidir.

  • 03:10:00 çok değişkenli analizle ilgili bu bölümde video, daha hızlı yakınsama için Hessian'ın kullanılması, kararlılık için Levenberg-Marquardt yöntemi ve aykırı değerleri işlemek için sağlam uydurma dahil olmak üzere doğrusal olmayan en küçük kareler problemlerini çözmek için çeşitli yöntemleri açıklıyor. Video daha sonra, popülasyon yüksekliği verilerine bir Gauss dağılımı uydurma örneğini kullanarak, doğrusal olmayan en küçük kareler eğrisi uydurma gerçekleştirmek için MATLAB ve Python'un nasıl kullanılacağını gösterir. Algoritmanın anlamlı bir minimuma yakınsayabilmesini sağlamak için başlangıç parametreleri için mantıklı bir tahminle başlamanın önemini vurgular.

  • 03:15:00 Bu bölümde konuşmacı, verileri işlevlere uydururken iyi bir başlangıç tahmini oluşturmanın ve verileri verilerle karşılaştırmanın önemini vurgular. Python, MATLAB veya R'de işlevleri yalnızca birkaç kod satırına sığdırmanın hesaplamalı olarak kolay olduğuna dikkat çekerek, işlevleri optimize etmek ve verileri işlevlere sığdırmak için çok değişkenli hesabı kullanma konusundaki tartışmayı sonlandırıyorlar. Ancak, konuşmacı anlamanın önemini belirtiyor. algoritmaların gizli gizli nasıl çalıştığı ve bir şeyler ters giderse bunların nasıl düzeltileceği. Kurs, bir türevin tanımından sinir ağlarında ve doğrusal regresyonda nasıl uygulanabileceğine kadar makine öğrenimi için çok değişkenli analize giriş niteliğinde bir anlayış sunarak, hesabın nerede yararlı olabileceğine dair bir önseziye olanak tanır.
Mathematics for Machine Learning - Multivariate Calculus - Full Online Specialism
Mathematics for Machine Learning - Multivariate Calculus - Full Online Specialism
  • 2019.11.15
  • www.youtube.com
Welcome to the “Mathematics for Machine Learning: Multivariate Calculus” course, offered by Imperial College London. This video is an online specialisation ...
 

ETL Konuşmacı Serisi: Ilya Sutskever, OpenAI



ETL Konuşmacı Serisi: Ilya Sutskever, OpenAI

OpenAI'nin kurucu ortağı ve baş bilim adamı Ilya Sutskever, "ETL Konuşmacı Serisi: Ilya Sutskever, OpenAI" başlıklı bir YouTube videosunda büyük dil modelleri, yapay nöronların arkasındaki öncül, yapay zekadaki bilinç ve finansal yapı gibi konuları tartışıyor. kar amacı gütmeyen yapay zeka kuruluşları. Sutskever, OpenAI'nin başarısı için teknik ilerlemenin ve iyi araştırma yapmanın önemini vurguluyor ve yapay zeka ve girişimcilikle ilgilenen öğrencileri benzersiz fikirlerini keşfetmeye teşvik ediyor. Ayrıca, derin öğrenme yığınının ve uzmanlık eğitiminin çeşitli katmanlarındaki iyileştirmelerin gelecekte büyük bir etki yaratacağını tahmin ediyor. Son olarak, sunucular anlayışlı tartışması için Sutskever'e teşekkür eder ve onu gelecekteki etkinlikler için tekrar davet ederken aynı zamanda izleyicileri girişimcilik ve yenilikçilik hakkında daha fazla kaynak için Stanford e-köşe web sitesine yönlendirir.

  • 00:00:00 Bu bölümde Ravi Balani, OpenAI'nin kurucu ortağı ve baş bilim adamı Ilya Sutskever'i tanıtıyor. ve beraberindeki ürünü Chat GBT. Balani, Sutskever'in geçmişini İsrail'de matematik ve bilgisayar bilimi okuyan ve daha sonra Toronto Üniversitesi'nden doktorasını alan bir Rus-İsrail göçmeni olarak açıklıyor. Sutskever, mevcut AI ortamına yol açan derin öğrenme devrimini başlatmasıyla tanınan AlexNet'in arkasındaki itici güç olarak kabul ediliyor. Sutskever daha sonra büyük dil modelinin arkasındaki önermeyi ve insan beynindeki biyolojik nöronlardan nasıl ilham aldığını açıklıyor.

  • 00:05:00 Bu bölümde, OpenAI'den Ilya Sutskever, sinir ağlarının deneyimlerden öğrenmek için kullandığı matematiksel denklem olan geriye yayılım algoritmasının geliştirilmesini tartışıyor. Büyük bir dil modelinin, metindeki önceki kelimelerden sonraki kelimeyi yüksek doğrulukla tahmin etmek için eğitilmiş bir sinir ağı olduğunu ve bu anlayışın, tahmin hatasının optimizasyonu yoluyla işlevselleştirildiğini açıklıyor. Sutskever, yapay nöronların biyolojik nöronlardan çok da farklı olmadığını öne sürüyor ve bunu hayal edebilirsek, insanların tıpkı mevcut büyük dil modelleri gibi bir sonraki kelimeyi tahmin etmede oldukça iyi bir iş çıkardıklarını görebiliriz. Ancak, insan öğrenimi konusundaki anlayışımız hala sınırlı olduğu için, insanlar ve yapay sinir ağları arasında doğrudan karşılaştırmalar yapılmaması konusunda uyarıda bulunuyor.

  • 00:10:00 Bu bölümde, OpenAI'nin kurucu ortağı Ilya Sutskever, sinir ağlarının öğrenme şekli ile insanların öğrenme şekli arasındaki farkları tartışıyor. Sinir ağları matematikte veya programlamada kesinlikle iyidir; ancak, bu uzmanlık düzeyine ulaşmak için çok fazla veriye ihtiyaçları vardır. Öte yandan, insan az sayıda belgeyi okumasına rağmen bir şeyi derinlemesine anlayabilir. Sutskever, makinelerin insan öğrenimini ve adaptasyonunu geride bırakacağı tekillik noktasını tartışmaya gelince, bu noktanın ne zaman gerçekleşeceğini bilmiyor. İlerlemelerin olması gerekiyor ve belirsizlik yüksek. Bilinci tanımlamak zordur, ancak AI sistemlerinde test edilmesi gereken bir kaçınılmazlıktır.

  • 00:15:00 Bu bölümde, OpenAI Baş Bilim Sorumlusu Ilya Sutskever, yapay zekada bilinç kavramını tartışıyor. Bilincin ikili bir kavramdan ziyade bir derece meselesi olduğunu ve hayvanların da insanlara kıyasla azaltılmış bir bilinç biçimine sahip olabileceğini öne sürüyor. Ardından, OpenAI'nin misyonu ve kâr amacı gütmeyen bir kuruluştan Microsoft ile yakın bağları olan kâr amacı gütmeyen bir kuruluşa geçiş kararlarını çevreleyen etik sorunlar hakkında konuşmaya devam ediyor. OpenAI tarafından yapılan ilerlemelerdeki doğrudan sorumluluğunun ve karar verme sürecinde etiğin nasıl bir rol oynadığının farkındadır.

  • 00:20:00 Bu bölümde Ilya Sutskever, açık kaynak ile kapalı kaynak yapay zekanın artılarını ve eksilerini tartışıyor. Açık kaynaklı yapay zeka, güç dengesi açısından arzu edilen bir durum olan gücün birkaç kişinin elinde toplanmasını engellese de, yapay zeka yetenekleri giderek daha güçlü hale geldikçe uzun vadede ideal olmayabilir. Sonunda, güvenlik, bu modellerin açık kaynak olmaması için bariz ve acil itici güç haline gelmelidir. Ayrıca, finansmandan sağlanan paranın büyük bir kısmının bulut sağlayıcılara gittiği veri merkezlerinin önemli maliyeti göz önüne alındığında, kâr amacı gütmeyen veya kâr amaçlı olma kararı kolay değildir.

  • 00:25:00 Bu bölümde, OpenAI'nin kurucu ortağı Ilya Sutskever, yapay zeka (AI) ile uğraşan, kendileri gibi kar amacı gütmeyen kuruluşların mali yapısını açıklıyor. Bu şirketler, maliyetleri çok yüksek olduğu için artık üniversiteler tarafından desteklenemeyen büyük sinir ağlarını desteklemek için büyük fonlara ihtiyaç duyuyor. Bu nedenle, bağışlarla finanse edilen OpenAI gibi kar amacı gütmeyen kuruluşlar, AI şirketlerine akademisyenlere katkıda bulunma yolu sunar. OpenAI'nin mali yapısı benzersizdir; kar amacı güden bir şirket değil, "kârı sınırlı bir şirket"tir. OpenAI'de öz sermaye, yatırımcılara sınırlı yükümlülüğü olan bir tahvildir. Ödeme yapıldıktan sonra, OpenAI tekrar kar amacı gütmeyen bir kuruluş haline gelir. Çılgınca görünse de bu yapı önemlidir çünkü yapay zeka giderek daha fazla öne çıkıyor ve yapay zeka şirketlerinin kar amacı gütmeyen yatırımları desteklemesi daha faydalı olabilir. Microsoft, OpenAI'nin yatırımcılarından biridir ve OpenAI, AGI'nin potansiyelini ve dünya üzerindeki etkisini anladıkları için onlarla AGI (Yapay Genel Zeka) tartışmaları yürütür.

  • 00:30:00 Bu bölümde Ilya Sutskever, OpenAI'nin güvene dayalı görevini ve yatırımcılar için potansiyel riskleri tartışıyor. OpenAI'yi DeepMind'den ayırıyor çünkü OpenAI, kar amacı gütmeyen bölümde bir GP veya LP'ye sahip kar amacı gütmeyen bir kuruluş tarafından tutuluyor. Ek olarak Sutskever, mantıklı ve tamamen doğrulanmış veya onaylanmış ilerleme kaydetmek için daha güçlü sinir ağları için hükümet düzenlemelerine ve dikkatli değerlendirmelere duyulan ihtiyaç hakkındaki düşüncelerini paylaşıyor. Etik yükümlülüklerle ilgili olarak, vatandaş yükümlülüklerinin önemini kabul eder, ancak ikamet ettiği Amerika Birleşik Devletleri'nin gelişmesine öncelik verir.

  • 00:35:00 Bu bölümde görüşmeci, OpenAI'den Ilya Sutskever'e bir Kuzey Yıldızı olarak başarıları için hangi ölçümleri izlediklerini soruyor. Sutskever, birincil KPI'nın teknik ilerleme ve iyi araştırma yapmak, sistemleri anlamak, onları daha iyi eğitmek ve daha iyi kontrol etmek olduğunu söylüyor. Çekirdek teknolojinin OpenAI'nin başarısının merkezinde olduğuna inanıyor. OpenAI'nin insanlar için bir varış noktası mı yoksa arka uç altyapısının bir parçası olarak mı kullanılacağı sorulduğunda Sutskever, her şey çok hızlı değiştiği için soruyu yanıtlamanın zor olduğunu söylüyor. Yapay zeka ve girişimcilikle ilgilenen öğrencilere tavsiyeler açısından Sutskever, kişinin benzersiz eğilimlerine eğilmesini ve kendi fikirlerini keşfetmesini tavsiye ediyor.

  • 00:40:00 Bu bölümde Ilya Sutskever, sezgiye güvenmeye olan inancını tartışıyor, özellikle de yeni fırsatlara odaklanmak için benzersiz bakış açılarından yararlanılabilen girişimcilikte değerli. Önümüzdeki beş ila on yıl içinde derin öğrenmenin geleceği sorulduğunda, Sutskever bu alanda ilerleme kaydedilmeye devam edileceğini tahmin ediyor, belki önceki ölçeklendirmeye odaklanma yoluyla değil, derin öğrenme yığınının çeşitli katmanlarındaki iyileştirmeler yoluyla. . Ayrıca, bir katkı yolu olarak derin öğrenmede yeni sınırlar belirlemenin değerini vurguluyor ve uzman eğitiminin gelecekte büyük bir etki yaratacağını tahmin ediyor, ancak bu yalnızca genel bir sinir ağları eğitimi oluşturulduktan sonra.

  • 00:45:00 Bu bölümde, konuşmacı uzmanlık eğitimi fikrini ve bunun özellikle açık kaynak topluluğunda bir dereceye kadar nasıl gerçekleştiğini tartışıyor; olabildiğince. Yapay zekada kazanma avantajının, tescilli veri kümelerine ve yetenekli bir temel modele sahip olmak da dahil olmak üzere çeşitli faktörlerin bir kombinasyonu olacağına inanıyor. Yapay zeka teknolojisini araştırmacılara ve yeni girişimlere sunmak söz konusu olduğunda, model erişimi gibi ara yaklaşımların, geniş ve karmaşık bir davranış yüzey alanına sahip sinir ağlarını incelemede çok verimli olabileceğini öne sürüyor. Son olarak konuşmacı, AI entegrasyonunun OpenAI'deki etkisinin üretkenlikte hafif bir artış olduğunu, ancak ekip dinamiklerinde dramatik bir değişikliğe yol açmadığını paylaşıyor.

  • 00:50:00 Bu bölümde sunucular, Ilya Sutskever'e yapay zeka ve derin öğrenme konusundaki anlayışlı tartışması için teşekkür ediyor. Gelecekteki etkinlikler için onu tekrar davet ediyorlar ve izleyicilere endüstri liderlerinin katılacağı yaklaşan ETL oturumlarını hatırlatıyorlar. Ayrıca girişimcilik ve yenilikçilik hakkında daha fazla kaynak için izleyicileri Stanford e-köşe web sitesine yönlendiriyorlar.
ETL Speaker Series: Ilya Sutskever, OpenAI
ETL Speaker Series: Ilya Sutskever, OpenAI
  • 2023.04.19
  • www.youtube.com
Ilya Sutskever is the co-founder and chief scientist of OpenAI, which aims to build artificial general intelligence that benefits all of humanity. He leads r...
 

Ilya Sutskever (OpenAI Baş Bilim İnsanı) - Bina AGI, Hizalama, Casuslar, Microsoft ve Aydınlanma



Ilya Sutskever (OpenAI Baş Bilim İnsanı) - Bina AGI, Hizalama, Casuslar, Microsoft ve Aydınlanma

OpenAI Baş Bilim İnsanı Ilya Sutskever, bu videoda GPT'nin yasa dışı kullanım potansiyeli, AI sistemlerinde güvenilirliğin önemi, AGI oluşturmada insan-makine işbirliğinin rolü, AGI'nin yazılım ve donanım sınırlamaları ve akademik araştırmanın potansiyeli. AGI inşasında yanlış hizalama olasılığını azaltmak için bir yaklaşım kombinasyonunun gerekli olacağına ve insanüstü yapay zeka için gereken atılımların, geriye dönüp bakıldığında mutlaka atılımlar gibi gelmeyebileceğine inanıyor. Ayrıca öğretim modellerinde insan katkısının değerini vurguluyor ve dil modellerinin etkisinin dijital dünyanın ötesine geçebileceğini öne sürüyor.

  • 00:00:00 Bu bölümde Ilya Sutskever, GPT'nin potansiyel yasa dışı kullanımlarını tartışıyor ve yabancı hükümetlerin onu zaten propaganda amacıyla kullanıyor olabileceğini kabul ediyor. Ayrıca, yapay zekadan AGI'ye geçiş için kesin bir zaman çerçevesi vermek zor olsa da, yapay zekanın ekonomik değerinin ona giden yıllarda katlanarak artmaya devam edeceğini belirtiyor. Sutskever, yapay zekanın mevcut durumu için bir benzetme olarak sürücüsüz arabayı da kullanıyor ve modeller her şeyi yapabilecek gibi görünse de, güvenilirliği ve sağlamlığı sağlamak için yapılması gereken daha çok iş olduğunu belirtiyor. Son olarak Sutskever, yapay zekanın 2030 yılına kadar GSYİH'nın yüzde kaçının oluşturacağını ve neden yüksek bir yüzdeye ulaşamayacağını tahmin etmenin zor olduğunu kabul ediyor.

  • 00:05:00 Bu bölümde, OpenAI Baş Bilim İnsanı Ilya Sutskever, AI sistemlerinde güvenilirliğin önemini ve ürettikleri ekonomik değeri nasıl etkileyebileceğini tartışıyor. Ayrıca mevcut üretken modeller paradigmasının AGI'ye yol açma potansiyelinden ve geçmişten farklı fikirlerin entegrasyonunun bir sonraki paradigmayı yaratabileceğinden bahsediyor. Sutskever, bir sonraki simge tahmininin insan performansını geçemeyeceği iddiasına meydan okuyor ve bunun, ortalama bir insandan çok daha fazla zihinsel yeteneğe sahip varsayımsal insanlar hakkında nasıl içgörülere yol açabileceğini açıklıyor. Son olarak, pekiştirmeli öğrenime yönelik verilerin çoğunun zaten insanlardan ziyade yapay zekadan geldiğini doğruluyor ve insan öğretmenlerin, insan girdisi olmadan kendilerini geliştirmek için yapay zeka ile işbirliği yapma potansiyelinden bahsediyor.

  • 00:10:00 Bu bölümde, OpenAI'nin baş bilim adamı Ilya Sutskever, gelişmiş muhakeme yeteneklerine sahip sistemler oluşturmada insan-makine işbirliğinin önemini ve makine öğrenimi modellerinde çok adımlı muhakeme yeteneklerini geliştirmek için özel eğitim ihtiyacını tartışıyor. Ayrıca veri kıtlığıyla ilgili endişeleri de ele alıyor ve çok modlu geçişin daha fazla veri elde etmek için değerli bir yön olabileceğini öne sürüyor. Geçmişte veri kıtlığı nedeniyle robotik OpenAI için uygun bir yön olmasa da, şimdi bu alanda ilerleme için daha fazla potansiyel olabilir, ancak göreve güçlü bir bağlılık ve bağlılık gerektirir. Son olarak Sutskever, mevcut donanım sınırlamalarıyla iyi çalışmayabilecek gelecekteki fikirler için heyecan duyduğunu ifade ediyor.

  • 00:15:00 Bu bölümde Ilya Sutskever, AGI oluşturmaya yönelik donanım sınırlamalarını ve uyum sağlamaya yönelik bakış açılarını tartışıyor. Hizalama için tek bir matematiksel tanım olmayacağına, bunun yerine hizalamaya farklı yönlerden bakan birden fazla tanım olacağına ve yanlış hizalama olasılığını azaltmak için bir yaklaşım kombinasyonunun gerekli olacağına inanıyor. Sutskever ayrıca, büyük bir sinir ağının davranışını doğrulamak için iyi anlaşılan küçük bir sinir ağı olasılığından bahseder. OpenAI'nin 2024'te tahmini bir milyar dolarlık geliri sorulduğunda Sutskever, yeni bir genel amaçlı teknoloji için beklenmedik bir düşüşün tahmin edilmesinin zor olduğunu, ancak sayıyı OpenAI ürünlerinin potansiyel büyümesine bağladığını açıklıyor.

  • 00:20:00 Videonun bu bölümünde, OpenAI Baş Bilim İnsanı Ilya Sutskever, AGI'nin geleceğini belirlemede verilerin nasıl hayati bir rol oynadığından bahsediyor. Veri olmadan tahmin yapmanın büyük bir hata payına yol açacağını vurguluyor. AGI sonrası gelecek hakkındaki düşüncelerini de paylaşarak, AGI'nin insanların daha aydınlanmasına ve dünyayla daha doğru etkileşime girmesine yardımcı olabileceğini söylüyor. Ancak Sutskever, insanların tam olarak neler olduğunu anlamalarının ve toplum dönüşürken topluma nasıl katkıda bulunacaklarını anlamalarının zor olacağına dikkat çekiyor. Dahası, AGI'nin toplumun nasıl yönetilmesi gerektiğini dikte etmeyeceğini ve AGI'nin daha çok bir temel güvenlik ağı sağlamasıyla birlikte insanların kendi hatalarını yapmakta ve sonuçlarına katlanmakta hala özgür olmasını umuyor.

  • 00:25:00 Bu bölümde, OpenAI'nin Baş Bilim Adamı Ilya Sutskever, yapay zekadaki donanımı tartışıyor ve Google'ın özel TPU'sunun kendilerine GPU'lara göre bir avantaj sağladığı inancını çürütüyor. Temel olarak TPU'ların ve GPU'ların mimarisinin çok benzer olduğunu ve donanımla ilgili önemli olan tek şeyin flop başına maliyet ve genel sistem maliyeti olduğunu açıklıyor. Sutskever ayrıca, yalnızca yeni fikirler bulmakla kalmayıp, sistemi ve sonuçları anlamayı da içeren yapay zeka geliştirmeye giden çalışma hakkında içgörüler paylaşıyor. Ayrıca OpenAI'nin Microsoft ile ortaklığından ve AI ekosisteminin Tayvan'daki bir doğal afet gibi aksiliklere karşı ne kadar savunmasız olduğundan bahsediyor.

  • 00:30:00 Bu bölümde Ilya Sutskever, çıkarım maliyetinin yapay zeka modellerinin ilerlemesine engel olma potansiyelini tartışıyor. Farklı müşterilerin kullanım durumlarına bağlı olarak farklı boyutlarda farklı sinir ağlarını zaten kullandıklarına dikkat çekerek, modelin kullanışlılığının maliyetin engelleyici olup olmadığını belirleyeceğini öne sürüyor. Ayrıca, modeller hakkında bilgi edinmeye çalışan yabancı hükümetlerle ilgili endişeleri ve ortaya çıkan özellikler olarak güvenilirlik ve kontrol edilebilirliğin önemini de ele alıyor. Spesifik yetenekleri tahmin etmek kolay olmasa da, modellerin daha güvenilir ve sorunları daha iyi çözebilir hale getirilerek geliştirilmesinde ilerleme kaydedileceğine inanıyor.

  • 00:35:00 Bu bölümde Ilya Sutskever, yapay zekanın ölçeklendirme yasalarını ve sonraki kelime tahmini doğruluğu ile akıl yürütme yeteneği arasındaki bağlantıyı tartışıyor. Ölçeklendirme yasalarının önemli olduğunu düşünürken, diğer şeylerin birim çaba başına daha fazla akıl yürütme sağlayabileceğine inanıyor. Ayrıca öğretim modellerinde insan girdisinin değerini ve verilerin, GPU'ların ve dönüştürücülerin varlığı arasındaki ilişkiyi vurgulayarak bunların gelişiminin iç içe geçtiğini öne sürüyor. Ayrıca Sutskever, öncülerin kim olduğuna bakılmaksızın derin öğrenme devriminin eninde sonunda gerçekleşeceğine olan inancını ifade ediyor ve niyetlerini yanlış temsil edebilecek modelleri hizalamanın zorluğunu kabul ediyor.

  • 00:40:00 Bu bölümde Ilya Sutskever, akademik araştırmanın yapay zeka yetenekleriyle ilgili önemli içgörüler elde etme potansiyelini tartışıyor, ancak şu anda şirketlerin bu yetenekleri gerçekleştirmesinin daha kolay göründüğünü kabul ediyor. Ayrıca, dil modellerinin etkisinin, harekete geçirdikleri eylemlere bağlı olarak, bit dünyasının ötesine ve atomların dünyasına ulaşabileceğini belirtiyor. Sutskever, insanüstü yapay zeka için gereken atılımların geriye dönüp bakıldığında mutlaka atılımlar gibi gelmeyebileceğine ve insanlardan ve beyinden ilham almanın önemli olabileceğine, aynı zamanda araştırmayı yoldan çıkarabilecek temel olmayan niteliklerin de farkında olabileceğine inanıyor.

  • 00:45:00 Bu bölümde Ilya Sutskever, derin öğrenme devriminde ilk olmak ile hala en iyi araştırmacılardan biri olmak arasında neden güçlü bir ilişki olduğuna dair son soruyu yanıtlıyor. Azmin başarı için gerekli ama yeterli bir koşul olmadığına inanır. Pek çok şeyin bir araya gelmesi gerekiyor ve kişinin olaylara doğru bakma biçimine sahip olması gerekiyor. Cevaplaması zor bir soru ama gerçekten çok uğraşmaya devam etti ve şimdiye kadar yeterli olduğu ortaya çıktı.
Ilya Sutskever (OpenAI Chief Scientist) - Building AGI, Alignment, Spies, Microsoft, & Enlightenment
Ilya Sutskever (OpenAI Chief Scientist) - Building AGI, Alignment, Spies, Microsoft, & Enlightenment
  • 2023.03.27
  • www.youtube.com
Asked Ilya Sutskever (Chief Scientist of OpenAI) about - time to AGI- leaks and spies- what's after generative models- post AGI futures- working with MSFT an...
 

1. Ders: Kodlayıcılar için Pratik Derin Öğrenme 2022



1. Ders: Kodlayıcılar için Pratik Derin Öğrenme 2022

"Ders 1: Pratik Derin Öğrenme for Coders 2022" adlı bu YouTube videosunda eğitmen kursu tanıtıyor, derin öğrenmedeki hızlı değişim hızını vurguluyor ve Python kullanarak "kuş ya da kuş değil" sistemi oluşturmanın kolaylığını gösteriyor. Kurs, lineer cebir ve hesabın gözden geçirilmesiyle başlamak yerine, insanlara önce modellerin nasıl oluşturulacağını ve konuşlandırılacağını göstermeyi amaçlıyor ve sesleri veya fare hareketlerini sınıflandırabilen görüntü tabanlı algoritmalar da dahil olmak üzere bir dizi derin öğrenme modelini kapsayacak. Eğitmen, kodlama gereksinimlerini azaltmak için veri bloğu oluşturmanın, özellik algılayıcıları anlamanın ve önceden eğitilmiş modelleri kullanmanın önemini vurgular. Kurs aynı zamanda segmentasyon ve tablo analizini de kapsar ve fast.ai kodlamayı azaltmaya ve sonuçları iyileştirmeye yardımcı olan en iyi uygulamaları sağlar.

Video, derin öğrenmeye ve çeşitli alanlardaki uygulamalarına bir giriş sağlar. Sunucu, model eğitimi süreci ve daha iyi performans için modelin ağırlığını güncellemek amacıyla kaybı hesaplamanın önemi dahil olmak üzere makine öğreniminin temellerini tartışıyor. Ders iki modeli kapsar: tablo halinde öğrenme ve işbirliğine dayalı filtreleme. Sunucu ayrıca, yeni girişimlere, bilimsel makalelere ve iş tekliflerine yol açan geçmiş öğrenci projelerinden örnekler de dahil olmak üzere kod oluşturma ve paylaşmada Jupyter not defterlerinin kullanışlılığını vurgulamaktadır. Ana çıkarım, hevesli derin öğrenicilerin, değerli geri bildirim ve deneyim kazanmak için deneyler yapmaları ve çalışmalarını toplulukla paylaşmaları gerektiğidir.

  • 00:00:00 Bu bölümde eğitmen, Practical Deep Learning for Coders sürüm 5'in ilk dersini tanıtır ve kursun son güncellenmesinden bu yana ne kadar çok şeyin değiştiğini vurgular. Derin öğrenme alanında işlerin ne kadar hızlı geliştiğine bir örnek olarak 2015'in sonundan komik bir XKCD çizgi romanı kullanıyor. Ardından, kuşların ve ormanların görüntülerini indirmeyi ve yeniden boyutlandırmayı, fast.ai kullanarak bir veri bloğu oluşturmayı ve indirilen görüntülerin bazılarını görüntülemeyi içeren, Python kullanarak bir "kuş ya da kuş değil" sisteminin yaratıldığını gösteriyor. Eğitmen, kursun çok daha fazla ayrıntı sağlayacağını ve bu bölümün amacının hızlı, üst düzey bir genel bakış sağlamak olduğunu vurgular.

  • 00:05:00 Bu bölümde sunum yapan kişi, bir bilgisayarla görme modeli oluşturmanın ve bir görüntünün kuş mu yoksa orman mı içerip içermediğini ve her birinde yalnızca 200 resim olduğunu belirlemenin ne kadar kolay olduğunu gösteriyor. Eskiden neredeyse imkansız olan şey, artık derin öğrenme ile kolayca erişilebilir hale geldi ve sunum yapan kişi, düz metinden yeni resimler oluşturan bir algoritma olan DALLꞏEꞏ2 örneğini paylaşıyor. Derin öğrenmedeki bu son gelişmeler, bu alanın ne kadar hızlı hareket ettiğinin bir kanıtıdır ve sunum yapan kişi, çok fazla kod, matematik veya bir dizüstü bilgisayardan başka bir şey gerektirmeden erişilebilir olduğunu belirtir.

  • 00:10:00 Bu bölümde konuşmacı, derin öğrenme modellerinin yeteneklerini ve bir zamanlar bilgisayarlar için imkansız olduğuna inanılan görevleri nasıl yerine getirdiklerini tartışıyor. Google'ın bir şakanın cevabını açıklayabilen yollar dil modeli gibi sanat ve dil modellerinde derin öğrenmenin ne kadar kullanıldığından bahsediyorlar. Konuşmacı ayrıca derin öğrenmede etik hususlara duyulan ihtiyacı kabul ediyor ve etik.fast.ai adresindeki bir veri etiği kursuna göz atmanızı tavsiye ediyor. Daha sonra, öğrencilerin nasıl olduğunu kontrol etmek için renkli kupa sisteminin çevrimiçi bir versiyonunu tanıtıyorlar ve onu yarattığı için Radek'e teşekkür ediyorlar, o da az önce Nvidia AI'da hayalindeki işi bulduğunu duyurdu.

  • 00:15:00 Videonun bu bölümünde eğitmen, özellikle derin öğrenme alanında öğrenmede bağlamın önemini vurguluyor. Eğitmen, lineer cebir ve hesabın gözden geçirilmesiyle başlamak yerine, insanların yerinde bir bağlam verildiğinde daha etkili öğrendiklerine inanır. Kişiye bütün bir spor oyununun gösterildiği ve ardından yavaş yavaş daha fazla parçayı bir araya getirdiği spor öğrenme benzetmesini kullanıyor. Kişinin önce model oluşturmayı ve uygulamayı öğreneceği ve daha sonra en karmaşık, teknik olarak ayrıntılı dersler kadar derinlemesine gireceği bu kursta benimsediği yaklaşım budur. Eğitmen ayrıca, popüler "Kodlayıcılar için Derin Öğrenme" kitabının yazımı da dahil olmak üzere, makine öğrenimindeki kimlik bilgilerini ve geçmişini tartışır.

  • 00:20:00 Bu bölümde eğitmen, sinir ağlarının tanıtılmasından önceki bilgisayar görüşünün tarihsel yaklaşımını açıklar. Önceki makine öğrenimi modellerinin, algoritmanın nesneleri nasıl tanımlayacağını belirleyen özellikler oluşturmak için uzmanlara nasıl güvendiğini açıklıyor. Eğitmen bunu, bu özellikleri kendileri öğrenen ve modellerin çok daha hızlı geliştirilmesini ve eğitilmesini sağlayan sinir ağlarıyla karşılaştırır. Eğitmen, sinir ağlarının kendi özelliklerini öğrenme ve yeni verilere uyum sağlama yeteneğinin, derin öğrenmenin son yıllarda başarılı olmasının anahtarı olduğunu belirtiyor.

  • 00:25:00 Bu bölümde eğitmen, insan müdahalesi olmadan görüntülerden belirli özellikleri tanımlayabilen ve çıkarabilen sinir ağlarının katmanları olan derin öğrenmedeki özellik algılayıcı kavramını açıklar. Daha karmaşık ve sofistike görüntüleri tanımak için bu özellik dedektörlerinin nasıl birleştirilebileceğini gösterdi. Ayrıca eğitmen, görüntü tabanlı algoritmaların çok yönlülüğünü ve bunların sesleri ve hatta fare hareketlerini sınıflandırmak için nasıl kullanılabileceğini vurgular. Son olarak, derin öğrenmenin çok fazla veri, pahalı bilgisayarlar ve kapsamlı matematik gerektirdiği efsanesini çürütüyor ve transfer öğrenmenin minimum kaynak kullanarak son teknoloji ürünü çalışmalara izin verdiğini belirtiyor.

  • 00:30:00 Bu bölümde eğitmen, derin öğrenme dünyasında Pytorch'a karşı Tensorflow'un popülaritesini tartışıyor; Pytorch hızla büyüyor ve araştırma havuzlarında ve araştırmacılar arasında Tensorflow'u geçiyor. Ancak, Pytorch'un nispeten basit görevler için çok fazla kod gerektirebileceğini ve fast.ai kitaplığının işe yaradığı yer olduğunu belirtiyor. fast.ai kitaplığı, Pytorch üzerine kurulmuştur ve gereken kod miktarını azaltmaya ve sonuçları iyileştirmeye yardımcı olan en iyi uygulamaları sağlar. Eğitmen ayrıca endüstride, akademide ve veri bilimi öğretiminde yaygın olarak kullanılan web tabanlı bir uygulama olan Jupyter notebook'u tanıtıyor ve Jupyter notebook'ları çalıştırmak için kullanılabilecek Kaggle gibi bulut sunucularından bahsediyor.

  • 00:35:00 Videonun bu bölümünde eğitmen, örneklerle kodlama, deney yapma ve keşfetme için Jupyter not defterlerinin nasıl kullanılacağını tanıtıyor. Başka birinin not defterini nasıl düzenleyeceğinizi veya kopyalayacağınızı, kodları çalıştırmak için sanal bir bilgisayarı nasıl başlatacağınızı, klavye kısayollarını nasıl kullanacağınızı, nesir veya işaretlemeler yazacağınızı ve not defterine resimler ekleyeceğinizi açıklıyor. Kurs ayrıca fast.ai'nin en son sürümünü ve az miktarda Python kodunu da kapsar. Geliştiriciler, Jupyter not defterleri aracılığıyla kodlarını sergileyebilir ve çalışmalarını açık kaynak topluluğundaki diğer kişiler için erişilebilir hale getirebilir.

  • 00:40:00 Bu bölümde, konuşmacı harici kitaplıkların kullanımını tartışıyor ve "fastdownload" ve "resize_images" gibi bazı fast.ai kitaplıklarını tanıtıyor. Ayrıca, verileri modele almak için kullanılan data block komutunun önemini de açıklarlar. Veri bloğunun, giriş tipi, çıkış tipi, etiket tipi ve hangi öğelerden eğitim almamız gerektiği dahil olmak üzere belirtilecek beş ana parametresi vardır. Konuşmacı, veri bloğunu anlamanın derin öğrenme uygulayıcıları için çok önemli olduğunu vurguluyor, çünkü sinir ağı mimarisinde ince ayar yapmak pratikte nadiren ortaya çıkıyor ve bu kurs pratik derin öğrenmeye odaklanıyor.

  • 00:45:00 Bu bölümde, konuşmacı bir derin öğrenme modelinin başarısı için kritik öneme sahip bir veri bloğu oluşturmayla ilgili adımları açıklıyor. Veri bloğu, belirli bir yoldaki tüm görüntü dosyalarını alan bir işlev kullanarak, bazı verileri test için ayırarak ve görüntüleri standart bir boyuta yeniden boyutlandırarak üzerinde eğitilecek görüntüleri bulmaktan sorumludur. Bir veri bloğu oluşturmayı, model tarafından işlenebilecek bir veri toplu akışı akışı sağlayan veri yükleyicilerin oluşturulması takip eder. Konuşmacı ayrıca modeli ve verileri birleştiren ve bir derin öğrenme modelinin eğitimi için gerekli olan öğrenen kavramını da tanıtıyor.

  • 00:50:00 Bu bölümde eğitmen, fast.ai'de pytorch görüntü modelleri (timm) kitaplığını kullanarak bilgisayarlı görü görevleri için önceden eğitilmiş modellerin nasıl kullanılacağını tartışır. Resnet model ailesi, çoğu kullanım durumu için yeterlidir, ancak kullanılabilecek birçok başka model vardır. Eğitmen, bir ormandaki kuşların resimlerini tanımak gibi belirli bir görev için modele nasıl ince ayar yapılacağını ve tahmin() yöntemini kullanarak modelin nasıl konuşlandırılacağını gösterir. Eğitmen ayrıca, bilgisayar görüşünün yanı sıra, segmentasyon da dahil olmak üzere birçok başka model türü olduğunu da not eder.

  • 00:55:00 Bu bölümde konuşmacı, bir görüntüdeki her pikseli temsil ettiği şeye göre renklendirmek için kullanılan segmentasyonu açıklıyor. Konuşmacı, çok az miktarda veri ve minimum kod kullanarak, bir modelin sadece 20 saniye içinde yol sahnelerinin görüntülerini arabalar, çitler ve binalar gibi farklı kategorilere ayırması için nasıl eğitilebileceğini gösteriyor. 2 dakika. Konuşmacı, veri işleme için özel veri yükleyici sınıflarının kullanılabileceğini ve sık sık oluşan veri kümeleri için daha da az kod gerektirebileceğini açıklıyor. Konuşmacı daha sonra tablo analizini ve elektronik tabloların sütunlarını ve veri tablolarını tahmin etmek gibi endüstrilerde nasıl yaygın olarak kullanıldığını açıklamaya geçer. Veri bloklarına benzer bilgiler sağlayarak ve tip gönderimini kullanarak, veri türü ne olursa olsun verileriniz için otomatik olarak doğru olanı yapmak üzere fast.ai'yi kullanabilirsiniz.

  • 01:00:00 Bu bölümde, ders iki tür modeli kapsar: tablo halinde öğrenme ve işbirliğine dayalı filtreleme. Tablolu modeller, veri tablolarının büyük ölçüde değiştiği, önceden eğitilmiş modeli olmayan veriler için kullanılır. İşbirlikçi Filtreleme, çoğu tavsiye sisteminin temelidir ve beğendikleri ürünlere göre benzer kullanıcıları bularak çalışır. İşbirlikçi bir filtreleme veri kümesinin bir kullanıcı kimliği, bir ürün kimliği (film gibi) ve bir derecelendirmesi olacaktır. Ders, işbirlikçi filtreleme veri yükleyicilerinin nasıl oluşturulacağını gösterecek ve ince ayar ile model uydurma arasındaki farkları tartışacak şekilde devam eder.

  • 01:05:00 Bu bölümde, konuşmacı Jupyter not defterlerinin bir kod oluşturma ve paylaşma aracı olarak kullanışlılığından bahsediyor, fast.ai kitaplığının tamamının not defterlerinde yazılması gerçeği de dahil. Ek olarak, konuşmacı derin öğrenmenin mevcut durumuna ve NLP, bilgisayar görüşü, tıp, öneri sistemleri, oyun oynama ve robotik dahil olmak üzere çeşitli alanlardaki uygulamalarına değiniyor. Konuşmacı, derin öğrenmenin birçok alanda son teknoloji sonuçları kırabildiğini ve genellikle bir insanın oldukça hızlı bir şekilde yapabileceği görevlerde iyi olduğunu belirtiyor.

  • 01:10:00 Bu bölümde sunucu, koşullu ifadeler, döngüler ve değişkenlerle kodlanmış girdiler ve sonuçlar içeren normal bir programdan başlayarak makine öğreniminin temel fikrini açıklıyor. Program daha sonra rasgele ağırlıklar içeren bir modelle değiştirilir ve model, girdileri alan ve bunları ağırlıklarla çarpan matematiksel bir fonksiyondur. Ağırlıklar dikkatlice seçilmediği sürece model esasen işe yaramaz, bu nedenle sonuçların kalitesini ölçen bir sayı olan kaybı hesaplamak ve önceki kümeden biraz daha iyi olan yeni bir küme oluşturmak için ağırlıkları güncellemek gerekir. Bu süreç, modelin performansını iyileştirmede kritik öneme sahiptir.

  • 01:15:00 Bu bölümde, konuşmacı negatifleri sıfırlarla değiştirirken çıktı üretmek için sinir ağlarını kullanan basit bir dizi adımı tekrar etmeyi içeren makine öğreniminde bir model eğitme sürecini açıklıyor. Teorik olarak, model yeterli zaman, veri ve girdi verilirse herhangi bir hesaplanabilir işlevi çözebilir ve eğitilen model, girdileri sonuçlara eşleyen başka bir kod parçası olarak herhangi bir programa entegre edilebilir. Python programcılarının bu süreci kolayca benimsemesi muhtemeldir, ancak aşina olmayanlar yine de Kaggle not defterleriyle deneyler yapabilir ve kuş veya orman egzersizini değiştirmek, üç veya dört kategoriyi denemek ve çalışmalarını forumlarda paylaşmak gibi farklı şeyler deneyebilir. En önemli şey, bir sonraki derse hazırlanmak için kitabın 1. bölümünü denemek ve okumaktır.

  • 01:20:00 Videonun bu bölümünde eğitmen, eski öğrencilerin yeni girişimlere, bilimsel makalelere ve iş tekliflerine yol açan "Kodlayıcılar İçin Pratik Derin Öğrenme" dersinde üzerinde çalıştıkları birkaç proje örneğini paylaşıyor. Bu projeler, farklı insan türlerini yaşadıkları yere göre sınıflandırmayı, bir kabak ve salatalık sınıflandırıcısı oluşturmayı, uydu görüntülerini doğru bir şekilde 110 farklı şehre göre sınıflandırmayı ve afete dayanıklılık çabaları için binaların durumunu tanımayı içeriyor. Hatta bazı öğrenciler, ses sınıflandırıcı ve tümör-normal dizileme gibi kendi alanlarındaki en son teknolojiyi geride bırakmıştır. Eğitmen, mevcut ve gelecekteki öğrencileri, deneyim seviyeleri ne olursa olsun projeler oluşturmaya ve geri bildirim ve teşvik için forumda paylaşmaya teşvik eder.
Lesson 1: Practical Deep Learning for Coders 2022
Lesson 1: Practical Deep Learning for Coders 2022
  • 2022.07.21
  • www.youtube.com
Go to https://course.fast.ai for code, notebooks, quizzes, etc. This course is designed for people with some coding experience who want to learn how to apply...
 

2. Ders: Kodlayıcılar için Pratik Derin Öğrenme 2022



2. Ders: Kodlayıcılar için Pratik Derin Öğrenme 2022

Bu YouTube video serisi, kodlayıcılar için derin öğrenmeye bir giriş sağlar. Veri hazırlama, model oluşturma ve makine öğrenimi modeli dağıtma gibi konuları kapsar.

Bu videoda hacker Jeremy Howard, insanlara derin öğrenmeyi kullanarak kendi web uygulamalarını nasıl oluşturacaklarını öğretiyor. Git'te bir projenin nasıl kurulacağını, kucaklaşan yüz alanının eğitilecek bir modeli yüklemek için nasıl kullanılacağını, doğal dil işlemeyi ve metnin nasıl tanınacağını kapsar.

  • 00:00:00 Bu ders, 2022'de kodlayıcılar için uygulamalı derin öğrenmeyi kapsar. Öğrencilerin materyali daha iyi hatırlamasına yardımcı olacak yeni, son teknoloji teknikler öğretiliyor. Kurs kitapla birlikte gider ve öğrencilerin ilerlemelerini test etmelerine yardımcı olmak için sınavlar mevcuttur.

  • 00:05:00 Bu video, veri bulma, veri temizleme ve bir modeli üretime geçirme dahil olmak üzere kodlama için derin öğrenmenin temellerini kapsar. Serideki bir sonraki video bunun nasıl yapılacağını gösterecek.

  • 00:10:00 Bu videoda Wes, ddg web sitesini kullanarak derin öğrenmede bir modelin nasıl eğitileceğini tartışıyor. Nesnelerin nasıl aranacağını ve görüntülerin nasıl yeniden boyutlandırılacağını gösteriyor.

  • 00:15:00 Bu videoda derin öğrenme için bir teknik tanıtılıyor: RandomResizeCrop. Bu, görüntülerin tanınmasının doğruluğunu artırmak için kullanılır. Veri büyütme de tartışıldı ve bir derin öğrenme modelini beş veya on çağdan fazla eğitmek istiyorsanız, RandomResizeCrop ve "aug_transforms" kullanmanız gerektiği gösterildi.

  • 00:20:00 Bu YouTube videosu, bir veri kümesindeki kaybın nerede yüksek olduğunu belirlemek için bir sınıflandırıcı yorumlama nesnesinin nasıl kullanılacağını gösterir. Bu bilgi daha sonra, bir modeli eğitmek için kullanılmadan önce verileri temizlemek için kullanılabilir.

  • 00:25:00 Video, kodlayıcılar 2022 için veri temizleme ve pratik derin öğrenmeyi tanıtıyor. GPU hızlandırmalı veri temizleme ve HuggingFace Spaces gibi araçlarla veri hazırlamayı ve ardından üretimde makine öğrenimi modelleri için Gradio'yu kullanmayı kapsıyor.

  • 00:30:00 Bu video, kodunuzu yönetmek için Git'i nasıl kullanacağınızı ve kod üzerinde çalışmak için bir terminali nasıl kullanacağınızı kapsar. Video ayrıca kodu düzenlemek için VS Code'un nasıl kullanılacağını da anlatıyor.

  • 00:35:00 Bu eğitimde, bir Kaggle örneği ve bir Colab örneği dahil olmak üzere birkaç farklı yöntem kullanılarak bir derin öğrenme modelinin nasıl oluşturulacağı açıklanmaktadır. Model oluşturulduktan sonra indirilebilir ve kodla aynı dizine kopyalanabilir.

  • 00:40:00 Bu derste yazar, eğitimli bir öğrencinin bir görüntünün köpek mi yoksa kedi mi olduğunu tahmin etmek için nasıl kullanılacağını gösteriyor. Öğrenci zamanda donmuştur ve kolayca yüklenip boşaltılabilir.

  • 00:45:00 Bu video, görüntüleri sınıflandırmalara dönüştürmek için bir Gradio arabiriminin nasıl oluşturulacağını ve bunu yapmak için bir Python betiğinin nasıl oluşturulacağını açıklar.

  • 00:50:00 Bu derste, eğitmen basit bir PyTorch modelinin nasıl oluşturulacağını ve Gradio'ya nasıl yükleneceğini gösterir. Ayrıca, bir bilgisayara PyTorch ve Jupyter Not Defterlerini kurmak için fastsetup'ın nasıl kullanılacağına ilişkin talimatlar da sağlar.

  • 00:55:00 Bu video, python'u ve Pytorch ve Numpy dahil olmak üzere derin öğrenme için gerekli kitaplıklardan bazılarını yüklemek için talimatlar sağlar. Yazar, sistem python yerine mambaforge gibi conda tabanlı bir python dağıtımı kullanılmasını önerir. Son olarak yazar, Jupyter Notebook'u kullanmak için nbdev'in kurulmasını önerir.

  • 01:00:00 Bu derste eğitmen, derin öğrenme modellerini eğitmek için ücretsiz bir platform olan Gradio'nun kedi ve köpeklerin adlarını tahmin eden bir web sitesi oluşturmak için nasıl kullanılacağını gösterir. Streamlit, Gradio'dan daha esnek olsa da, her iki platform da ücretsiz ve kullanımı kolaydır.

  • 01:05:00 Bu video, Javascript kullanarak derin öğrenme modellerinin nasıl oluşturulacağını açıklar. Öğretici, aynı modelin bir çoklu dosya sürümünü ve bir HTML sürümünü içerir.

  • 01:10:00 Bu video, yalnızca Javascript ve bir tarayıcı kullanarak temel bir derin öğrenme uygulamasının nasıl oluşturulacağını açıklar. Uygulama oluşturulduktan sonra, uygulamaya benzeyen bir web sitesi oluşturmak için FastPages'ı kullanabilirsiniz.

  • 01:15:00 Bu videoda hacker Jeremy Howard, insanlara derin öğrenmeyi kullanarak kendi web uygulamalarını nasıl oluşturacaklarını öğretiyor. Önce Git'te basit bir projenin nasıl kurulacağını tartışıyor ve ardından üzerinde eğitilecek bir modeli yüklemek için kucaklayan yüz alanını nasıl kullanacağını gösteriyor. Ardından, modellerin arka planda nasıl çalıştığını açıklayarak doğal dil işlemeyi tartışıyor. Son olarak, metni tanımak için derin öğrenmenin nasıl kullanılabileceğini gösteriyor.
Lesson 2: Practical Deep Learning for Coders 2022
Lesson 2: Practical Deep Learning for Coders 2022
  • 2022.07.21
  • www.youtube.com
Q&A and all resources for this lesson available here: https://forums.fast.ai/t/lesson-2-official-topic/9603300:00 - Introduction00:55 - Reminder to use the f...
Neden: