Nvidia menggunakan Machine Learning untuk mengompres Video Streaming!

Print Friendly, PDF & Email
32 Views

Nvidia mengumumkan platform baru bernama Maxine yang menggunakan AI untuk meningkatkan kinerja dan fungsionalitas perangkat lunak konferensi video. Perangkat lunak ini menggunakan neural network untuk membuat representasi dari wajah seseorang. Representasi ringkas ini kemudian dapat dikirim melalui jaringan, di mana jaringan neural kedua merekonstruksi gambar asli.

Nvidia mengatakan bahwa tekniknya dapat mengurangi kebutuhan bandwidth perangkat lunak konferensi video sebesar 10 kali lipat dibandingkan dengan teknik kompresi konvensional. Itu juga dapat mengubah bagaimana wajah seseorang ditampilkan. Misalnya, jika seseorang tampak menghadap ke luar tengah karena posisi kameranya, perangkat lunak dapat memutar wajahnya agar terlihat lurus. Software juga dapat menggantikan wajah asli seseorang dengan avatar animasi.

Maxine adalah sebuah Standard Development Kit yang ditujukan  bukan end user/konsuem, namun Nvidia berharap pengembang perangkat lunak pihak ketiga akan menggunakan Maxine untuk meningkatkan perangkat lunak konferensi video mereka sendiri. Dan perangkat lunak ini hadir dengan batasan penting: perangkat yang menerima aliran video membutuhkan GPU Nvidia dengan teknologi tensor core.

Tetapi terlepas dari bagaimana harga Maxine di pasar, konsep itu tampaknya penting untuk layanan streaming video di masa depan. Tidak lama kemudian, sebagian besar perangkat komputasi akan cukup kuat untuk menghasilkan konten video realtime menggunakan jaringan neural. Maxine dan produk sejenisnya dapat memungkinkan streaming video berkualitas lebih tinggi dengan konsumsi bandwidth yang jauh lebih rendah.

jaringan adversarial generatif

generative adversarial network mengubah sketsa tas tangan menjadi gambar tas fotorealistik.

Maxine dibangun di atas teknik pembelajaran mesin yang disebut jaringan adversarial generatif (GAN). GAN adalah jaringan saraf — fungsi matematika kompleks yang mengambil masukan numerik dan menghasilkan keluaran numerik. Untuk aplikasi visual, masukan ke jaringan saraf biasanya merupakan representasi piksel demi piksel dari suatu gambar. Salah satu jaringan saraf terkenal, misalnya, mengambil gambar sebagai masukan dan keluaran, perkiraan probabilitas bahwa gambar termasuk dalam 1.000 kategori seperti “dalmatian-jenis anjing” dan “jamur”.

Jaringan saraf memiliki ribuan — seringkali jutaan — parameter yang dapat disesuaikan. Jaringan dilatih dengan mengevaluasi kinerjanya terhadap data dunia nyata. Jaringan diperlihatkan input dunia nyata (seperti gambar anjing) yang klasifikasi yang benar diketahui oleh perangkat lunak pelatihan (misalnya anjing jenis “dalmatian”). Perangkat lunak pelatihan kemudian menggunakan teknik yang disebut propagasi balik untuk mengoptimalkan parameter jaringan. Nilai yang mendorong jaringan ke jawaban yang benar akan ditingkatkan, sementara nilai yang berkontribusi pada jawaban yang salah dipanggil kembali. Setelah mengulangi proses ini pada ribuan — bahkan jutaan — memungkinkan jaringan menjadi cukup efektif dalam tugas yang melatihnya. Kalian bisa baca disini

Perangkat lunak pelatihan perlu mengetahui jawaban yang benar untuk setiap masukan. Karena alasan ini, proyek pembelajaran mesin klasik sering kali mengharuskan orang memberi label ribuan contoh dengan tangan. Namun proses pelatihan bisa sangat dipercepat jika ada cara untuk menghasilkan data pelatihan secara otomatis.

Generator

generative adversarial network adalah cara cerdas untuk melatih jaringan saraf tanpa perlu manusia memberi label pada data pelatihan. Sesuai dengan namanya, GAN sebenarnya adalah dua jaringan yang “bersaing” satu sama lain.

Jaringan pertama adalah generator yang mengambil data acak sebagai masukan dan mencoba menghasilkan citra yang realistis. Jaringan kedua adalah diskriminator yang mengambil gambar dan mencoba menentukan apakah itu gambar asli atau pemalsuan yang dibuat oleh jaringan pertama.

Perangkat lunak pelatihan menjalankan dua jaringan ini secara bersamaan, dengan hasil setiap jaringan digunakan untuk melatih yang lain:

  1. Jawaban diskriminator digunakan untuk melatih generator. Ketika diskriminator salah mengklasifikasikan foto yang dibuat generator sebagai foto asli, itu berarti generator melakukan pekerjaan yang baik dalam membuat gambar realistis — sehingga parameter yang mengarah ke hasil tersebut diperkuat. Di sisi lain, jika diskriminator mengklasifikasikan gambar sebagai pemalsuan, itu dianggap sebagai kegagalan generator.
  2. Sementara itu, perangkat lunak pelatihan menunjukkan kepada diskriminator pilihan acak dari gambar-gambar yang nyata atau dibuat oleh generator. Jika diskriminator menebak dengan benar, itu dianggap berhasil, dan parameter jaringan diskriminator diperbarui untuk mencerminkannya.

Pada awal pelatihan, kedua jaringan memiliki pekerjaan yang buruk/error yang tinggi, tetapi mereka meningkat seiring waktu. Saat kualitas gambar generator meningkat, diskriminator harus menjadi lebih canggih untuk mendeteksi pemalsuan. Saat diskriminator menjadi lebih diskriminatif, jaringan generatif dilatih untuk membuat foto yang terlihat semakin realistis.

Hasilnya bisa spektakuler. Sebuah situs web bernama ThisPersonDoesNotExist.com melakukan persis seperti apa kerjakan: menghasilkan foto-foto realistis dari wajah manusia yang tidak ada alias dibuat secara alami oleh komputer.

Situs ini didukung oleh jaringan saraf generatif yang disebut StyleGAN yang dikembangkan oleh para peneliti di Nvidia. Selama dekade terakhir, karena kartu grafis Nvidia telah menjadi salah satu cara paling populer untuk melakukan komputasi jaringan saraf, Nvidia telah banyak berinvestasi dalam penelitian akademis ke dalam teknik jaringan saraf.

Peneliti menggunakan GAN bersyarat untuk memproyeksikan bagaimana wajah akan menua seiring waktu.

GAN paling awal hanya mencoba menghasilkan gambar acak yang tampak realistis dalam kategori luas seperti wajah manusia. Ini dikenal sebagai GAN tanpa syarat. Baru-baru ini, para peneliti telah mengembangkan GAN bersyarat — jaringan saraf yang mengambil gambar (atau data masukan lainnya) dan kemudian mencoba menghasilkan gambar keluaran yang sesuai.

Dalam beberapa kasus, algoritma pelatihan memberikan informasi masukan yang sama ke generator dan diskriminator. Dalam kasus lain, fungsi kerugian generator — ukuran seberapa baik jaringan untuk tujuan pelatihan — menggabungkan keluaran diskriminator dengan beberapa metrik lain yang menilai seberapa cocok keluaran tersebut dengan data masukan.

Penggunaan LandMark wajah untuk direkonstruksi kembali

Perangkat lunak konferensi video baru Nvidia menggunakan sedikit modifikasi pada teknik ini. Alih-alih mengambil video sebagai masukan, Maxine mengambil satu set titik kunci yang diekstrak dari video sumber — titik data yang menentukan lokasi dan bentuk mata, mulut, hidung, alis, dan fitur wajah lainnya. Data ini dapat direpresentasikan jauh lebih kompak daripada video biasa, yang berarti dapat ditransmisikan melalui jaringan dengan menggunakan bandwidth minimal. Jaringan juga mengirimkan bingkai video resolusi tinggi sehingga penerima tahu seperti apa subjeknya. Komputer penerima kemudian menggunakan GAN bersyarat untuk merekonstruksi wajah subjek – landmark wajah seperti gambar berikut ini

Pendekatan Nvidia membuatnya mudah untuk memanipulasi video keluaran dalam beberapa cara yang berguna. Misalnya, masalah umum dengan teknologi konferensi video adalah kamera menjadi off-center dari layar, menyebabkan seseorang tampak seperti melihat ke samping. Jaringan saraf Nvidia dapat memperbaikinya dengan memutar titik kunci wajah pengguna sehingga berada di tengah. Nvidia bukanlah perusahaan pertama yang melakukan ini. Apple telah mengerjakan versinya sendiri dari fitur ini untuk FaceTime. Tapi ada kemungkinan pendekatan berbasis GAN Nvidia akan lebih kuat, memungkinkan modifikasi pada seluruh wajah, bukan hanya pada mata.

Nvidia Maxine juga dapat mengganti kepala manusia subjek yang sebenarnya dengan karakter animasi yang melakukan tindakan yang sama. Sekali lagi, ini bukanlah hal baru — Snapchat mempopulerkan konsep tersebut beberapa tahun yang lalu, dan telah menjadi umum di aplikasi obrolan video. Tetapi pendekatan berbasis GAN Nvidia dapat memungkinkan gambar yang lebih realistis yang bekerja dalam posisi kepala yang lebih luas.

Apakah Maxine tersedia di cloud?

Maxine bukanlah produk konsumen. Melainkan itu adalah kit pengembangan perangkat lunak untuk membangun perangkat lunak konferensi video. Nvidia memberi pengembang sejumlah kemampuan berbeda dan membiarkan mereka memutuskan bagaimana menggabungkannya menjadi produk yang dapat digunakan.

Dan setidaknya versi awal Maxine akan hadir dengan batasan penting: ia memerlukan GPU Nvidia terbaru di sisi penerima aliran video. Maxine dibangun di atas core tensor, unit komputasi dalam kartu grafis Nvidia yang lebih baru yang dioptimalkan untuk operasi pembelajaran mesin. Ini menimbulkan tantangan untuk produk konferensi video, karena pelanggan akan mengharapkan dukungan untuk berbagai perangkat keras.

CEO NVIDIA berujar: bahwa pengembang dapat menjalankan Maxine di server cloud yang dilengkapi dengan perangkat keras Nvidia yang diperlukan, kemudian mengalirkan video yang diberikan ke perangkat klien. Pendekatan ini memungkinkan pengembang untuk menangkap beberapa tetapi tidak semua manfaat Maxine. Pengembang dapat menggunakan Maxine untuk mengarahkan ulang awajah pengguna untuk meningkatkan kontak mata, mengganti latar belakang pengguna, dan melakukan efek seperti mengubah wajah subjek menjadi karakter animasi. Menggunakan Maxine dengan cara ini juga dapat menghemat bandwidth pada uplink video pengguna, karena teknologi ekstraksi keypoint Maxine tidak memerlukan GPU Nvidia.

Namun, nilai jual terkuat Maxine mungkin adalah persyaratan bandwidth yang jauh lebih kecil. Dan penghematan bandwidth penuh hanya dapat direalisasikan jika pembuatan video terjadi pada perangkat klien. Itu akan membutuhkan Maxine untuk mendukung perangkat tanpa GPU Nvidia.

Saat ini, Maxine sedang dalam tahap pengembangan “akses awal”. Nvidia menawarkan akses ke sekelompok pengembang awal terpilih yang membantu Nvidia menyempurnakan API Maxine. Di beberapa titik di masa depan — lagi-lagi, Nvidia tidak akan mengatakan kapan — Nvidia akan membuka platform untuk pengembang perangkat lunak secara umum.Dan tentu saja,Nvidia kemungkinan tidak akan mempertahankan monopoli atas pendekatan konferensi video ini. Sejauh yang saya tahu, perusahaan teknologi besar lainnya belum mengumumkan rencana untuk menggunakan GAN untuk meningkatkan konferensi video. Tetapi Google, Apple, dan Qualcomm semuanya telah bekerja untuk membangun chip yang lebih kuat untuk mendukung pembelajaran mesin di smartphone. Ini adalah taruhan yang aman bahwa para insinyur di perusahaan ini sedang menjajaki kemungkinan kompresi video seperti Maxine menggunakan jaringan saraf. Apple mungkin memiliki posisi yang tepat untuk mengembangkan perangkat lunak seperti ini mengingat integrasi yang erat antara perangkat keras dan perangkat lunaknya.

Dilansir dari: https://arstechnica.com/

Leave a Reply

Your email address will not be published. Required fields are marked *

+ 13 = 23