Mengapa Deep Learning?
Ini pertanyaan yang sering dipertanyakan. Tidak ada kekurangan dalam algoritme machine learning, jadi mengapa seorang data scientist harus tertarik pada algoritme Deep Learning? Apa yang ditawarkan jaringan neural yang tidak ditawarkan oleh algoritme pembelajaran mesin tradisional?
Pertanyaan umum lainnya yang saya lihat beredar - jaringan neural memerlukan banyak daya komputasi, jadi apakah benar-benar layak untuk digunakan? Sementara pertanyaan itu dipenuhi dengan nuansa, inilah jawaban singkatnya - ya!
Berbagai jenis jaringan saraf dalam Deep Learning , seperti Convolutional Neural Network (CNN), recurrent neural network (RNN), artificial neural network (ANN), dll. Mengubah cara kita berinteraksi dengan dunia. Berbagai jenis jaringan saraf ini merupakan inti dari revolusi pembelajaran mendalam, yang memberdayakan aplikasi seperti kendaraan udara tak berawak, mobil yang dapat mengemudi sendiri, pengenalan suara, dll.
Wajar untuk bertanya-tanya - tidak bisakah algoritma machine learning melakukan hal yang sama? Nah, berikut adalah dua alasan utama mengapa peneliti dan pakar cenderung lebih memilih Pembelajaran Mendalam daripada Pembelajaran Mesin:
- Batas Keputusan
- Rekayasa Fitur
Ingin tahu? Bagus - biar saya jelaskan.
1. Pembelajaran Mesin vs. Pembelajaran Mendalam: Batasan Keputusan
Setiap algoritme Pembelajaran Mesin mempelajari pemetaan dari input ke output. Dalam kasus model parametrik, algoritme mempelajari fungsi dengan beberapa set bobot:
Masukan -> f (w 1 , w 2 … ..w n ) -> Output
Dalam kasus masalah klasifikasi, algoritme mempelajari fungsi yang memisahkan 2 kelas - ini dikenal sebagai batas Keputusan . Batas keputusan membantu kita dalam menentukan apakah titik data tertentu termasuk dalam kelas positif atau kelas negatif.
Misalnya, dalam kasus regresi logistik , fungsi pembelajaran adalah fungsi sigmoid yang mencoba memisahkan 2 kelas:
Batas keputusan regresi logistik
Seperti yang Anda lihat di sini, algoritme regresi logistik mempelajari batas keputusan linier. Itu tidak dapat mempelajari batasan keputusan untuk data nonlinier seperti ini:
Data nonlinier
Demikian pula, setiap algoritma Pembelajaran Mesin tidak mampu mempelajari semua fungsi. Ini membatasi masalah yang dapat diselesaikan algoritme ini yang melibatkan hubungan yang kompleks.
2. Pembelajaran Mesin vs. Pembelajaran Mendalam: Rekayasa Fitur
Rekayasa fitur adalah langkah kunci dalam proses pembuatan model. Ini adalah proses dua langkah:
- Ekstraksi fitur
- Pemilihan fitur
Dalam ekstraksi fitur, kami mengekstrak semua fitur yang diperlukan untuk pernyataan masalah kami dan dalam pemilihan fitur, kami memilih fitur penting yang meningkatkan kinerja model pembelajaran mesin atau pembelajaran mendalam kami .
Pertimbangkan masalah klasifikasi gambar . Mengekstrak fitur secara manual dari suatu gambar membutuhkan pengetahuan yang kuat tentang subjek serta domainnya. Ini adalah proses yang sangat memakan waktu. Berkat Deep Learning, kami dapat mengotomatiskan proses Rekayasa Fitur!
Perbandingan antara Machine Learning & Deep Learning
Sekarang setelah kita memahami pentingnya pembelajaran mendalam dan mengapa ini melampaui algoritme pembelajaran mesin tradisional, mari masuk ke inti artikel ini. Kami akan membahas berbagai jenis jaringan saraf yang akan Anda gunakan untuk memecahkan masalah pembelajaran yang mendalam.
Jika Anda baru saja memulai Machine Learning dan Deep Learning, berikut adalah kursus untuk membantu Anda dalam perjalanan Anda:
Berbagai jenis Jaringan Neural dalam Pembelajaran Mendalam
Artikel ini berfokus pada tiga jenis jaringan neural penting yang menjadi dasar untuk sebagian besar model terlatih dalam pembelajaran mendalam:
- Jaringan Syaraf Tiruan (JST)
- Convolution Neural Networks (CNN)
- Jaringan Neural Berulang (RNN)
Mari kita bahas setiap jaringan saraf secara mendetail.
Jaringan Syaraf Tiruan (JST) - Apa itu JST dan mengapa Anda harus menggunakannya?
Sebuah perceptron (atau neuron) dapat dibayangkan sebagai Regresi Logistik. Jaringan Syaraf Tiruan, atau JST, adalah sekelompok beberapa perceptron / neuron di setiap lapisan. ANN juga dikenal sebagai jaringan Neural Feed-Forward karena input hanya diproses ke arah depan:
ANN
Seperti yang Anda lihat di sini, ANN terdiri dari 3 lapisan - Input, Hidden dan Output. Lapisan masukan menerima masukan, lapisan tersembunyi memproses masukan, dan lapisan keluaran menghasilkan hasilnya. Pada dasarnya, setiap lapisan mencoba mempelajari bobot tertentu.
Jika Anda ingin menjelajahi lebih lanjut tentang cara kerja ANN, saya sarankan untuk membaca artikel di bawah ini:
ANN dapat digunakan untuk menyelesaikan masalah yang berkaitan dengan:
- Data tabel
- Data gambar
- Data teks
Keuntungan Jaringan Saraf Tiruan (JST)
Jaringan Syaraf Tiruan mampu mempelajari fungsi nonlinier apa pun. Oleh karena itu, jaringan ini dikenal sebagai Pengukur Fungsi Universal . JST memiliki kapasitas untuk mempelajari bobot yang memetakan masukan apa pun ke keluaran.
Salah satu alasan utama di balik pendekatan universal adalah fungsi aktivasi . Fungsi aktivasi memperkenalkan properti nonlinier ke jaringan. Ini membantu jaringan mempelajari hubungan kompleks apa pun antara masukan dan keluaran.
Perceptron
Seperti yang Anda lihat di sini, keluaran di setiap neuron adalah aktivasi sejumlah masukan yang berbobot. Tapi tunggu - apa yang terjadi jika tidak ada fungsi aktivasi? Jaringan hanya mempelajari fungsi linier dan tidak pernah dapat mempelajari hubungan yang kompleks. Itu sebabnya:
Fungsi aktivasi adalah pembangkit tenaga listrik ANN!
Tantangan dengan Artificial Neural Network (ANN)
- Saat menyelesaikan masalah klasifikasi gambar menggunakan JST, langkah pertama adalah mengonversi gambar 2 dimensi menjadi vektor 1 dimensi sebelum melatih model. Ini memiliki dua kelemahan:
- Jumlah parameter yang dapat dilatih meningkat secara drastis dengan peningkatan ukuran gambar
ANN: Klasifikasi gambar
Pada skenario di atas, jika ukuran citra 224 * 224, maka jumlah parameter yang dapat dilatih pada hidden layer pertama dengan hanya 4 neuron adalah 602.112. Itu luar biasa!
- ANN kehilangan fitur spasial gambar. Fitur spasial mengacu pada pengaturan piksel dalam sebuah gambar. Saya akan menyentuh ini secara rinci di bagian berikut
- Satu masalah umum di semua jaringan saraf ini adalah Gradien Lenyap dan Meledak . Masalah ini terkait dengan algoritma propagasi mundur . Bobot jaringan neural diperbarui melalui algoritme propagasi mundur ini dengan menemukan gradien:
Propagasi Mundur
Jadi, dalam kasus jaringan neural yang sangat dalam (jaringan dengan banyak lapisan tersembunyi), gradien menghilang atau meledak saat menyebar ke belakang yang mengarah ke gradien menghilang dan meledak.
- JST tidak dapat menangkap informasi sekuensial dalam data masukan yang diperlukan untuk menangani data sekuens
Sekarang, mari kita lihat cara mengatasi keterbatasan MLP menggunakan dua arsitektur berbeda - Jaringan Neural Berulang (RNN) dan Jaringan Saraf Tiruan (CNN).
Recurrent Neural Network (RNN) - Apa itu RNN dan mengapa Anda harus menggunakannya?
Mari kita coba memahami perbedaan antara RNN dan ANN dari perspektif arsitektur:
Batasan perulangan pada lapisan tersembunyi ANN berubah menjadi RNN.
Seperti yang Anda lihat di sini, RNN memiliki koneksi berulang pada status tersembunyi. Batasan perulangan ini memastikan bahwa informasi sekuensial ditangkap dalam data masukan.
Anda harus melalui tutorial di bawah ini untuk mempelajari lebih lanjut tentang bagaimana RNN bekerja di bawah tenda (dan cara membuatnya dengan Python):
Kami dapat menggunakan jaringan saraf berulang untuk menyelesaikan masalah yang terkait dengan:
- Data Time Series
- Data teks
- Data audio
Keuntungan dari Recurrent Neural Network (RNN)
- RNN menangkap informasi sekuensial yang ada dalam data input, yaitu ketergantungan antara kata-kata dalam teks saat membuat prediksi:
Many2Many model Seq2Seq
Seperti yang Anda lihat di sini, keluaran (o1, o2, o3, o4) pada setiap langkah waktu tidak hanya bergantung pada kata saat ini tetapi juga pada kata sebelumnya.
- RNN berbagi parameter di seluruh langkah waktu yang berbeda. Ini dikenal sebagai Berbagi Parameter . Hal ini menghasilkan lebih sedikit parameter untuk dilatih dan menurunkan biaya komputasi
RNN yang tidak digulung
Seperti yang ditunjukkan pada gambar di atas, 3 matriks bobot - U, W, V, adalah matriks bobot yang digunakan bersama di semua langkah waktu.
Tantangan dengan Recurrent Neural Networks (RNN)
Deep RNN (RNN dengan jumlah langkah waktu yang besar) juga mengalami masalah gradien yang menghilang dan meledak yang merupakan masalah umum di semua jenis jaringan neural yang berbeda.
Vanishing Gradient (RNN)
Seperti yang Anda lihat di sini, gradien yang dihitung pada langkah terakhir kali menghilang saat mencapai langkah waktu awal.
Convolution Neural Network (CNN) - Apa itu CNN dan Mengapa Anda Harus Menggunakannya?
Jaringan saraf konvolusional (CNN) sedang populer di komunitas deep learning saat ini. Ini CNN model yang digunakan di seluruh aplikasi dan domain yang berbeda, dan mereka terutama terjadi dalam proyek-proyek pengolahan gambar dan video.
Blok pembangun CNN adalah filter alias kernel. Kernel digunakan untuk mengekstrak fitur yang relevan dari input menggunakan operasi konvolusi. Mari kita coba memahami pentingnya filter menggunakan gambar sebagai data masukan. Menggabungkan gambar dengan hasil filter dalam peta fitur:
Hasil Konvolusi
Ingin menjelajahi lebih lanjut tentang Convolution Neural Networks? Saya sarankan untuk melalui tutorial di bawah ini:
Anda juga dapat mendaftar di kursus gratis ini di CNN untuk mempelajarinya lebih lanjut: Convolutional Neural Networks from Scratch
Meskipun jaringan saraf konvolusional diperkenalkan untuk memecahkan masalah yang terkait dengan data gambar, jaringan tersebut juga bekerja secara mengesankan pada masukan berurutan.
Keuntungan dari Convolution Neural Network (CNN)
- CNN mempelajari filter secara otomatis tanpa menyebutkannya secara eksplisit. Filter ini membantu mengekstraksi fitur yang tepat dan relevan dari data masukan
CNN - Klasifikasi Gambar
- CNN menangkap fitur spasial dari sebuah gambar. Fitur spasial mengacu pada susunan piksel dan hubungan antar piksel dalam sebuah gambar. Mereka membantu kita dalam mengidentifikasi objek secara akurat, lokasi suatu objek, serta hubungannya dengan objek lain dalam sebuah gambar
Pada gambar di atas, kita dapat dengan mudah mengidentifikasi bahwa itu adalah wajah manusia dengan melihat ciri-ciri khusus seperti mata, hidung, mulut, dan sebagainya. Kami juga dapat melihat bagaimana fitur-fitur spesifik ini diatur dalam sebuah gambar. Itulah yang mampu ditangkap CNN .
- CNN juga mengikuti konsep berbagi parameter. Filter tunggal diterapkan di berbagai bagian input untuk menghasilkan peta fitur:
Menyatukan gambar dengan filter
Perhatikan bahwa peta fitur 2 * 2 dihasilkan dengan menggeser filter 3 * 3 yang sama melintasi bagian gambar yang berbeda.
Jadi, Perbandingan Berbagai Jenis Jaringan Neural (ANN) vs. RNN vs. CNN).
Di sini, saya telah merangkum beberapa perbedaan di antara berbagai jenis jaringan saraf:
Catatan Akhir
Pada artikel ini, saya telah membahas pentingnya pembelajaran mendalam dan perbedaan di antara berbagai jenis jaringan saraf. Saya sangat percaya bahwa berbagi pengetahuan adalah bentuk pembelajaran yang paling utama. Jika ada yang ditanyakan silahkan tinggalkan komentar anda dibawah ini...
ref : analyticsvidhya.com