WEBVTT

00:00.660 --> 00:03.920
Merhaba ve yapay zeka dersine tekrar hoş geldiniz.

00:03.930 --> 00:09.440
Ve nihayet derin eğitime başladığımız eğlenceli şeyleri takip ediyoruz.

00:09.450 --> 00:10.660
Pekala, bir göz atalım.

00:10.720 --> 00:14.100
Bruce, katil kazandıklarını ve neyle ilgili olduğunu konuştuk.

00:14.140 --> 00:20.160
Ve biz Ajan çevre ve ajan devletin nasıl bakacağını öğrendim.

00:20.210 --> 00:23.620
Ya da bir eylemde ödül alıyor.

00:23.640 --> 00:28.610
Yeni bir devlete girin ve bu geribildirim döngüsüne dayalı olarak eylemler üzerinde devam edilecek ve

00:28.610 --> 00:29.460
bundan öğrenileceklerdir.

00:29.460 --> 00:32.310
Almak için en iyi işlemlerin neler olduğunu anlayın.

00:32.310 --> 00:35.040
Ve böylece bir labirentin temel örneğine baktık.

00:35.040 --> 00:40.550
Asya'yı araştırdıkça çevre devletlerin değerlerini anladığını gördük.

00:40.560 --> 00:45.150
Daha sonra, devlet değerleri ile uğraşmaktan eylem değerleriyle değerlerle ve

00:45.150 --> 00:52.230
daha sonra A-Basin ile ilgilenerek, alaycı olmayan çevrelerdeki planların nasıl çalıştığını ve politikaların stokastik ortamlarda nasıl

00:52.560 --> 00:57.070
işlediğini anladık ve bu, stokastik ortamlarda nasıl çalışıyor; bir politika örneği.

00:57.120 --> 01:01.340
Bu, temel öğrenmede tartıştığımız her şeyin hızlı özetidir.

01:01.450 --> 01:07.230
bunun derin öğrenme eklenerek derin öğrenme yoluyla bir sonraki seviyeye nasıl atılabileceğine bir göz atalım.

01:07.230 --> 01:08.080
Ve şimdi

01:08.260 --> 01:08.510
TAMAM.

01:08.520 --> 01:16.110
Dolayısıyla bu bizim ortamımız ve şu anda yapacağımız şey, sadece bu matriste basit

01:16.110 --> 01:21.860
hesaplamaları yapmak yerine ekleyeceğiz, ki bu da oldukça basit.

01:21.870 --> 01:26.970
Yapacağımız şey, bir x ve y eksenini ekleyen iki eksen ekleyeceğiz veya onları x1

01:27.090 --> 01:28.480
ve x2 olarak adlandıracağız.

01:28.560 --> 01:30.430
Sadece işleri daha da genelleştirmek için.

01:30.480 --> 01:36.830
Ve burada gerçek numaramız var. Satırların sütunları 1 2 3 4 o numarayı 1'den 3'e kadar numaralandırıyor.

01:36.960 --> 01:44.730
Ve şimdi her bir durum, bir çift iki değer x1 ve x2 tarafından tanımlanabilir,

01:44.730 --> 01:50.940
böylece aracının içinde bulunabileceği bu karelerden herhangi biri x1 x2 ile tanımlanabilir.

01:50.940 --> 01:58.280
Mesela şu an mesela X1 1, X 2 2 ye eşittir.

01:58.470 --> 02:03.430
Ve bu nedenle kendi kare şeklinizde kaçabilmemizin bir yolu değil, eyaletinizde tanımlayabiliriz.

02:03.480 --> 02:08.330
Tabii ki bu, Devletleri tanımlayan bir ortamın çok basitleştirilmiş bir versiyonudur.

02:08.340 --> 02:10.110
Ancak yine de bu durumda işe yarıyor.

02:10.290 --> 02:17.260
Ve şimdi, bu durumları bir sinir ağı içine besleyebileceğimiz anlamına geliyor.

02:17.400 --> 02:21.830
için x numaralardan biri antikler ve ikisinin de varlığından bahsetmek isterim.

02:21.830 --> 02:26.880
Ve bu arada, iyi eklerin seyrinin sonunda, bu bölümle başarılı bir şekilde ilerlemek

02:26.970 --> 02:32.280
Yapay sinir ağı üzerindeki erişilemeyen kişileri kontrol etmenizi tavsiye edersiniz, böylece

02:32.280 --> 02:37.470
nasıl çalıştığını anlarsınız, böylece burada incelemek zorunda kalmazsak, yapay sinir ağlarının

02:37.470 --> 02:43.800
nasıl çalıştığının faydalarından yararlanabiliriz ve bu yüzden devlet hakkındaki bu bilgiyi sinirsel bir

02:43.830 --> 02:51.870
ağa besleriz ve daha sonra bu bilgiyi, sinir ağının yapısına bağlı olarak X1 ve X2, birden çok

02:51.870 --> 02:55.380
gizli katmana vb. sahip olacak şekilde işleyecektir.

02:55.380 --> 03:00.900
Bu pratik öğreticilerde öğreneceğiniz bir şey ama sonunda değerler için

03:00.900 --> 03:06.570
tüketim yapacak ve bu dört değer aslında Q değerimiz olacak.

03:06.570 --> 03:11.790
Bu yüzden, hangi eğitimi almamız gerektiğini belirleyen değerler ve bu öğreticide yer almayan değerler, hangi eylemin gerçekleştirileceğine

03:11.790 --> 03:15.220
karar vermek için bu anahtar değerlerin nasıl kullanıldığını tam olarak görecektir.

03:15.240 --> 03:22.490
Ancak burada ana nokta, sadece bu labirenti öğrenme perspektifinden izlemememiz.

03:22.650 --> 03:29.760
Şimdi labirent durumlarını alıyoruz ve bu hücreleri alabilmek için onları derin bir

03:29.820 --> 03:31.360
sinir ağına besliyoruz.

03:31.410 --> 03:35.080
Ve günün sonunda hala bir eylem hazırlamaya devam edeceğiz, ancak hangi

03:35.150 --> 03:39.900
eylemi yapmamız gerektiğini anlayacağız ve bunları daha ayrıntılı olarak tartışacağız ancak şimdi şu anki

03:39.900 --> 03:42.990
soru şu: Bütün bunları yapmamızın nedeni biz denilen şey.

03:43.200 --> 03:47.990
İlk öğrenme yaklaşımı iyi çalıştığı zaman işler neden bu kadar çok karmaşık

03:48.280 --> 03:48.990
hale geliyor?

03:49.170 --> 03:54.980
Bunun nedeni öğrenmenin bu çok basit ortamda yapıldığıdır ve kavramları daha iyi anlamak

03:54.990 --> 03:59.830
için şu anda bu çok basit ortamla uğraşmaya devam ediyoruz.

04:00.000 --> 04:06.220
Ancak aynı zamanda basit Kial öğrenimi artık daha karmaşık ortamlarda çalışmayacak

04:06.600 --> 04:12.780
ve örneğin yapay zeka Doom veya başka bir Atari oyununu oynarken

04:13.020 --> 04:19.200
koparmak gibi Doom oluşturan veya oynayacak kendiliğinden çalışan otomobillerden bahsediyoruz hatta

04:19.260 --> 04:26.400
kendi kendine çalışan otomobiller ve robotlar etrafında yürümek ve temelde öğrenme yeteneği yetersiz

04:26.730 --> 04:32.400
olan eylemleri gerçekleştirmek gibi güçlü gelişmiş güçlendirme öğeleri bu zorlukları

04:32.400 --> 04:34.700
çözebilecek kadar güçlü değildir.

04:34.710 --> 04:41.250
Tıpkı disiplinimizdeyseniz veya x numaralı ve x-2 arasındaki ek bölümleri tamamladıysanız derindeki öğrenme

04:41.250 --> 04:47.820
kursunda gördüğümüz gibi derin öğrenmenin sizin için çok daha üstün olduğunu bileceksiniz basit

04:47.820 --> 04:51.640
bir serin öğrenmeyi bırakıp öğrenen her tür makine.

04:51.660 --> 04:55.770
İşte bu yüzden, derin öğrenmenin gücünü burada kullanıyoruz, böylece çevre

04:55.770 --> 04:58.580
hakkındaki bilgileri bir değerler vektörü olarak besliyoruz.

04:58.590 --> 05:04.240
kullanıyoruz ve daha sonra bunu hangi aksiyonların hangi ajanların alacağına karar vermek istediğimiz işlemleri gerçekleştirmek için kullanıyoruz.

05:04.240 --> 05:07.220
Bu durumda sadece derin bir sinir ağına girmek için

05:07.420 --> 05:11.700
Bu nedenle, bunu neden bu kadar çok yaptıklarımızın üst düzey bir özeti gibi.

05:11.830 --> 05:17.920
Şimdi basit öğrenmeyle derin Killary arasında dönüşüm yaptığımızda ya da basit öğrenmeden derin Killary'ye

05:17.920 --> 05:24.100
geçiş yaptığımızda serin öğrenme kavramına ne olacağı hakkında biraz daha detaylı bir göz atalım.

05:24.130 --> 05:31.720
Önceki sezim öğreticilerinde gördüğünüz gibi, zamansal fark öğrenmenin temelini oluşturan böyle bir

05:31.960 --> 05:33.550
slayt vardı.

05:33.700 --> 05:37.430
Bu zamansal farklılık için formül ve temelde Öyleyse geçelim.

05:37.430 --> 05:44.640
Yani temelde burada mavi ok işaret eden bir devlet görevlisi vardı.

05:45.070 --> 05:51.760
Ve biz, zamansal farkın, örneğin yükselen bu değer için nasıl çalıştığını anlıyorduk.

05:51.790 --> 05:57.250
Ve şimdi burada gördüklerimiz bundan önce basit Killary'deydi, derin katliam basit katilde

05:57.250 --> 05:57.610
değil.

05:57.640 --> 06:05.560
Ne gördüğümüz, ajanın yukarıya çıkma eylemi hakkında öğrendiği bir sonraki renk tonu değerine sahip olması

06:05.560 --> 06:06.260
öncesindeydi.

06:06.340 --> 06:08.700
Ve sonra gitmeye karar vermeye karar verdi.

06:08.860 --> 06:14.830
Ve harekete geçtikten hemen sonra, bu hareketi bu durumda yapmak için bir ödül alır.

06:14.830 --> 06:21.070
yeni devlette basmakalıp alabilir. okunan gamma DK faktörü ile çarpılır.

06:21.070 --> 06:27.850
Ve bu ödül artı şimdi yaptığı yeni devletteki değerini değerlendirebilir, yeni

06:27.850 --> 06:32.400
devletin küpündeki tüm yeni q değerlerinin maksimumu o

06:32.440 --> 06:40.450
Bu, esasen, yeni küp değerinin veya türünün, eylemi gerçekleştirmek için yeni aldığı ampirik küp

06:40.450 --> 06:43.200
değerine işaret ettiği anlamına gelir.

06:43.270 --> 06:45.640
İdeal olarak bu ikisi aynı olmalıdır.

06:45.640 --> 06:51.430
Dolayısıyla, bu durumda bu eylem hakkında hafızasında tuttuğu Q değeri, fiilen

06:51.430 --> 06:57.420
aldığı ödülün yanı sıra, gama çarpılarak sona eren devletin değerine eşit olmalıdır.

06:57.610 --> 07:01.870
şeyin eksiğinden sonra aldığınız zamansal farkı hesaplıyoruz.

07:01.870 --> 07:05.200
Bu nedenle, ne beklediğini aklınızda tuttuğu

07:05.200 --> 07:06.740
Birini diğerinden çıkarırsın.

07:06.780 --> 07:07.690
Bu geçici bir fark.

07:07.690 --> 07:14.890
Ve sonra öğrenme hızınızı Alfa'yı, q değerinizi zamansal farkla, ancak Alfa katsayısı ile yeni q

07:14.890 --> 07:16.940
değerinizi ayarlamak için kullanırsınız.

07:17.110 --> 07:20.360
Bu basit öğrenmenin özüdür.

07:20.460 --> 07:25.990
Şimdi, derin Killary'de nasıl değiştiğine bir göz atalım ve böylece slaytla hala

07:26.000 --> 07:29.440
çalışacağız ancak tam olarak ne olduğunu göreceğiz.

07:29.620 --> 07:35.890
Dolayısıyla, derin bir öğrenmede, sinir ağı, Valis'i öncekilerde ve gördüğümüz gibi

07:35.890 --> 07:36.320
öngörür.

07:36.370 --> 07:42.340
Sinir ağı Donna Citronelle değerler için öngörür veya belirli bir devrede daha

07:42.340 --> 07:44.790
fazla olası eylemin değerini öngörebilir.

07:44.800 --> 07:48.500
Fakat bu durumda, yapılması gereken yalnızca dikey dört eylem kaldığını biliyoruz.

07:48.670 --> 07:56.160
Ve böylelikle sinir ağı bu değerlerin dördünü öngörecektir, böylece derin bir öğrenme durumunda hiç bir son olmayacak,

07:56.170 --> 07:58.800
öncesi ve sonrası hiçbir önemi yok.

07:58.960 --> 08:01.610
Ve bunu, bunu biraz daha iyi anlayacağımız şekilde.

08:01.720 --> 08:08.080
Dolayısıyla sinir ağı bu değerlerin dördünü öngörür ve sonra ne

08:08.140 --> 08:15.280
olacağını karşılaştırır, ancak sinir ağı bu kesin değeri karşılaştırır, ancak bir

08:15.400 --> 08:17.740
önceki adımda hesaplanan değerdir.

08:17.740 --> 08:22.950
Bu ajan önceki meydanda olduğu zamanlarda.

08:23.080 --> 08:30.850
Diyelim ki, bir süre önce temsilcinin bu meydan da olduğu ve bu

08:30.850 --> 08:34.420
değer daha önce hesaplandığını bilmiyorum diyelim.

08:34.420 --> 08:40.630
Bu yüzden, bir süre önce önce aracı bu değeri hesapladı; daha sonra temsilciler bu değeri

08:40.630 --> 08:43.720
gelecek için sakladı ve şimdi gelecek geldi.

08:43.720 --> 08:48.640
Böylece şimdi yine meydanda ve şu anda tahmin edilen bu küp değerlerini alıyor ve

08:48.640 --> 08:50.510
bunlardan biri dörde yaklaşmak için.

08:50.680 --> 08:57.220
Şimdi ne yapacağı tahmin edilen Q değerini, bir önceki adımdan kaydettiği bu değerle karşılaştıracak ve

08:57.220 --> 09:02.520
bunun şu anda neden önemli olduğunu tam olarak anlamak için burada anlamak

09:02.530 --> 09:03.440
çok önemli.

09:03.520 --> 09:07.990
Belli bir zaman zarfında bu özel meydanın bir subayı önce yok.

09:08.140 --> 09:14.650
ve onu bu karede önceki zamandan önceki zamandan aldığı bu değerle

09:14.710 --> 09:22.060
karşılaştırarak tüm durumu değerlendiriyor ve önceki gibi biliyorsunuz Gerçekten bu eylemi gerçekleştirdi.

09:22.110 --> 09:28.100
Bu sefer sinir ağını kullanarak tahmin ettiği Q değerini alıyoruz

09:28.270 --> 09:29.290
İşte gidiyoruz.

09:29.290 --> 09:33.360
Şimdi bunların hepsinin sinir ağı içinde nasıl çalıştığını ve nedenini bir göz atalım.

09:33.370 --> 09:38.740
Neden şu an biraz karışık gibi geldiğini biliyorum, ancak saniyede bir basit

09:39.310 --> 09:39.990
terimlerle parçalayacağız.

09:40.000 --> 09:44.380
Böylece kendi ağınızdaki çevre durumlarında sinirsel ağa besliyoruz bu

09:44.380 --> 09:48.880
gizli katmanlardan geçiyor, bu çıktılarla Q1 Q2 Q3 Q4 çıktı.

09:48.880 --> 09:56.830
belirli durumda, sinir ağı olası eylemler için tahmin ettiği küp değerleridir.

09:56.830 --> 09:57.380
Bu

09:57.400 --> 09:58.420
Bunlar kümülüs.

09:58.420 --> 10:04.270
Dolayısıyla, hedef göstermek istiyoruz ve bu hedefler tam olarak var. Dolayısıyla burada geri dönersek

10:04.270 --> 10:07.230
hedef bu, bu da tahmin edilen değerdir.

10:07.300 --> 10:11.740
Ve sonra, aynı zamanda, kareye en son ne zaman bir hedefimiz olduğunu biliyoruz.

10:11.800 --> 10:16.660
Mesela bu aynı eylem için bir hedefimiz var.

10:16.660 --> 10:21.490
Yani burada bir hedefimiz var ve karşılaştırmamız için, Q1'le karşılaştırdığımız hedefe

10:21.490 --> 10:28.390
karşı Q2'yi karşılaştırıyoruz. Hedef, önceki Q3'ten hedefe karşı bir hedef Q4'e karşı sahip olduğumuz hedef.

10:28.420 --> 10:36.610
Ve bu yüzden burası, sinir ağı ya da ajan artık daha iyi geçmek için nasıl derin

10:36.610 --> 10:38.630
öğrenme yoluyla öğreniyor parçasıdır.

10:38.650 --> 10:44.920
Burada kilit nokta, hala serin öğrenme uyguladığımız ancak kavramların cevabı, zaten tartıştığımız oldukça açık

10:44.980 --> 10:48.940
olan zamansal farklılıklar yoluyla öğrendiğinizi öğrendiğiniz basittir ve neden

10:48.940 --> 10:50.720
bu kadar iyi bilemediğimizdir.

10:50.920 --> 10:56.100
Aynı zamanda derin öğrenmede sinir ağları sinir ağlarını nasıl ağırlıkları ayarlayarak

10:56.100 --> 10:56.970
öğrenir öğrenirler.

10:57.010 --> 11:07.120
öldürme öğrenme kavramlarını takviye kavramlarını, sinir ağlarının gerçekte işleyiş biçimine uyarlamalıyız.

11:07.120 --> 11:08.550
Dolayısıyla, basit

11:08.710 --> 11:10.950
Ve bunların ağırlığı güncelleniyor.

11:10.960 --> 11:14.950
Ve bu yüzden burada anlamaya çalıştığımız şey, bu geçici

11:15.400 --> 11:21.060
kavramsal fark kavramını kendi ağınıza nasıl uyarlayacağımız, böylece sinir ağlarının tam gücünden yararlanabileceğimiz.

11:21.260 --> 11:27.790
Şimdiye kadar bunu aldık, çevre durumumuzu buraya giriyoruz, çünkü vektör bir sinir ağı içinden

11:27.790 --> 11:33.240
geçerek anahtar değerlerin tahminlerini aldık ve daha sonra aracı bu durumda idi.

11:33.240 --> 11:39.480
Bu ilgili eylemlerin her biri için bir iki üç dört hedefleyecek yeni hedefimiz var.

11:39.490 --> 11:40.870
Ve şimdi biz bitmek üzere.

11:40.870 --> 11:43.360
Tamam, her birini her biri ile karşılaştıralım.

11:43.630 --> 11:50.500
Ve buradan, sinir ağlarıyla hızlanmaya başlarsanız, oldukça basit bir hal alıyor.

11:50.500 --> 11:52.500
Bir kez daha Anax üzerinde.

11:52.570 --> 12:00.070
Bir numara burada olan bir kayıpta hesaplayacağız ve bu Q eksi Q'dan bir q eksi olacak şekilde

12:00.070 --> 12:01.760
bir q hedefi olacağız.

12:01.840 --> 12:06.160
Bunu, her birinin kare farkını kareye oturtacağız ve onları toplamaya

12:06.160 --> 12:06.730
gidiyoruz.

12:06.820 --> 12:12.310
ve hedeflerin karekökündeki farklılıkların toplamını alıyoruz ve onları gönderiyoruz, bu bir kayıptır.

12:12.310 --> 12:13.940
Bu yüzden, bu değerlerin

12:14.020 --> 12:19.030
Ve ideal olarak tıpkı zamansal farklılığın öğrenme sürecinde olduğu gibi, bir saniye

12:19.420 --> 12:25.180
daha geri dönersek, İdeal olarak şunu söylemiştik: bu, bunun zamansal farkın sıfır olmasını istemek

12:25.180 --> 12:31.750
için bunun eşit olmasını isteriz, böylece bu temelde ajan tam olarak ne tahmin ettiğinizi tahmin ederseniz,

12:31.750 --> 12:37.900
Q değeri ajanın tahmin ettiği şey tam olarak veya sahip olduğu ve hafızanın çevrenin tam

12:38.590 --> 12:42.940
olarak tanımlayıcı olması ve bu nedenle ajan çevreyi oldukça iyi elde edemez.

12:43.000 --> 12:48.880
Hiçbir sürpriz yok, yok yok. Bir zaman farkı, oldukça olumlu ya da çok olumsuz

12:48.880 --> 12:49.970
bir pilot olan sürece.

12:50.040 --> 12:51.340
O zaman bazı sürprizlerimiz var.

12:51.340 --> 12:55.690
Ancak genel farklar sıfır ise o zaman ortamı o kadar iyi bilir

12:55.690 --> 13:01.110
ki neler olup bittiğini tahmin edebilir ve bu nedenle politikası çok iyi olur ve gezinebilir.

13:01.350 --> 13:02.200
Yani burada.

13:02.200 --> 13:07.460
Aynı şey, bu yasanın mümkün olduğunca küçük olabileceğini varsayılarak sıfıra yakın olmasını istiyoruz.

13:07.720 --> 13:14.680
gerçek gücünden yararlanacağımız bölüm bu yüzden bu kayıpları alacağız ve geri yayılımı kullanacağız ya da degradasyon

13:14.680 --> 13:19.910
düşüşü yapacağız bu kayıpları alıp onu bir ağ üzerinden iletilen veya geriye

13:19.970 --> 13:27.040
doğru ya da geriye ağ üzerinden geçirerek ağırlıklar halinde büyük ve iyi bir tarih koymaktır.

13:27.040 --> 13:31.120
İşte bu yüzden şimdi bunun için sinir ağı gerçek

13:31.120 --> 13:37.780
Ağdaki tüm bu özetler, bir dahaki sefer bu ağa, çevreyi tanımlayan şekilde biraz daha iyi

13:37.930 --> 13:41.050
geçtiğimizden ve bu tam olarak ne olduğumuz.

13:41.080 --> 13:48.090
Yani geri dönerseniz, burada kayıplar Kalka hesaplanır ve ağın ağırlıkları güncellenen yayıcı

13:48.100 --> 13:49.330
olduğunu kanıtlar.

13:49.330 --> 13:55.720
olur ve bu da yine olur ve böylece devam eder ve bu devam

13:55.780 --> 14:02.560
eder ve bu ajan öğrenir ya da temelde ajanların beyni olan öğrenme ağı olan

14:02.560 --> 14:09.880
sinir ağı gittikçe daha fazla öğrenir ve çevreyi daha açıklayıcı ve dolayısıyla aracı çevrede gezinebilir.

14:09.880 --> 14:12.100
Sonra buraya geldiğimizde tekrar tekrar

14:12.130 --> 14:17.980
Tanımlayıcı çevre dediğimizde, temel olarak, bu aracının bulunduğu ortamı koyduğumuzda, gerçek

14:17.980 --> 14:25.510
işaret değerlerine daha yakın ve daha yakına girme olasılığımız daha yüksektir ve bunun nedeni

14:25.510 --> 14:30.790
doğru bulmak isteyen küp değerleridir Bunun nedeni bu yeni hedeflerin

14:30.790 --> 14:36.940
ampirik olarak türetilmesidir, o yüzden her gün bu sevimli hedefleri nasıl buluyor.

14:37.090 --> 14:40.090
Aslında orada var bu yüzden gözlemliyor.

14:40.100 --> 14:42.940
Tamam, bir kere bu adımı attığımda aldığım ödül nedir.

14:43.060 --> 14:45.070
Ve o zaman bu devletin değerleri nedir.

14:45.070 --> 14:48.850
Aynı şey daha önce Q öğrenmede ve basit öğrenme sezgisinde gördüğümüz gibi.

14:48.850 --> 14:54.550
Böylece bunu deneme yanılma yoluyla öğrenir ve ardından ağını kurar veya

14:54.880 --> 14:59.260
tahmin edilen değerlerin yakın ve yakın olacağı şekilde olur.

14:59.380 --> 15:01.330
Hedefi tamamladım.

15:01.330 --> 15:07.360
Q değerleri, burada basit beceri öğrenme algoritmasının basit zamansal fark öğrenmesinde

15:07.420 --> 15:09.870
ele alınan konsepte çok benzemektedir.

15:09.910 --> 15:10.460
Al işte ozaman, buyur.

15:10.460 --> 15:12.540
Ajan da böyle öğrenir.

15:12.550 --> 15:13.930
Yani burada kalacağız.

15:14.260 --> 15:15.490
Ve öğrenen kısmıdır.
