Sun Qichao: Yüz Tanıma Teknolojisinde Evrişimli Sinir Ağı Uygulaması AI Araştırma Topluluğu 51. Maymun Masa Toplantısı

İPhone X'in piyasaya sürülmesiyle Face ID yüz tanıma teknolojisi insanların günlük yaşamlarına girmeye başladı. Telefonu elimize alıp baktığımızda telefonun kilidini açabiliriz. Yüz tanımada anahtar teknoloji, evrişimli sinir ağıdır.

Son zamanlarda, Leifeng.com AI Araştırma Enstitüsü'nün açık bir sınıfında, Fransa'daki Montpellier Üniversitesi'nden Sun Qichao, evrişimli sinir ağlarının temel ilkelerini ve yüz tanıma teknolojisinin nasıl çalıştığını anlattı. Açık sınıf oynatma video URL'si:

Sun Qichao: Fransa'daki Montpellier Üniversitesi'nde MBA öğrencisi, CSDN milyon blog uzmanı.

Konuyu paylaş: Yüz Tanıma Teknolojisinde Evrişimli Sinir Ağının Uygulanması

Ana hatları paylaşın:

1. Evrişimli sinir ağlarının temel ilkelerini ve iş akışını tanıtın

2. Evrişimli sinir ağlarının dört temel bileşenini tanımlayın: havuzlama işlemi, aktivasyon işlevi, tamamen bağlı katman, amaç işlevi

3. Genel yüz tanıma teknolojisini analiz edin

Lei Feng Network AI Araştırma Enstitüsü Paylaşılan içeriği aşağıdaki gibi düzenleyin:

Bugün sizlerle yüz tanıma teknolojisinde evrişimli sinir ağının uygulamasını paylaşacağım. Önce derin öğrenme ve makine öğrenimi arasındaki ilişkiyi tanıtın. Yapay zeka, makine öğreniminin alt alanını içerir, makine öğrenimi ayrıca temsil öğrenmeyi (özellikleri otomatik olarak çıkarabilen bir öğrenme yöntemi) içerir ve derin öğrenme, temsil öğrenmede en temsili öğrenme türüdür. Bugün bahsedeceğimiz CNN, bir tür derin öğrenme olan evrişimli bir sinir ağıdır.

Makine öğreniminin temel fikri, aslında ihtiyacımız olan bilgiyi öğrenmek için özellikleri kullanmaktır, bu nedenle yeni bir çalışma türü, yani özellik mühendisliğinde uzmanlaşmış bir tür mühendis ortaya çıktı. Özellik mühendisliğinin kalitesi, makine öğreniminin nihai etkisini etkileyecektir. Bilim adamları, insanların özellik mühendisliği yapmasına gerek kalmadan makinenin özellikleri otomatik olarak öğrenebileceğini düşündü. Sonuç şudur: evet. Bu, öğrenmenin öğrenmek için özellikleri kullanmak olduğu anlamına gelir.

Derin öğrenmenin kullanımı aslında çok basittir, yani sadece üç adım gerektiren uçtan uca öğrenme: birincisi, veriye verin (makine); ikincisi, derin öğrenmenin işlemeyi bitirmesini bekleyin; üçüncüsü, sonucu alın.

Aşağıda, bugün bahsedeceğimiz evrişimli sinir ağının gelişim geçmişine bir göz atalım:

1980'de bilim adamları "nörobiliş" i önerdiler ve şimdi "nörobiliş" in evrişimli sinir ağlarının öncülü olduğuna inanıyorlar;

1998'de iki bilim adamı, LeNet adı verilen gradyan öğrenmeye dayalı evrişimli bir sinir ağı önerdi. Görüntü tanımanın ilk büyük ölçekli uygulamasıdır. O zamanlar Amerika Birleşik Devletleri'nde çok sayıda posta işi, özel personelin posta kodunu ve posta adresini bildirmesini gerektiriyordu. Manuel yaparsanız, verimlilik çok düşük, bir kişi bir saniyede kaç tanesini tanıyabilir? Tanıma hızı hızlı olsa bile, insan hızı ne kadar hızlı olursa, hata oranı o kadar yüksek olabilir Bu nedenle, bu LeNet el yazısı sayıların karakter tanımasına uygulanır ve hata oranı sadece% 1'dir ve bu büyük ölçekte kullanılabilir;

2012 yılında Hinton ekibi Convolutional Neural Network Alex-net'i önerdi Ekip, Profesör Li Feifei'nin Image Net yarışmasına katıldı ve şampiyonluğu kazandı. O zamanlar, ikinci sıraya göre% 12 daha yüksek bir doğruluk oranıyla çok ilerideydi. Geçmişte, birincilik genellikle ikinci sıranın sadece bir veya iki puan önündeydi ve yüzde üç veya dört puan çok fazlaydı, ancak bu sefer takım yüzde 12 puan öndeydi. Bunun nedeni, Alex-net'in ilk kez ReLU etkinleştirme işlevi, maksimum havuzlama, DROP Out ve GPU hızlandırma gibi yeni teknolojileri kullanmasıdır;

2014 yılında, Google Inception-net'i önerdi. Temel fikir, tekrar tekrar istiflenebilen ve hata oranını Alex-net'in yarısına düşüren yüksek verimli bir evrişimli sinir ağı yapısıdır;

2015 yılında, Microsoft'un ResNet'i 152 katmanlı derin ağı başarıyla eğitmiştir. Daha önceki bazı sinir ağlarının buraya girişi vardır ve ortada çok sayıda nöron vardır, ancak yalnızca bir katman vardır. Artan seviyelerin teknolojisinde atılımlar yapmak zordu. Microsoft'un ResNet'in 152 katmana çıkarılması bir dönüm noktasıdır. Aynı zamanda hata oranını% 3,46'ya düşürdü ve kaydı tekrar yeniledi.

O zamandan beri, temelde her yıl veya hatta birkaç ayda bir, yeni ağ yapıları, daha derin ağ eğitim yöntemleri vb. Gibi yeni nesil teknolojiler olacaktır. CNN'in bu derin öğrenme dalgasına öncülük ettiği söylenebilir.

Evrişimli sinir ağı tam olarak nedir? Çekirdeği evrişim işlemidir.

Aşağıdaki şekle bakabilirsiniz: Sol üst köşe 5 * 5 yeşil matristir ve matristeki sarı alan 3 * 3 evrişimli çekirdektir. Sarı alanın işlevi, matriste kapsanan sayıların ağırlıklı toplamını gerçekleştirmektir ve hesaplanan sayı (mor alana bakın) yeni bir matrise konulacaktır.

Sonra sağ üst köşedeki ikinci resme bakın.Sarı alan bir basamak sağa hareket eder, bu bir adımdır. Bu "adım" adım uzunluğunu ifade eder - CNN'deki başka bir parametre (bir parametre evrişim çekirdeğidir), burada Adım boyutu 1 adıma ayarlanır. 1 adım ilerledikten sonra aynı ağırlıklı toplam sarı alana yapılır ve yeni bir numara elde edilir (ilk numara ile birlikte mor alana konulur).

Sarı alanın tamamını bir fotoğraf çerçevesi olarak değerlendirebiliriz, boyutu, uzunluğu ve genişliği sabittir, sıra soldan sağa, yukarıdan aşağıya, üç kez hareket eder, üç yeni numara birer birer ve sonra birer birer görünür. Matriste hesaplayın. Bu kısmi bir işlemdir.Orijinal veriler (5 * 5 giriş), evrişim sonucunu elde etmek için 9 kez çevrilir. Bu sonuç, yeni bir 3 * 3 matris olan evrişim özelliği olarak adlandırılır - bu matris, bir sonraki işlem katmanının girdisi olarak kullanılır ve bazı havuzlama işlemleri gerçekleştirilir.

Daha sonra CNN'in iş akışına bakacağız. Birkaç temel kavrama bir göz atalım: Birincisi az önce bahsettiğimiz evrişim işlemi; ikincisi de çok önemli olan havuzlama işlemi; üçüncüsü ise aktivasyon işlevi, tamamen bağlantılı katman ve amaç işlevi. .

Sonra aşağıdaki uzun resme bakın. İlk adımda, önce orijinal verileri ona (makineye) giriyoruz ve ardından evrişim işlemini, evrişimli katman + havuz katmanı + aktivasyon fonksiyonunun bir kombinasyonu şeklinde gerçekleştiriyoruz. Bundan sonra, sonraki evrişim işlemlerini gerçekleştirmek için bu kombinasyonu kullanın ... ve tüm özellikler çıkarılıncaya kadar döngüye devam edin. Ardından, çıkarılan tüm özellikler, tahmin edilen değeri elde etmek ve hedef değer ile karşılaştırmak için tam olarak bağlı katmana bağlanır. Son olarak, makine ikisi arasındaki farkı onaracak ve yeniden alacaktır. Bu tam bir iş akışıdır.

Sonra evrişim işlemine bakarız, parametresi yoktur, sadece bunun için maksimum havuzlamayı ve ortalama havuzlamayı ayarlamamız gerekir. Maksimum havuzlama, kapsama alanının maksimum değerini çıkarmak anlamına gelir - amacı, en belirgin özellikleri çıkarmak ve daha az belirgin olan bazı özellikleri göz ardı etmektir.

Evrişim işleminin üç özelliği vardır:

Birincisi, özellik değişmezliğidir. Bir resim sarıldıktan sonra resmin sağ alt köşesinin düz bir çizgi olduğunu hayal edebiliriz.Görüntünün sol üst köşesinde tanımlanan (grafik) evrişim özelliği, düz çizginin evrişim özelliği ile tutarlıysa, sol üst köşedeki grafiğin de bir çizgi olması gerekir. Düz çizgi, çünkü özellikleri aynı. Bu aynı zamanda evrişimli sinir ağlarının bir özelliğidir, yani iki özelliğin göreceli konumu, resimdeki mutlak konumlarından daha önemlidir.

İkinci özellik, özellik boyutunun azaltılmasıdır. Yukarıda 5 * 5'lik bir matris kullandık ama aslında 10024 * 798 görüntü pikselinin çok fazla performans tüketmesi gerekiyor ve çoğu gereksiz hesaplamalar. Maksimum havuzlama en önemli özellikleri çıkarmaktır. Bazı bilgi işlem kaynaklarını kurtarmak için bu daha az belirgin özellikleri bırakın.

Üçüncü özellik, fazla takmayı önlemektir. En belirgin özellikler çıkarıldığı için aşırı uyum önlenebilir.

Aktivasyon fonksiyonuna tekrar bakalım. Daha önce makine öğrenimi ile uğraşan öğrenciler, 0-1 değer aralığına sahip bir eğri olan başka bir etkinleştirme işleviyle, sigmoid işleviyle karşılaşabilirler.

Bahsedeceğimiz ReLU fonksiyonu aşağıdaki şekilde mavi çizgi ile ifade edilebilir. Aslında parçalı bir fonksiyondur.Bu işleve 0'dan küçük bir değer verdiğinizde, ne kadar negatif olursa olsun, 0 döndürür. 0'a eşit veya 0'dan büyük bir değer verdiğinizde, hangi değer verilirse verilsin, kendisini döndürebilir (X) Bu aslında çok basit bir fonksiyondur.

Peki aktivasyon işlevinin kullanımı nedir?

Mesela elimde bir iğne tutuyordum ve öbür elimi delecektim, ilk başta çok uzaktı ve hiç acı hissetmedim sonra iğne diğer elime yavaşça yaklaştı. , Elimdeki sinir beynime, eğer elim sıkışırsa - "aktivasyona" eşdeğer ağrı hissedeceğimi söyleyecek.

İğne ile diğer elim arasındaki mesafe için bir eşik var. Mesafe bu eşikten az olduğunda ve nihayet tamamen yakın olduğunda, sinirlerim hemen beynime (ağrıyı) söyleyecek ve böylece "acımı" harekete geçirecek. -Aktivasyon işlevi bu ilkedir. Makinenin genellikle eğittiği bazı şeyler, eşiğe ulaşmazsa, özellik etkinleştirilmeyecek; eşiği aşarsa, özellik etkinleştirilecek ve çıktı alınacaktır.

Daha aşağıda, evrişimli sinir ağlarının işleyişine genel bir perspektiften bakacağız. Önce aşağıdaki resme bakın.Bu bir harf A'dır.Önce bir evrişim işlemi gerçekleştirin ve ardından ayarlanmış evrişim çekirdeği ve adım boyutuna göre evrişim çekirdeğinin özelliklerini bulun ve son olarak tüm aktif nöronları ve son bütünü birleştirin. Bağlantı katmanları, gerçekten etkinleştirilip etkinleştirilmediklerini görmek için matris çarpımı yoluyla bire bir karşılık gelir.

Tamamen bağlı katman, genellikle sonunda uygulanan tüm CNN'de bir "sınıflandırıcı" rolünü oynar.

Sonra amaç işlevi var. Evrişimli sinir ağlarındaki en yaygın regresyon problemleri Öklid mesafesini kullanır. Algoritma şudur:

. Genellikle, 1'den n'ye kadar başlayan ve iki sayı arasındaki farkı hesaplayan bir toplama formülü olan en sağdaki formülü kullanırız.

Bu Avrupa mesafesinin faydası nedir? Örneğin, iki hedef yakınsa benzerlik daha yüksek olacaktır. Bu nedenle, Öklid mesafesini bularak benzer olup olmadıklarını yargılayabiliriz.

Evrişimli sinir ağlarının temel ilkeleri ve birkaç temel kavram tanıtıldı. Daha sonra, dört adıma bölünmüş olan yüz tanıma bağlantısına giriyoruz: ilk adım yüz sınırı algılama, ikinci adım görüntü kalibrasyonu, üçüncü adım görüntü dönüştürme ve dördüncü adım vektör karşılaştırmadır.

İlk adım, yüz sınırı tespitidir. Bir resimde birden fazla yüz olabilir, ancak birden fazla yüz olabilir. Kaç tane yüz olursa olsun, önce yüzün özelliklerine uyan çerçeveyi bulup çerçeveyi kesiyoruz.

Nasıl müdahale edilir? Konumlandırma. Yüz özelliklerine göre konumlandırmaktır Dediğim gibi belli bir pozisyonda göz varsa ve simetrik yerde göz varsa (makine) gözün pozisyonunu ve sonra gözün köşesini bulabilir. . Yüz tanımada, sınır özelliklerinin aralığı çok önemlidir, çünkü makine bunlara dayanarak tam bir yüz konumu çizebilir. Makinenin başvurabileceği temel özelliklerden biri çenedir çünkü ağız köşeleri açılıp kapanabilir, ancak çene genellikle çok fazla değişmez. İkincisi kaşlar - gözleri bulduğunuzda kaşları bulmak kolay. Üçüncüsü burun köprüsü, burun ucu, üst ve alt dudaklardır.

Bu özellikleri bulduktan sonra, yüzün çerçevesini bulmalısınız - bu bir kare yüz, bir kavun çekirdeği yüzü veya yuvarlak bir yüz olabilir.Makine, yüz çerçevesinde bazı noktalar oluşturacak ve ardından karşılaştırmak için bir grafik çerçeve (yuvarlak bir çerçeve gibi) kullanacaktır. Biraz kısa bulunursa, tamamen tutarlı olana kadar katsayıyı ayarlamaya devam edecektir.

Ancak yakalarken yüze yakın belli bir mesafe bırakmanız gerekir ve tamamen sınıra göre durdurulamaz.Örneğin yukarıdaki resimdeki saç kısmında (kişi) şapka takabilir, bu nedenle makine tam olarak yakalama yapamaz ama etrafta bırakabilir. Belirli bir boşluk bırakın ve ardından resmi kesin. Bir yüz üzerinde birden çok nokta varsa, birden çok yüzün kenarlıklarını kesin.

İkinci adım, görüntüyü kalibre etmektir. Bu kavram aslında bilgisayar veri işleme fikri ile tutarlıdır. Makineye resimler, sesler, sayılar, dizgiler veya diğer bazı verileri verirseniz verin, bunları bilgisayarın tanıyabileceği verilere dönüştürür.

Aynısı yüz kalibrasyonu için de geçerlidir.Makinenin kafasının eğilmiş, alçaltılmış veya eğilmiş olmasına bakılmaksızın, konum doğru değildir, önce yüz sınırını kesin ve her noktayı (aşağıdaki şekilde yeşil nokta) bulun ve sonra Noktaya göre bir koordinat bulun ve onu gerçekte düzleştirilmiş yüzün koordinatı ile karşılaştırın. İkisi arasındaki açı, kafa eğiminin açısıdır. Görüntüyü ters yönde döndürürseniz, görüntü düzeltilecektir.

Bu etki aynı zamanda çok kullanışlıdır çünkü gereksiz hataları azaltabilir. Aynısı makine öğrenimi için de geçerlidir. Onu işlenmemiş bir grup veriye göre eğittiğinizde, nihai eğitim sonucu sadece kötü olmakla kalmayıp bunun tersi de olabilir. Sizin için verilen kararlar hepinizdir yanlış. Örneğin, akıllı ürün tavsiyesi için, giriş verileri işlenmezse ve hatta ayarlanan boyutlar işe yaramazsa, makine yanlış yönde önerilerde bulunabilir.

Bu nedenle verilerin işlenmesi çok önemlidir.Gereksiz hataları ortadan kaldırmak ve tüm algoritmaları gerçekten faydalı hesaplamalara sokmak gerekir - bu fikir çok önemlidir.

Üçüncüsü, vektör için görüntüdür. Görüntü dönüştürme vektörü nasıl oluşturulur? Evrişim ve havuzlama işlemlerinden sonra oluşturulan görüntü vektörüdür. Vektörlerin hem büyüklüğü hem yönü vardır.İki vektör arasındaki açı çok küçükse, iki vektör çok yakındır.

Vektörler arasındaki açıyı karşılaştırarak, iki hedefin benzer olup olmadığına karar verebilirsiniz. Örneğin, bilgisayarla görme ile ilgili iki makalenin benzer olup olmadığına karar vermeliyiz. İlk olarak, iki makale bulmalı ve makalelerden birinin anahtar kelimelerini çıkarmalıyız - bir anahtar kelime bir vektördür. Tüm anahtar kelimeler bulunduktan sonra, Vektörün yönünü ve büyüklüğünü hesaplayın. Aynı işlem diğer makalede de gerçekleştirilir.Son olarak, makine iki vektör setini karşılaştırır.Eğer hemen hemen örtüşüyorlarsa, iki makalenin içeriği çok benzerdir. Vektörlerin rolü, makine öğreniminde çok önemlidir.

Görüntü bir vektöre dönüştürüldükten sonra, bu vektörü hesaplamanız ve ardından bunu amaç fonksiyonunun vektörüyle karşılaştırmanız ve ardından aralarındaki açıyı bulmak için geri kalan teoremi kullanmanız gerekir - önceki iki benzer makale arasındaki karşılaştırma bunu kullanır Gerekçe. Bu vektör ve hedef vektörün tamamen çakışması gerekmez İç açı küçük olduğunda, eşik içinde olduğu sürece, ikisinin benzer olduğu ve eşiklerin hepsinin yapay olarak ayarlandığı yargılanabilir.

Son adım, vektör karşılaştırmasıdır. Aynı yüz için karşılık gelen vektör mesafesi küçüktür; farklı yüzler için vektör mesafesi doğal olarak büyüktür.

Vektör hesaplamasında, karşılık gelen elemanların çarpımlarının toplamı olan iç çarpım bir isim vardır ve yukarıda bahsedilen açı hesaplanabilir. Formül şudur:

. Açı ne kadar küçükse, iki yüz o kadar benzerdir.

Yukarıdakiler, bu sayıda davetliler tarafından paylaşılan tüm içeriklerdir. Daha fazla genel sınıf videosu için lütfen izlemek için Leifeng.com'daki AI Araştırma Derneği'ne gidin. WeChat genel hesabını takip edin: AI Araştırma Enstitüsü (okweiwu), en son genel sınıf canlı yayın süresi önizlemesini edinebilirsiniz.

Tachibana Ukyo ayrıca seyirciye de komuta edebilir
önceki
#weitan_ Alıcının mağazası hakkında başka ne söyleyebilirim?
Sonraki
Kablosuz şarj WiTricity ve Nissan derinlemesine işbirliğinde yeni ilerleme
"Eve Köpeğin Yolu" aşk için eve dönüyor
Xiaomi bugün listelendikten sonra ilk finansal raporunu yayınladı; Blockchain WeChat büyük boy engellendi; Google, ABD'de Lei Feng Morning Post'ta dava açtı
Vücudunuzu Luban 7'nin gücünü test etmek için kullanın
Eskiye veda edin ve yeni yıla hoş geldiniz, makine değiştirme konusunda endişelenmeyin! Bu amiral gemileri artık en çok satın almaya değer
Çalışma Qiangguo APP, yukarı akış haberlerinin bu raporunu tüm ülkeye tavsiye ediyor
Tianjin FAW'dan bu küçük arabanın görünümü, bir ortak girişim arabasınınki ile karşılaştırılabilir!
Beijing Baolu - üst düzey bir BIM operasyon ve bakım binası yönetim sistemi kurmak için
En güçlü yerli ürün? Huawei Mate 10 Pro koşu noktaları ortaya çıktı: Kirin 970 ilk kez çarpıcı
Chongqing hisse senedi standı | düşük fiyatlı hisse senetleri tercih edildi, Dima günlük limiti bir kez paylaşıyor!
"Sessiz Tanık" kara göbeği olan umutsuz adli tıp doktoru internette
"İyi oyna" ve "sanatçı" nın çarpışması! J.W. Anderson x UNIQLO ortak adı nasıl bir kıvılcım yaratacak?
To Top