Dua persen dari "kucing" atau yang memotret Master Yoda?

Pada 2016, karena mimpi lama video game dan "hype" di sekitar AI, saya mulai belajar Python.
Ilmu Komputer itu Menyenangkan karena hanya seminggu yang lalu saya melatih model pengenalan pertama, tetapi tanpa menggunakan Python (ada banyak godaan dalam ilmu komputer). Seperti yang diprediksi oleh Andrei Sebrant (Yandex), revolusi teknologi baru telah terjadi. Mengapa Membuat aplikasi pengenalan gambar lebih mudah daripada game komputer. Cukup satu atau dua jam.



Saya menempuh jalan yang "sulit" - saya tidak memilih dari empat model yang sudah dilatih, tetapi saya melatih model saya sendiri. Pustaka ML Inti Apple memungkinkan Anda melakukan ini dengan 6 baris kode atau melalui GUI di taman bermain.

import CreateMLUI let builder = MLImageClassifierBuilder() builder.showInLiveView() 

Sebagian besar waktu dihabiskan untuk mengumpulkan dan memfilter data untuk pelatihan, 70 foto anjing, kucing, dan manusia, tetapi naskah yang ditulis dengan cepat, menjadikan proses ini semi-otomatis.

Saya dulu hanya membaca tentang pembelajaran mesin. Ketika saya mencobanya sendiri, saya menemukan tiga masalah / kesimpulan yang diharapkan:

  1. Data adalah bagian terpenting.
  2. Antarmuka yang ramah pengguna (CoreML). Semuanya hanya berfungsi dan saya tidak ingin masuk ke kode sumber untuk mengetahui detailnya. Pembelajaran mesin dapat diakses oleh pengguna mana pun, tetapi insinyur Apple berusaha menyembunyikan detail yang rumit.
  3. Modelnya adalah kotak hitam. Saya tidak tahu aturan yang digunakan model untuk meyakini bahwa dua persen dari "kucing" di foto.

Eksperimen dengan pengakuan "kucing manusia" telah menyebabkan gagasan bahwa algoritma klasifikasi akan mengatasi "gaya".

Saya memilih empat fotografer dan sekitar seratus foto dari masing-masing. Saya tidak mencoba dengan hati-hati memilih contoh, tetapi hanya menyalin dari koleksi saya seratus pertama atau terakhir gambar Evgeny Mokhorev dan Oleg Videnin . Tidak ada cukup foto Maxim Shumilin , karena tidak hanya potret yang dipilih. Tapi foto-foto Yegor Voinov dipilih lebih hati-hati, karena saya mengunduh dua bagian yang dikhususkan untuk potret di situs webnya.

Saya mulai melatih algoritme dan, rata-rata, mendapat akurasi pengenalan 80% (hasil tes selama pembuatan).

Ada satu momen aneh. Saya menggandakan jumlah foto oleh Oleg Videnin dan sistem hanya belajar 30%, dan akurasi pengenalan turun menjadi 20%.

Sistem harus diperiksa untuk menghindari bias, saya meminta Yegor Voinov untuk mengirim foto yang tidak ada di situs. Hasilnya, algoritma memastikan bahwa 20 foto dari 26 mirip dengan cara Yegor Voinov mengambil potret.

Ini mengkonfirmasi akurasi pengakuan 77% yang diperoleh saat membuat classifier.



Dan kemudian kesenangan dimulai.

Pertama, sistem dapat dilatih dengan menambahkan kembali "kesalahan" ke set pelatihan. Hasilnya berubah, tetapi sistem tidak mengingat foto-foto itu, tetapi menemukan tanda-tanda umum untuk seorang penulis tertentu. Beberapa foto setelah "mengerjakan kesalahan" dikenali oleh sistem sebagai foto Yegor Voinov, dan beberapa tidak.



Kedua, sistem cenderung untuk menghubungkan "telanjang" dengan foto-foto Yevgeny Mokhorev, oleh karena itu ia menulis di bawah "telanjang" langka dari Oleg Videnin bahwa ini adalah foto-foto Mokhorev. Dan segera setelah Anda menunjukkan "berpakaian Mokhorev", sistem dapat "melihat Voinov." Dan kenali foto Yegor Voynov sebagai foto Oleg Videnin.



Pilihan dari foto-foto Maxim Shumilin ternyata sangat heterogen. Oleh karena itu, angka kecil dan potret dengan "blur" yang diucapkan sistem mengacu pada foto-foto Maxim.



Ketiga, sistem dapat melihat foto Master Yoda.


Dan Anda bisa mengambil foto cepat dan mencari tahu di "gaya" siapa foto itu diambil


Dan inilah momen kebenaran. Saya mengunggah potret saya untuk mencari tahu berapa banyak Mokhorev, Videnin, Voinov dan Shumilin ada di dalam saya.



Aplikasi draft PhotoGuru sudah siap. Sejauh ini menurut saya ini adalah mainan yang menyenangkan, tetapi saya akan mengerjakan desain dan memperluas sampel pelatihan.

Singkatnya, Anda perlu memilih kerangka kerja untuk studi lebih lanjut tentang ML.

Source: https://habr.com/ru/post/id437332/


All Articles