François Chollet adalah peneliti AI & deep learning, penulis Keras, salah satu kerangka kerja deep learning terkemuka untuk Python, dan baru saja merilis buku baru, Deep Learning with Python. Bertepatan dengan peluncuran buku ini, saya berkesempatan mewawancarai François melalui email. Jangan ragu untuk menghubungi kami di @fchollet dan @hugobowne.
François, Anda adalah seorang insinyur perangkat lunak dan peneliti kecerdasan buatan di Google. Saya ingin tahu lebih banyak tentang apa yang Anda lakukan. Namun terlebih dahulu, apa yang orang pikirkan tentang pekerjaan seseorang kerap berbeda jauh dari kenyataannya. Menurut Anda, apa yang orang pikir Anda lakukan?
Itu pengamatan yang tajam, biasanya ada ketidaksesuaian antara apa yang dikenal orang tentang kita, apa yang ingin kita dikenal, dan apa yang sebenarnya kita kerjakan. Dalam kasus saya, saya mungkin paling dikenal sebagai pencipta Keras, kerangka kerja deep learning.
Sebenarnya, apa yang Anda lakukan?
Saya bekerja di tim Brain di Google di Mountain View, di mana sebagian besar waktu saya habiskan untuk mengembangkan Keras. Jadi menurut saya ada keselarasan yang cukup baik antara apa yang saya lakukan dan apa yang orang pikir saya lakukan.
Saya juga berkontribusi pada TensorFlow, kerangka kerja pembelajaran mesin Google, yang terintegrasi dengan Keras. Di sisi lain, saya melakukan riset tentang berbagai topik. Baru-baru ini saya mengerjakan makalah tentang penerjemahan mesin, visi komputer, dan penerapan deep learning pada pembuktian teorema. Minat riset utama saya adalah memahami masalah abstraksi dan penalaran dalam AI — bagaimana beralih dari persepsi ke model-model abstrak yang sangat dapat digeneralisasi.
Anda dikenal luas sebagai penulis paket Keras, jaringan saraf sumber terbuka untuk deep learning di Python: apa itu deep learning?
Deep learning adalah pendekatan spesifik terhadap pembelajaran mesin, yang ternyata jauh lebih kuat dan fleksibel daripada pendekatan sebelumnya. Dalam sebagian besar aplikasi, apa yang kita sebut "deep learning" dapat dipahami sebagai cara untuk mengubah banyak data yang dianotasi oleh manusia menjadi sebuah perangkat lunak yang dapat secara otomatis memberi anotasi pada data baru dengan cara yang mirip dengan yang dilakukan manusia. Anda dapat mengotomatiskan banyak tugas berbeda dengan cara ini. Deep learning sangat unggul dalam memaknai data "perseptual", seperti gambar, video, atau suara.
Berikut contoh konkret. Pertimbangkan kumpulan besar gambar, dengan beberapa tag terkait pada setiap gambar ("anjing", "kucing", dll). Deep learning memungkinkan Anda secara otomatis mengubah data Anda menjadi sistem yang "memahami" cara memetakan gambar ke tag, belajar hanya dari contoh, tanpa memerlukan penyetelan manual atau rekayasa khusus. Sistem seperti itu kemudian dapat diterapkan pada data baru, secara efektif mengotomatiskan tugas pelabelan gambar.
Dengan cara yang sama, Anda dapat menerapkan deep learning ke berbagai masalah, seperti penerjemahan mesin, pengenalan ucapan, text-to-speech, pengenalan karakter optik, dan sebagainya.
Selamat atas buku baru Anda, Deep Learning with Python. Mengapa Anda menulis buku ini?
Buku ini adalah upaya saya menyusun kurikulum untuk mengajarkan deep learning kepada seseorang yang memiliki kemampuan koding Python tetapi tanpa latar belakang pembelajaran mesin sebelumnya. Saya berusaha membuat deep learning semudah mungkin diakses, tanpa menyederhanakan isinya. Ternyata hal ini memungkinkan, karena pada dasarnya tidak ada gagasan yang benar-benar sulit dalam deep learning.
Python bisa dibilang adalah bahasa pemrograman dengan pertumbuhan tercepat, setidaknya di negara-negara berpenghasilan tinggi. Mengapa Python, baik bagi Anda maupun komunitas pemrograman yang lebih luas?
Saya menyukai Python. Mudah dipelajari dan semakin produktif seiring Anda menguasainya, tidak peduli sudah berapa lama Anda menggunakannya. Rasanya sangat intuitif dan elegan dibandingkan sebagian besar bahasa lain yang pernah saya pakai. Namun keunggulan utama Python bukan pada bahasanya sendiri, melainkan pada ekosistem dan komunitas di sekitarnya. Apa pun yang Anda butuhkan — mengurai format file tertentu, berinteraksi dengan sistem tertentu — hampir pasti ada pustaka Python yang melakukannya, sehingga Anda tidak perlu menghabiskan waktu untuk mengimplementasikannya. Ini terutama berlaku untuk data science dan pembelajaran mesin, ada banyak alat hebat — numpy, pandas, scikit-learn, pustaka plotting, dan lain-lain. Itu membuat Python menjadi bahasa yang sangat produktif.
Saya juga menyukai bahwa Python bukan bahasa khusus domain; ia berada di persimpangan berbagai domain, dari pengembangan web hingga data science hingga administrasi sistem. Artinya, Anda tidak perlu beralih ke bahasa baru untuk menerapkan model Keras Anda sebagai API web, misalnya. Apa pun yang perlu Anda lakukan — meluncurkan webapp, mengakses REST API, mengurai beberapa file, melatih model deep learning mutakhir — Python umumnya adalah pilihan yang cukup solid.
Ada anggapan hambatan masuk bagi orang yang ingin terjun ke disiplin pembelajaran mesin dan pengembangan kecerdasan buatan. Bagaimana pandangan Anda tentang demokratisasi keterampilan dan teknik yang dibutuhkan?
Saya tidak setuju. Masuk ke pembelajaran mesin menjadi sangat mudah dalam 5 tahun terakhir. Memang, 5–7 tahun lalu itu sulit. Anda mungkin membutuhkan pendidikan pascasarjana. Anda perlu menulis banyak algoritme tingkat rendah sendiri, biasanya dalam C++ atau Matlab. Saya pernah melewatinya. Sekarang berbeda. Anda hanya membutuhkan Python, yang jauh lebih mudah dipelajari, dan Anda memiliki akses ke alat tingkat tinggi yang mudah digunakan seperti Keras. Selain itu, Anda dapat belajar dari banyak sumber daya daring berkualitas sangat tinggi, dan Anda dapat berlatih pada masalah dunia nyata di Kaggle. Belajar tidak pernah semudah ini.
Jadi saat ini, Anda bisa, katakanlah, mengambil buku saya, memasang Keras, mengikuti beberapa tantangan Kaggle, dan setelah beberapa bulan Anda akan menjadi cukup produktif dengan pembelajaran mesin dan deep learning pada masalah praktis.
Bagaimana Keras dan buku baru Anda selaras dengan filosofi ini?
Saat awal merilis Keras, saya tidak secara khusus berusaha mendemokratisasi deep learning. Namun seiring waktu, saya melihat banyak orang memulai deep learning melalui Keras dan menggunakannya untuk menyelesaikan berbagai masalah dengan cara yang tidak saya duga, dan itu sangat memukau saya. Saya menyadari bahwa deep learning dapat diterapkan, dengan cara yang transformatif, ke jauh lebih banyak domain daripada yang diduga orang di Silicon Valley. Ada begitu banyak orang di luar sana yang bisa mendapat manfaat dari menggunakan deep learning dalam pekerjaan mereka. Akibatnya, saya makin peduli untuk membuat teknologi ini tersedia bagi sebanyak mungkin orang, dan itu menjadi tujuan desain nomor satu Keras. Hanya dengan membuatnya tersedia secara luas, kita dapat menerapkan AI sepenuhnya sesuai potensinya.
Buku saya adalah upaya untuk mengambil langkah lain ke arah yang sama: saya mencoba membantu sebanyak mungkin orang untuk benar-benar masuk ke deep learning, agar mereka dapat mulai menggunakannya untuk menyelesaikan masalah yang mereka kenal dan yang mungkin bahkan tidak saya ketahui keberadaannya. Tidak cukup hanya menyediakan alat yang mudah digunakan, Anda juga harus menyediakan materi pembelajaran untuk mengajarkan cara menggunakan alat tersebut.
Apa hal paling penting yang perlu dipelajari pemula? Bagaimana caranya?
Hal terpenting mungkin adalah memahami apa yang bisa dan tidak bisa dilakukan deep learning. Itu, serta merasakan praktik terbaik kunci seperti cara mengevaluasi model dengan benar dan cara melawan overfitting. Ini memerlukan kombinasi penjelasan formal dan latihan ekstensif pada masalah dunia nyata.
Kecerdasan buatan adalah istilah yang bagi banyak orang memunculkan bayangan robot yang memiliki kesadaran. Kita melihat judul berita seperti 'Google AI menciptakan AI 'anak' sendiri yang lebih canggih daripada sistem buatan manusia'. Saya butuh bantuan Anda untuk mengurai apa sebenarnya AI itu. Apa yang mampu dilakukan kecerdasan buatan?
Memang ada banyak hype di bidang ini. Sebagian besar liputan media tentang AI dan deep learning sangat jauh dari kenyataan — baik kisah yang menakutkan maupun kisah bahwa AI akan membuat segalanya menjadi luar biasa.
Adapun apa yang bisa dilakukan AI saat ini, itu pertanyaan yang sulit. Saya akan mengatakan ada tiga kategori hal yang bisa dilakukan AI:
- Mengerjakan tugas di mana kita dapat secara penuh dan eksplisit menetapkan aturan yang harus diikuti AI. Inilah yang pada dasarnya dikenal sebagai "AI simbolik", atau secara lebih pragmatis, "pengembangan perangkat lunak". Seperti yang diketahui siapa pun yang pernah pemrograman, pendekatan ini rapuh dan hanya bekerja dalam pengaturan di mana semuanya berada dalam kendali — yang jarang terjadi pada masalah dunia nyata.
- Mengerjakan tugas persepsi dan intuisi sederhana di mana kita tidak mampu menetapkan aturan secara eksplisit, tetapi kita mampu menyediakan banyak contoh tugasnya. Ini mencakup seluruh deep learning: mengklasifikasikan gambar, mentranskripsi ucapan, dll. Satu keterbatasan penting di sini adalah model kita hanya dapat menangani masukan yang sangat mirip dengan apa yang pernah mereka lihat sebelumnya — Anda tidak bisa terlalu jauh dari data pelatihan Anda. Apa yang kita lakukan di sini pada dasarnya adalah fitting kurva berdimensi tinggi yang ditingkatkan.
- Kombinasi naif dari keduanya. Misalnya, Anda dapat membayangkan sebuah robot dengan modul deep learning yang dapat mengekstrak jenis dan posisi sejumlah objek di sekitarnya, dilatih pada banyak contoh, dipadukan dengan modul yang meng-hardcode aturan tingkat tinggi untuk memanipulasi objek-objek ini. Contoh lain adalah AlphaGo/AlphaZero, yang pada dasarnya merupakan kombinasi pencarian brute force (pemrograman eksplisit) dengan modul deep learning yang dilatih pada banyak permainan sehingga dapat secara "intuitif" mengevaluasi nilai sebuah posisi papan.
Faktanya, ketika memanfaatkan teknik saat ini sepenuhnya, Anda bisa mendapatkan kinerja melampaui manusia pada banyak tugas penting, dan kinerja yang cukup baik pada banyak tugas lainnya. Namun itu hanya mungkin dalam pengaturan yang sangat sempit. Dan, mungkin berlawanan dengan intuisi, tidak ada jalur nyata dari menjadi sangat baik pada banyak tugas vertikal yang berbeda menuju memiliki kecerdasan umum dan akal sehat setara bahkan dengan seorang balita — apalagi kemampuan belajarnya dan adaptasinya.
Meski begitu, menjadi sangat baik pada banyak tugas yang sangat sempit bersifat transformasional bagi sebagian besar industri. Jadi Anda dapat berharap AI memberikan dampak ekonomi besar dalam 20 tahun mendatang. Anda dapat menganggap AI sebagai mesin uap pada era kita — alat yang sangat kuat di tangan manusia, yang akan membentuk ulang lanskap ekonomi selama beberapa dekade. Namun tidak ada robot berkesadaran di depan mata.
Apa yang tidak mampu dilakukan kecerdasan buatan?
Dari seluruh ruang kemungkinan hal yang mungkin ingin kita otomatisasi, AI saat ini hanya dapat menangani sebagian kecil saja. Ada jauh lebih banyak hal yang tidak bisa kita lakukan dibanding yang bisa kita lakukan.
Secara umum, kita sangat buruk dalam hal-hal berikut:
- Apa pun yang memerlukan "grounding" atau "pemahaman". Misalnya, AI tidak dapat memahami makna bahasa alami; alih-alih ia memperlakukan bahasa dalam hal ketergantungan statistik atau aturan pemrosesan yang di-hardcode. "Makna", sebagaimana adanya dalam benak manusia, berasal dari pengalaman manusia yang berwujud, yang tidak diakses oleh model AI kita. Setidaknya untuk saat ini. Jadi tidak ada sistem AI saat ini yang dapat "memahami" tugasnya dengan cara yang masuk akal bagi manusia. Model hanya memetakan manifold statistik dari data pelatihannya.
- Apa pun yang melibatkan penanganan data yang berbeda dari apa yang pernah dilihat AI sebelumnya. AI hanya dapat menerapkan aturan yang Anda kodenkan secara eksplisit, atau mengenali hal-hal yang sangat, sangat mirip dengan apa yang dilatihnya. Kapabilitas kita menurun secara eksponensial seiring bertambahnya ketidakpastian atau variasi yang Anda perkenalkan pada suatu tugas.
- Apa pun yang melibatkan penalaran dan abstraksi. Entah kita bisa meng-hardcode aturan penalaran eksplisit ke dalam mesin, atau kita tidak bisa melakukan penalaran sama sekali. AI saat ini tidak dapat secara mandiri menemukan model abstrak dari suatu situasi. Dapat dikatakan ini adalah hambatan utama perkembangan AI saat ini. Jika Anda memecahkannya, Anda akan dengan cepat dapat mengatasi dua poin sebelumnya.
Saya menulis sebuah posting blog berjudul The limitations of deep learning tentang hal ini dan isu terkait.
Apa tantangan utama yang dihadapi komunitas deep learning?
Melawan hype, mengembangkan kesadaran etis, dan meningkatkan ketelitian ilmiah.
Hype: ini melanda bidang kita. Ada orang-orang yang membesar-besarkan kemajuan terbaru secara berlebihan, sangat melebih-lebihkan kemampuan kita saat ini, dan sering menggambarkan level setara manusia seolah sudah di depan mata — padahal tidak. Jika kita menetapkan ekspektasi setinggi langit lalu gagal memenuhinya, kita justru membuat orang berbalik menentang kita. Selain itu, itu tidak jujur secara intelektual, dan beracun bagi perdebatan publik.
Etika: sebagian besar orang yang menerapkan sistem AI saat ini tidak berasal dari latar belakang yang khususnya beragam, dan sering kali sama sekali tidak menyadari implikasi etis dan efek samping berbahaya dari sistem yang mereka bangun. Ini masalah besar karena orang-orang ini akan memiliki kekuasaan yang semakin besar atas orang lain. Kita perlu lebih banyak membahas isu-isu ini dan meningkatkan kesadaran akan kemungkinan penerapan AI yang tidak etis, entah itu model prediktif bias yang memengaruhi kehidupan orang, AI diterapkan di tempat yang sangat patut dipertanyakan, atau AI digunakan untuk memanipulasi perilaku dan opini kita secara berbahaya.
Ilmu: ada banyak sekali makalah deep learning yang dirilis setiap hari, dan sebagian besar tidak benar-benar menghasilkan pengetahuan baru yang bermakna, karena tidak mengikuti metode ilmiah. Mereka "mengevaluasi" model dengan cara yang kabur, atau menguji model overfit pada data pelatihan mereka (ini terutama terjadi untuk model generatif dan reinforcement learning, dua topik dengan pertumbuhan tercepat dalam riset deep learning), memilih hasil yang menguntungkan, menggunakan baseline yang sengaja lemah, menyetel hyperparameter dengan cara yang berujung pada overfitting terhadap tugas tertentu, mengevaluasi model hanya pada MNIST, dan sebagainya. Deep learning adalah zona bencana ilmiah. Peer review sering kali tidak mengatasi masalah ini secara bermakna, mungkin sebagian karena sebagian besar peninjau sejawat umumnya baru berada di bidang ini satu atau dua tahun (karena bidangnya tumbuh secara eksponensial). Jika kita ingin membuat kemajuan lebih cepat, kita perlu menyuntikkan ekspektasi ketelitian yang lebih tinggi ke dalam bidang ini, terkait reprodusibilitas riset, baseline, evaluasi model, dan signifikansi statistik. Sistem insentif kita saat ini sayangnya bias terhadap sains — kita memberi insentif untuk publikasi, dan sayangnya lebih mudah untuk mempublikasikan jika Anda membuat riset Anda terdengar kompleks & misterius sambil membuatnya mustahil untuk mengevaluasi signifikansinya dengan benar.
Seperti apa masa depan deep learning menurut Anda?
Saya sebenarnya menulis sebuah posting blog tentang hal ini. Singkatnya, saya memperkirakan AI akan semakin memadukan modul pengenalan pola yang "intuitif" dengan modul penalaran formal. Saya juga memperkirakan AI akan berevolusi menjadi lebih mirip bentuk pengembangan perangkat lunak otomatis, meminjam banyak pola dan praktik yang ditemukan dalam rekayasa perangkat lunak saat ini.
Anda bukan hanya seorang pengembang. Di blog keras, dalam esai, di buku Anda, dan di Twitter, Anda berpikir dan vokal tentang isu etika seputar deep learning, AI, dan teknologi secara umum. Apakah menurut Anda para pengembang berkewajiban untuk terlibat dalam pertimbangan etis terkait pekerjaan mereka?
Tentu. Saya pikir ini kurang terlihat dalam lanskap teknologi umum beberapa tahun terakhir. Lihat Facebook, misalnya. Atau sebagian besar gim smartphone. Teknologi tidak pernah netral — karena ia kuat, karena ia memengaruhi hidup kita. Cara Anda merancang produk dan teknologi berarti secara aktif menyuntikkan nilai ke dalamnya, entah Anda sadar atau tidak. Jadi sebaiknya Anda melakukannya secara sengaja. Jika Anda membangun platform media sosial dan mencoba memaksimalkan "keterlibatan", nah, itu keputusan yang sarat etika, dengan implikasi penting. Kita bisa peduli dan menjadikan etika sebagai tujuan desain eksplisit dari teknologi dan struktur kekuasaan yang kita bangun, atau kita menyerahkan nilai-nilai kita. Jika Anda berkecimpung di bidang teknologi, Anda tidak bisa memilih untuk "di pinggir", itu delusi.
