
Deep learning adalah seperangkat algoritma pembelajaran mesin yang memodelkan abstraksi tingkat tinggi dalam data menggunakan arsitektur yang terdiri dari banyak transformasi non-linear. Setuju, frasa ini terdengar mengancam. Tetapi semuanya tidak begitu menakutkan jika Francois Schollay, yang menciptakan Keras, perpustakaan paling kuat untuk bekerja dengan jaringan saraf, berbicara tentang pembelajaran yang mendalam. Rasakan pembelajaran mendalam dengan contoh-contoh praktis dari berbagai bidang. Buku ini dibagi menjadi dua bagian: yang pertama diberikan dasar teoretis, yang kedua dikhususkan untuk memecahkan masalah tertentu. Ini akan memungkinkan Anda tidak hanya untuk memahami dasar-dasar DL, tetapi juga belajar bagaimana menggunakan peluang baru dalam praktik.
Belajar adalah perjalanan seumur hidup, terutama di bidang kecerdasan buatan, di mana ada lebih banyak hal yang tidak diketahui daripada kepastian. Inside adalah kutipan dari “Meneliti dan Memantau Model Pembelajaran Mendalam Menggunakan Panggilan Balik Keras dan TensorBoard”.
Tentang buku ini
Buku ini ditulis untuk semua orang yang ingin mulai mempelajari teknologi pembelajaran mendalam dari awal atau memperluas pengetahuan mereka. Insinyur pembelajaran mesin, pengembang perangkat lunak, dan siswa akan menemukan banyak nilai di halaman ini.
Buku ini menawarkan studi praktis dunia nyata tentang pembelajaran mendalam. Kami mencoba menghindari formula matematika, lebih suka menjelaskan konsep kuantitatif menggunakan fragmen kode dan membentuk pemahaman praktis tentang ide-ide dasar mesin dan pembelajaran yang mendalam.
Anda akan melihat lebih dari 30 contoh kode program dengan komentar terperinci, rekomendasi praktis, dan penjelasan umum sederhana tentang semua yang perlu Anda ketahui untuk menggunakan pembelajaran mendalam dalam menyelesaikan masalah tertentu.
Contoh-contoh ini menggunakan kerangka kerja pembelajaran Keras dalam yang ditulis dalam Python dan perpustakaan TensorFlow sebagai mekanisme internal. Keras adalah salah satu kerangka belajar mendalam yang paling populer dan paling cepat berkembang. Ini sering direkomendasikan sebagai alat paling sukses bagi pemula untuk belajar pembelajaran yang mendalam.
Setelah membaca buku ini, Anda akan dengan jelas memahami apa pembelajaran yang mendalam, kapan berlaku dan apa keterbatasannya. Anda akan belajar tentang proses standar menafsirkan dan memecahkan masalah pembelajaran mesin dan cara menangani masalah umum. Anda akan belajar cara menggunakan Keras untuk menyelesaikan masalah praktis - mulai dari pengenalan pola hingga pemrosesan bahasa alami: klasifikasi gambar, perkiraan temporal, analisis emosi, pembuatan gambar dan teks, dan banyak lagi.
Teliti dan pantau model-model pembelajaran dalam dengan menggunakan panggilan balik Keras dan TensorBoard
Pada bagian ini, kita akan melihat cara untuk mendapatkan akses yang lebih lengkap ke mekanisme internal model selama pelatihan dan manajemen. Meluncurkan prosedur pelatihan pada kumpulan data besar dan bertahan selama puluhan era dengan memanggil model.fit () atau model.fit_generator () menyerupai peluncuran pesawat kertas: memberikan dorongan awal, Anda tidak lagi mengontrol jalur penerbangan atau situs pendaratannya. Untuk menghindari hasil negatif (dan hilangnya pesawat kertas), lebih baik tidak menggunakan pesawat kertas, tetapi pesawat tak berawak terkontrol yang menganalisis lingkungan, mengirim informasi tentang hal itu kembali ke operator dan secara otomatis mengontrol kemudi tergantung pada keadaan mereka saat ini. Teknik-teknik yang akan disajikan di sini akan mengubah panggilan untuk model.fit () dari pesawat kertas menjadi drone otonom cerdas yang mampu mengevaluasi kondisinya dan melakukan tindakan kontrol tepat waktu.
Menggunakan panggilan balik untuk memengaruhi model selama pelatihan
Banyak aspek pelatihan model tidak dapat diprediksi sebelumnya. Sebagai contoh, seseorang tidak dapat memprediksi terlebih dahulu jumlah zaman yang memberikan nilai kerugian optimal pada set uji. Dalam contoh yang dikutip sejauh ini, strategi pembelajaran dengan jumlah era yang cukup besar telah digunakan. Dengan demikian, efek pelatihan ulang dicapai ketika menjalankan pertama kali dilakukan untuk mengetahui jumlah era pelatihan yang diperlukan, dan kemudian yang kedua adalah baru, dari awal dengan jumlah optimal era yang dipilih. Tentu saja, ini adalah strategi yang agak boros.
Akan jauh lebih baik untuk berhenti belajar segera setelah ternyata estimasi kerugian pada set tes tidak lagi membaik. Ini dapat diimplementasikan menggunakan mekanisme panggilan balik Keras. Callback adalah objek (turunan dari kelas yang mengimplementasikan metode spesifik), yang diteruskan ke model melalui call to fit dan yang akan dipanggil oleh model di berbagai titik dalam proses pembelajaran. Dia memiliki akses ke semua informasi tentang keadaan model dan kualitasnya dan dapat mengambil tindakan berikut: pelatihan interupsi, menyimpan model, memuat set bobot yang berbeda, atau mengubah keadaan model.
Berikut adalah beberapa contoh penggunaan panggilan balik:
- memperbaiki keadaan model di titik kontrol - menyimpan bobot model saat ini di titik yang berbeda selama pelatihan;
- pemberhentian awal - gangguan pelatihan ketika perkiraan kerugian pada data uji berhenti membaik (dan, tentu saja, mempertahankan versi terbaik dari model yang diperoleh selama pelatihan);
- penyesuaian dinamis dari nilai-nilai beberapa parameter dalam proses pembelajaran, misalnya, langkah pembelajaran optimizer;
- nilai log untuk pelatihan dan set data uji selama pelatihan atau memvisualisasikan representasi yang diterima oleh model saat mereka diperbarui - bilah kemajuan di Keras yang sudah Anda kenal adalah panggilan balik!
Modul keras.callbacks mencakup sejumlah panggilan balik bawaan. Ini daftar yang jauh dari lengkap:
keras.callbacks.ModelCheckpoint keras.callbacks.EarlyStopping keras.callbacks.LearningRateScheduler keras.callbacks.ReduceLROnPlateau keras.callbacks.CSVLogger
Mari kita lihat beberapa dari mereka untuk mendapatkan ide tentang bagaimana menggunakannya: ModelCheckpoint, EarlyStopping, dan ReduceLROnPlateau.
ModelCheckpoint dan EarlyStopping CallbacksCallback EarlyStopping dapat digunakan untuk mengganggu proses pembelajaran jika metrik target yang dipantau tidak meningkat selama beberapa era. Misalnya, panggilan balik ini akan memungkinkan Anda untuk menghentikan pelatihan setelah awal efek pelatihan ulang dan dengan demikian menghindari pelatihan ulang model untuk era yang lebih sedikit. Callback ini biasanya digunakan dalam kombinasi dengan ModelCheckpoint, yang memungkinkan Anda untuk menyimpan keadaan model selama pelatihan (dan, jika perlu, simpan hanya model terbaik: versi model yang telah mencapai kualitas yang lebih baik pada akhir era):
Kurangi CallbackLROnPlateauCallback ini dapat digunakan untuk mengurangi kecepatan belajar ketika kehilangan data uji tidak lagi menurun. Mengurangi atau meningkatkan kecepatan belajar pada titik belok kurva kehilangan adalah strategi yang efektif untuk keluar dari minimum lokal selama pelatihan. Contoh berikut menunjukkan penggunaan panggilan balik ReduceLROnPlateau:
Rancang Callback AndaJika selama pelatihan Anda perlu melakukan beberapa tindakan khusus yang tidak disediakan oleh callback internal apa pun, Anda dapat menulis callback Anda sendiri. Panggilan balik dilaksanakan dengan mewarisi dari kelas keras.callbacks.Callback. Anda dapat menerapkan salah satu metode berikut dengan nama yang akan dipanggil pada waktu yang tepat
Semua metode ini disebut dengan log argumen - kamus yang berisi informasi tentang paket, era atau siklus pelatihan sebelumnya: metrik pelatihan dan verifikasi, dll. Selain itu, panggilan balik memiliki akses ke atribut berikut:
- self.model - sebuah instance dari model yang menyebabkan panggilan balik ini;
- self.validation_data - nilai yang diteruskan ke metode fit sebagai data validasi.
Berikut adalah contoh sederhana dari callback non-standar yang menyimpan ke disk (seperti array Numpy) aktivasi semua lapisan model setelah akhir setiap era, dihitung dari sampel pertama dalam set tes:
Ini semua yang perlu Anda ketahui tentang panggilan balik, yang lainnya adalah detail teknis, informasi yang dapat Anda temukan sendiri dengan mudah. Sekarang Anda dapat mencatat informasi apa pun atau mengendalikan model Keras selama pelatihan.
Tentang penulis

Francois Chollet terlibat dalam pembelajaran mendalam di Google, Mountain View, California. Dia adalah pencipta Keras, perpustakaan pembelajaran yang mendalam, dan anggota proyek kerangka kerja pembelajaran mesin TensorFlow. Dia juga terlibat dalam penelitian di bidang pembelajaran mesin, dengan fokus pada pengenalan pola dan penerapan pembelajaran mesin untuk penalaran formal. Dia berbicara di konferensi-konferensi besar di bidang ini, termasuk Konferensi Visi Komputer dan Pengenalan Pola (CVPR), Konferensi dan Lokakarya tentang Sistem Pemrosesan Informasi Saraf Tiruan (NIPS), Konferensi Internasional tentang Representasi Pembelajaran (ICLR), dll. .
»Informasi lebih lanjut tentang buku ini dapat ditemukan di
situs web penerbit»
Isi»
KutipanKupon diskon 20% untuk penjaja -
Pembelajaran Jauh dengan Python