How to improve the interpretability of deep learning models

1. Latar Belakang

Meskipun industri telah membuat beberapa kemajuan di bidang gambar dan NLP di bidang visualisasi dan interpretabilitas, bidang periklanan komputasi masih kosong, dan hanya ada sedikit platform atau alat yang dapat digunakan untuk referensi. Premis visualisasi adalah untuk mengungkapkan data yang relevan dari model pelatihan terlebih dahulu, untuk melakukan analisis dan evaluasi visual, dan akhirnya membuat transisi jaringan saraf dari kotak hitam ke kotak putih, dan meningkatkan interpretasi model sampai batas tertentu. . Namun, kerangka pembelajaran mendalam yang ada tidak cukup mendukung paparan data, dan itu tidak cukup untuk memenuhi semua kebutuhan pelatihan harian, terutama untuk beberapa masalah yang sulit, bahkan lebih sulit untuk menemukan dan menganalisis, dan bahkan tidak mungkin untuk melakukan debug.

Pada saat yang sama, dengan peningkatan tajam dalam kompleksitas jaringan, indikator evaluasi pembelajaran mesin tradisional, seperti underfitting/overfitting/precision rate (PR)/recall rate (Recall), tidak dapat mengevaluasi model jaringan deep learning secara komprehensif. cara atau mengeksplorasi cara untuk mencoba mendefinisikan sistem kualitas pembelajaran mendalam, sehingga dapat membantu orang lebih memahami dan mengevaluasi model itu sendiri, yaitu, dalam kondisi tertentu, dengan meningkatkan kualitas pembelajaran mendalam Interpretabilitas dan keandalan meningkatkan kemampuan kontrol dari model jaringan.

Berdasarkan hal ini, sambil meningkatkan manajemen siklus hidup tugas-tugas pelatihan, platform berkomitmen untuk menyediakan metode eksfiltrasi data yang lebih komprehensif (seperti fungsi eksfiltrasi data pembaruan dinamis online yang baru ditambahkan dalam edisi ini), dan menggunakan multidimensi unik visualisasi pembelajaran mendalam, dll. Orientasi berkembang sebagai fungsi inti.

2. Arsitektur sistem DeepInsight

Sejauh ini: ilmu data bertanggung jawab atas wawasan; pembelajaran mesin bertanggung jawab atas prediksi; kecerdasan buatan bertanggung jawab atas perilaku. Pada saat yang sama, ada banyak tumpang tindih antara bidang-bidang ini. Ilmu data berbeda dari dua bidang lainnya karena tujuannya sangat dekat dengan manusia: mendapatkan wawasan dan pemahaman, itulah sebabnya platform DeepInsight dinamai.

DeepInsight adalah platform evaluasi visual pembelajaran mendalam berdasarkan penyebaran kluster layanan mikro terdistribusi. Ini terdiri dari tiga subsistem: platform WEB front-end + layanan mikro back-end + komponen pembelajaran mendalam. Setiap instance layanan mikro diisolasi dan tidak saling mempengaruhi; saat ini Mendukung manajemen siklus hidup TensorflowRS dan tugas pelatihan Tensorflow asli. Ini bertujuan untuk memecahkan serangkaian masalah seperti model debugging dan analisis lokasi masalah melalui pengungkapan data dan visualisasi, dan meningkatkan interpretabilitas jaringan saraf; melaksanakan tugas pelatihan dengan cara manajemen siklus hidup, sehingga menyediakan layanan evaluasi visual satu atap. Sementara platform memberdayakan bisnis, bisnis juga akan memberi umpan balik data pasca-pemrosesan ke platform, sehingga membangun ekosistem visualisasi AI dengan DeepInsight sebagai inti data inti.

3. Analisis visual multidimensi berdasarkan eksfiltrasi data

Saat ini, komponen pembelajaran mendalam (TF-Tracer/TF-Profiler, dll.) terutama bertanggung jawab atas eksfiltrasi data, pemantauan real-time dan kontrol keluaran, dll., dan data yang dipancarkan sebagian besar adalah Data Mentah (statistik yang belum diproses atau dihitung) dalam proses pelatihan model; Layanan mikro akhir (Tensorboard+/Notebook+) dan platform WEB front-end (visualisasi dimensi tinggi) bertanggung jawab atas analisis visual dan evaluasi aspek interaktif online dan offline dari data yang relevan; manajemen siklus hidup ( Lifecycle) dari tugas pelatihan model berjalan sepanjang jalan, sehingga membentuk siklus ekologis analisis visual multidimensi.

3.1 Komponen Pembelajaran Mendalam

Karena keterbatasan fungsi yang disediakan oleh kerangka pembelajaran dalam asli, ini tidak dapat sepenuhnya memenuhi kebutuhan debugging dan analisis pelatihan harian. Komponen deep learning DeepInsight terhubung secara transparan ke framework Tensorflow, mendukung pelatihan model lokal dan terdistribusi, dan dapat diinstal sebagai library pihak ketiga.

1) Komponen plug-and-play yang ditulis berdasarkan kerangka kerja pembelajaran mendalam asli Tensoflow API (tf.train.SessionRunHook) tidak mengharuskan pengguna untuk mengembangkan kode tambahan, dan komponen yang sesuai hanya dapat digunakan dengan menambahkan informasi konfigurasi yang sesuai melalui file konfigurasi;

2) Informasi konfigurasi terdiri dari dua bagian: sakelar komponen dan informasi parameter konfigurasi komponen:

Setelah sakelar komponen yang sesuai dihidupkan, fungsi komponen tidak akan berdampak besar pada kinerja tugas pelatihan asli, untuk memastikan efisiensi pelatihan online;

Setelah mematikan sakelar komponen yang sesuai, tidak akan ada dampak fungsional atau kinerja pada tugas pelatihan asli;

3.1.1 TF-Tracer: pengungkapan data yang komprehensif berdasarkan grafik perhitungan

Komponen paparan data TF-Tracer dikembangkan berdasarkan grafik perhitungan Tensorflow (tf.Graph), yang dapat sepenuhnya mengungkapkan semua variabel (tf.Variable) dalam grafik perhitungan, berdasarkan kumpulan data grafik (tf.GraphKeys), melalui ekspresi reguler Melakukan pemfilteran pencocokan pada kumpulan variabel untuk mengungkapkan kumpulan data variabel yang sesuai, dan juga mendukung secara langsung menentukan daftar variabel untuk pengungkapan data, dan mendukung NumPy/Bin dua format data untuk keluaran.

Untuk variabel dalam grafik non-komputasi, pengguna juga dapat menambahkannya ke kumpulan data grafik prasetel resmi atau kumpulan data grafik khusus dengan mengisi ulang;

Untuk konstanta atau variabel yang konstan selama pelatihan, didukung untuk mengungkapkan hanya sekali di awal pelatihan dalam bentuk [AT BEGIN], sehingga meningkatkan kinerja dan menghemat ruang penyimpanan;

Menyediakan pemfilteran kapasitas penyimpanan variabel keluaran, nilai default preset, dan mendukung pengguna untuk menyesuaikan pengaturan sesuai dengan skenario aplikasi, di antaranya metode [AT BEGIN] dapat mengatur batas ukuran variabel numpy.ndarray.shape secara terpisah;

Mendukung keluaran multi-sesi terdistribusi, menyediakan opsi konfigurasi cheif_only, tentukan apakah hanya file data keluaran work0;

Tiga mode pengambilan sampel data didukung:

1) every_steps: pengambilan sampel berdasarkan jumlah langkah;

2) every_secs: berdasarkan pengambilan sampel waktu;

3) step_range: Pengambilan sampel berdasarkan rentang langkah;

Empat mode keluaran didukung:

1) HDFS: Menghasilkan file log dengan variabel sebagai perincian terkecil, menghasilkan folder yang sesuai untuk setiap pekerja, dan mengekspos data ke sistem file HDFS secara real time, mendukung dua format Teks/Bin, dan saat ini menyimpan dalam format CSV secara default, mendukung Pembacaan langsung ODPS;

2) ODPS: Streaming data secara real-time ke ODPS melalui Swift Client dalam bentuk Streaming, dan menyediakan UDF yang relevan untuk referensi;

3) Logview: Data diekspos ke platform WEB front-end, dan data disegarkan secara real time. Untuk kasus sejumlah besar informasi log, ini mendukung berbagai level log seperti ringkasan (informasi spesifik dapat ditanyakan melalui metode HDFS atau ODPS yang disebutkan di atas) dan informasi terperinci;

4) Tensorboard+: Ini mendukung eksfiltrasi data secara real-time ke plugin TensorBoard+ Text. Karena banyaknya informasi log, ini mendukung dua level log: ringkasan log dan jalur penyimpanan file;

Berbagai metode tampilan visual:

1) Platform WEB front-end mendukung tampilan visualisasi data dimensi tinggi: mendukung banyak mode (bagan area/histogram, dll.), mendukung sumbu waktu yang berbeda (berdasarkan input lapisan/langkah global), mendukung rotasi dinamis dan zoom-in dan tampilan zoom-out, dan mendukung pengunggahan data (tunggal/batch) ke ODPS;

2) Gunakan meja kerja online (Microservice Notebook+) untuk membaca data untuk analisis visual interaktif, menyediakan TF-Tracer Reader untuk membaca data HDFS, dan pra-instal perangkat lunak sains data seperti PyODPS/scikit-learn/Matplotlib;

Saat ini, TF-Tracer telah diterapkan pada tugas-tugas pelatihan online, seperti pembelajaran online, yang akan mengungkapkan data ke ODPS secara real time.Hasil pengujian performa adalah sebagai berikut:

3.1.2 Teknologi hitam TF-Tracer: set data pembaruan dinamis online terungkap secara real time

Metode eksfiltrasi data kerangka pembelajaran mendalam yang ada umumnya statis dan tidak lengkap, terutama untuk arsitektur terdistribusi. Pengguna menentukan kumpulan data yang akan diungkapkan sebelum dimulainya tugas pelatihan, dan tidak dapat dimodifikasi setelah tugas dijalankan; jika dimodifikasi, tugas perlu diinterupsi dan kode atau konfigurasi diubah lagi. Untuk pelatihan model dengan periode berjalan lama, seperti Pembelajaran Daring, jika ditemukan ketidaknormalan selama proses pelatihan, terkadang sulit untuk menemukannya berdasarkan data bocor yang ada; dan jika tugas dimulai ulang untuk memperbarui kumpulan data yang bocor, beberapa masalah tidak dapat direproduksi (Properti statistik pembelajaran mendalam).

Menanggapi masalah di atas, TF-Tracer mendukung pembaruan dinamis online dari kumpulan data yang terbuka tanpa memulai ulang tugas pelatihan:

Dukung modifikasi online dari set data yang terbuka selama proses pelatihan model, dan ungkapkan set data yang diubah secara real time;

Memberikan daftar semua variabel dalam grafik perhitungan pelatihan model ini, dan pengguna dapat memilih daftar variabel tertentu berdasarkan kumpulan data grafik (tf.GraphKey), dan mendukung deduplikasi variabel dalam beberapa kumpulan data;

Untuk kasus di mana cheif_only sama dengan False, yaitu, ketika semua pekerja membocorkan data, pekerja yang ditentukan didukung untuk pembaruan dinamis, dan pekerja yang tidak ditentukan membocorkan data tidak berubah, yang cocok untuk perbandingan dua arah;

Contoh modifikasi online dan eksposur real-time: variabel dari layer2/biases:0 dan layer2/bobot/part_0:0 ke variabel layer1/bobot/part_1:0 dan layer4/bobot/part_0:0:

TF-Profiler: komponen penyetelan kinerja
Karena file garis waktu Tensorflow saat ini hanya mendukung menampilkan satu session.run dan tidak mendukung menampilkan beberapa session.runs, pelatihan online didasarkan pada operasi terdistribusi dan akan menghasilkan beberapa session.runs (setidaknya satu untuk setiap pekerja). Ketika pelatihan model terdistribusi berjalan lambat, perlu diposisikan dan dianalisis secara keseluruhan, yaitu garis waktu menunjukkan kumpulan beberapa session.runs, dan Tensorflow tidak dapat memenuhi persyaratan ini.

TF-Profiler didasarkan pada antarmuka pengambilan sampel kinerja dalam kerangka kerja pembelajaran mendalam asli. Ini telah mengalami pengembangan sekunder dan mendukung fungsi seperti pembuatan data kinerja lintas sesi otomatis, pelapisan data, dan analisis otomatis serta statistik berdasarkan file konfigurasi. juga mendukung plugin Tensorboard+ Profil Pengembangan sekunder dilakukan untuk mewujudkan tampilan visual file kinerja online. (Untuk fungsi spesifik TF-Profiler, silakan merujuk ke: Platform Evaluasi DeepInsight Deep Learning -- Komponen Penyetelan Kinerja)

3.2 Backend Layanan Mikro Docker

Saat ini, ini terutama mencakup dua jenis layanan mikro Docker, Notebook+ (analisis visual interaktif) dan Tensorboard+ (alat visualisasi).Platform WEB front-end bertanggung jawab untuk pengaturan kontainer, dan menyediakan fungsi penerusan port dinamis melalui proxy terbalik Nginx, mendukung akses bersamaan oleh banyak pengguna; Cluster dikerahkan di beberapa server. Kontainer di server yang sama menggunakan port yang berbeda untuk diakses oleh pengguna yang berbeda, dan mencapai isolasi antar proses untuk memastikan stabilitas sistem sambil mempertahankan konkurensi tinggi.

Setiap instance microservice mendukung pelepasan sumber daya secara otomatis, yaitu, secara otomatis keluar setelah memenuhi kondisi yang sesuai, dan memanggil antarmuka modul manajemen cluster platform front-end untuk memperbarui status kontainer; pada saat yang sama, mendukung layanan otentikasi berbasis pada sumber daya pengguna, yaitu, pengguna saat ini hanya dapat mengakses sumber daya yang dialokasikan oleh platform.Untuk sumber daya URL-nya, pengguna tidak dapat mengakses URL orang lain (mereka akan memaksa mereka untuk mengarahkan ulang dan masuk lagi), untuk mencapai isolasi data . Selain itu, karena cara backend menggunakan layanan mikro, jenis layanan baru berikutnya dapat ditambahkan dan diperluas secara online kapan saja.

3.2.1 Notebook+: analisis visual interaktif

Layanan gambar Docker untuk pengembangan sekunder berdasarkan versi sumber terbuka Jupyter Notebook menyediakan layanan seperti analisis visual interaktif dan debugging lokal online.

Menyediakan TF-Tracer Reader untuk membaca file log online untuk analisis visual interaktif, dan mendukung HDFS/OSS/ODPS/GIT untuk membaca dan menulis data;

Mendukung pelatihan model lokal online TensorflowRS, mendukung iPython dan Terminal dua mode operasi;

Koneksi dua arah dengan laboratorium platform WEB front-end, setelah debugging lokal selesai, skrip dapat langsung dibuang ke laboratorium platform WEB front-end untuk pelatihan terdistribusi berikutnya; ketika pelatihan online tidak normal, Anda dapat melompat ke meja kerja online (Notebook+) Lakukan debugging lokal online untuk meningkatkan efisiensi dan menghemat sumber daya;

Mendukung lingkungan operasi Python2 dan Python3, di mana Python2 adalah lingkungan operasi TensorflowRS, Python3 adalah versi terbaru dari lingkungan operasi Tensorflow asli, kerangka kerja pembelajaran mendalam pra-instal seperti Keras dan perangkat lunak ilmu data terkait;

3.2.2 Tensorboard+ 2.0: Visualisasi online real-time performa tinggi

Versi inti Tensorboard+ telah diperbarui dari versi aslinya, dari 1.2.0rc ke 1.5.0a, dengan tetap mempertahankan fungsi direktori data versi asli 1.0 peralihan dinamis online dan perbandingan agregasi laporan data (untuk detail fungsi versi 1.0, lihat: Bagaimana cara mengevaluasi efek Model pembelajaran mendalam? ​​Ali engineer melakukan ini):

Modul pemuatan data telah dioptimalkan, dan kinerja startup telah ditingkatkan sekitar 3 hingga 5 kali, yang memecahkan masalah lambat memuat file data besar online dan meningkatkan pengalaman pengguna;

Pada premis kinerja yang sama, tingkatkan jumlah titik data yang dimuat di peta Skalar dari semula 200 titik menjadi 1000 titik, akurasi gambar lebih tinggi, dan lebih kondusif untuk analisis visual;

3.3 Platform WEB front-end

Menyediakan layanan eksternal berdasarkan Web UI dan HTTP API. Diantaranya, UI front-end terutama berorientasi pada pengguna akhir; antarmuka API terutama berorientasi pada platform pihak ketiga, seperti PAI dan XDL. Ujung depan platform terutama mencakup manajemen klaster, Dasbor, manajemen konfigurasi, manajemen otoritas, dan manajemen data, serta modul manajemen siklus hidup terkait pelatihan, termasuk: manajemen visual, manajemen log, manajemen meja kerja, manajemen laboratorium, manajemen komponen , dll.

3.3.1 Manajemen siklus hidup: landasan ekologi dari analisis visual

Memberikan solusi menyeluruh untuk seluruh proses tugas pelatihan mulai dari rilis gambar TensorflowRS, pengembangan model lokal, dan debugging hingga operasi terdistribusi online, yang mencakup seluruh manajemen siklus hidup pelatihan model. Skenario pengguna umum (jalur pengguna) adalah sebagai berikut:

Langkah 1. Pertama, pengguna melakukan pengembangan dan debugging lokal online melalui meja kerja online (Notebook+), dan dapat menggunakan iPython untuk analisis visual interaktif, seperti analisis online data log yang dihasilkan oleh TF-Tracer; pada saat yang sama, ini mendukung pengimporan tugas pelatihan dari laboratorium untuk debugging lokal;

Langkah 2. Setelah debugging lokal berlalu, pengguna dapat memilih file yang sesuai untuk disimpan di laboratorium untuk melakukan tugas pelatihan terdistribusi, dan pada saat yang sama menerapkan komponen pembelajaran mendalam, seperti TF-Tracer untuk mengungkap data log untuk analisis selanjutnya atau konsumsi sekunder; dukungan berdasarkan Layanan yang diperluas dari file konfigurasi, seperti Penghentian Awal/GAUC, dll., berkomunikasi dengan layanan yang diperluas melalui Metaq, dan menampilkan hasil yang diperluas terkait pada platform; laboratorium dan meja kerja lokal adalah dua arah untuk tugas pelatihan;

Langkah 3. Di meja kerja atau laboratorium lokal, pengguna dapat mengimpor atau mengekspor model atau komponen saat ini melalui fungsi manajemen komponen untuk penggunaan selanjutnya oleh individu atau pengguna lain;

Langkah 4. Selama atau setelah eksekusi tugas, pengguna dapat menanyakan log tugas saat ini atau hasil eksekusi melalui modul manajemen log (Logview), dan menggunakan layanan tambahan terkait; mereka dapat melihat hasil visualisasi data yang relevan pada platform dan Tensorboard+ melalui modul manajemen visual ;

3.3.2 Manajemen klaster: perluasan online dan penyebaran satu-klik dari layanan yang divisualisasikan

Modul manajemen klaster terutama menyediakan manajemen klaster layanan mikro terdistribusi:

Mendukung fungsi seperti perluasan sumber daya online secara real-time, orkestrasi kontainer back-end (penjadwalan pekerjaan & manajemen sumber daya, dll.), dan penerapan layanan mikro sekali klik;

Mendukung operasi pengelolaan wadah seperti pembuatan online, penghapusan, penghentian, memulai ulang, dll., memperbarui status wadah basis data secara sinkron, dan menyediakan antarmuka yang relevan untuk layanan mikro Docker back-end, seperti antarmuka pembaruan status saat sumber daya wadah mandiri -dilepaskan;

3.4 Layanan visualisasi eksternal

Platform DeepInsight saat ini menyediakan layanan ke platform pihak ketiga dengan dua cara utama:

Layanan mikro cermin: Layanan mikro cermin yang ada dari platform pihak ketiga atau templat cermin berbasis platform menyediakan cermin yang sesuai dan sumber daya server. Platform ini bertanggung jawab atas pengelolaan satu atap layanan mikro seperti rilis cermin, manajemen kluster, dan orkestrasi kontainer. Sajikan ;

Layanan data dasar: platform pihak ketiga menggunakan layanan data terkait platform dan memanggil layanan terkait melalui HTTP API;

Saat ini, layanan yang relevan telah disediakan untuk platform PAI grup, platform XDL, dan platform Lotus:

Berikan layanan Tensorboard+ 1.0 ke platform PAI grup, dan dukung OSS untuk langsung membaca file log:

Menyediakan layanan Tensorboard+ 2.0 untuk platform XDL, mendukung file format log MXNet, dan menyediakan layanan Notebook+ 1.0 secara bersamaan:

Menyediakan layanan data dasar untuk platform seperti Lotus;

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone Contact Us