WEBVTT

00:00.300 --> 00:06.270
Merhaba ve yaratımımızın süper heyecan verici kısmına, onu akıllı hale getirdiğimiz kısma hoş geldiniz.

00:06.270 --> 00:12.120
İşte yapay zekayı eğitmek, zekasını bizim istediğimiz hedefe ulaşması için

00:12.120 --> 00:13.260
eğitecektir.

00:13.260 --> 00:19.020
Bunu yapmak için temel olarak sinir ağını doğru tahminleri üretmesi için eğiteceğiz ve ardından

00:19.020 --> 00:24.360
her şey zaten hazır olacak çünkü beyinden gelen bu çıkış sinyalleri nihai eylemleri gerçekleştirmek

00:24.360 --> 00:27.510
üzere vücuda doğru şekilde iletilecek.

00:27.510 --> 00:32.220
Yani temelde şimdi yapmak üzere olduğumuz şey daha önce zaten yaptığımız bir şey.

00:32.220 --> 00:37.410
Bellekten bazı rastgele gruplar alacağız, bu örneklerden girdilerimizi alacağız, çıktıları alacağız,

00:37.410 --> 00:42.810
hedefleri alacağız, tahminleri alacağız, tahminler ve hedefler arasındaki son alanı hesaplayacağız ve

00:42.810 --> 00:47.970
daha sonra ağırlıkları bu son hataya ne kadar katkıda bulunduklarına göre güncellemek için stokastik

00:47.970 --> 00:51.660
gradyan inişi ile geriye doğru yayılma gerçekleştireceğiz.

00:51.750 --> 00:53.040
O zaman hepsini yapalım.

00:53.040 --> 00:57.660
Bunun nasıl çok kolay olacağını göreceksiniz çünkü bunu uygulamak için tüm araçlara zaten

00:57.660 --> 00:58.140
sahibiz.

00:58.140 --> 01:04.740
Sadece Optimizer ve kayıp fonksiyonlar gibi PyTorch araçlarımız değil, aynı zamanda tahminleri elde

01:04.740 --> 01:10.530
etmek için kullanacağımız beynimiz gibi daha önce yaptığımız tüm sınıflarımız da var.

01:10.530 --> 01:17.640
Daha sonra deneyimimiz, tekrarımız, uygulamamız, uygunluk takibimiz ve PyTorch araçlarıyla birleştirilen tüm bu araçlar

01:17.640 --> 01:24.360
eğitimi süper performanslı hale getirecek ve böylece sonunda süper güçlü bir yapay zeka elde edeceğiz.

01:24.540 --> 01:26.340
O halde bu eğitimi gerçekleştirelim.

01:26.340 --> 01:28.260
Yapay zekamızı akıllı hale getirelim.

01:28.260 --> 01:33.390
Şimdi yapacağımız ilk şey, eğitim sırasında hatayı hesaplarken kullanacağımız

01:33.390 --> 01:37.860
son fonksiyonu ve bir optimize edici elde etmektir.

01:37.860 --> 01:40.590
Şimdi son fonksiyon için bir değişken oluşturalım.

01:40.590 --> 01:42.390
Buna kayıp diyeceğiz.

01:42.720 --> 01:50.550
Bu da RN modülündeki MSI kayıp fonksiyonuna eşit olacaktır.

01:50.760 --> 01:56.910
Ve sonra MSI kaybı, bu kullanacağımız son işlevdir çünkü temelde tahminlerimiz Q değerleridir.

01:57.120 --> 01:59.940
Farklı eylemlerin Q değerlerini tahmin ediyoruz.

01:59.940 --> 02:05.970
Bu nedenle, bunlar gerçek sayılar olduğundan, regresyon için bir tür sinir ağı yapıyoruz ve bu

02:05.970 --> 02:09.060
nedenle son işlev ortalama karesel hatadır.

02:09.060 --> 02:12.090
Bu, genel olarak regresyon için kullandığımız son işlevdir.

02:12.420 --> 02:13.020
Tamam.

02:13.020 --> 02:16.290
Artık son fonksiyonumuz olduğuna göre, optimize edicimizi alalım.

02:16.440 --> 02:21.240
Optimizer burada, optimizer için oluşturduğumuz değişken.

02:21.240 --> 02:23.940
Ve her zamanki gibi alacağız.

02:23.940 --> 02:30.840
Sürücüsüz otomobile gelince, Atom Optimizer, eğitim için harikalar yaratacak çok güçlü bir optimize

02:30.840 --> 02:31.950
edici.

02:31.950 --> 02:36.060
O zaman bunu o atom seviyesine çıkaralım.

02:36.780 --> 02:39.990
Ve unutmayın, bu tam olarak sürücüsüz otomobil için.

02:39.990 --> 02:42.930
İki temel argümanı ortaya koymamız gerekiyor.

02:42.930 --> 02:49.200
Birincisi, optimize edici ile sinir ağımızın parametreleri, yani beynimizin nöronlarının

02:49.200 --> 02:52.890
ağırlıkları arasında bağlantı kuracak olandır.

02:52.890 --> 02:56.880
Bunu yapmak için de CNN adını verdiğimiz beynimizi kullanıyoruz.

02:56.880 --> 02:59.220
Beynimiz için yarattığımız nesne bu.

02:59.220 --> 03:03.210
Bu yüzden CNN parametreleri hatırlamıyor.

03:03.450 --> 03:04.320
İşte oldu.

03:04.320 --> 03:06.120
Ve biraz da parantez.

03:06.270 --> 03:11.970
Böylece optimize edici ile yapay zekamızın beynindeki nöronların ağırlıkları arasında bağlantı

03:12.000 --> 03:12.660
kurulur.

03:12.690 --> 03:18.870
İkinci argüman ise bir öğrenme oranıdır ve bu da hata ile verilir.

03:18.870 --> 03:24.480
Ve burada küçük bir öğrenme oranı almamız gerekiyor çünkü çok hızlı yakınsamak istemiyoruz ve

03:24.480 --> 03:29.340
biraz keşif yapmak istiyoruz ve bu nedenle burada alabileceğimiz iyi bir öğrenme

03:29.340 --> 03:33.360
oranı küçük bir oran olan 0'dır. 01 %1 açık.

03:33.360 --> 03:36.450
Sanırım sürücüsüz araba için de aynı şeyi kullandık.

03:37.390 --> 03:40.570
Pekala, şimdi son bir fonksiyonumuz var, bir optimize edici.

03:40.570 --> 03:43.450
Yani tam döngüye başlamak için neredeyse hazırız.

03:43.450 --> 03:46.060
Aslında, tam döngüyü şimdi başlatacağız.

03:46.060 --> 03:51.250
Ancak bunu yapmadan hemen önce, epok sayısının büyüklüğüne karar vereceğiz.

03:51.250 --> 03:57.040
Yapay zekayı eğiteceğiz ve bu nedenle burada bu epok sayısına karşılık gelecek yeni bir değişken

03:57.040 --> 03:58.390
oluşturuyorum.

03:59.290 --> 04:02.360
Ve bunu 100'e eşit olarak ayarlayalım.

04:02.380 --> 04:04.790
Bu, gözü eğitmek için yeterli bir yol olacaktır.

04:04.810 --> 04:11.350
Ve hatta bahse girerim ki yapay zeka 100'den önce, 20 veya 30 gibi en iyi seviyeye ulaşmayı başaracaktır.

04:11.380 --> 04:12.010
Bakalım.

04:12.010 --> 04:13.870
Ama şimdilik 100 alalım.

04:13.870 --> 04:16.060
Ve eğer ihtiyacımız olursa, bunu artıracağız.

04:16.060 --> 04:17.980
Ama bunun gerekli olacağını sanmıyorum.

04:18.420 --> 04:18.620
Tamam.

04:18.640 --> 04:24.580
Artık epok sayımıza sahip olduğumuza göre, epoklar üzerinde eğitim yaparken for döngüsünü eğitimin bu ana for döngüsü

04:24.580 --> 04:26.880
haline getirmeye başlayabiliriz.

04:26.890 --> 04:31.520
Bu durumda yinelenen değişken epoch olacaktır.

04:31.540 --> 04:34.450
Çağ için seçtiğimiz şey bu.

04:34.930 --> 04:41.740
Şimdi elbette, ilk dönemden dönem sayısına gitmek istediğimizi söylemek için

04:41.740 --> 04:44.710
aralık işlevini kullanacağız.

04:47.130 --> 04:51.960
Artı bir, çünkü unutmayın, bir aralığın üst sınırı dahil değildir.

04:51.960 --> 04:58.080
Bu nedenle, 100'e kadar çıkmak istiyorsak, 100'e kadar çıkmak için bir kutu artı bir belirtmemiz ve olmamız

04:58.080 --> 04:58.920
gerekir.

04:59.400 --> 05:00.960
Pekala, Colin.

05:00.960 --> 05:03.030
Ve şimdi döngüye girelim.

05:03.600 --> 05:03.930
Tamam.

05:03.930 --> 05:08.550
Bu yüzden yapacağımız ilk şey on adımlık 200 koşu yapmaktır.

05:08.550 --> 05:13.810
Böylece her bir epok, birbiri ardına on adımdan oluşan 200 koşu olacaktır.

05:13.830 --> 05:18.420
Ve bunu yapmak için, deneyimli tekrar sınıfımızdan bu çalıştırma adımları işlevine sahibiz.

05:18.420 --> 05:23.400
Bu nedenle, aslında bir yöntem olan bu işlevi kullanmak için, bellek nesnemizi

05:23.400 --> 05:30.540
almamız gereken on adımdan oluşan bu 200 çalıştırmayı oluşturmak için replay bellek sınıfından bir nesne olan bellek

05:30.540 --> 05:32.520
nesnemizden alacağız.

05:33.350 --> 05:36.140
Burada yarattığımızı hatırlatırım.

05:36.140 --> 05:43.520
Bellek, MN adımları on adım ve kapasitesi 10.000 olan tekrar bellek sınıfının bir nesnesidir.

05:43.790 --> 05:52.250
Bu nesneyi yarattık ve bu nesneden, bu çalıştırma, adım, fonksiyon, çalıştırma adımlarını alıyoruz

05:52.250 --> 05:56.630
ve on adımlık 200 ardışık çalıştırma belirliyoruz.

05:56.930 --> 06:00.680
Böylece her epokta temel olarak 200 adım çalıştırılacaktır.

06:00.740 --> 06:07.970
Ve şimdi her epokta bu 200 adımı çalıştırdığımıza göre, bu çalışmalardan bazı gruplar örneklemenin

06:07.970 --> 06:09.110
zamanı geldi.

06:09.110 --> 06:10.610
Ve bu partileri denemek için.

06:10.610 --> 06:16.700
Hafızamızdan örnek parti olan başka bir fonksiyonumuz var ve bu tam olarak bu 200 çalışmadan

06:16.700 --> 06:19.100
bazı partiler oluşturacak.

06:19.340 --> 06:25.010
Ancak unutmayın, bu gruplar bir dizi geçişten oluşan zaman gruplarıdır.

06:25.010 --> 06:30.440
Bu, daha öncekinin aksine on adımdan oluşan bir seridir ve burada gruplar sadece tekli geçişlerden oluşan

06:30.440 --> 06:31.640
bazı gruplardır.

06:31.640 --> 06:37.130
Bu kez on adımlık, on geçişlik gruplar olacaklar ve bu nedenle şimdi hafızamızdan

06:37.130 --> 06:45.230
bu rastgele grupları almanın zamanı geldi ve bunları almak için grup boyutunu uygulamamız gereken örnek grup fonksiyonunu

06:45.230 --> 06:47.060
kullanıyoruz.

06:47.060 --> 06:53.690
Ve 32, hatta 64 veya hatta 128 alabileceğimiz parti boyutu için.

06:54.050 --> 06:57.140
Unutmayın, parti büyüklükleri için bu yaygın bir uygulamadır.

06:57.140 --> 07:03.620
32 Toplu öğrenme yaparken sinir ağları mimarilerinde genel olarak göreceğiniz şey budur.

07:03.620 --> 07:05.600
Ama bu sefer durum oldukça farklı.

07:05.600 --> 07:11.630
Sadece on adımlık bazı partilerden örnek alıyoruz, bu nedenle daha büyük boyutlarda partiler almak daha iyi olacaktır.

07:11.630 --> 07:14.990
İşte bu yüzden 64 veya 128 alabiliriz.

07:14.990 --> 07:17.000
Yani 128'i alacağız.

07:17.240 --> 07:24.770
Ve aslında bu bir dört döngü içinde olacak çünkü birkaç parti almak istiyoruz ve bunları bu örnek parti

07:24.770 --> 07:29.090
fonksiyonu tarafından döndürülen şeyde alıyoruz.

07:29.330 --> 07:38.750
Dolayısıyla, bellekteki bu for döngüsü için batch örnek batch 128, her 128 adımda bir, belleğimizin bize 128 boyutunda

07:38.750 --> 07:47.390
bir batch vereceği anlamına gelir, bu da aslında çalıştırılan son 128 adımı içerecektir.

07:47.810 --> 07:54.230
Sadece 128 boyutunda bazı partiler alıyoruz ve öğrenme bu partiler üzerinde gerçekleşecek.

07:54.230 --> 07:58.700
Ayrıca, bu grupların içinde, her on adımı öğrenmek için uygunluk, izleme çalışmamız

07:58.700 --> 07:59.660
olacak.

08:00.200 --> 08:00.620
Tamam.

08:00.620 --> 08:07.550
Şimdi bu döngünün içinde, hala bir dönemde gerçekleşiyor, ancak şimdi bu sefer belirli bir partideyiz.

08:07.670 --> 08:14.300
Şimdi yapacağımız ilk şey, girdilerimizi ve hedeflerimizi ayrı ayrı almak olacak.

08:14.450 --> 08:16.610
Ve size söylediğim gibi, bu çok kolay.

08:16.610 --> 08:21.500
Bunu, uyguladığımız araçlardan biri olan uygunluk takibi ile yapabiliriz.

08:21.500 --> 08:28.160
Burada görebileceğiniz gibi, bu uygunluk izleme fonksiyonu girdi olarak bir toplu iş alır ve şimdi toplu

08:28.160 --> 08:32.270
işimiz var ve çıktı olarak girdileri ve hedefleri döndürür.

08:32.270 --> 08:37.640
Şu anda basitçe yapabileceğimiz şey, girdiler ve hedef olacak iki yeni değişken

08:37.640 --> 08:42.290
oluşturmak ve bu girdinin hedefe gelmesini sağlamaktır.

08:43.220 --> 08:44.000
Eşittir.

08:44.030 --> 08:48.840
Bu uygunluk izleme fonksiyonunun bir toplu iş için tam olarak hangi getirileri uyguladığı.

08:48.860 --> 08:52.190
Bu yüzden bu fonksiyonu döngümüzün yığınına uygulayacağız.

08:52.190 --> 08:55.340
Yapacağımız şey sadece uygunluk.

08:56.410 --> 09:00.340
Döngümüzün yığınına uygulanan izleme.

09:00.640 --> 09:04.210
Pekala, bu bize girdileri ve hedefleri verir.

09:04.210 --> 09:08.020
Ancak PyTorch'ta her zaman yapmamız gereken daha fazla şey vardır.

09:08.020 --> 09:13.510
Ve tabii ki bu, sinir ağının girdilerini ve ayrıca hedefleri bazı işkence değişkenlerine dönüştürmektir,

09:13.510 --> 09:15.220
ancak serbest bırakma yoktur.

09:15.220 --> 09:16.140
Yeni bir şey yok.

09:16.150 --> 09:17.430
Bunu nasıl yapacağımızı biliyoruz.

09:17.440 --> 09:18.460
Bu şekilde yapabiliriz.

09:18.460 --> 09:26.740
Girdilerimizi ve ardından hedeflerimizi alırız ve bunlar değişken girdilere eşit olur.

09:27.740 --> 09:33.800
Bu girdiler ve değişken hedefler için, bu da hedefler için.

09:34.070 --> 09:34.880
Tamam.

09:35.210 --> 09:42.680
Böylece beynin girdileri bazı torç değişkenlerine dönüştürülür ve hedefler de bazı torç değişkenlerine

09:42.680 --> 09:44.130
dönüştürülür.

09:44.150 --> 09:48.530
Şimdi sinir ağına girdileri alabiliriz.

09:48.530 --> 09:50.120
Peki bunu neden yapmamız gerekiyor?

09:50.150 --> 09:55.430
Bunun nedeni, bir sonraki adımın elimizdeki tahminleri, hedeflememiz gereken girdileri elde etmek olmasıdır.

09:55.460 --> 10:00.110
Şimdi, elbette tahminlerimize ihtiyacımız var, çünkü o zaman ne olacak, tahminler ve hedefler

10:00.110 --> 10:02.360
arasındaki kaybı hesaplayacağız.

10:02.900 --> 10:06.570
Öyleyse bu tahminleri alalım.

10:06.590 --> 10:07.910
Tekrar söylüyorum, bu çok basit.

10:07.910 --> 10:14.750
Şimdi beynimizi, yani CNN'i, yani evrişimli sinir ağımızı alıp girdilerimize

10:14.750 --> 10:16.970
uygulamamız gerekiyor.

10:17.240 --> 10:18.140
İşte oldu.

10:18.230 --> 10:23.480
Girdiler sinir ağına girecek ve sinir ağı tahminlerin çıktısını verecektir.

10:24.150 --> 10:24.870
Mükemmel.

10:24.870 --> 10:28.560
Şimdi tahminlerimiz var, hedeflerimiz var, böylece zararı alabiliriz.

10:28.560 --> 10:30.030
Bu da bir sonraki adım.

10:30.210 --> 10:35.070
Yeni bir değişken tanıtacağız çünkü şu anda son hatayı alacağız, bu son fonksiyondan

10:35.070 --> 10:39.900
farklıdır, çünkü son hatayı almak için son fonksiyonu kullanıyoruz.

10:39.930 --> 10:48.960
Yani burada daha az hata ve tahminlerimize uygulanan son fonksiyon ile elde edeceğiz.

10:49.650 --> 10:51.360
Ve hedefler.

10:52.170 --> 10:52.980
İşte oldu.

10:53.370 --> 10:55.020
Şimdi her şeyin nasıl pürüzsüz olduğunu görün.

10:55.050 --> 10:56.160
Her şey mantıklı.

10:56.160 --> 10:58.230
Önce hedeften girdi alırız.

10:58.230 --> 11:00.540
Daha sonra girdi sayesinde tahminleri elde ederiz.

11:00.540 --> 11:03.960
Ve sonra tahminler ve hedefler sayesinde daha az hata elde ederiz.

11:04.990 --> 11:07.200
Çok mantıklı ve pürüzsüz.

11:07.210 --> 11:09.040
Peki şimdi bir sonraki adım ne?

11:09.070 --> 11:10.770
Aynı mantıksal yol.

11:10.780 --> 11:17.080
Artık sonuncusuna sahip olduğumuza göre, ağırlıkları güncellemek için bu daha az hatayı sinir ağına geri yayabiliriz.

11:17.080 --> 11:22.150
Ve bunu stokastik gradyan inişi ile yapıyoruz ve stokastik gradyan inişi gerçekleştirmek için optimize

11:22.150 --> 11:26.290
edicimize ihtiyacımız var, ama zaten burada var, atom optimize edicimiz.

11:26.290 --> 11:29.230
Ama şimdi bu noktada ne yapmamız gerektiğini hatırlayın.

11:29.230 --> 11:32.380
Onu başlatmalı ve ilk haline getirmeliyiz.

11:32.380 --> 11:40.780
Unutmayın, optimizer nesnemizi alıyoruz ve ardından sıfır ızgara yöntemini uyguluyoruz.

11:41.460 --> 11:41.920
O zaman gidiyoruz.

11:41.920 --> 11:45.240
Onu başlatan parantezi unutmuyoruz.

11:45.360 --> 11:50.900
Ve şimdi bir sonraki adım, son hatayı sinir ağına geri yaymaktır.

11:50.910 --> 11:58.960
Bunu yapmak için de son hatamızı alır ve ona geriye dönük yöntemi uygularız.

11:58.980 --> 12:02.010
Yani bu tam olarak geriye doğru yayılımı uygulamaktır.

12:02.010 --> 12:07.530
Ve son olarak, artık son hata yeni ağa geri yayıldığına göre, ağırlıkları stokastik gradyan

12:07.530 --> 12:09.780
inişi ile güncelleyebiliriz.

12:10.260 --> 12:17.190
Ve bunu yapmak için, hatırlayın, optimize edicimizi alıyoruz ve sonra bu adım yöntemini uyguluyoruz.

12:17.370 --> 12:18.310
İşte oldu.

12:18.330 --> 12:20.120
Ağırlıklar şimdi güncellenmiştir.

12:20.130 --> 12:25.740
Size söylediğim gibi, bunu zaten yapmakla kalmadık, şimdi çok basit ve çok doğal görünüyor.

12:26.070 --> 12:28.520
Şimdi eğlenceli bir şey yapacağız.

12:28.530 --> 12:34.620
Her epokta ortalama ödülü yazdıracağız, böylece yapay zekanın nasıl gittiğini, eğitimin nasıl gittiğini

12:34.620 --> 12:36.040
takip edebiliriz.

12:36.060 --> 12:40.530
Epokların adımları boyunca ortalama ödülün arttığını görmek istiyoruz.

12:40.530 --> 12:44.040
Ve ilk başta, elbette, bu keşif aşaması var.

12:44.040 --> 12:49.680
Yani ortalama ödül başlangıçta artmayabilir, ancak sömürü aşamasına ulaştığında, ortalama

12:49.680 --> 12:56.190
ödülün kesinlikle arttığını göreceğiz ve belirli bir seviyeye kadar artacak, bu da mümkün olduğunca hızlı

12:56.190 --> 12:58.860
bir şekilde yeleğe ulaştığı zamandır.

12:59.310 --> 13:01.470
Öyleyse baskı ile başlayalım.

13:01.980 --> 13:07.500
Biliyorsunuz, bunu tek bir dönemde yapıyoruz, bu yüzden buradaki döngüye geri dönmemiz

13:07.500 --> 13:16.380
gerekiyor print ve sonra ilk dönem bir sütun sonra yüzde se yazdıracağız çünkü her şeyi daha iyi bir dizeye dönüştüreceğiz.

13:16.710 --> 13:21.300
Ve sonra ortalama ödülü ekleyeceğiz.

13:22.540 --> 13:25.300
Ve sonra yüzdeleri de ekliyoruz.

13:25.600 --> 13:27.880
Sonra alıntıyı kapatacağız.

13:28.960 --> 13:30.700
Ve sonra bir yüzde ekliyoruz.

13:30.700 --> 13:36.670
Ve diğer tarafta, bilirsiniz, burada EPC olan bu ilk kişi se ve şu anda hesaplayacağımız

13:36.670 --> 13:42.940
ortalama ödüle karşılık gelen ikinci değişken olacak değişkenleri giriyoruz.

13:42.940 --> 13:45.670
Yani ortalama ödül değişkeni henüz mevcut değildir.

13:45.670 --> 13:47.770
Hemen şimdi oluşturacağız.

13:48.010 --> 13:52.120
Bu yüzden STR dönemini kullanacağız.

13:52.450 --> 13:55.450
Epoch bir sayı olsa bile, bunu bir dizeye dönüştüreceğiz.

13:55.450 --> 13:57.340
Bu daha iyi ve.

13:58.030 --> 14:02.080
Ortalama ödül olabilecek bir yıldız ekleyeceğiz.

14:02.080 --> 14:08.140
VG ödülü olarak adlandıracağımız bir değişken oluşturacağız ve şimdi bu değişkeni oluşturup

14:08.140 --> 14:10.000
hesaplayacağız.

14:10.960 --> 14:12.430
O zaman şöyle yapalım.

14:12.430 --> 14:13.930
Yapmamız gereken tek şey buydu.

14:13.930 --> 14:16.090
Yani elimizde zaten bir çağ var.

14:16.120 --> 14:20.140
Şimdi ortalama ödülü hesaplayalım ve bunu tam burada hesaplamamız gerekiyor.

14:20.140 --> 14:27.100
Hala döngüdeyiz ancak toplu iş döngüsünün dışındayız çünkü artık toplu iş örneklememiz var ve eğitimimiz toplu iş içinde

14:27.100 --> 14:28.210
gerçekleşiyor.

14:28.210 --> 14:32.080
Ancak şimdi ileri yayılma artı geriye doğru yayılma toplu olarak yapılmaktadır.

14:32.080 --> 14:38.890
Böylece epok döngüsüne geri dönüyoruz ve artık kümülatif ödülleri hesaplayabiliriz ki bunu end

14:38.890 --> 14:44.920
steps nesnemizle yapabiliriz çünkü end step nesnemiz bu fonksiyonu içeriyor.

14:44.920 --> 14:51.490
Adımların çalışması sırasında adımlarda gerçekleşen kümülatif ödülleri almamızı sağlayan adımlar atardık.

14:51.490 --> 14:59.500
Şimdi bunu adımların yeni ödüllerini güncellemek için kullanacağız ve ardından kümülatif ödülleri hareketli ortalama

14:59.500 --> 15:07.750
nesnesine ekleyerek ve ardından ortalamayı yeniden hesaplayarak hareketli ortalama nesnesini güncelleyeceğiz.

15:07.750 --> 15:10.090
Ortalama ödülü de bu şekilde alacağız.

15:10.480 --> 15:11.500
O zaman şöyle yapalım.

15:11.500 --> 15:14.890
İhtiyacımız olan ilk şey güncellenen ödüllerdir.

15:14.890 --> 15:17.140
O zaman bunlara ödül diyelim.

15:18.080 --> 15:19.010
Adımlar.

15:19.250 --> 15:24.000
Ve sonra, dediğimiz gibi, PN adımlarımızı atıyoruz.

15:24.020 --> 15:30.830
Burada oluşturulan bir hatırlatma olan nesne, deneyim tekrar dosyamızdan PN Adım İlerleme sınıfının

15:30.830 --> 15:33.530
bir nesnesi, yani PN adımları nesnesi.

15:33.920 --> 15:39.710
Daha sonra ödül adımlarını ve ardından bazı parantezleri ekleriz.

15:39.710 --> 15:43.930
Pekala, bu bize adımların yeni kümülatif ödüllerini verecektir.

15:43.940 --> 15:50.930
Tamam, ancak daha sonra bu yeni kümülatif ödülleri hareketli ortalama nesnemize eklememiz gerekir.

15:50.930 --> 15:57.320
Bunu yapmak için, bu kez hareketli ortalama sınıfında ADD yöntemi olan bir yöntemimiz var.

15:57.410 --> 15:58.220
Yani bu çok basit.

15:58.220 --> 16:05.330
Burada 100 adımla oluşturduğumuz hareketli ortalama nesnemizi alıyoruz, ardından ADD yöntemimizi

16:05.330 --> 16:13.400
kullanacağız ve ardından reklam yönteminde ödül adımlarımızı giriyoruz ve bu, adımların ödüllerini hareketli ortalamaya

16:13.400 --> 16:15.350
ekleyecektir.

16:15.950 --> 16:16.340
Tamam.

16:16.340 --> 16:22.220
Ve son olarak, ortalama ödülü hesaplayabiliriz ve bu, bilirsiniz, burada aynı değişkendir.

16:22.640 --> 16:26.720
Yani ortalama ödüle eşit olacak olan şey budur.

16:26.720 --> 16:33.440
Ve bunu elde etmek için, bu sefer hareketli ortalama nesnemizden ortalama yöntemini kullanmamız gerekiyor.

16:33.590 --> 16:42.320
Ve işte bunun gibi bir nokta ortalaması yapıyoruz çünkü hareketli ortalamamız ADD yöntemi sayesinde yeni eklediğimiz

16:42.320 --> 16:45.650
ödül adımlarıyla zaten güncellenmişti.

16:46.350 --> 16:46.930
Harika.

16:46.970 --> 16:50.130
Şimdi ortalama ödülümüz var, böylece burayı dolduracağız.

16:50.130 --> 16:53.160
Ve bu her çağda basılacak.

16:53.430 --> 16:53.850
Tamam.

16:53.850 --> 16:54.960
Yani işimiz bitti.

16:54.960 --> 16:57.150
Bu yüzden sonuçları göreceğim için çok heyecanlıyım.

16:57.150 --> 17:01.620
Ve aslında, sonuçları izlerken bir sonraki derste sizin için bir sürprizim olacak.

17:01.620 --> 17:03.600
Yani oldukça heyecanlı olacak.

17:03.600 --> 17:06.960
Sanırım şimdi yapay zeka ile oynamanın ve eğlenmenin zamanı geldi.

17:07.620 --> 17:11.380
Pekâlâ, kendinize iyi bir kahve ya da çay hazırlayın.

17:11.400 --> 17:16.950
Şimdi koltuğumuzda rahatça oturmanın ve Doom oynayan yapay zekamızın bazı çok güzel videolarını izlemenin zamanı geldi.

17:16.980 --> 17:18.750
Bunu bir sonraki derste yapalım.

17:18.750 --> 17:20.040
Ve o zamana kadar, keyfini çıkarın.

17:20.040 --> 17:20.460
I.
