
Turkish: 
Konvolüsyonel sinir ağları hakkında tekrar konuşmaya başlayalım
Birkaç kişi evrişimli katmanların neye benzediğini soruyor
Yani bu girdi görüntülerinde hangi dönüşümlerin gerçekleştiğini biliyorsunuz, bu makine öğrenmesi açısından ilginç bir şey yapabileceğimiz anlamına geliyor.
Yani, yaptığım şey rakam tanıma yapmak için oldukça basit bir ağ yetiştirdiğim.
Ve böylece konvolüsyonların ne yaptığını, ara tabakaların nasıl göründüğünü ve daha sonra umarım sınıflamanın sonunda olduğunu görebiliriz.
Böylece insanlar iyi bir fikir edinebilir.
MNIST hakkında konuşmaya başlayalım, bu yüzden MNIST, birkaç yıldır var olan ve şu anda Facebook'ta olan Yann Lecun tarafından üretilen bir veri kümesidir.
ve derin öğrenmede büyük
ve bir sürü iyi bildiri
Evrimsel ağlara yönelik ilk çabalarından biri LeNet'di.

English: 
Let's start talking about convolutional neural networks again
A few people have been asking what does the convolutional layers look like
So you know, what transformations are happening on these input images, that mean we can do something interesting in terms of machine learning.
So, what I've done is that I've trained a pretty basic network to do digit recognition.
And so we can see what the convolutions are doing, what the intermediate layers look like and then hopefully what the classification is at the end,
so people can get a good idea.
Let's start talking about MNIST, so MNIST is a dataset that has been around for a few years and was produced by Yann Lecun who is, I think, currently at Facebook
and he's big in deep-learning
and loads of good papers
And one of its early efforts into convolutional networks was LeNet, is all what we call it,

Turkish: 
bu MNIST veri setini yapmayı amaçlayan bir tür beş katmanlı küçük evrişimli sinir ağıydı.
ve temel olarak şöyle dedi, bakın, bu evrişimli sinir ağının rakam tanıma konusunda gerçekten iyi olacağını,
sanatın şu anki durumu tüm makine öğrenme teknikleridir ve şimdi bundan daha iyiyiz.
Yani yaptığım şey biraz daha ilginç hale getirmek için LeNet modelini biraz değiştirdim.
ve temelde tüm ara katmanları bastırdım, böylece onları birkaç basamakta görebiliyoruz, böylece nasıl çalıştığını görebilirsiniz
Demek rakamları söylediğimde bu
Bu doğru, sadece 0 - 9 arasındaki rakamlar.
Aslında, 0 ile 9 arasındaki bir rakamla yazılmış, 28 piksel x 28 piksel boyutundaki küçük resimlerdir.
Veri setinde bunların 90.000 kadarı var sanırım, test için yaklaşık 10.000 ve denemek için yaklaşık 80.000 var.
Normal LeNet ağı, evrişimli bir katman olduğunu ve bunu bir havuzlamanın takip ettiğini düşünüyorum.
- bu da uzaysal aşağı örnekleme katmanı -
ardından başka bir evrişim, ardından başka bir mekansal altörnekleme ve bu tür şeyleri izledi.
Şimdi, mekansal altörnekleme ile ilgili olan şey bazı durumlarda yararlıdır, ancak bakması çok ilginç değildir.

English: 
which was a sort of five layerish small convolutional neural network aimed doing this MNIST dataset
and it basically said, look, this convolutional neural network is going to be really good on digit recognition,
the current state of the art is all the machine learning techniques, and now we're even better than that.
So what I've done is that I tweaked the LeNet model a bit to make it a little bit more interesting,
and the I've basically printed out all the intermediate layers so we can see them on a few digits, so that you can see how it works
So this is numbers when i say digits
That's right, just the digits 0 to 9.
In fact, it's small, 28 pixels x 28 pixels images of any hand written digit 0 to 9.
And there's about I think 90,000, or so, of them in the dataset, so there is about 10,000 to the testing and about 80,000 for trying it.
The normal LeNet network is I think a convolutional layer, followed by a pooling
-- so that's the spatial downsampling layer --
followed by another convolution, followed by another spatial downsampling, and all these kind of things.
Now, the thing about spatial downsampling is it's useful in some situations but it's not very interesting to look at,

Turkish: 
çünkü daha sonra çok küçük olan görüntülere bakıyoruz.
Yaptığım şey, ondan uzak durduğum ve sadece çok daha fazla evrim katmanı koyuyorum.
Yani ağım - sanırım benim ... 1, 2, 3, 4, 5, 6 ... 'ya geri dönersem, görünüşe göre, kağıt parçama göre 6 katlamalı katmandır.
Ve sonunda iki tamamen birbirine bağlı yapay sinir ağı katmanı.
Böylece bunları yazacağım, yani 1, 2, 3, 4, 5, 6 evrişimli katmanlarımız var.
hepsi 5'e 5 çekirdek var, bu standart ağ değil, bu sadece kendime geldiğim bir tane.
Bu rakam tanıma görevinde, makul bir ağ muhtemelen biraz düşünürseniz, oldukça iyi bir iş çıkarır.
Çünkü sadece değil, biliyorsunuz, rakam tanıma, karakter tanıma kadar zor değil, sırayla diğer sorunlar kadar zor değil.
Bu sadece, karakterlerden daha az rakam bulunduğundan mı?
Evet, daha az var, resimler arasında temelde daha az varyasyon var.

English: 
because we're then looking at images which are very very small.
So what I've done is that I've done away with that and I'm just putting lots more convolutional layers
So my network is -- I think if I refer back to my... 1, 2, 3, 4, 5, 6... -- is 6 convolutional layers, apparently, according to my piece of paper.
And then two fully connected artificial neural network layers at the end.
So I'm gonna write these down, so we've got 1, 2, 3, 4, 5, 6 convolutional layers
all of which have 5 by 5 kernels so this isn't the standard network, this is just one that I came over myself.
On this digit recognition task, any reasonable network will probably do a pretty good job, you know, if you thought a little bit about it.
Because it's just not, you know, digit recognition is not quite as hard as character recognition which in turn is not as hard as other problems and so on
Is that just purely because there are less digits than there are characters ?
Yeah, there is less, there is basically less variations between images.

Turkish: 
Eğer sen, çok sayıda kedi resmi ve çok sayıda köpek resmi çekiyorsan, resimler üzerinde daha fazla çeşitlilik olacak ve uğraşacak daha fazla piksel olacak,
Biliyorsunuz, içinde 9 olabileceği veya biraz farklı şekillerde 9 olabileceği 28 ile 28 arasında bir resimde olduğundan daha fazla.
Ve sonra tamamen bağlanmış katmam var, bu yüzden FC1 diyeceğim. FC2'ye tam bağlantılı bir katman bulacağım.
FC1'in 500'lük bir çıktı boyutu var, kağıt parçama göre, çoktan unuttum
ve FC2, 10'luk bir çıktı büyüklüğüne sahiptir.
Şimdi, evrişimli ağlardaki son videomuzu tekrar düşünüyorsanız,
Tüm evrimleşmeleri yaptıktan sonra, sınıflandırmayı gerçekleştiren, tamamen birbirine bağlı katmanlara sahibiz.
Ve son tamamen bağlı katman bu durumun uzun süreceği, ancak farklı sınıflardan olan
Bu yüzden 9'a kadar 10 sınıf var, 10 çıkış,
2 numaralı çıkış yandığında veya yüksek bir değer ürettiğinde, bu, biraz kafa karıştırıcı olan 1 rakamının, indekslenmiş olmasına rağmen 1 rakamının tanınmasına neden olur.
Tamam

English: 
If you're, if you're taking lots of pictures of cats, and lot's of pictures of dogs, there is gonna to be more variation over the images and more pixels to deal with,
than there is in a 28 by 28 picture that may have a 9 in it or it may have a slightly differently shaped 9, you know.
And then I've got my fully connected layer so I'm gonna say FC1. I'm gonna got a fully connected layer here FC2.
FC1 has an output size of 500, according to my piece of paper, I've forgotten already
and FC2 has an output size of 10 which is the digits.
Now if you think back to our last video on convolutional networks,
after we've done all of convolutions, we have some fully connected layers which actually perform the classification.
And the last fully connected layer is this case is going to be however long we have of different classes,
so we have 10 classes 0 to all the way to 9, so 10 outputs,
when output number 2 lights up or produces a high value, that means that digit 1, which is slightly confusing cause 0 indexed, but digit 1 has been recognized.
Okay

Turkish: 
Bu yüzden bunların her birinin giriş görüntüsü üzerinde nasıl bir etkisi olacağı hakkında fazla ayrıntıya girmeyeceğim.
ancak eğer 28'e 28 görüntü girişi varsa
Daha sonra, 5'e 5 olan bu ilk evrişimli düzen, bunun genişliğini ve bu görüntünün yüksekliğini 4 oranında azaltacaktır.
çünkü kenarlara gitmeyeceğini biliyorsun, dolgu yapmıyoruz.
O zaman 24'e 24 imge alacaksın.
ve bir sonraki katman 20'ye 20'ye kadar inecek
ve bir sonraki katman onu bundan daha aşağıya indirecektir.
Öyleyse, bu katmanların her birinde kaç tane farklı çekirdek olduğu hakkında konuşalım.
Böylece ilk katmanlar, katman başına 20 farklı çekirdek elde ettim ve sonra model dosyama geri dönersem
Bu kod mu?
Aslında Caffe'deki bir metin belgesi.
- çünkü bu kütük bunu yapmak için kullanıyor -
hangi temelde açıklar ...
bu yolla, hangi çekirdeğin büyüklüğü, kaç tane çekirdek, kaç tane katmana sahip olduğunuz, hangisinin birbirine bağlandığı vb. Tamam.
Bu aynı zamanda hisse senedi MNIST model dosyasından biraz farklıdır, ama bilirsin, benzer şeyler, tamam
Örneğin, rastgele bir katman seçersek, bu katmanı burada görebilir misiniz?
bu yüzden 20 çıktımız var, çekirdek boyutu 5, adımın 1'i,

English: 
So I won't going to too much details about what effect each of these will have on the input image
but you can imagine that if if you got a 28 by 28 image input
then this first convolutional layout which is 5 by 5 is going to reduce the width of that and the height of that image by 4
because you know it's not gonna go to the edges , we're not doing any padding
So you gonna then have a 24 by 24 image
and the next layer will take it down to 20 by 20
and the next layer will take it down further than that.
So let's talk about how many different kernels there are in each of these layers,
So the first layers, I got 20 different kernels per layer, and then if I refer back to my model file
Is that the code for?
It's actually a text document in Caffe
-- because this is the log have been using to do this --
which basically explains...
this way you detail what size of kernel, how many kernels, how many layers you have, which one connects to each other ones and so on. Okay.
This is also slightly different to the stock MNIST model file, but it's, you know, similar stuff, okay
So, for example if we pick a layer at random, could you see this layer here ?
so we've got 20 outputs, kernel size of 5, a stride of 1,

English: 
and then this tells you how you're going to ramdomize your weight when your begin training.
So we just described all of these things to the network and it goes off and does most of the work for us.
So my first 2 layers have 20 kernels,
then, because I decided this was a good idea, I increase this number to 50 kernels, and 50 kernels... And I have 4 with 50 kernels.
You could imagine that your input image to begin with is 28 by 28, and it's 1 deep, because we have a grayscale image.
These are grayscale digits we're looking at here.
After the first 5 by 5 convolution this image is gonna shrink to 24 by 24
but because there's 20 different kernels, all producing their own image output,
it's going to be 24 by 24 by 20, and so on, okay
I won't draw the whole thing out because we've done that in the last video.
but these convolutions here, because I'm not using any padding will slowly decrease the size of the image

Turkish: 
ve sonra bu size, antrenmana başladığınızda kilonuzu nasıl ramdomize edeceğinizi gösterir.
Bu yüzden bütün bunları ağda tarif ettik ve kapanıyor ve işin çoğunu bizim için yapıyor.
Yani ilk 2 katımda 20 tane çekirdek var.
o zaman bunun iyi bir fikir olduğuna karar verdiğim için, bu sayıyı 50 çekirdeğe, 50 çekirdeğe yükseltirim ... Ve 4 çekirdekli 50 çekirdeğim var.
Girdi resminizin başlayıp 28'e 28 olduğunu ve bunun 1 derin olduğunu hayal edebilirsiniz, çünkü gri tonlamalı bir resmimiz var.
Bunlar, burada baktığımız gri tonlu rakamlar.
İlk 5'e 5 evrişimden sonra bu görüntü 24'e 24'e küçülecek
fakat hepsi kendi görüntü çıktısını üreten 20 farklı çekirdek olduğundan,
24'e 24, 20'ye kadar olacak, ve sonra, tamam
Her şeyi çıkarmayacağım çünkü bunu son videoda yaptık.
ama bu kıvrımlar burada, çünkü herhangi bir dolgu kullanmıyorum yavaş yavaş görüntünün boyutunu azaltacaktır

English: 
and when we get to this point here at the first fully connected layer, the image should be 4 by 4 by 50 deep, which is 800 different values.
Now often we would go round that to 1x1 but that is not really necessary in this case, cause there is not too much data.
So this first fully connected layer is 500 neurons long,
all of which connect to all the possible 800 values
and then the final 10 comes from these 500.
So let's look at some pictures and then maybe it will be more clear, okay,
It's not a very complicated network, modern networks gets much bigger than this but this shows you the kind of things that they're doing
So I've printed out some examples of the kinds of things that these networks will do
So let's just use number "2" as an example
This is a picture of a "2" !
It's very exciting for people watching
It's a 28 by 28 picture of a "2", which has been normalized so that the background is basically black and the foreground is white, okay

Turkish: 
ve bu noktaya geldiğimizde, ilk tam olarak bağlı olan katmanda görüntü, 4'e 4'e 50 derinlik, yani 800 farklı değerde olmalıdır.
Şimdi sık sık bunu 1x1'e çıkardık ama bu durumda gerçekten gerekli değil, çünkü çok fazla veri yok.
Yani bu ilk tamamen bağlı katman 500 nöron uzunluğunda,
hepsi mümkün olan 800 değere bağlanır
ve sonra son 10 bu 500'den geliyor.
Öyleyse bazı resimlere bakalım ve sonra belki daha net olacaktır.
Çok karmaşık bir ağ değil, modern ağlar bundan daha büyük hale geliyor, ancak bu size yaptıkları işleri gösteriyor.
Bu yüzden, bu ağların yapacağı şeylerin bazı örneklerini yazdım.
Öyleyse örnek olarak "2" sayısını kullanalım.
Bu bir "2" nin resmi!
İnsanları izlemek için çok heyecan verici
Arka plan temelde siyah ve ön plan beyaz olacak şekilde normalize edilmiş bir "2" nin 28'e 28 resmi, tamam

Turkish: 
Normalleşirseniz, biraz daha iyi sonuçlar alırsınız, çünkü kalemleri ile hafifçe bastırırlarsa ve belki de çok sıkı bir şekilde yapmamışlarsa, belki biraz kontrastı arttırırsınız.
Bu yüzden önce bunun için 5'e 5 bir evrişim yapacağız
bunlardan 20'sini yapacağız, bu yüzden şaşırtıcı olmayan bir şekilde, bunu uzaklaştırırsak, bir dizi çekirdeği göreceğiz.
Bunlar, önceki videolarda bahsettiğim Sobel kenar dedektörleri gibi düşük seviyeli görüntü işleme görevlerini yerine getiriyorlar
Örneğin bu, bir tür çapraz gradyandır, çapraz olarak giden kenarların oldukça vurgulandığını görebilirsiniz
ve farklı yönelimler var, yani bu yatay ve burada dikey olan var.
Bu konvolüsyonlardan sonra bu görüntüyle pek çok ilginç şeyler yapamayız, ancak oraya geliyoruz
Yani bu bir dönüşüme başlıyor,
 bazıları diğerlerinden daha gürültülü
Bu kısmen, benim, bilirsin, çok uzun zamandır eğitim almadığımdan ve kısmen de belki de faydalı olduğundan dolayı
Bu yüzden, bu girdilerin hepsine başka bir konvolyon seti yapacağız.
Yani bunlar şimdi konvolüsyonların konvolüsyonu olacak.
Biraz daha yumuşak olmaya başladılar çünkü imajımızı küçültüyoruz ve yavaşça daha yüksek seviye özellikler bulmaya başlıyoruz.

English: 
You get slightly better results if you normalize because if they pressed lightly with their pen and maybe not have done a very firm to then maybe you sort of increase the contrast a little bit
So we first gonna do a 5 by 5  convolution over this
we're gonna 20 of those, so unsurprisingly if we move this away, we gonna see a number of kernel convolutions
These are performing low-level image processing tasks, just like the kind of Sobel edge detectors that I talked about in previous videos
So this one for example is a kind of diagonal gradient you can see that the edges that are going diagonally are quite highlighted
and there's different orientations, so this one is horizontal, and there's a vertical one over here, and so on
We can't do a lot of interesting things with this image after this one set of convolutions, but we're getting there
So this one is starting to be transformed,
 some of them are noisier than others
That's partly due to my, you know, not having trained it very long, and partly because maybe that's useful
So, we're gonna do another set of convolutions on all of these inputs
So these are now gonna be convolutions of convolutions.
They start getting a little bit smoother because we're shrinking our image down and we're slowly starting to find higher level features.

English: 
So now you can see that the loop in the top of the "2" has been highlighted here
and this one is highlighted only the horizontal bit on the top of the bottom of the 2 if that kind of makes sense.
So different areas of the image are now starting to be highlighted
we're bringing in different information
and as we keep going, you can see we're going even further, so we've increased the number of features
and you can kind of see maybe there used to be a "2" there, but we've extracted away the actual "2" now and we're looking just to features.
So there's lot of diagonals here which have been highlighted, and they are highlighted in very specific nuances,
because some of them are looking for some things and some of them are looking for other things.
Just by looking at these pictures, it's hard to know what exactly each of these is looking for,
because they would be looking for something different if you had a different number in there.
We keep going, they get smaller and smaller, and they get more and more abstract, so you're still seeing the tip of a "2" here,
and this is the image which is highlighted, things that the computer thinks are useful to learn to tell us about what it is to be a "2", which is kind of weird concept.

Turkish: 
Şimdi "2" nin üstündeki döngünün burada vurgulandığını görebilirsiniz.
ve eğer bu mantıklıysa, sadece 2'nin alt tarafındaki yatay bit vurgulanır.
Yani görüntünün farklı alanları şimdi vurgulanmaya başlıyor
farklı bilgiler getiriyoruz
ve devam ettikçe, daha da ileri gittiğimizi görebilirsiniz, bu yüzden özellik sayısını artırdık
ve belki orada bir "2" olduğunu biliyor olabilirsiniz, ama şimdi gerçek "2" yi çıkardık ve sadece özelliklere bakıyoruz.
Bu yüzden burada vurgulanan çok sayıda köşegen var ve çok özel nüanslarda vurgulanıyorlar.
Çünkü bazıları bazı şeyleri, bazıları ise başka şeyleri arıyor.
Sadece bu resimlere bakarak bunların tam olarak ne aradığını bilmek zor,
Çünkü eğer orada farklı bir sayınız olsaydı, farklı bir şey ararlardı.
Devam ediyoruz, gittikçe küçülüyorlar ve gittikçe daha soyut oluyorlar, bu yüzden hala burada bir "2" nin ipucunu görüyorsunuz,
ve bu vurgulanan görüntüdür, bilgisayarın ne tür bir garip kavram olduğu, "2" olmasının ne olduğunu bize anlatmayı öğrenmenin yararlı olduğunu düşünüyor.

Turkish: 
Ve devam ediyoruz ve görüntü, son 4'e 4 görüntüye ulaşana kadar sadece küçülmeye ve küçülmeye devam ediyor
Şimdi bir dakika içinde bunlara iki farklı hane karşılaştırması yapacağım
ama açıkça görüyorsunuz ki şimdi çok genel şekiller alıyoruz. Artık "2" kavramı yok.
bu, bunlardan hangisinin yandığı ve nerede
ve bunu basmaya çalıştığım ilk tamamen bağlı bir katmana bağladık, ancak bu 500'e yayılmış bir dizi aktivasyon olan tuhaf,
hepsi gördüğünüz gibi aktive edilmiyor, beyaz olanlar çok güçlü aktivasyonlar, gri olanlar ortada ve siyahlar çok düşük aktivasyonlar.
Böylece, görüyorsunuz ki, bu 2 tanesi iyidir.
Yani bir anlamda, bu görüntüde 2 olduğu zaman, bu 2'nin aydınlatıldığını, ve bunun da böyle olduğunu öğrendi.
Temelde dedim ki, burada "2" nin bir resmi var, "2" sayısını yazmanızı istiyorum,
Ve dedi ki, peki tamam, eğer böyle yaparsam, o zaman işe yarayacak.
Yani sadece matematiksel bir süreci takip ediyor.
Yani farklı orijinal "2" ler için bile, bu ikisi ..?
Olabilirlerdi, evet, zarif bir şekilde farklı olacaklardı.
Yani, gerçekten iyi eğitilmiş bir algoritmaya sahipseniz, çok benzer görünmeye başlarlar

English: 
And we keep going and the image continue to just get smaller and smaller until we get to our final 4 by 4 images
Now I'll put a comparison of two different digits on these in a minute
but you can see that obviously we're getting very general shapes now. There's no concept of a "2" anymore,
this has been completely extracted away into which of these are lit up and where,
and we connect that to a first fully connected layer which I've tried to print out but it's kind of odd, which is just a bunch of activations spread out over these 500,
not all of them are activated as you can see, the white ones are very strong activations, the grey ones are in the middle, and the black ones are very low activations.
So you can see that, you know, these 2 are good.
So in some sense it's learned that when there is a 2 in this image, these 2 have been lighted up, and so is this one, and so on.
Basically I've said, here is a picture of a "2", I'd like you to output the number "2",
And it said, well okay, if I make these like this, then that would work.
So it's just following a mathematical process.
So even for different original "2"s, would those two..?
They would be, yeah, they would be subtly different..
I mean, if you got a really well trained algorithm, they would start to look very similar

English: 
But there's a lot of nuances here, and there's only 10 classes, so there's gonna be more information in here in some way than you need.
And then at the end, this will be possibly easier to understand, these are our final 10 outputs.
These 2 are not real, I just, they're just left-in by mistake when they were printed.
So you can see 0, 1, 2, the white one, the one that lit up is number 2, okay, so this is essentially correctly identified the "2".
Now obviously, in my program, I would read this value out and do something useful with it, I wouldn't just print it as a block, but you get the idea. Okay.
Lets have a look at "2" versus let's say some other number.
"4" is kind of like 2, in a sense that is has some sort of horizontal bits in it.
I should have asked to any digits, so really "4" is nothing like a "2", I'm talking nonsense.
The first layer looks much like the one from the "2", because it would do,
because we've only done only one set of convolutions and they all do much the same thing.
So you can see that for example in this one here, you've got mostly these kind of corners here that are highlighted
and that's true of the 4 as well
As we've sort of progress it and I'll skip a few layers,
Let's see if I can get the matching layer for the "4".

Turkish: 
Ama burada çok fazla nüans var ve sadece 10 sınıf var, bu yüzden burada ihtiyaç duyduğunuzdan daha fazla bilgi olacak.
Ve sonunda, bunun anlaşılması daha kolay olacak, bunlar bizim son 10 çıktımız.
Bu 2 gerçek değil, ben sadece, basıldıklarında yanlışlıkla yanlız kalıyorlar.
Böylece 0, 1, 2 görebilirsiniz, beyaz olan, yanan olan 2 numaradır, tamam, bu aslında "2" yi doğru şekilde tanımlamaktadır.
Açıkçası, programımda bu değeri okuyup onunla yararlı bir şeyler yapardım, sadece blok olarak basmazdım, ama siz anladınız. Tamam.
"2" ye bakalım, başka bir numara söyleyelim.
"4", içinde bir tür yatay bit olan bir anlamda 2 gibidir.
Herhangi bir rakam istemeliydim, bu yüzden gerçekten "4" "2" gibisi yok, saçma sapan konuşuyorum.
İlk katman "2" den çok benziyor, çünkü öyle olacak,
çünkü sadece bir konvolyon seti yaptık ve hepsi aynı şeyi yapıyor.
Örneğin, buradaki örnekte, çoğunlukla vurgulanan bu tür köşelere sahip olduğunuzu görebilirsiniz.
ve bu 4 de doğru
Bir miktar ilerleme kaydettikçe, birkaç kat atlayacağım.
Bakalım "4" ile eşleşen katmanı alabilir miyim.

Turkish: 
Bazı öğelerin aynı, bazılarının farklı olduğunu görebilirsiniz.
Yani buradaki, buradaki yeni, daha karanlık, ama bu "2" de olmayan beyaz bir bölgeye sahip.
yani bu, şimdi bu iki resim arasındaki farkları toplamaya başladı.
Ve, eğer bir süre bunu yapmaya başlarsanız, başka bazı farklılıklar olduğunu görebiliyordunuz.
Yine, size bunu gösteriyorum çünkü bir evriyal sinir ağının ne yaptığını görmek ilginç,
ama buna bakmak ve gitmek çok zor
"ah tabi ki, burası '4' köşesinin burada nerede olduğunu bulmak vb.
Bunun ne olduğunu çözmek için uzun süre çalışmanız gerekiyor.
Bu tür şeyler yapan insanlar var, ama dürüst olmak gerekirse çoğu insan sadece "ah, bu güzel ve işe yarıyor ve önemli olan budur".
Bu yüzden biraz daha ilerledik, bu yüzden tam olarak bağlanmış katmanlardan önceki son evrimsel çıktı.
Şimdi aslında oldukça büyük farklılıklar olduğunu görebilirsiniz.
Örneğin bu, sol üstte parlak, sağ üstte karanlık, "4" için
Sol üstte karanlık, sağda ise "2" için altta parlak.
Bu noktada, görüntünün neye benzediğini söyleyen her şeyi ayıkladık ve şimdi sadece özelliklere bakıyoruz.

English: 
You can see that some elements are the same, and some are different.
So this one here, this new one here, is darker, but it's got a white region, that isn't in this "2",
so this one this is starting to pick up differences between these two images now,
And, you know, if you start doing this for a while you could see there are some other differences.
Again, I'm showing you this because it's interesting to see what a convolutional neural network does,
but its very difficult to look at this and go
"oh of course, this is finding where the corners of the '4' here" and so on
You have to study it for quite a long time to work out what that is.
There are people doing these sort of things, but to be honest most people would just go "oh, that's nice and it's works and that's what important".
So we've progressed a bit further, so this is the last convolutional output before the fully connected layers.
Now you can see that actually there are some quite big differences.
So this one, for example, is bright in the top left and dark in the top right, for the "4",
where as it's dark in the top left and bright in the bottom right for the "2".
At this point we've now extracted away anything that said exactly what the image looked like, and now we are just looking at features.

Turkish: 
Yani bunlar temel olarak bilgisayarın faydalı buldukları şeyler ve şimdi tamamen farklılar.
Ve şimdi tam olarak birbirine bağlı katmanlara baktığımızda, tamamen farklı nöronlar aktive edildi.
Bu ikisi şimdi karanlık ve bu "4" de olmayan, siyah olanlar var.
Yani yaptığı şey, evrişimli katmanları kullanarak görüntüyü bir şeye dönüştürdüğü.
tam olarak bağlanmış katmanlara girdiğinde, bilgisayardan farklı görünüyor ve bu gerçekten kullanışlı.
Ve nihayet şaşırtıcı olmayan bir şekilde, "4" sayısı aydınlandı. Böylece başarıyla çalıştı.
Ve temelde göründüğü gibi.
Şimdi açıkçası, çok daha fazla sınıf içeren daha derin bir evrişim ağınız varsa,
bu çok daha hiyerarşik, karmaşık operasyonlar yapıyor olacak.
Ancak bu temelde evrimsel bir ağın yapacağı işin özüdür.
Bunu yapman ne kadar sürdü?
Ah, modelin oluşturulması birkaç dakika sürdü ve sonra birkaç saat sürdü, çünkü birkaç evrişim katmanı ekledim.
Standart küçük ağlar kullanıyorsanız, bu basamaklarda hala% 88 kesin olmayan, en fazla eğitmek 40 dakika sürer.

English: 
So these are basically things that the computer finds useful, and now they are completly different.
And as we we now look at the fully connected layers, completely different neurons have been activated.
These two are now dark and there are some black ones in this "4" that aren't in this one, and so on.
So what it's done is that it's transformed the image using the convolutional layers into something
that when it gets into the fully connected layers looks different to the computer, and that's really useful.
And then finally unsurprisingly, number "4" has lit up. So it's successfully worked.
And that's basically what it's look like,
Now obviously if you have a much deeper convolutional network, with many more classes,
this is gonna be doing lot's more hierarchical, complex operations.
But this is basically the gist of work a convolutional network would do.
And how long did it take for you to do that?
Oh, well, building the model took a few minutes and then to train it was a few hours because I added a few convolutional layers.
It takes, you know, 40 minutes to train the most if you're doing standard small networks, which still is not 88% accurate on these digits.

English: 
And how much harder is it to do, for, say, letters
It's a bit harder, because you've got 26 classes, instead of, or maybe for capitals as well you've got even more classes.
But on the other hand, if you're providing images like this, which are very controlled, it's not very difficult.
If you're producing any possible "a", then it's gonna be more challenging, but still convolutional networks can do these tasks quite easily.
You just have to increase the number of convolutions, increase the number of kernels you have per layer, just to increase the amount that it can do.
And then you just leave it to train a little bit longer and it seems to work.
It seems to me that all these things that we see on websites these days where it says "are you a human, click this box", are kind of the thing of the past, nowadays?
Captchas, yeah, so in some sense the old captchas style that we had where you'd see like 5 or 6 letters
that you'd have to type them in, they are defeated by convolutional neural networks.

Turkish: 
Ve mektuplar yapmak ne kadar zorsa
Bu biraz daha zor, çünkü bunun yerine 26 sınıfınız var, veya belki başkentler için de daha fazla sınıfınız var.
Ancak diğer taraftan, çok kontrollü bir şekilde böyle görüntüler sağlıyorsanız, bu çok zor değil.
Olası bir "a" üretiyorsanız, daha zor olacaktır, ancak yine de evri ağlar bu işleri oldukça kolay bir şekilde yapabilir.
Sadece konvolüsyon sayısını arttırmanız, katman başına sahip olduğunuz çekirdek sayısını arttırmanız, yapabileceği miktarı arttırmanız gerekiyor.
Ve sonra onu biraz daha uzun süre eğitmek için bırakıyorsunuz ve işe yarıyor gibi görünüyor.
Bana öyle geliyor ki, bugünlerde web sitelerinde gördüğümüz, "siz bir insansınız, bu kutuyu tıklayın" yazıyor, bugünlerde geçmişte kaldı.
Captchas, evet, yani bir anlamda, 5 veya 6 harf gibi göreceğiniz yerde yaşadığımız eski captchas stili
Onları yazmak zorunda kalacaksın, evrişimsel sinir ağları tarafından yenilirler.

Turkish: 
Birisi bu görevi yenmek için evrişimsel bir ağı eğitmek için uğraşırsa
Hatırlanması gereken önemli bir nokta, bu ağı çok özel bir rakamlar dizisinde eğitmiş olduğum.
Rakamlar içeren bir tür captcha verirsem, özellikle görüntü başına birden fazla rakam varsa,
bunu anlamayacak, çünkü ona sadece 1 basamaklı 28 x 28 görüntü veriyordum.
Böylece belirli bir captcha sistemi üzerinde çalışmak için, onu belirli bir captcha sistemi üzerinde eğitmek zorunda kalacaksınız
Şimdi, captcha sistemlerinin yaptığı güzel şeylerden biri.
Onları kırmaya çalışmak açısından
sadece API'sini indirmeniz ve sadece veri setinden sonra veri kümesi oluşturabilmeniz için çok fazla resim oluşturmasıdır.
Yani, bir anlamda, imaj tabanlı captcha'lar biraz zayıf görünmeye başlıyor.
Öte yandan, captcha'ları kırmakla gerçekten çok ilgilenmediğim bir araştırmacı olarak, muhtemelen oldukça faydalı bir amaca hizmet ettiğini düşünüyorum,
yani, bilirsin, belki bir spam yapan bunu yapmaya çalışıyordur, böylece daha karmaşık captcha sistemlerine bakmaya başlarsın
bu nedenle, örneğin, mutlaka size numaralar sağlamayacak olan Google reCAPTCHA

English: 
If someone has bothered to train a convolutional network to defeat that task
one important thing to remember is that I have trained this network on a very specific set of digits
If I give it some kind of captcha with digits in, particularly if there is more than one digit per image,
it's not gonna to understand, because I've been giving him 28 by 28 images with just 1 digit in.
So to get to work on a specific captcha system, you're gonna have to train it on that specific captcha system
Now, one of the nice things that captcha systems do,
from the point of view of trying to crack them,
is generate a lot of images so you just download their API and you can just generate dataset after dataset.
So in some sense, image based captchas are starting to look a bit weak.
On the other hand, as a researcher where I'm not really heavily interested in breaking captchas, I think it's probably serves quite a useful purpose,
so, you know, maybe a spammer is trying to do this, so you start to look into more complex captcha systems
so for example Google reCAPTCHA which won't necessarily provide you numbers will ask you

Turkish: 
"Bu resimde tüm bisküvileri görebiliyor musun ve 9 9 bisküvileri göreceksin
ve sonra bir botun bu HTML ile etkileşime girmesi biraz daha karmaşık.
ve bu biraz daha karmaşık bir sorundur, özellikle bunu yapana kadar soracağını bilmiyorsanız.
Öyleyse, benim fikrim, captcha sisteminizi değiştirmeye devam etmek.
Birisi onu çözmek için ağı eğitmiş olsaydı, o zaman gereksiz hale gelir ve bir sonrakini çözemezler.
Sorun şu ki, güvende olması gereken bir kurabiye alırsam,
o zaman bunu Amazon'a veya bir dükkana gönderelim ve "Ben Shawn, lütfen, alışveriş sepetinde ne var" diyebilirim.
adresi ne, kredi kartı detayları ne.

English: 
"can you see all the biscuits in this image, and you'll see a 9 by 9 grid of biscuits
and then it's slightly more complicated for a bot to interact with this HTML
and it's a slightly more complicated problem, particularly if you don't know it's going to ask until it does.
So I guess the idea ot it is to keep changing your captcha system
with enough frequency that if anyone had trained the network to solve it, it then become redundant and they can't solve the next one.
The problem is that if I obtain a cookie of you which is supposed to be secure,
then I can send that to, let's say, Amazon, or to a shop and say "I'm Shawn, please, what's in the shoping basket "
what's his address, what's his credit card details.
