Education, study and knowledge

Derin sinir ağları: ne oldukları ve nasıl çalıştıkları

Derin sinir ağları, Derin Öğrenme modellerinde kullanılan ana teknolojik mimariyi oluşturan bir kavramdır. Bu yapılar, Yapay Zekanın temeli olan yapay sinir ağlarının genel fikri anlaşılmadan anlaşılamaz.

Sinir ağları binlerce şey için kullanılıyor: plakaları, şarkıları, yüzleri, sesleri ve hatta mutfağımızdaki meyveleri tanımak. Bunlar özellikle yararlı bir teknolojidir ve daha yeni pratik hale gelmelerine rağmen, insanlığın geleceği olacaklardır.

Sonraki Yapay sinir ağları fikrini derinlemesine göreceğiz ve derinnasıl çalıştıklarını, nasıl eğitildiklerini ve onları oluşturan farklı nöronlar arasındaki etkileşimlerin nasıl gerçekleştiğini anlamak.

  • İlgili makale: "Bilişsel bilim nedir? Temel fikirleri ve gelişim aşamaları"

Derin sinir ağları nedir ve onları karakterize eden nedir?

Derin sinir ağları Derin Öğrenme veya Derin Öğrenmede kullanılan en önemli teknolojik mimarilerden biri. Bu belirli yapay ağlar, son yıllarda baş döndürücü bir büyüme kaydetti çünkü her türden örüntüyü tanımak söz konusu olduğunda temel bir unsur oluşturuyorlar. Yapay Zeka, bu belirli ağların işleyişi sayesinde var olur. Özünde, teknolojik ve teknolojik bir biçimde olmasına rağmen beynimizin nasıl çalıştığının bir kopyası haline geldiler. matematik.

instagram story viewer

Derin sinir ağlarının ne olduğuna daha fazla girmeden önce, yapay sinir ağlarının genel olarak nasıl çalıştığını ve ne işe yaradığını anlamamız gerekiyor. Lsinir ağları, son yıllarda büyük etkisi olan “Makine Öğrenimi”nin bir dalıdır., programcılara ve bilgisayar bilimcilerine, onlarla konuştuğumuzda gerçek insanlarla konuştuğumuzu düşündüren sohbet robotları gibi şeyler oluşturmalarına yardımcı olmak.

Yapay sinir ağları sürücüsüz arabalarda da kullanılmaya başlandı. yüzümüzü tanıyan ve istediğimiz şekle dönüştüren mobil uygulamalar ve daha fazlası fonksiyonlar. Uygulanabilirliği çok kapsamlıdır, modern Yapay Zekanın temeli olarak hizmet eder ve günden güne sayısız faydalı kullanıma sahiptir.

yapay sinir ağları

Mutfağımızda olduğumuzu ve portakal aramaya karar verdiğimizi düşünelim, bu çok basit bir iş.. Bir portakalı nasıl çok kolay tanıyacağımızı biliyoruz ve onu mutfakta bulduğumuz muz, elma, armut gibi diğer meyvelerden nasıl ayırt edeceğimizi de biliyoruz. Gibi? Çünkü bir portakalın tipik özelliklerini beynimizde çok özümsemişizdir: boyutu, şekli, sahip olduğu renk, nasıl koktuğu... Bunların hepsi bir tanesini bulmak için kullandığımız parametrelerdir. turuncu.

İnsanlar için basit bir iş ama... Bir bilgisayar da yapabilir mi? Cevap Evet. Prensip olarak, aynı parametreleri tanımlamak ve bir düğüme veya “yapay nöron” diyebileceğimiz bir şeye bir değer atamak yeterli olacaktır. Bu nörona, portakalın boyutunu, ağırlığını, şeklini, rengini veya bu meyveye atfettiğimiz diğer parametreleri belirterek portakalın neye benzediğini söylerdik. Bu bilgiye sahip olan nöronun, bir portakal sunulduğunda onu nasıl tanımlayacağını bilmesi beklenir.

Parametreleri iyi seçersek, sadece bu özellikleri dikkate alarak portakal ve portakal olmayan şeyleri ayırt etmeniz kolay olacaktır. Herhangi bir meyvenin görüntüsü sunulduğunda, o nöron özellikleri arayacaktır. portakalla ilişkilendirin ve onu "turuncu" kategorisine mi yoksa "diğer" kategorisine mi dahil edeceğinize karar verin. meyve". İstatistiksel bir ifadeyle, bir parametre grafiğinde, meydana gelene karşılık gelen bir bölge bulmak olacaktır. aynı boyut, şekil, renk, ağırlık ve aromayı paylaşan tüm meyve parçalarını kapsayacak bir bölge arıyordu. portakallar.

İlk başta tüm bunları kodlaması çok kolay gibi görünüyor ve aslında öyle. Farklı renk ve şekillere sahip oldukları için portakalı muzdan veya elmadan ayırt etmek çok işe yarar. Ancak, size bir greyfurt sunsak ne olur? ve çok büyük bir mandalina? Portakalla mükemmel bir şekilde karıştırılabilecek meyvelerdir. Yapay nöron, portakal ve greyfurtu kendi kendine ayırt edebilecek mi? Cevap hayır ve aslında muhtemelen aynı oldukları düşünülüyor.

Yapay nöronların yalnızca bir katmanını kullanmanın veya aynı şey olan, önce yalnızca basit nöronları kullanmanın sorunu şudur: tanıyabilmeniz gereken özelliklerle birçok ortak özelliği olan bir şey size sunulduğunda çok kesin olmayan karar sınırları oluşturun, ama gerçekte öyle değil. Greyfurt gibi portakala benzeyen bir şey sunsak o meyve olmasa bile onu öyle tanımlayacaktır.

Bu karar sınırları, eğer bir grafik şeklinde temsil edilirlerse, her zaman doğrusal olacaktır. Tek bir yapay nöron, yani entegre parametrelere sahip tek bir düğüm kullanma somuttur, ancak ötesini öğrenemez, çok yakın karar sınırları elde edilir. yaymak. Ana sınırlaması, özellikle çok sınıflı regresyon ve iki istatistiksel yöntem kullanmasıdır. lojistik regresyon, yani şüpheye düştüğümüzde olmasını beklediğimiz gibi olmayan bir şeyi içerir. tanımlayacak.

Sadece bir nöron kullanarak tüm meyveleri "portakallar" ve "portakallar değil" olarak ayırırsak, muz, armut, elma, karpuz ve portakalla boyut, renk, şekil, aroma vb. uyuşmayan herhangi bir meyveyi "hayır" kategorisine koyardım. portakallar”. Bununla birlikte, greyfurt ve mandalina, kötü tasarlandıkları işi yaparak onları "portakal" kategorisine koyardı.

Ve portakal ve greyfurttan bahsederken köpek ve kurtlardan, tavuklardan ve tavuklardan, kitaplardan ve defterlerden bahsedebiliriz... Hepsi Bu durumlar, basit bir "eğer..." ("eğer...") dizisinin birini diğerinden açıkça ayırt etmeye yetmeyeceği durumlardır. diğer. Farklı öğeler arasında ayrım yapmak söz konusu olduğunda daha kesin olan daha karmaşık, doğrusal olmayan bir sisteme ihtiyaç vardır. Benzerlikler arasında farklılıklar olabileceğini hesaba katan bir şey. Sinir ağlarının devreye girdiği yer burasıdır.

İnsan beynine daha çok benzeyen daha fazla katman

Yapay sinir ağları, adından da anlaşılacağı gibi, hesaplamalı yapay modellerdir. insan beyninin sinir ağlarında, aslında bu organın işleyişini taklit eden ağlar biyolojik. Bu sistem, nöral işlevsellikten esinlenmiştir ve ana uygulaması, her türlü desen: yüz tanıma, ses tanıma, parmak izi, el yazısı, araç plakası… Örüntü tanıma neredeyse her şey için çalışır..

Farklı nöronlar olduğu için uygulanan parametreler de çeşitlidir ve daha yüksek bir kesinlik derecesi elde edilir. Bu sinir ağları, öğeleri kategorilere ayırmamızı sağlayan sistemlerdir. fark ince olabilir, onları doğrusal olmayan bir şekilde ayırabilir, başka türlü yapılması imkansız olacak bir şey biçim.

Tek bir düğümle, tek bir nöronla, bilgiyi işlerken yapılan çok sınıflı bir regresyondur. Her biri kendi doğrusal olmayan aktivasyon işlevine sahip olduğundan, daha fazla nöron ekleyerek, daha basit bir dile çevrildiğinde, karar sınırlarına sahip olmalarını sağlar. daha kesin olarak, eğri bir şekilde grafiksel olarak temsil edilmek ve bu örnekle devam etmek için "portakallar" ve "portakal olmayanlar" arasında ayrım yaparken daha fazla özelliğin dikkate alınması.

Bu karar sınırlarının eğriliği, doğrudan sinir ağımıza kaç tane nöron katmanı eklediğimize bağlı olacaktır. Sistemi daha karmaşık ve daha kesin hale getiren bu nöron katmanları, aslında derin sinir ağlarıdır. Prensip olarak, sahip olduğumuz derin sinir ağlarının daha fazla katmanı, program insan beynine kıyasla daha doğru ve benzer olacaktır.

Kısacası, sinir ağları bundan başka bir şey değildir. biz insanların yaptığına çok benzer bir şekilde daha kesin kararların alınmasına izin veren akıllı bir sistem. İnsan, çevremizden öğrenerek deneyime dayalıdır. Örneğin, portakal ve greyfurt durumuna geri dönersek, eğer hiç görmemişsek, onu mükemmel bir şekilde portakal zannederiz. Ona aşina olduğumuzda, onu nasıl tanımlayacağımızı ve portakaldan nasıl ayırt edeceğimizi zaten bildiğimiz zaman olacaktır.

Yapılan ilk şey, tanımlamayı öğrenmesini istediğimiz şeyin nasıl bir şey olduğunu bilmeleri için sinir ağlarına bazı parametreler vermektir. Ardından öğrenme veya eğitim aşaması gelir, böylece giderek daha doğru olur ve aşamalı olarak daha küçük bir hata payına sahip olur. Bu, sinir ağımızı bir portakal ve diğer meyvelerle sunacağımız zamandır. Eğitim aşamasında onlara turuncu oldukları ve turuncu olmadıkları durumlar verilecek, cevaplarını doğru yapıp yapmadıklarına bakılacak ve onlara doğru cevabı söyleyeceklerdir.

Çok sayıda girişimde bulunmaya ve mümkün olduğunca gerçeğe yakın olmaya çalışacağız.. Bu şekilde, sinir ağının gerçek vakalar geldiğinde işlemesine yardımcı oluyoruz ve tıpkı bir insanın gerçek hayatta yapacağı gibi, düzgün bir şekilde nasıl ayrım yapacağını biliyor. Eğitim yeterliyse, iyi tanıma parametreleri seçmiş ve iyi sınıflandırmışsa, sinir ağı çok yüksek bir örüntü tanıma başarı oranına sahip olacaktır. yüksek.

  • İlginizi çekebilir: "Nöronlar nasıl çalışır?"

Bunlar nedir ve tam olarak nasıl çalışırlar?

Artık sinir ağlarının ne olduğuna dair genel fikri gördüğümüze ve ne olduklarını ve nasıl olduklarını daha iyi anlayacağımıza göre insan beyninin nöronlarının bu öykünücüleri çalışır ve derin sinir ağları tüm bunların neresini çizer? işlem.

Aşağıdaki sinir ağımıza sahip olduğumuzu hayal edelim: üç katmanlı yapay nöronlarımız var. Diyelim ki ilk katmanda 4 nöron veya düğüm var, ikincisinde 3 ve sonuncusunda sadece 2 tane var. Bunların hepsi anlaşılması oldukça kolay bir yapay sinir ağı örneğidir.

İlk katman, verileri alan katmandır., yani ses, görüntü, aromalar, elektriksel darbeler şeklinde gelebilecek bilgiler... Bu ilk katmanı giriş katmanıdır ve daha sonra aşağıdakilere gönderebilmek için tüm verileri almakla görevlidir. katmanlar. Sinir ağımızın eğitimi sırasında ilk çalışacağımız katman bu olacaktır. tahminlerde bulunma veya size verilen bilgileri belirleme konusunda ne kadar iyi olduğunuzu görmek için kullanacağımız veriler verir.

Varsayımsal modelimizin ikinci katmanı, ilk ve son katmanların tam ortasında yer alan gizli katmandır., sanki sinir ağımız bir sandviçmiş gibi. Bu örnekte sadece bir tane gizli katmanımız var ama istediğimiz kadar çok olabilir. 50, 100, 1000 hatta 50.000 katmandan bahsedebiliriz. Özünde, bu gizli katmanlar sinir ağının derin sinir ağı dediğimiz kısmıdır. Derinlik ne kadar büyük olursa, sinir ağı o kadar karmaşık olur.

Son olarak, çıktı katmanı olan örneğimizin üçüncü katmanına sahibiz. Adından da anlaşılacağı gibi bu katman, önceki katmanlardan bilgi almak, karar vermek ve bize bir cevap veya sonuç vermekle görevlidir..

Yapay sinir ağlarında her bir yapay nöron aşağıdakilerin tümüne bağlıdır. 4, 3 ve 2 nörondan oluşan üç katmanımız olduğunu yorumladığımız örneğimizde, giriş katmanının 4'ü gizli katmanın 3'ü ile gizli katmanın 3'ü çıkışın 2'si ile bağlantılı, bize toplam 18 veriyor bağlantılar.

Tüm bu nöronlar bir sonraki katmandakilerle bağlantılıdır ve bilgileri girdi->gizli->çıktı yönünde gönderir.. Daha fazla gizli katman olsaydı, bilgiyi çıkış katmanına ulaşana kadar gizli katmandan gizli katmana gönderen daha fazla sayıda bağlantıdan bahsederdik. Çıktı katmanı, bilgiyi aldıktan sonra yapacağı şey, aldığı bilgiye ve onu işleme yöntemine göre bize bir sonuç vermektir.

Algoritmamızı yani sinir ağımızı eğitirken az önce anlattığımız bu işlem defalarca yapılacak. Bazı verileri ağa teslim edeceğiz, sonucun bize ne verdiğini göreceğiz ve onu analiz edip sonucun bize vermesini beklediğimiz şeyle karşılaştıracağız. Beklenen ile elde edilen arasında büyük bir fark varsa, bu, yüksek bir hata payı olduğu ve bu nedenle birkaç değişiklik yapılması gerektiği anlamına gelir.

Yapay nöronlar nasıl çalışır?

Şimdi bir sinir ağı içinde çalışan nöronların bireysel işleyişini anlayacağız. Nöron, önceki nörondan bir bilgi girdisi alır. Diyelim ki bu nöron, her biri bir önceki katmanın üç nöronundan gelen üç bilgi girdisi alıyor. Buna karşılık bu nöron çıktılar üretir, bu durumda sadece bir sonraki katmandaki bir nörona bağlı olduğunu varsayalım.

Bu nöronun bir önceki katmandaki üç nöronla yaptığı her bağlantı, bir önceki nöronun bize gönderdiği değer olan bir "x" değeri getirir.; ve bu bağlantının ağırlığı olan "w" değerine de sahiptir. Ağırlık, bir bağlantıya diğerlerinden daha fazla önem vermemize yardımcı olan bir değerdir. Kısacası, önceki nöronlarla olan her bağlantı, çarpılan (x·w) bir "x" ve bir "w" değerine sahiptir.

Biz de sahip olacağız "önyargı" olarak adlandırılan bir değer veya belirli nöronları diğerlerinden daha kolay etkinleşmeye teşvik eden hata sayısı olan "b" ile temsil edilen yanlılık. Ek olarak, nöronun içinde farklı elementlerin sınıflandırılma derecesini oluşturan bir aktivasyon fonksiyonumuz vardır (s. örn., portakal) doğrusal değildir. Kendi başına, her bir nöronun dikkate alınması gereken farklı parametreleri vardır, bu da tüm sistemi, yani sinir ağını doğrusal olmayan bir şekilde sınıflandırmaya zorlar.

Nöron aktive olması gerekip gerekmediğini nasıl anlar? yani, bir sonraki katmana bilgi göndermeniz gerekip gerekmediğini ne zaman anlarsınız? Peki, bu karar aşağıdaki denklem tarafından yönetilir:

sinir ağı

Bu formül, nöronun bir önceki katmandan aldığı tüm "x" değerleri ile "w" ağırlıklarının toplamının yapılması gerektiği anlamına gelmektedir. Buna "b" önyargısı eklenir.

Bu denklemin sonucu bir aktivasyon fonksiyonuna gönderilir., bu sadece bize bu denklemin sonucunun a'dan büyük olduğunu söyleyen bir fonksiyondur. belirli bir sayı, nöron bir sonraki katmana bir sinyal gönderecek ve eğer daha azsa, o zaman yapmayacaktır. göndermek için Yani yapay bir nöron nöronlara bilgi gönderip göndermemeye şu şekilde karar verir: katmanı, "y" olarak adlandıracağımız bir çıktı aracılığıyla, bu çıktı da aşağıdakilerin "x" girişidir. nöron.

Ve tüm bir ağı nasıl eğitirsiniz?

Yapılan ilk şey, daha önce yorumladığımız gibi, verileri ilk katmana iletmektir. Bu katman, gizli katmanlar veya derin sinir ağı olan sonraki katmanlara bilgi gönderecektir. Bu katmanların nöronları alınan bilgiye göre aktifleşip aktifleşmeyecektir. Son olarak, çıktı katmanı bize, sinir ağının ne yapacağını doğru öğrenip öğrenmediğini görmek için beklediğimiz değerle karşılaştıracağımız bir sonuç verecektir.

İyi öğrenmediyse, o zaman başka bir etkileşim gerçekleştiririz, yani, size tekrar bilgi sunacağız ve sinir ağının nasıl davrandığını göreceğiz.. Elde edilen sonuçlara bağlı olarak, "b" değerleri, yani her bir nöronun yanlılığı ve "w", hatayı azaltmak için her bir nöronla olan her bağlantının ağırlığıdır. Bu hatanın ne kadar büyük olduğunu bulmak için, aşağıdaki gibi başka bir denklem kullanacağız:

sinir ağı

Bu denklem kök ortalama kare hatasıdır. Ağımızın etkileşimde bize verdiği değer olan y (x) eksi bize vermesini beklediğimiz değer olan “a” nın karesini yükselterek toplayacağız. Son olarak, bu toplamı 1/2n ile çarpacağız, yani sinir ağımızı eğitmek için gönderdiğimiz etkileşimlerin sayısı "n" olacaktır.

Örneğin, aşağıdaki değerlere sahip olduğumuzu varsayalım

sinir ağı

İlk "y (x)" sütunu, ağımızın test ettiğimiz dört etkileşimin her birinde bize verdiklerini temsil eder. Görüldüğü gibi elde ettiğimiz değerler, test edilen etkileşimlerin her biri için istenen değerler olan ikinci "a" sütunundaki değerlere karşılık gelmiyor. Son sütun, her etkileşimin hatasını temsil eder.

Yukarıda belirtilen formülü uygulayarak ve bu verileri burada kullanarak, bu durumda n = 4 (4 etkileşimler) bize 3,87 değerini verir; bu, sinir ağımızın bu noktalarda sahip olduğu ortalama karesel hatadır. anlar. Hatayı bilmek, şimdi yapmamız gereken, daha önce de yorumladığımız gibi, önyargıyı ve önyargıyı değiştirmektir. nöronların her birinin ağırlıkları ve bu şekilde hatanın olması niyetiyle etkileşimleri azaltmak.

Bu noktada mühendisler ve bilgisayar bilimciler devreye girer. gradyan iniş adı verilen bir algoritma her yapay nöronun önyargısını ve ağırlığını test etmek ve değiştirmek için değerler elde edebilecekleri böylece, bu şekilde, tahmine veya sonuca yaklaşan, giderek daha düşük bir hata elde edilir. aranan. Bu bir test meselesidir ve ne kadar çok etkileşim yapılırsa, o kadar çok eğitim olacak ve ağ o kadar çok öğrenecektir.

Sinir ağı yeterince eğitildiğinde, bize doğru ve güvenilir tahminler ve tanımlamalar vereceği zaman olacaktır. Bu noktada, nöronlarının her birinde bir değere sahip olacak bir ağımız olacak. tanımlanmış ağırlık, kontrollü önyargı ve sistemi yapacak bir karar verme kapasitesi ile iş.

Bibliyografik referanslar:

  • Puig, A. [AMP Tech] (2017, 28 Temmuz). Sinir ağları nasıl çalışır? [Video dosyası]. Kurtarılan https://www.youtube.com/watch? v=IQMoglp-fBk&ab_channel=AMPTech
  • Santaolalla, J. [Kendinize bir Vlog verin] (11 Nisan 2017) CienciaClip Yarışması - Sinir ağları nedir? [Video dosyası]. https://www.youtube.com/watch? v=rTpr6DuY4LU&ab_channel=DateunVlog
  • Schmidhuber, J. (2015). "Sinir Ağlarında Derin Öğrenme: Genel Bir Bakış". Nöral ağlar. 61: 85–117. arXiv: 1404.7828. doi: 10.1016/j.neunet.2014.09.003. PMID 25462637. S2CID 11715509
Slavoj Žižek'in en iyi 10 kitabı

Slavoj Žižek'in en iyi 10 kitabı

Sloven filozof Slavoj Žižek, birçok kişi tarafından Avrupa'nın en önemli filozofu olarak kabul ed...

Devamını oku

Yüksek Orta Çağ ile Aşağı Orta Çağ arasındaki 4 fark

Orta Çağ, MS 5. yüzyıldan başlayarak Batı tarihinin en uzun dönemlerinden biridir. C. XV yüzyılın...

Devamını oku

Çocuklar için en iyi 20 kısa şiir

Çocuk şiiri, çocukların diline ve anlayışına uyarlanmış sanatsal bir anlatımdır.. Genel anlamda ş...

Devamını oku