Pembelajaran mesin, dan terutama pembelajaran mendalam, adalah dua teknologi yang mengubah dunia.
Setelah "musim dingin AI" yang panjang selama 30 tahun, daya komputasi dan kumpulan data akhirnya mengikuti algoritme kecerdasan buatan yang diusulkan selama paruh kedua abad ke-20.
Ini berarti bahwa model pembelajaran yang mendalam akhirnya digunakan untuk membuat prediksi efektif yang memecahkan masalah dunia nyata.
Semakin penting bagi ilmuwan data dan insinyur perangkat lunak untuk memiliki pemahaman tingkat tinggi tentang cara kerja model pembelajaran yang mendalam. Artikel ini akan menjelaskan sejarah dan konsep dasar deep learning neural networks dalam bahasa Inggris biasa.
Sejarah Pembelajaran Mendalam
Pembelajaran mendalam dikonsep oleh Geoffrey Hinton pada 1980-an. Dia secara luas dianggap sebagai bapak pendiri bidang pembelajaran mendalam. Hinton telah bekerja di Google sejak Maret 2013 ketika perusahaannya, DNNresearch Inc., diakuisisi.
Kontribusi utama Hinton di bidang pembelajaran mendalam adalah membandingkan teknik pembelajaran mesin dengan otak manusia.
Lebih khusus lagi, ia menciptakan konsep "jaringan saraf", yang merupakan algoritma pembelajaran mendalam yang terstruktur mirip dengan organisasi neuron di otak. Hinton mengambil pendekatan ini karena otak manusia bisa dibilang mesin komputasi paling kuat yang dikenal saat ini.
Struktur yang dibuat Hinton disebut jaringan saraf tiruan (atau disingkat jaringan saraf tiruan). Berikut penjelasan singkat tentang fungsinya:
- Jaringan saraf tiruan terdiri dari lapisan node
- Setiap node dirancang untuk berperilaku serupa dengan neuron di otak
- Lapisan pertama jaringan saraf disebut
input
lapisan, diikuti olehhidden
lapisan, lalu terakhiroutput
lapisan - Setiap node di jaringan neural melakukan semacam penghitungan, yang diteruskan ke node lain yang lebih dalam di jaringan saraf
Berikut adalah visualisasi yang disederhanakan untuk menunjukkan cara kerjanya:

Jaringan saraf mewakili langkah maju yang luar biasa dalam bidang pembelajaran mendalam.
Namun, butuh waktu puluhan tahun agar pembelajaran mesin (dan terutama pembelajaran mendalam) menjadi terkenal.
Kami akan mempelajari alasannya di bagian selanjutnya.
Mengapa Pembelajaran Mendalam Tidak Segera Berhasil
Jika pembelajaran mendalam awalnya dipahami beberapa dekade yang lalu, mengapa hal itu baru mulai mendapatkan momentum hari ini?
Itu karena model pembelajaran mendalam yang matang membutuhkan dua sumber daya yang berlimpah:
- Data
- Daya komputasi
Pada saat lahirnya konsep pembelajaran mendalam, para peneliti tidak memiliki akses yang cukup ke data atau daya komputasi untuk membangun dan melatih model pembelajaran mendalam yang bermakna. Ini telah berubah dari waktu ke waktu, yang menyebabkan keunggulan deep learning saat ini.
Memahami Neuron dalam Pembelajaran Mendalam
Neuron adalah komponen penting dari model pembelajaran mendalam apa pun.
Faktanya, orang dapat berargumen bahwa Anda tidak dapat sepenuhnya memahami pembelajaran mendalam dengan memiliki pengetahuan yang mendalam tentang cara kerja neuron.
Bagian ini akan memperkenalkan Anda pada konsep neuron dalam pembelajaran mendalam. Kita akan berbicara tentang asal mula neuron pembelajaran mendalam, bagaimana mereka terinspirasi oleh biologi otak manusia, dan mengapa neuron begitu penting dalam model pembelajaran mendalam saat ini.
Apa itu Neuron dalam Biologi?
Neuron dalam pembelajaran mendalam terinspirasi oleh neuron di otak manusia. Berikut adalah diagram anatomi neuron otak:

Seperti yang Anda lihat, neuron memiliki struktur yang cukup menarik. Sekelompok neuron bekerja bersama di dalam otak manusia untuk melakukan fungsi yang kita butuhkan dalam kehidupan sehari-hari.
Pertanyaan yang diajukan Geoffrey Hinton selama penelitian pentingnya di jaringan saraf adalah apakah kita dapat membangun algoritme komputer yang berperilaku mirip dengan neuron di otak. Harapannya adalah dengan meniru struktur otak, kita dapat menangkap sebagian dari kemampuannya.
Untuk melakukan ini, para peneliti mempelajari cara neuron berperilaku di otak. Satu pengamatan penting adalah bahwa neuron dengan sendirinya tidak berguna. Sebaliknya, Anda memerlukan jaringan neuron untuk menghasilkan fungsionalitas yang berarti.
Ini karena neuron berfungsi dengan menerima dan mengirim sinyal. Lebih khusus lagi, neuron dendrites
menerima sinyal dan meneruskan sinyal tersebut melalui axon
.
Satu dendrites
neuron terhubung ke axon
neuron lain. Koneksi ini disebut synapses
, yang merupakan konsep yang telah digeneralisasikan ke bidang pembelajaran yang mendalam.
Apa itu Neuron dalam Pembelajaran Mendalam?
Neuron dalam model pembelajaran mendalam adalah node tempat data dan komputasi mengalir.
Neuron bekerja seperti ini:
- Mereka menerima satu atau lebih sinyal masukan. Sinyal masukan ini dapat berasal dari kumpulan data mentah atau dari neuron yang ditempatkan di lapisan jaringan saraf sebelumnya.
- Mereka melakukan beberapa perhitungan.
- Mereka mengirimkan beberapa sinyal keluaran ke neuron yang lebih dalam di jaringan saraf melalui a
synapse
.
Berikut adalah diagram fungsi neuron dalam jaringan saraf pembelajaran yang dalam:

Mari kita telusuri diagram ini selangkah demi selangkah.
Seperti yang Anda lihat, neuron dalam model pembelajaran mendalam mampu memiliki sinapsis yang terhubung ke lebih dari satu neuron di lapisan sebelumnya. Setiap sinaps memiliki keterkaitan weight
, yang berdampak pada pentingnya neuron sebelumnya dalam keseluruhan jaringan saraf.
Bobot adalah topik yang sangat penting di bidang deep learning karena menyesuaikan bobot model adalah cara utama untuk melatih model deep learning. Anda akan melihat ini dalam praktiknya nanti saat kami membangun jaringan neural pertama kami dari awal.
Setelah neuron menerima masukannya dari neuron di lapisan model sebelumnya, ia menambahkan setiap sinyal dikalikan dengan bobot yang sesuai dan meneruskannya ke fungsi aktivasi, seperti ini:

Fungsi aktivasi menghitung nilai keluaran untuk neuron. Nilai keluaran ini kemudian diteruskan ke lapisan berikutnya dari jaringan saraf melalui sinapsis lain.
Ini berfungsi sebagai gambaran umum neuron pembelajaran mendalam. Jangan khawatir jika itu terlalu banyak - kita akan belajar lebih banyak tentang neuron di sisa tutorial ini. Untuk saat ini, Anda cukup memiliki pemahaman tingkat tinggi tentang bagaimana mereka disusun dalam model pembelajaran yang mendalam.
Fungsi Aktivasi Pembelajaran Mendalam
Fungsi aktivasi adalah konsep inti yang harus dipahami dalam pembelajaran mendalam.
Mereka adalah apa yang memungkinkan neuron dalam jaringan saraf untuk berkomunikasi satu sama lain melalui sinapsisnya.
Di bagian ini, Anda akan belajar memahami pentingnya dan fungsionalitas fungsi aktivasi dalam pembelajaran mendalam.
Apa Fungsi Aktivasi dalam Pembelajaran Mendalam?
Pada bagian terakhir, kita mempelajari bahwa neuron menerima sinyal masukan dari lapisan jaringan saraf sebelumnya. Jumlah bobot sinyal-sinyal ini dimasukkan ke dalam fungsi aktivasi neuron, kemudian keluaran fungsi aktivasi diteruskan ke lapisan jaringan berikutnya.
Ada empat jenis fungsi aktivasi utama yang akan kita bahas dalam tutorial ini:
- Fungsi ambang batas
- Fungsi sigmoid
- Fungsi penyearah, atau ULT
- Fungsi Tangen Hiperbolik
Mari bekerja melalui fungsi aktivasi ini satu per satu.
Fungsi Ambang Batas
Fungsi ambang menghitung sinyal keluaran yang berbeda tergantung pada apakah masukannya berada di atas atau di bawah ambang tertentu. Ingat, nilai masukan ke fungsi aktivasi adalah jumlah bobot nilai masukan dari lapisan sebelumnya di jaringan saraf.
Secara matematis, berikut adalah definisi formal dari fungsi ambang pembelajaran yang dalam:

Seperti yang ditunjukkan gambar di atas, fungsi ambang terkadang juga disebut a unit step function
.
Fungsi ambang mirip dengan variabel boolean dalam pemrograman komputer. Nilai yang dihitung adalah 1
(mirip dengan True
) atau 0
(setara dengan False
).
Fungsi Sigmoid
Fungsi sigmoid terkenal di kalangan komunitas data science karena penggunaannya dalam regresi logistik, salah satu teknik pembelajaran mesin inti yang digunakan untuk menyelesaikan masalah klasifikasi.
Fungsi sigmoid dapat menerima nilai apa pun, tetapi selalu menghitung nilai antara 0
dan 1
.
Berikut definisi matematis dari fungsi sigmoid:

Salah satu keuntungan dari fungsi sigmoid dibandingkan dengan fungsi threshold adalah kurva yang halus. Artinya, dimungkinkan untuk menghitung turunan di titik mana pun di sepanjang kurva.
Fungsi Penyearah
Fungsi penyearah tidak memiliki properti kehalusan yang sama seperti fungsi sigmoid dari bagian terakhir. Namun, ini masih sangat populer di bidang pembelajaran yang mendalam.
Fungsi penyearah didefinisikan sebagai berikut:
- Jika nilai masukan lebih kecil dari
0
, maka fungsi akan dikeluarkan0
- Jika tidak, fungsi mengeluarkan nilai masukannya
Inilah konsep yang dijelaskan secara matematis:

Fungsi penyearah sering disebut Rectified Linear Unit
fungsi aktivasi, atau ReLUs
disingkat.
Fungsi Tangen Hiperbolik
Fungsi tangen hiperbolik adalah satu-satunya fungsi aktivasi yang disertakan dalam tutorial ini yang didasarkan pada identitas trigonometri.
Definisi matematisnya ada di bawah ini:

Fungsi tangen hiperbolik serupa tampilannya dengan fungsi sigmoid, tetapi nilai keluarannya semuanya bergeser ke bawah.
Bagaimana Jaringan Neural Benar-benar Bekerja?
Sejauh ini dalam tutorial ini, kita telah membahas dua blok bangunan untuk membangun jaringan saraf:
- Neuron
- Fungsi aktivasi
Namun, Anda mungkin masih agak bingung tentang cara kerja jaringan neural.
Tutorial ini akan mengumpulkan bagian-bagian yang telah kita diskusikan sehingga Anda dapat memahami cara kerja jaringan saraf dalam praktiknya.
Contoh Yang Akan Kami Gunakan Dalam Tutorial Ini
Tutorial ini akan bekerja melalui contoh dunia nyata selangkah demi selangkah sehingga Anda dapat memahami bagaimana jaringan saraf membuat prediksi.
Lebih khusus lagi, kita akan berurusan dengan penilaian properti.
Anda mungkin sudah tahu bahwa ada banyak faktor yang mempengaruhi harga rumah, termasuk ekonomi, tingkat suku bunga, jumlah kamar tidur / kamar mandi, dan lokasinya.
Dimensi tinggi dari kumpulan data ini menjadikannya kandidat yang menarik untuk membangun dan melatih jaringan saraf.
Satu peringatan tentang bagian ini adalah jaringan saraf yang akan kami gunakan untuk membuat prediksi telah dilatih . Kami akan mempelajari proses untuk melatih jaringan neural baru di bagian selanjutnya dari tutorial ini.
Parameter Dalam Kumpulan Data Kami
Mari kita mulai dengan membahas parameter dalam kumpulan data kita. Lebih spesifiknya, mari kita bayangkan bahwa kumpulan data berisi parameter berikut:
- Rekaman persegi
- Kamar tidur
- Jarak ke pusat kota
- Usia rumah
Keempat parameter ini akan membentuk lapisan masukan jaringan saraf tiruan. Perhatikan bahwa pada kenyataannya, kemungkinan ada lebih banyak parameter yang dapat Anda gunakan untuk melatih jaringan neural untuk memprediksi harga rumah. Kami telah membatasi jumlah ini menjadi empat untuk menjaga agar contoh tetap sederhana.
Bentuk Paling Dasar dari Jaringan Neural
Dalam bentuknya yang paling dasar, jaringan neural hanya memiliki dua lapisan - lapisan masukan dan lapisan keluaran. Lapisan keluaran adalah komponen jaringan saraf yang benar-benar membuat prediksi.
Misalnya, jika Anda ingin membuat prediksi menggunakan model penjumlahan berbobot sederhana (juga disebut regresi linier), jaringan neural Anda akan mengambil bentuk berikut:

Meskipun diagram ini agak abstrak, intinya adalah sebagian besar jaringan saraf dapat divisualisasikan dengan cara ini:
- Lapisan masukan
- Mungkin beberapa lapisan tersembunyi
- Lapisan keluaran
Ini adalah lapisan neuron tersembunyi yang menyebabkan jaringan saraf menjadi begitu kuat untuk menghitung prediksi.
Untuk setiap neuron di lapisan tersembunyi, ia melakukan kalkulasi menggunakan beberapa (atau semua) neuron di lapisan terakhir jaringan saraf. Nilai-nilai ini kemudian digunakan di lapisan berikutnya dari jaringan saraf.
Tujuan Neuron di Lapisan Tersembunyi Jaringan Neural
Anda mungkin bertanya-tanya - apa sebenarnya setiap neuron pada lapisan tersembunyi berarti ? Dengan kata lain, bagaimana seharusnya praktisi pembelajaran mesin menafsirkan nilai-nilai ini?
Secara umum, neuron di lapisan midden dari jaringan saraf diaktifkan (artinya fungsi aktivasi mereka kembali 1
) untuk nilai input yang memenuhi sub-properti tertentu.
Untuk model prediksi harga rumah kita, salah satu contohnya adalah rumah dengan 5 kamar tidur dengan jarak yang kecil ke pusat kota.
Dalam kebanyakan kasus lain, mendeskripsikan karakteristik yang akan menyebabkan neuron di lapisan tersembunyi aktif tidaklah mudah.
Bagaimana Neuron Menentukan Nilai Inputnya
Di awal tutorial ini, saya menulis "Untuk setiap neuron di lapisan tersembunyi, ia melakukan penghitungan menggunakan beberapa (atau semua) neuron di lapisan terakhir jaringan saraf."
Ini mengilustrasikan poin penting - bahwa setiap neuron dalam jaringan saraf tidak perlu menggunakan setiap neuron di lapisan sebelumnya.
Proses di mana neuron menentukan nilai masukan yang akan digunakan dari lapisan sebelumnya dari jaringan saraf disebut melatih model. Kita akan mempelajari lebih lanjut tentang melatih jaringan saraf di bagian selanjutnya dari kursus ini.
Memvisualisasikan Proses Prediksi Jaringan Neural
Saat memvisualisasikan jaringan netral, kami biasanya menggambar garis dari lapisan sebelumnya ke lapisan saat ini setiap kali neuron sebelumnya memiliki bobot 0
di atas dalam rumus jumlah tertimbang untuk neuron saat ini.
Gambar berikut akan membantu memvisualisasikan ini:

Seperti yang Anda lihat, tidak setiap pasangan neuron-neuron memiliki sinaps. x4
hanya memberi makan tiga dari lima neuron di lapisan tersembunyi, sebagai contoh. Ini menggambarkan poin penting saat membangun jaringan neural - bahwa tidak semua neuron di lapisan sebelumnya harus digunakan di lapisan berikutnya dari jaringan saraf.
Bagaimana Jaringan Neural Dilatih
Sejauh ini Anda telah mempelajari hal berikut tentang jaringan saraf:
- Bahwa mereka terdiri dari neuron
- Bahwa setiap neuron menggunakan fungsi aktivasi yang diterapkan pada jumlah bobot keluaran dari lapisan jaringan saraf sebelumnya.
- Ringkasan luas tanpa kode tentang cara jaringan neural membuat prediksi
Kami belum membahas bagian yang sangat penting dari proses rekayasa jaringan saraf: bagaimana jaringan saraf dilatih.
Sekarang Anda akan mempelajari bagaimana jaringan saraf dilatih. Kami akan membahas kumpulan data, algoritme, dan prinsip luas yang digunakan dalam melatih jaringan neural modern yang memecahkan masalah dunia nyata.
Hard-Coding vs. Soft-Coding
Ada dua cara utama untuk mengembangkan aplikasi komputer. Sebelum mempelajari bagaimana jaringan saraf dilatih, penting untuk memastikan bahwa Anda memiliki pemahaman tentang perbedaan antara hard-coding
dan soft-coding
program komputer.
Hard-coding berarti Anda secara eksplisit menentukan variabel input dan variabel output yang Anda inginkan. Dengan kata lain, hard-coding tidak menyisakan ruang bagi komputer untuk menafsirkan masalah yang Anda coba selesaikan.
Soft-coding adalah kebalikannya. Ini memberikan ruang bagi program untuk memahami apa yang terjadi dalam kumpulan data. Pengodean lunak memungkinkan komputer untuk mengembangkan pendekatan pemecahan masalahnya sendiri.
Contoh spesifik sangat membantu di sini. Berikut adalah dua contoh bagaimana Anda dapat mengidentifikasi kucing dalam kumpulan data menggunakan teknik pengkodean lunak dan pengkodean keras.
- Pengkodean keras: Anda menggunakan parameter tertentu untuk memprediksi apakah seekor hewan adalah kucing. Lebih khusus lagi, Anda dapat mengatakan bahwa jika berat dan panjang hewan berada dalam batas tertentu
- Pengodean lunak: Anda memberikan kumpulan data yang berisi hewan yang diberi label dengan jenis spesies dan karakteristik tentang hewan tersebut. Kemudian Anda membangun program komputer untuk memprediksi apakah seekor hewan itu kucing atau bukan berdasarkan karakteristik dalam kumpulan data.
Seperti yang Anda bayangkan, melatih jaringan saraf termasuk dalam kategori pengkodean lunak. Ingatlah hal ini saat Anda melanjutkan kursus ini.
Melatih Jaringan Neural Menggunakan Fungsi Biaya
Jaringan syaraf tiruan dilatih menggunakan a cost function
, yaitu persamaan yang digunakan untuk mengukur kesalahan yang terdapat dalam prediksi jaringan.
Rumus untuk fungsi deep learning cost (yang jumlahnya banyak - ini hanya satu contoh) adalah di bawah ini:

Catatan: fungsi biaya ini disebut the mean squared error
, itulah sebabnya ada MSE di sisi kiri tanda sama dengan.
Meskipun ada banyak rumus matematika dalam persamaan ini, paling baik diringkas sebagai berikut:
Take the difference between the predicted output value of an observation and the actual output value of that observation. Square that difference and divide it by 2.
Untuk mengulangi, perhatikan bahwa ini hanyalah salah satu contoh fungsi biaya yang dapat digunakan dalam pembelajaran mesin (meskipun diakui sebagai pilihan paling populer). Pilihan fungsi biaya yang akan digunakan merupakan topik yang kompleks dan menarik, dan di luar cakupan tutorial ini.
Seperti yang telah disebutkan, tujuan dari jaringan syaraf tiruan adalah untuk meminimalkan nilai dari fungsi biaya. Fungsi biaya diminimalkan jika nilai prediksi algoritme Anda sedekat mungkin dengan nilai sebenarnya. Dengan kata lain, tujuan dari jaringan saraf adalah untuk meminimalkan kesalahan yang dibuat dalam prediksinya!
Memodifikasi Jaringan Neural
Setelah jaringan saraf awal dibuat dan fungsi biaya diperhitungkan, perubahan dilakukan pada jaringan saraf untuk melihat apakah mereka mengurangi nilai fungsi biaya.
Lebih khusus lagi, komponen sebenarnya dari jaringan saraf yang dimodifikasi adalah bobot setiap neuron pada sinapsnya yang berkomunikasi ke lapisan jaringan berikutnya.
Mekanisme yang melaluinya bobot dimodifikasi untuk memindahkan jaringan saraf ke bobot dengan lebih sedikit kesalahan disebut gradient descent
. Untuk saat ini, Anda cukup memahami bahwa proses melatih jaringan saraf terlihat seperti ini:
- Bobot awal untuk nilai input setiap neuron ditetapkan
- Prediksi dihitung menggunakan nilai awal ini
- Prediksi dimasukkan ke dalam fungsi biaya untuk mengukur kesalahan jaringan saraf
- Algoritme penurunan gradien mengubah bobot untuk setiap nilai input neuron
- Proses ini dilanjutkan hingga bobot berhenti berubah (atau hingga jumlah perubahannya di setiap iterasi turun di bawah ambang yang ditentukan)
Ini mungkin tampak sangat abstrak - dan tidak apa-apa! Konsep ini biasanya hanya dipahami sepenuhnya saat Anda mulai melatih model pembelajaran mesin pertama Anda.
Pikiran Akhir
Dalam tutorial ini, Anda belajar tentang bagaimana jaringan neural melakukan komputasi untuk membuat prediksi yang berguna.
Jika Anda tertarik untuk mempelajari lebih lanjut tentang membangun, melatih, dan menerapkan model pembelajaran mesin mutakhir, Pembelajaran Mesin Pragmatis eBook saya akan mengajari Anda cara membuat 9 model pembelajaran mesin yang berbeda menggunakan proyek dunia nyata.
Anda dapat menerapkan kode dari eBook ke GitHub atau portofolio pribadi Anda untuk ditunjukkan kepada calon pemberi kerja. Buku ini diluncurkan pada 3 Agustus - pesan di muka dengan diskon 50% sekarang!