
Author(s): Clément Delteil
Awalnya diterbitkan di Menuju AI.
Deep Learning Dijelaskan: Perceptron
Konsep kunci di balik setiap jaringan saraf.
Sumber: Gambar oleh Gerd Altmann dari Pixabay
Saat ini, kerangka kerja seperti Keras, TensorFlow, atau PyTorch menyediakan akses siap pakai ke sebagian besar solusi deep learning tanpa harus memahaminya secara mendalam.
Tapi ini bisa menjadi masalah segera setelah model Anda tidak berfungsi seperti yang diharapkan. Anda mungkin perlu menyesuaikannya sendiri.
Jadi, jika Anda di sini untuk memahami konsep Perceptron dalam pembelajaran mendalam, saya pikir Anda berada di jalur yang benar jika suatu hari Anda ingin dapat berkontribusi pada ekosistem ini dengan cara apa pun, penting untuk memahami akar dari ini. sistem.
Sebaliknya, jika Anda sudah terbiasa dengan konsep Perceptron, itu bukan masalah besar. Saya masih berharap untuk mengejutkan Anda!
Pada artikel ini, saya akan memperkenalkan ide tentang Perceptron. Kita akan melihat bagaimana hal itu dipikirkan pada tahun 1950 dan bagaimana cara kerjanya.
Mari kita masuk ke dalamnya.
Sedikit sejarah
Awal
Kembali pada tahun 1943, McCulloch dan Pitts menerbitkan sebuah makalah berjudul Kalkulus logis dari ide-ide yang imanen dalam aktivitas saraf — yang sekarang dikenal sebagai model matematika pertama dari jaringan saraf.
Gagasan artikel ini merupakan bagian dari dinamika zaman yang ingin menciptakan mesin cerdas dengan mereproduksi fungsi otak manusia.
Saya mengambil sebagai bukti awal dari abstraknya.
Karena karakter aktivitas saraf “semua atau tidak sama sekali”, peristiwa saraf dan hubungan di antara mereka dapat diperlakukan melalui logika proposisional.
Saat itu, fungsi otak manusia dipopulerkan sebagai sel saraf yang saling berhubungan yang mengirimkan sinyal listrik dan kimia seperti gerbang logika sederhana!
Sumber: Gambar oleh Wisnu Mohanan dari Unsplash
Perceptron itu sendiri
Sekarang mari kita lompat ke 14 tahun ke tahun 1957 dan penerbitan sebuah artikel oleh Rosenblatt berjudul The Perceptron — A Perceiving and Recognizing Automaton.
Dalam artikel inilah kita menemukan perceptron seperti yang dipahami saat ini.
Sebuah sistem untuk mempelajari bobot optimal untuk dikalikan dengan input untuk menentukan apakah sebuah neuron aktif atau tidak.
Di bawah ini Anda dapat melihat perceptron pertama yang dilatih untuk mengenali objek atau pola, dalam hal ini huruf alfabet.
Sumber: Flickr — Sistem kamera Mark 1 Perceptron (Domain Publik)
Sekarang setelah Anda memiliki gambaran tentang sejarah konsep ini, mari beralih ke penerapannya dalam pembelajaran mendalam.
Perceptron diterapkan pada Deep Learning.
Perceptron dasar digunakan untuk klasifikasi biner dalam pembelajaran mesin yang diawasi.
Sebagai pengingat, klasifikasi biner menyiratkan bahwa hanya ada dua kelas untuk memprediksi 1 dan -1, misalnya.
Dan pembelajaran mesin yang diawasi mengacu pada pelatihan model melalui data yang sudah diberi label (dengan kelas terkait).
Definisi matematika
Kami mendefinisikan input 𝑥, output y, dan bobot 𝑤 dengan cara berikut.
Sumber: Gambar oleh penulis
Dimana m adalah ukuran vektor 𝑤, 𝑥 atau y.
Biarkan 𝑧 menjadi input bersih yang terdiri dari kombinasi linear dari 𝑥 dan 𝑤.
Sumber: Gambar oleh penulis Klasifikasi ditentukan oleh fungsi aktivasi phi: 𝜙 (𝑧) dengan ambang batas theta: 𝜃 sesuai dengan apa yang disebut bias, kita akan melihatnya nanti.
Sumber: Gambar oleh penulis
Fungsi aktivasi mendefinisikan dengan cara bagaimana elemen yang masuk akan diklasifikasikan.
Jika neuron aktif, artinya, jika z ≥ 𝜃, maka input saat ini akan diberi kelas 1, -1 sebaliknya.
Fungsi semacam ini disebut fungsi langkah Heaviside.
Sumber: Gambar oleh penulis — Ilustrasi fungsi langkah Heaviside
Di atas, theta sama dengan 0. Dengan mengubah nilai ini, kita menggeser kurva ke kiri atau ke kanan.
Singkatnya, sekarang kita telah menambahkan theta, persamaan untuk input bersih z berubah sedikit.
Kami sekarang memiliki:
Sumber: Gambar oleh penulis
Dengan :
Sumber: Gambar oleh penulis
Selamat! Anda sekarang tahu definisi matematis dari perceptron.
Berikut adalah persamaan grafisnya:
Sumber: Chang et al — Creative Commons Attribution 4.0 International — ilustrasi Perceptron
Tapi bagaimana Anda melatih perceptron?
Melatih perceptron
Berikut langkah-langkah latihannya:
Inisialisasi bobot ke 0 (atau angka acak kecil)
2. Untuk setiap contoh pelatihan x⁽ⁱ⁾ :
– Hitung perkiraan output ŷ⁽ⁱ⁾
– Perbarui bobot
Pembaruan setiap bobot vektor w
Sumber: Gambar oleh penulis
dilakukan sebagai berikut :
Sumber: Gambar oleh penulis
Di mana kami memperkenalkan eta: 𝜂, laju pembelajaran (antara 0,0 dan 1,0).
Bergantung pada apakah Anda merasa nyaman atau tidak dengan notasi ini, Anda mungkin kesulitan membayangkan bagaimana perceptron dilatih.
Mari kita ambil beberapa contoh.
Contoh
Demi kesederhanaan, mari kita asumsikan bahwa kecepatan pembelajaran sama dengan 1 dan kita mengetahui nilai-nilai berikut.
Sumber: Gambar oleh penulis
Kami menganggap hanya ada satu fitur dalam kumpulan data untuk menyederhanakan perhitungan. Berikut beberapa contoh perhitungan delta bobot pertama pada perceptron.
Sumber: Gambar oleh penulis
Anda dapat melihat bahwa perkiraan nilai keluaran yang diberikan oleh fungsi aktivasi secara sistematis dikurangi dari nilai keluaran sebenarnya.
Ketika nilai taksiran sama dengan nilai sebenarnya, sama dengan 0 sehingga tidak ada pembaruan.
Jika tidak, bobot harus diperbarui.
Ini adalah kasus dalam dua contoh terakhir. Kita dapat melihat bahwa skala nilai input 𝑥 membuat pembaruan bobot lebih atau kurang bervariasi.
Pada contoh nomor 3, 𝑥 = 3, maka selisih bobotnya adalah 6, sedangkan pada contoh nomor 4, 𝑥 = 0,5 maka selisih bobotnya hanya 1.
Bias
Sebelumnya saya sengaja melewatkan penjelasan bias agar tidak membebani Anda dengan informasi.
Seperti yang dijelaskan di atas, bias adalah nilai skalar yang ditambahkan ke input bersih z sebelum melewati fungsi aktivasi.
Ini memungkinkan batas keputusan perceptron digeser menjauh dari asalnya, yang dapat berguna dalam situasi di mana data tidak dapat dipisahkan secara linear.
Sumber: M.Grove dan J.Blinkhor — CC BY — Data yang dapat dipisahkan secara linear vs data yang tidak dapat dipisahkan secara linear
Bias merupakan tambahan dari perceptron yang memiliki bobot tersendiri. Bobot ini juga dipelajari selama fase pembelajaran.
Tingkat pembelajaran
Tingkat pembelajaran adalah nilai skalar yang mengontrol ukuran langkah pembaruan bobot selama proses pelatihan.
Bergantung pada nilainya, bobot sedikit banyak dimodifikasi ketika ada kesalahan prediksi.
Nilainya ditentukan sebelum proses pelatihan. Jadi, Anda harus berhati-hati karena nilainya tetap sama selama seluruh pelatihan.
Jika Anda menetapkan nilainya terlalu tinggi, perceptron mungkin melampaui solusi optimal dan mungkin tidak konvergen ke solusi yang baik. Artinya, ini akan mengambil langkah besar dalam ruang bobot, yang dapat mengakibatkan pergerakan melewati titik optimal dan berakhir di wilayah ruang bobot yang lebih buruk daripada solusi optimal.
Selain itu, jika Anda menyetel nilainya terlalu rendah, perceptron akan menyatu terlalu lambat, dan mungkin butuh waktu lama untuk melatihnya. Selain itu, mungkin macet di minimum lokal dan gagal menemukan minimum global.
Sumber: KSmrq melalui Wikimedia Commons
Nilai optimal dari learning rate tergantung pada banyak faktor. Adalah umum untuk bereksperimen dengan nilai yang berbeda selama pelatihan untuk menemukan nilai yang memberikan kinerja terbaik.
Kesimpulan…
Konsep perceptron kembali ke tahun 40-an dan 50-an. Ini didasarkan pada pemahaman kita tentang otak manusia. Ini awalnya digunakan untuk klasifikasi biner. Neuron atau perceptron aktif ketika nilai input bersih saat ini melewati uji fungsi aktivasi. Artinya, bila lebih besar dari bias: theta. Bias mengontrol batas keputusan dari perceptron. Tingkat pembelajaran menentukan berapa banyak bobot disesuaikan sebagai respons terhadap kesalahan prediksi.
Referensi
[1] McCulloch, WS dan Pitts, W. (1943) “Kalkulus logis dari ide-ide yang imanen dalam aktivitas saraf,” Buletin Biofisika Matematika, 5(4), hlm. 115–133. Tersedia di: https://doi.org/10.1007/bf02478259.
[2] Rosenblatt, F. (1957) “The Perceptron: A Perceiving and Recognizing Automaton,” Cornell Aeronautical Laboratory, Laporan 85–60–1. Tersedia di: https://blogs.umass.edu/brain-wars/files/2016/03/rosenblatt-1957.pdf
[3] Grove, M. dan Blinkhorn, J. (2020) “Jaringan saraf membedakan antara kumpulan litik zaman batu tengah dan akhir di Afrika Timur,” PLOS ONE, 15(8). Tersedia di: https://doi.org/10.1371/journal.pone.0237528.
Saya harap Anda menikmati membaca ini. Jika Anda ingin mendukung saya sebagai penulis, pertimbangkan untuk mengikuti saya dan memberi saya umpan balik atas tulisan saya ✨.
Penjelasan Deep Learning : Perceptron awalnya diterbitkan di Towards AI on Medium, di mana orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.
Diterbitkan melalui Menuju AI