Veri artırma: Veriler sınırlı olduğunda derin öğrenme nasıl kullanılır? (Devam etti)

Lei Feng Net Not: Bu makale, Lei Feng'in altyazı grubu tarafından derlenen teknik bir blogdur, orijinal başlık Veri Artırma | Sınırlı Veriye Sahipseniz Derin Öğrenme Nasıl Kullanılır - Bölüm 2, yazar Ralph Fehrer.

Tercüme | Zhao Pengfei ve Tu Shiwen Bitirme | Wu Xuan

Bu makale, görüntü alanına özel derin öğrenme veri geliştirme tekniklerinin kapsamlı bir incelemesidir. Bu, "Sınırlı Verilerle Derin Öğrenmenin Nasıl Kullanılacağı" nın 2. Bölümüdür. 1. Bölüm "NanoNets: Veriler sınırlı olduğunda derin öğrenme nasıl uygulanır?" Bölümünü görüntülemek için burayı tıklayın. ".

Hepimiz bu durumları yaşadık. Makine öğrenimi kavramlarında uzmansınız ve bunları makine öğrenimi modellerine uygulayabilirsiniz. İlgili verileri aramak için tarayıcıyı açın, muhtemelen bir dizi veri ve yüzlerce ilgili fotoğraf bulacaktır.

En popüler veri kümelerinin binlerce görüntüye (veya daha fazlasına) sahip olduğunu hatırlayacaksınız. Bir zamanlar birinin büyük bir veri kümesine sahip olmanın performans için kritik olduğunu söylediğini de hatırlayacaksınız. Hayal kırıklığına uğrayacak ve bilmek isteyeceksiniz: En üst düzey sinir ağı sınırlı miktarda veriyle iyi çalışabilir mi?

Cevap evet, ancak mucizeye şahit olmadan önce bazı temel sorular üzerinde düşünmemiz gerekiyor.

Neden çok fazla veriye ihtiyaç var

Yaygın olarak kullanılan sinir ağı parametrelerinin sayısı.

Bir makine öğrenimi modelini eğittiğinizde, gerçekte yaptığınız şey, belirli bir girişi (bir görüntü) çıktıya (etiket) eşlemek için parametreleri ayarlamaktır. Optimizasyonumuzun amacı, optimizasyon parametrelerini doğru şekilde ayarlayarak elde edilebilecek model kaybını en aza indirmektir.

Başarılı sinir ağlarının milyonlarca parametresi vardır!

Doğal olarak, çok sayıda parametreniz varsa, mükemmel performans elde etmek için makine öğrenimi modelinizin aynı oranlarından örnekler sağlamanız gerekir. İhtiyaç duyduğunuz parametre sayısı, gerçekleştirmeniz gereken görevin karmaşıklığı ile de orantılıdır.

Çok fazla veri olmadan nasıl daha fazla veri elde edilir?

Aslında veri kümenize çok fazla görsel eklemenize gerek yok, neden? Sinir ağı başından beri akıllı olmadığı için, örneğin eğitimden yoksun bir sinir ağı, aşağıdaki üç tenis topunun farklı ve bağımsız görüntüler olduğunu düşünecektir.

Aynı tenis topu, sinir ağının farklı bir yorumuna sahiptir.

Bu nedenle, daha fazla veri elde etmek için sadece mevcut veri setinde küçük ayarlamalar yapmamız gerekiyor. Örneğin çevirin, çevirin veya döndürün. Sinir ağı bu verilerin farklı olduğunu düşünecek.

Sporda veri geliştirme

Evrişimli sinir ağının değişmezlik denen bir özelliği vardır Evrişimsel sinir ağı farklı yönlere yerleştirilse bile nesneleri sınıflandırabilir. Daha spesifik olarak, evrişimli sinir ağları, çeviriye, görüş açısına, boyutuna veya aydınlığa (veya yukarıdakilerin bir kombinasyonuna) değişmezliği korur.

Bu, veri geliştirmenin temel dayanağıdır. Gerçek dünyada, sınırlı koşullar altında çekilmiş bir dizi görüntümüz olabilir. Ancak hedef uygulamamız değişken bir ortamda olabilir, örneğin farklı yönler, pozisyonlar, oranlar, parlaklık vb. Yapay olarak değiştirilmiş verileri kullanarak bu durumlarla başa çıkmak için sinir ağlarını eğitiyoruz.

Çok fazla veriniz olsa bile, verileri geliştirmek yardımcı olur mu?

elbette. Bu, veri kümesindeki ilgili veri miktarını artırmaya yardımcı olacaktır. Bu, sinir ağlarının öğrenme yöntemiyle ilgilidir, bir örnekle açıklayayım.

Veri kümesinde iki sınıf varsayın. Soldaki A markasını (Ford) ve sağdaki B markasını (Chevrolet) temsil ediyor.

Eğitimin tamamlandığını ve yukarıdaki görüntünün, yani Marka A'nın girdi olduğunu varsayalım. Ama sinir ağı çıktınız onun B marka bir araba olduğunu düşünüyor! Gelişmiş sinir ağlarının kullanımının% 95 doğru bir orana sahip olması gerekmez mi? Abartmıyorum, geçmişte benzer şeyler oldu.

Ford (marka A), ancak sağa dönük.

Bu neden oluyor çünkü makine öğrenimi algoritmalarının çoğu böyle çalışıyor. Bir sınıfı diğerinden ayıran en bariz özellikleri arar. Bu örnekte, özellik, A markalı tüm otomobillerin sola dönük ve B markalı tüm otomobillerin sağa dönük olmasıdır.

Sinir ağının kalitesi, giriş verilerine bağlıdır.

Bunun olmasını nasıl engelleyebiliriz? Veri setindeki alakasız özelliklerin sayısını azaltmamız gerekiyor. Yukarıdaki araba türü sınıflandırıcı için en basit çözümlerden biri, veri kümesindeki her kategori için farklı yönlere bakan araba fotoğrafları eklemektir. Daha da iyisi, aracın diğer tarafa bakması için yalnızca mevcut veri kümesindeki fotoğrafları yatay olarak çevirmeniz gerekir. Şimdi, sinir ağını yeni veri kümesiyle eğitin ve istediğiniz sonuçları elde edin.

Veri setini geliştirerek, sinir ağının ilgisiz kalıpları öğrenmesini engelleyebilir ve genel performansı temelden iyileştirebilirsiniz.

Başlamaya hazır

Çeşitli geliştirme teknolojilerine girmeden önce, önce bir sorunu düşünmeliyiz.

Veri artırma makine öğrenimi sürecinin neresinde yapılır?

Cevap oldukça açık: modele beslemeden önce veri setini geliştirin, değil mi? Evet, ancak iki seçeneğiniz var: Birincisi, veri kümesinin boyutunu kökten artırmak için gerekli tüm dönüştürmeleri önceden yapmaktır. Diğeri ise, makine öğrenimi modeline girmeden hemen önce küçük gruplar halinde dönüşümler gerçekleştirmektir.

İlk öğeye çevrimdışı geliştirme adı verilir. Bu yöntem genellikle nispeten küçük veri kümeleri için kullanılır. Sonuçta, veri kümesinin boyutunu, gerçekleştirilen dönüştürme sayısına eşit bir faktörle artıracağınız için (örneğin, tüm görüntüleri ters çevirerek, veri kümelerinin sayısı 2 kat artacaktır).

İkinci seçenek, çevrimiçi geliştirme veya dinamik geliştirme olarak adlandırılır. Çoğunlukla daha büyük veri kümeleri için kullanılır, çünkü verinin aşırı büyümesini karşılayamazsınız. Bunun yerine, modele girilecek olan küçük veri kümesinde ilgili değişiklikleri gerçekleştirebilirsiniz. Birçok makine öğrenimi mimarisi, halihazırda çevrimiçi geliştirmeyi desteklemektedir ve GPU ile hızlandırılabilir.

Yaygın olarak kullanılan geliştirme teknikleri

Bu bölümde, şu anda yaygın olarak kullanılan bazı temel ancak güçlü geliştirme tekniklerini tanıtacağız. Bu tekniklerden bahsetmeden önce, basitlik adına, resim sınırlarının dışındaki şeyleri önemsememize gerek olmadığını varsayalım. Aşağıdaki teknikler kullanılırsa hipotezimiz geçerli olacaktır.

Kullanılan teknoloji görüntü sınırının dışındaki alana odaklanırsa ne olur? Bu durumda, bazı bilgiler eklememiz gerekiyor. Veri geliştirme türlerini tartıştıktan sonra, bu konuyu ayrıntılı olarak tartışacağız.

Veri setini geliştirmek için her teknoloji için bir geliştirme faktörü tanımlıyoruz (veri geliştirme faktörü olarak da bilinir).

1. çevir

Resmi yatay veya dikey olarak çevirebilirsiniz. Bazı mimariler görüntünün dikey olarak çevrilmesini desteklemez. Bununla birlikte, dikey olarak çevirmek, resmi 180 döndürmek ve ardından yatay olarak çevirmekle eşdeğerdir. Aşağıdaki resim çevirme örneğidir.

Soldan başlayarak: orijinal görüntü, yatay çevirme görüntüsü, dikey çevirme görüntüsü.

Aşağıdaki komut uygulanarak görüntü tersine çevrilebilir.

2. Döndür

Bu işlemle ilgili olarak dikkat edilmesi gereken önemli bir konu, döndürmeden sonra görüntü boyutlarının korunamayabilmesidir. Kare bir resim ise, resmin boyutu 90 derece döndürüldükten sonra kaydedilir. Görüntü dikdörtgen ise, görüntü boyutu da 180 derece döndürüldükten sonra kaydedilir. Ancak görüntüyü daha küçük bir açıyla döndürmek, son görüntünün boyutunu değiştirecektir. İlerleyen bölümlerde bu sorunun nasıl çözüleceğini göreceğiz. Aşağıdaki, 90 derece döndürülmüş kare bir görüntü örneğidir.

Soldan sağa hareket ettikçe, görüntü önceki görüntüye göre saat yönünde 90 derece döndürülür.

Görüntü döndürmeyi tamamlamak için aşağıdaki komutlardan herhangi birini uygulayabilirsiniz. Veri geliştirme faktörü = 2 ila 4x

3. Yakınlaştır

Görüntü büyütülebilir veya küçültülebilir. Yakınlaştırırken, büyütülmüş görüntünün boyutu orijinal boyutundan daha büyük olacaktır. Çoğu görüntü işleme mimarisi, büyütülmüş görüntüyü orijinal boyutuna göre kırpar. Bir sonraki bölümde görüntü küçültmeyi tartışacağız çünkü görüntü küçültme görüntü boyutunu küçültür ve bu da bizi görüntü sınırları dışındaki şeyler hakkında varsayımlar yapmaya zorlar. Aşağıda bir görüntü ölçekleme örneği verilmiştir.

Soldan başlayarak: orijinal görüntü, görüntü% 10 oranında büyütülür ve görüntü% 20 oranında büyütülür.

Aşağıdaki komutla görüntü yakınlaştırmayı gerçekleştirin. Veri geliştirme faktörü = herhangi.

4. Kes

Ölçeklemeden farklı olarak, orijinal görüntünün bir bölümünü rastgele örnekliyoruz. Ardından görüntünün bu bölümünü orijinal görüntü boyutuna ayarlayın. Bu yöntem daha yaygın olarak rastgele kırpma olarak adlandırılır. Aşağıda rastgele kırpma örneği verilmiştir. Daha yakından bakarsanız, iki kırpma ve ölçekleme tekniği arasındaki farkı göreceksiniz.

Soldan başlayarak: orijinal görüntü, sol üst köşeden kare bir parça kesin ve ardından sağ alt köşeden kare bir parça kesin. Kırpılan kısım, orijinal görüntü boyutuna ayarlanır.

Aşağıdaki TensorFlow komutlarıyla rastgele kırpma yapabilirsiniz. Veri geliştirme faktörü = herhangi.

5. Kaydırma

Çeviri, görüntüyü X veya Y yönünde (veya aynı anda her iki yönde) hareket ettirmektir. Aşağıdaki örnekte, görüntü sınırının dışındaki siyah arka planın da eşzamanlı olarak hareket ettiğini varsayıyoruz. Bu veri geliştirme yöntemi çok kullanışlıdır, çünkü çoğu nesnenin görüntünün herhangi bir yerine dağıtılması muhtemeldir. Bu, evrişimli sinir ağınızı tüm yerleri görmeye zorlar.

Soldan başlayarak: orijinal görüntü, görüntü sağa çevrilir ve görüntü yukarı doğru çevrilir.

TensorFlow'da, aşağıdaki komutlarla görüntü çevirisini tamamlayabilirsiniz. Veri geliştirme faktörü = herhangi.

6. Gauss gürültüsü

Aşırı uyum, genellikle sinir ağı yüksek frekanslı özellikleri (yani çok sık görülen anlamsız kalıpları) öğrenmeye çalıştığında meydana gelir ve bu yüksek frekanslı özellikleri öğrenmek modelin gelişmesine yardımcı olmaz.

Peki bu yüksek frekanslı özelliklerle nasıl başa çıkılır? Yöntemlerden biri, temelde tüm frekanslarda veri noktaları oluşturabilen, yüksek frekans özelliklerini etkili bir şekilde bozabilen ve model üzerindeki etkisini azaltabilen sıfır ortalama özellikli Gauss gürültüsünü kullanmaktır.

Ancak bu aynı zamanda düşük frekanslı bileşenlerin (genellikle ilgilendiğiniz özellikler) de etkileneceği anlamına gelir, ancak sinir ağı bu etkileri görmezden gelmeyi öğrenebilir. Gerçekler, sinir ağlarının öğrenme yeteneğinin uygun miktarda gürültü eklenerek etkili bir şekilde geliştirilebileceğini kanıtladı.

"Zayıflatılmış" versiyon, rastgele beyaz ve siyah piksellerle sunulan ve tüm görüntüyü kaplayan tuz ve biber gürültüsüdür. Bu yöntem görüntü üzerinde Gauss gürültüsü eklemeyle aynı etkiye sahiptir, ancak etki nispeten zayıftır.

Soldan başlayarak: orijinal görüntü, Gauss gürültüsü eklenmiş görüntü ve tuz ve biber gürültüsü eklenmiş görüntü.

TensorFlow'da, görüntüye Gauss gürültüsü eklemek için aşağıdaki kodu kullanabilirsiniz. Veri Arttırma Faktörü = 2x.

Gelişmiş geliştirme teknolojisi

Gerçek dünyada, doğal haldeki veriler çeşitli durumlarda mevcuttur ve yukarıda belirtilen basit yöntemlerle işlenemez. Örneğin, fotoğraflarda manzara tanıma görevini gerçekleştirin. Manzara doğadaki herhangi bir şey olabilir: donmuş tundra, otlak, orman vb. Basit bir sınıflandırma görevi gibi görünüyor, değil mi? Temelde tek bir şey dışında sorun yok. Fotoğraftaki önemli bir özelliği görmezden geliyoruz ve bu özellik modelin - fotoğrafın çekildiği sezonun performansını etkileyecek.

Sinir ağımız, belirli manzaraların çeşitli koşullar altında (kar, ıslak, parlak vb.) Var olabileceğini anlamazsa, donmuş göl kenarlarını yanlışlıkla buzullar veya bataklıkları sulak alanlar olarak işaretleyebilir.

Bu durumu hafifletmenin bir yolu, tüm mevsimsel değişiklikleri hesaba katabilmemiz için daha fazla resim eklemektir. Ancak bu zor bir görev. Veri artırma konseptimizi genişleterek, yapay olarak farklı mevsimsel etkiler üretmenin ne kadar havalı olacağını hayal edin.

Koşullu Üretken Çekişmeli Ağ, hakkında bilgi edinin

Karmaşık ayrıntıların derinliklerine inmek gerekli değildir, koşullu üretici hasım ağı, bir resmi bir alandan diğerine dönüştürebilir. Bunun çok belirsiz olduğunu düşünüyorsanız, durum böyle değil; aslında, bu güçlü bir sinir ağı! Aşağıda, yaz manzarası resimlerini kış manzarasına dönüştürmek için Koşullu GAN'ların bir uygulaması bulunmaktadır. nın bir örneği.

CycleGAN ile mevsimleri değiştirin

(Github: https://junyanz.github.io/CycleGAN/)

Yukarıdaki yöntem sağlamdır (Sağlam), ancak hesaplama açısından yoğundur ve çok fazla hesaplama performansı gerektirir. Daha ucuz bir seçenek sözde Sinir Stili Aktarımıdır. Bir görüntünün dokusunu / ambiyansını / görünümünü ("stil" olarak da bilinir) yakalar ve onu diğer içerikle karıştırır. Bu güçlü tekniği kullanarak, koşullu üretici düşman ağımız tarafından üretilene benzer bir etki üretiriz (aslında bu yöntem cGAN'ların icadından önce önerilmiştir!).

Bu yöntemin tek dezavantajı, çıktının gerçekçi olamayacak kadar sanatsal görünmesidir. Bununla birlikte, derin öğrenme gibi görüntü stili dönüştürme konusunda hala benzersiz avantajlara sahiptir, en azından çıktı sonuçları etkileyicidir.

Derinlemesine fotoğraf stili aktarımı.

Veri setinde istediğimiz etkiyi nasıl yaratacağımıza dikkat edin.

(Kaynak: https://arxiv.org/abs/1703.07511)

İç çalışma prensipleri ile ilgilenmediğimizden, bu teknolojileri derinlemesine incelemedik. Aslında, veri geliştirme için mevcut eğitimli modeli ve biraz da aktarım öğrenmenin "sihirli gücünü" kullanabiliriz.

Enterpolasyona giriş

Siyah arka planı olmayan bir resmi kaydırmak isterseniz ne olur? İçeri doğru yakınlaştırmaya ne dersiniz? Belirli bir açıyı döndürmek mi? Bu dönüşümleri tamamladıktan sonra orijinal görüntünün boyutunu korumamız gerekiyor. Görselimiz sınırları dışındaki alan hakkında herhangi bir bilgi içermediğinden, bazı varsayımlarda bulunmamız gerekiyor. Genel olarak konuşursak, görüntü sınırının dışındaki kısımdaki her pikselin değerinin sabit 0 olduğunu varsayacağız (RGB değeri 0, siyah anlamına gelir). Bu şekilde görüntü dönüştürüldükten sonra görüntünün kapatılmadığı bir siyah alan elde edilecektir.

Soldan başlayarak: görüntü saat yönünün tersine 45 derece döndürülmüş, görüntü sağa çevrilmiş ve görüntü içe doğru yakınlaştırılmıştır.

Ancak bu varsayım her zaman doğru mudur? Gerçek dünyada, bu varsayım çoğu durumda geçerli değildir. Görüntü işleme ve makine öğrenimi çerçeveleri tarafından sağlanan bazı standart işleme yöntemleriyle, bilinmeyen alanı nasıl dolduracağınıza karar verebilirsiniz.

Soldan başlayarak: sabit, kenar, yansıma, simetri ve sarma modu.

Tanımları aşağıdaki gibidir:

1. Sabit dolgu

En basit enterpolasyon yöntemi, bilinmeyen alanı sabit bir değerle doldurmaktır. Bu, doğal görüntüler için uygun olmayabilir, ancak tek renkli bir arka plana karşı çekilen görüntüler için kullanılabilir.

2. Kenar genişletme

Görüntünün kenarının değerini sınırın ötesine genişletin. Bu yöntem, hafifçe kaydırılmış görüntüler için kullanılabilir.

3. Düşünme

Görüntü piksel değerleri, görüntü sınırı boyunca yansıtılır. Bu yöntem, ağaçları, dağları vb. İçeren sürekli veya doğal arka planlar için kullanışlıdır.

4. Simetri

Bu yöntem, yansıma sınırında kenar piksel kopyasının gerçekleştirilmesi dışında yansımaya benzer. Genellikle yansıma ve simetri birbirinin yerine kullanılabilir, ancak çok küçük görüntü veya desenlerle uğraşırken fark görünür olacaktır.

5. Paket

Görüntüyü, sanki döşeniyormuş gibi, görüntü sınırının ötesindeki bölümde tekrar tekrar doldurun. Bu yöntem diğerleri kadar yaygın olarak kullanılmamaktadır, çünkü birçok senaryo için anlamsızdır.

Ek olarak, tanımlanmamış alanlarla başa çıkmak için kendi yöntemlerinizi de tasarlayabilirsiniz, ancak genellikle yukarıdaki yöntemlerin çoğu sınıflandırma problemi için iyi sonuçları vardır.

Makine öğrenimi algoritmalarının sağlamlığı tüm bu teknolojileri kullanarak garanti edilebilir mi?

Doğru yöntemi kullanıyorsanız bu sorunun cevabı Evet! Ne? Doğru yol nedir? Bazen tüm geliştirme teknikleri veri seti için anlamlı değildir. Araba örneğimizi tekrar düşünün. İşte görüntüyü değiştirmenin bazı yolları.

İlk görüntü (soldan başlayarak) orijinal görüntüdür, ikinci görüntü yatay olarak çevrilir, üçüncü görüntü 180 derece döndürülür ve son görüntü 90 derece (saat yönünde) döndürülür.

Elbette bunlar aynı arabanın fotoğraflarıdır, ancak hedef uygulamanız bu yönlerdeki arabaları asla göremeyebilir.

Örneğin, yoldaki rastgele araçları sınıflandırmak istiyorsanız, yalnızca ikinci görüntü veri kümesi için anlamlıdır. Ancak, araba kazaları ile ilgilenen bir sigorta şirketiniz varsa ve kazada ters düşen, kaza yapan arabayı da tespit etmek istiyorsanız, üçüncü resim anlamlıdır. Son görüntü her iki durumda da anlamlı olmayabilir.

Önemli olan, gelişmiş teknolojiyi kullanırken, gereksiz verilerin eklenmediğinden emin olmamız gerektiğidir.

Gerçekten buna değer mi?

Bazı sonuçları dört gözle bekliyor olabilirsiniz. Mantıklı, bunu ben de yaptım. Öncelikle, veri artırmanın gerçekten işe yarayabileceğini kanıtlamak için küçük bir örnek kullanmama izin verin. Buna inanmıyorsanız, doğrulamak için bu deneyi yeniden oluşturabilirsiniz.

Verileri dört kategoriden birine sınıflandırmak için iki sinir ağı oluşturalım: kedi, aslan, leopar veya kaplan. Aradaki fark, birinin veri artırmayı kullanmaması, diğerinin ise veri artırmayı kullanmasıdır. Veri seti bu bağlantıdan indirilebilir.

Veri setine bakarsanız, eğitim seti ve test setinde her kategoride sadece 50 görsel olduğunu göreceksiniz. Açıkçası, belirli bir sınıflandırıcı için geliştirme tekniklerini kullanamayız. Adil olmak gerekirse, modelin veri kıtlığıyla başa çıkmasını sağlamak için aktarım öğrenimini kullanıyoruz.

Veritabanında dört kategori

Veri geliştirme içermeyen sinir ağı için VGG19 ağ yapısını kullanacağız. Bu VGG19'un uygulanmasına dayanarak, TensorFlow ile ilk sinir ağımızı hayata geçirdim. Github Repo'mu klonladıktan sonra, veri setini buradan alabilir ve VGG19. Npy'yi (aktarımla öğrenme için) buradan indirebilirsiniz. Yukarıdaki çalışmayı tamamladıktan sonra, performansı doğrulamak için modeli çalıştırabilirsiniz.

Bununla birlikte, veri geliştirme için ek kod yazmak gerçekten zaman alıcı ve zahmetli bir iştir. Bu yüzden, ikinci modelimizi oluştururken Nanonets kullandım. En az miktarda veriyle en iyi sonuçları sağlayabilen aktarım öğrenimini ve veri genişletmeyi dahili olarak gerçekleştirir. Tek yapmanız gereken, verileri web sitelerine yüklemek ve sunucularının eğitimi bitirmesini beklemektir (genellikle yaklaşık 30 dakika). Karşılaştırmalı deneyimiz için bunun ne kadar mükemmel olduğunu bilmelisiniz.

Eğitimi tamamladıktan sonra, testin doğruluğunu hesaplamak için API talebini çağırabilirsiniz. İlgili örnek kod parçacığını GitHub deposunda bulabilirsiniz (model kimliğini kod parçacığına eklemeyi unutmayın).

Karşılaştırma sonucu etkileyici, değil mi? Aslında çoğu model daha fazla veri üzerinde daha iyi performans gösterebilir. Somut bir kanıt sağlamak için aşağıdaki tabloya daha yakından bakın. Cifar 10 (C10) ve Cifar 100 (C100) veri kümelerinde yaygın olarak kullanılan sinir ağlarının hata oranını gösterir. C10 + ve C100 + sütunları, veri geliştirmeden sonraki hata oranıdır.

Cifar 10 ve Cifar 100 veri kümelerinde performans

(Kaynak: DenseNet)

Lei Feng Ağı Lei Feng Ağı

"Dünün Mavi Gökyüzü" filmi Fujian'da kampüs ateşini ateşledi "Gençlik bana Qi Jingxuan borçlu"
önceki
Qing Hanedanı öldü mü? Çin'in en büyük ikinci işletim sistemi iOS değil
Sonraki
Çok sıcak! Happy Twist 15. yıldönümü, Happy Camp, Happy Twist için bir şarkı yazdı
Alibaba akıllı kilit sektörüne girdi ve akıllı bir ekosistem geliştirmek için Kadis ile el ele verdi
NanoNets: Veriler sınırlı olduğunda derin öğrenme nasıl uygulanır?
"Bebek" Toronto devam ediyor, yönetmen Liu Jie: Cevapsız tartışma daha anlamlı
Altın satın alma paniği: Çinli teyzelerin yanı sıra tüm ülkelerin merkez bankaları da çekim yaptı
Akıllı bir gaz ocağının doğuşu mutfağınızın sihrini daha da güçlü kılar
vivo X9Plus tadım toplantısı 26 Aralık'ta yapılacak: Peng Yuyan katılacak
Bilmeden 22 yıldır koruyor! Detective Conan'daki en unutulmaz karakterlerin envanteri
Dikkatli ol! Bu bilgisayar korsanlığı aracı, özel videolarınızı büyük ölçekli web sitelerine yükleyebilir
Sahte bir süpermarketi ziyaret etmiş olabilirsiniz! RT-Mart, ticari marka ihlali nedeniyle Shanzhai "RT-Mart" a dava açtı
Her senaryoda akıllı Ev Yapay Zekasının yeni çağına liderlik eden Oribo MixPad, öne monte akıllı ev girişi oluşturur
Charm blue note5 / note5 metal pozlama: 999 yuan'dan başlayan 2,5 GB RAM
To Top