TensorFlow derin öğrenmeye dayalı el yazısı rakam tanıma ve uygulama

0 Önsöz

Bilim ve teknolojinin gelişmesiyle birlikte, yapay zeka tanıma teknolojisi çeşitli alanlarda yaygın olarak kullanılmaya başlanmış ve ayrıca zekaya yönelik bilgisayar uygulamalarının geliştirilmesini teşvik etmiştir. Bir yandan derin öğrenme ve sinir ağları ile temsil edilen yapay zeka modelleri, yurtiçi ve yurtdışındaki akademisyenlerden yoğun ilgi görürken, diğer yandan yapay zeka ve makine öğrenim sistemlerinin açık kaynağı, yapay zeka araştırmalarının geliştirilmesini teşvik etmek için açık bir teknoloji platformu oluşturdu. TensorFlow derin öğrenme çerçevesine dayanan bu makale, Softmax ve CNN modellerini oluşturur ve el yazısı sayıların tanınmasını tamamlar.

LECUN Y ve diğerleri, 0'dan 9'a kadar el yazısıyla yazılmış rakamları tanımak için bir LeNet-5 çok katmanlı sinir ağı önermiştir. Bu araştırma modeli, CNN uygulamasının en eski modelini oluşturmak için Geri Yayılma (BP) algoritması ile öğrenilmiştir. Yapay zeka görüntü tanımanın ortaya çıkmasıyla birlikte CNN bir araştırma noktası haline geldi.Son yıllarda ağırlıklı olarak görüntü sınıflandırma, hedef tespiti, hedef takibi ve metin tanıma alanlarında kullanıldı.Bunlardan AlexNet, GoogleNet, ResNet gibi algoritmalar büyük başarılar elde etti.

Bu makale, Softmax regresyon algoritmasını ve CNN modelini karşılaştırmak ve doğrulamak ve son olarak Android platformunu temel alan eğitimli modeli uygulamak için Google'ın ikinci nesil yapay zeka açık kaynak platformu TensorFlow'u derin öğrenme çerçevesi ile birleştirmeye dayanmaktadır.

9 Kasım 2015'te Google, ikinci nesil yapay zeka öğrenim sistemi TensorFlow'u piyasaya sürdü ve açık kaynaklı hale getirdi. Tensor bir tensörü (N boyutlu sayılardan oluşur), Akış bir veri akış grafiğine dayalı bir hesaplamayı temsil eder ve TensorFlow, akış grafiğinin bir ucundan diğerine bir tensörü akıtan bir hesaplamayı temsil eder. TensorFlow, Uzun Kısa Süreli Bellek Ağları (LSTMN), Tekrarlayan Sinir Ağları (RNN) ve Evrişimli Sinir Ağları (CNN) gibi derin sinir ağı modellerini destekler. TensorFlow'un temel mimarisi Şekil 1'de gösterilmektedir.

Şekil 1'de gösterildiği gibi, TensorFlow'un temel mimarisi ön uç ve arka uç olarak bölünebilir. Ön uç: Çok dilli bir programlama ortamına dayalı olarak, sistem API'lerini çağırarak arka uç programlama modeline erişin. Arka uç: Dağıtılmış bir işletim ortamı, çekirdek, ağ katmanı ve aygıt katmanından oluşan bir işletim ortamı sağlar.

2 Softmax regresyonu

Softmax regresyon algoritması, iki sınıflandırmanın lojistik regresyon problemini çoklu sınıflandırmalara genişletebilir. Regresyon modelinin örnekleminin K sınıflarından oluştuğu ve toplamda m olduğu varsayıldığında, eğitim seti denklem (1) ile temsil edilebilir:

Formülde, x (i) R (n + 1), y (i) {1, 2, ..., K}, n + 1, x özellik vektörünün boyutudur. Verilen bir x girdi değeri için, çıktı K tahmini olasılıkları denklem (2) ile ifade edilir:

Softmax regresyon modelini elde etmek için 1, 2, ..., k parametrelerinde gradyan inişi gerçekleştirin TensorFlow'daki uygulama Şekil 2'de gösterilmektedir.

Matris ifadesini Şekil 2'ye taşıyın, formül (5) alın:

Denklem (5) 'e test seti verilerinin ikame edilmesi ve kategorinin olasılığının hesaplanması, en yüksek olasılığa sahip kategori tahmin edilen sonuçtur.

3 CNN

Evrişimli Sinir Ağı (CNN), genellikle bir veri giriş katmanı, bir evrişimsel hesaplama katmanı, bir ReLU uyarma katmanı, bir havuzlama katmanı, tamamen bağlı bir katman, vb. İçeren ileri beslemeli bir sinir ağıdır. Geleneksel matris çarpma işleminin yerini alacak bir evrişim işlemidir. Sinir ağı. CNN genellikle görüntü verilerinin işlenmesi için kullanılır ve yaygın olarak kullanılan LenNet-5 sinir ağı modeli diyagramı Şekil 3'te gösterilmektedir.

Model, 2 evrişimli katman, 2 örnekleme katmanı (havuzlama katmanı) ve 3 tamamen bağlı katmandan oluşur.

3.1 Evrişimli katman

Evrişim katmanı, kayan evrişim işlemini gerçekleştirmek için ayarlanabilir parametrelere ve önceki katmanın özellik haritasına sahip bir evrişim çekirdeği, artı bir net çıktı elde etmek için bir kayma kullanır ve ardından evrişim sonucunu elde etmek için aktivasyon işlevini çağırır. Grafiğin kayan evrişim işlemi, denklemler (6) ~ (7) 'de gösterildiği gibi yeni bir özellik haritası çıkarır:

3.2 Örnekleme katmanı

Örnekleme katmanı, giriş özelliği haritasını n × n pencereli birden fazla çakışmayan alana bölmek ve ardından görüntüyü n kez azaltmak için her alan için maksimum veya ortalama değeri hesaplamak ve son olarak aktivasyon işlevi aracılığıyla ofseti eklemektir. Örnek verileri alın. Bunlar arasında maksimum değer yöntemi, ortalama değer yöntemi ve çıktı işlevi formül (8) ~ formül (10) 'da gösterildiği gibidir:

3.3 Tamamen bağlı çıktı katmanı

Tam bağlantılı katman, özellik parametrelerini çıkararak orijinal görüntüyü sınıflandırır. Yaygın olarak kullanılan sınıflandırma yöntemleri formül (11) 'de gösterilmektedir:

4 Deneysel analiz

Bu makale TensorFlow derin öğrenme çerçevesine dayanmaktadır, veri kaynağı MNIST veri setini kullanır ve Softmax regresyon algoritması ve CNN derin öğrenme model eğitimi için kullanılır ve ardından eğitilen modeller karşılaştırılıp doğrulanır ve Android platformunda uygulanır.

4.1 MNIST veri seti

MNIST veri seti, 60.000 sıra eğitim veri seti (train-images-idx3) ve 10.000 sıra test veri seti (test-images-idx3) içerir. Her numunenin, numunenin sayısını açıklamak için kullanılan benzersiz bir etiketi (etiketi) vardır.Her resim, Şekil 4'te gösterildiği gibi 28 × 28 piksel içerir.

Şekil 4'ten her bir örnek resmin 784 uzunluğunda bir vektör ile temsil edilebilen 28 × 28 pikselden oluştuğu görülmektedir. MNIST eğitim veri seti, birinci boyut verilerinin indeks resmini temsil etmek için kullanıldığı ve ikinci boyut verisinin her resmin piksellerini temsil etmek için kullanıldığı bir tensöre dönüştürülebilir. Örneğe karşılık gelen etiket, tek sıcak kodlama ile temsil edilebilen, 0 ile 9 arasında bir sayıdır. Tek sıcak kodlamada, belirli bir rakam 1 dışında, diğer boyut numaralarının tümü 0'dır. Örneğin, etiket 0 olarak temsil edilir, bu nedenle örnek etiket tensördür.

4.2 Softmax model uygulaması

Formül (5) 'e göre, Softmax modeli matris temel işlemlerine ve Softmax çağrılarına ayrıştırılabilir.Modelin uygulaması aşağıdaki gibidir: (1) Etkileşimli işlem birimleri oluşturmak için sembolik değişkenler kullanın; (2) Ağırlık değerleri ve önyargı oluşturun; (3) Formül (5) 'e göre Softmax regresyonu gerçekleştirilir.

4.3 CNN model uygulaması

LenNet-5 sinir ağı modeli ile birleştirildiğinde, TensorFlow'a dayalı derin öğrenme modelinin uygulaması aşağıdaki gibidir:

(1) Ağırlık ve önyargıyı başlatın;

(2) Evrişim ve havuzlama şablonları oluşturun;

(3) Evrişim ve havuzlamayı iki kez gerçekleştirin;

(4) Tamamen bağlı çıkış;

(5) Softmax regresyonu.

4.4 Değerlendirme Dizini

Denklem (12) 'de gösterildiği gibi yaygın olarak kullanılan maliyet fonksiyonu "çapraz entropi" (çapraz entropi) kullanılır:

4.5 Model kontrolü

Tahmin sonucu test yöntemi aşağıdaki gibidir:

(1) Eğitimli modeli kaydedin;

(2) Etiket tahmini için giriş testi örnekleri;

(3) Öngörülen etiket değerini elde etmek için tf.argmax işlevini çağırın;

(4) Gerçek etiket değeriyle eşleştirin ve son olarak tanıma oranını hesaplayın.

Yukarıdaki adımlara göre, softmax modeli ve evrişimli sinir ağı, Şekil 5 ve Tablo 1'de gösterildiği gibi el yazısı 0-9 rakamlarının sayısını ve tanıma oranını tanımak için kullanılır.

Tablo 1'de yer alan model tahmin sonuçlarına göre Softmax modelinin en yüksek tanıma oranı olan 1 sayısı için% 97,9'luk bir tanıma oranına sahip olduğu görülmektedir. 3 ve 8 numaralı tanınma oranları görece küçüktür, sırasıyla% 84.9 ve% 87.7. Softmax modeli, 0-9 el yazısı rakamları için% 91,57 genel tanıma oranına sahiptir.

Şekil 5 ve Tablo 1 birleştirildiğinde, CNN modeline dayalı genel tanıma oranının, 3 numaranın tanıma oranının% 14,7 arttığı ve 1 numarasının tanıma oranının yalnızca% 1,7 arttığı Softmax modeline göre daha yüksek olduğu görülmektedir. Derin öğrenme CNN modeline göre, 0-9 el yazısıyla yazılmış rakamların genel tanıma oranı% 99,17'ye kadar çıkmaktadır ve bu, Softmax modelinden% 7,6 daha yüksektir.

4.6 Model uygulaması

Modelin karşılaştırılması ve doğrulanması, derin öğrenme CNN'ye dayalı tanıma oranının Softmax modelinden daha iyi olduğunu göstermektedir. Şimdi çapraz platform uygulaması için eğitilen modeli Android platformuna aktarın. Uygulama aşağıdaki gibidir.

(1) UI tasarımı

Kullanıcının el yazısı dokunmatik ekranının yörüngesini görüntülemek için bir Bitmap kontrolü kullanılır ve sırasıyla dijital tanıma ve ekran temizleme için iki Düğme kontrolü kullanılır.

(2) TensorFlow referansı

Önce jar paketini ve dolayısıyla çağrılması gereken TensorFlow dosyasını derleyin. İkinci olarak, eğitilmiş modeli (.pb) Android projesine aktarın.

(3) Arayüz uygulaması

Arayüz tanımı ve başlatma:

inferenceInterface.initializeTensorFlow (getAssets, MODEL_FILE);

Arayüz çağrısı:

inferenceInterface.fillNodeFloat (INPUT_NODE, yeni int {1, HEIGHT, WIDTH, CHANNEL}, girişler);

Tahmin sonuçlarını alın

inferenceInterface.readNodeFloat (OUTPUT_NODE, çıktılar);

Yukarıdaki adımlar aracılığıyla, Android platform ortamına dayalı inşaat ve uygulama tamamlanabilir. İlk olarak, el yazısı parçasını yakalamak ve kaydetmek için Android dokunmatik ekran işlevini kullanın. El yazısı tamamlandıktan sonra, tanıma düğmesine tıklayın, sistem tanıma için modeli çağıracak ve tanıma sonucunu kullanıcıya verecektir arayüz. Tanıma tamamlandıktan sonra, el yazısı rakamları yeniden tanımak için yukarıdaki işlem adımlarını tekrarlamak için sil düğmesine tıklayın.El ile yazılmış bazı rakamların tanıma etkisi Şekil 6'da gösterilmektedir.

Şekil 6'dan, TensorFlow derin öğrenmeye dayalı el yazısı rakamların tanınmasının Android platformunda tamamlandığı, CNN eğitim modelinin iyi bir tanıma etkisine sahip olduğu ve TensorFlow eğitim modelinin çapraz platform uygulamasının gerçekleştirildiği görülmektedir.

5. Sonuç

TensorFlow derin öğrenme çerçevesine dayanan bu makale, el yazısı dijital eğitim için Softmax regresyonu ve CNN gibi algoritmaları kullanır ve platformlar arası uygulamalar için modeli Android platformuna aktarır. Deneysel veriler, Softmax regresyon modeline dayalı tanıma oranının% 91,57 olduğunu ve CNN modeline dayalı tanıma oranının% 99,17 kadar yüksek olduğunu göstermektedir. Derin öğrenmeye dayalı el yazısıyla yazılmış sayı tanımanın, yapay zeka tanımada belirli bir referans önemi olduğunu göstermektedir.

Referanslar

HUBEL D H, WIESEL T N. Maymun şeritli korteksinin alıcı alanları ve fonksiyonel mimarisi Journal of Physiology, 1968, 195 (1): 215-243.

LECUN Y, BOTTOU L, BENGIO Y, vd. Doküman tanımaya uygulanan gradyan tabanlı öğrenme. IEEE'nin Bildirileri, 1998, 86 (11): 2278-2324.

ZEILER MD, FERGUS R. Evrişimli ağları görselleştirme ve anlama arXiv: 1311.2901.

He Kangjian, Zhou Dongming, Nie Rencan, vb. Yerel kontrol çekirdeğine dayalı renkli görüntü hedef tespit yöntemi Elektronik Teknoloji Uygulaması, 2016, 42 (12): 89-92.

LI H, LI Y, PORIKLI F. DeepTrack: güçlü görsel izleme için çevrimiçi olarak ayırt edici özellik temsillerini öğrenme Görüntü İşleme IEEE İşlemleri, 2015, 25 (4): 1834-1848.

GOODFELLOW I J, BULATOV Y, IBAARZ J, et al. Derin evrişimli sinir ağları kullanarak sokak görünümü görüntülerinden çok basamaklı sayı tanıma. ArXiv: 1312.6082.

KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet sınıflandırma derin evrişimli sinir ağları ile Sinirsel Bilgi İşlem Sistemleri Uluslararası Konferansı, Curran Associates Inc., 2012: 1097-1105.

SZEGEDY C, LIU W, JIA Y, et al.

HE K, ZHANG X, REN S, ve diğerleri. Görüntü tanıma için derin artık öğrenme. ArXiv: 1512.03385.

ABADI M, AGARWAL A, BARHAM P, ve diğerleri TensorFlow: heterojen dağıtılmış sistemlerde büyük ölçekli makine öğrenimi. ArXiv: 1603.04467.

yazar bilgileri:

Huang Rui, Lu Xuming, Wu Yilin

(Bilgisayar Bilimleri Bölümü, Guangdong İkinci Normal Üniversitesi, Guangzhou 510303, Guangdong)

Yuelu Zirvesi "Mobil Hunan Ordusu" nun Hunan'ın gelişimine nasıl yardımcı olduğunu görün
önceki
SUV, pazardaki karanlık atı kapıyor, sahne 580 bir sonlandırıcı olabilir
Sonraki
Kuvvetli rüzgar ve şiddetli yağmur Quanzhou'ya baskın düzenledi! Ağaç küçük arabaya düştü! Lütfen Qingming'e geri dönün ...
"Blog Makale Serisi" Xilinx-7Series-FPGA yüksek hızlı alıcı-verici öğrenme-RX alıcı girişi
Genel evrim, yeni Kia K2 muhteşem dönüşümü
"Endüstri Sıcak Noktaları" Yerli cipsler neden yetersiz? Gerçekten çünkü yapması zor
Oyun Karakter Popülerlik Genel Seçimi 2018 Kadınlar 8 DAY1'de 16 Oylama Noktası
Çalışan ailelerin araç satın alma ihtiyaçlarını karşılamak için 100.000 bağımsız evsel SUV
Vatanseverlik eğitiminin güçlendirilmesi Hunan'da 2019 yılında "Kitabevim · Hayalim" okuma uygulaması başlatıldı
Bellek / SSD fiyatları düşüyor mu? Yetersiz talep nedeniyle, depolama peletlerinin sözleşme fiyatı düşmeye devam ediyor
Çin'deki Veri Bilimi Forumu: Büyük ineklerin bir araya gelmesi, endüstri-üniversite entegrasyonunda yeni bir yükselişin başlangıcı | KDD 2017
Oyun Karakter Popülerlik Genel Seçimi 2018 Erkekler 8 DAY1'de 16 Oylama Noktası
İkinci el araba almak istemiyorum, sana nasıl ikinci el araba alacağını öğreteceğim.
"Endişesiz Market" Noel'de internette yeniden dirildi
To Top