Pada Bagian 1 dari “Istilah dan Konsep Utama dalam Jaringan Syaraf Tiruan”, saya memperkenalkan multilayer perceptron (MLP) dan bagaimana data dimasukkan ke dalam lapisan masukan dan keluar melalui lapisan keluaran, lapisan hasil Anda. Saya juga menulis tentang bagaimana lapisan-lapisan ini terhubung satu sama lain dan setiap lapisan memiliki sejumlah neuron per lapisan. Saya menyebutkan bagaimana penjumlahan semua neuron yang menunjuk ke lapisan berikutnya dibungkus dalam fungsi aktivasi.

Untuk bagian kedua dari seri saya, saya akan membahas bagaimana prediksi yang dibuat pada forward pass kita dianalisis untuk mengoptimalkan jaringan saraf kita.

Untuk sisa postingan ini, saya akan menjelaskan jaringan saraf menggunakan analogi atlet. Saya adalah seorang mahasiswa-atlet tenis D1 di Universitas Amerika dan ketika saya pertama kali mulai belajar tentang Machine Learning dan Deep Learning, beberapa konsep ML & DL sangat menarik bagi saya karena sangat mirip dengan cara kerja pikiran seorang atlet. Misalnya, prediksi pertama jaringan saraf kita dapat dengan mudah dibandingkan dengan kompetisi pertama seorang atlet. Turnamen tenis apa pun yang saya ikuti, pasti ada tujuannya. Sasarannya adalah sesuatu yang obyektif, sesuatu yang dapat saya gunakan untuk mengukur kinerja saya. Entah itu untuk memenangkan pertandingan atau apakah saya memiliki tujuan tertentu dalam pertandingan itu, saya dapat mengukur kinerja saya vs sesuatu yang objektif. Hal yang sama berlaku untuk algoritma jaringan saraf kami. Kita memerlukan standar untuk mengukur seberapa dekat atau jauh prediksi kita dibandingkan target sebenarnya. Di sinilah fungsi kerugian kami berperan. Fungsi kerugian adalah fungsi yang memberikan umpan balik ke model Anda. Ini akan memberi Anda skor kerugian yang akan membantu kami menentukan seberapa baik kinerja model.

Sekarang kita memiliki standar ukuran, jaringan saraf kita dapat melanjutkan untuk melakukan kebalikannya. Ia memiliki standar yang dapat diandalkan untuk mengubah bobot dan bias yang memengaruhi umpan maju kami. Ini menghitung berapa banyak setiap koneksi output berkontribusi terhadap kesalahan kerugian. Kami menggunakan fungsi pengoptimal untuk langkah ini seperti “Adam”, “Stochastic Gradient Descent”, dan banyak lagi. Fungsi pengoptimal ini akan memungkinkan Anda untuk "mengoptimalkan" model agar lebih sesuai dengan data Anda. Dalam istilah olahraga, di sinilah Anda kembali melakukan pukulan keras. Berdasarkan tingkat performa Anda melalui standar (fungsi kerugian), pelatih Anda kemudian akan memberikan umpan balik yang tepat agar Anda dapat mengoptimalkan (fungsi pengoptimal) permainan Anda sebaik mungkin. mungkin.

Seperti yang dapat kita lihat dari kode di atas, kita membuat jaringan saraf yang sangat sederhana yang terdiri dari lapisan masukan yang terdiri dari 4 neuron, lapisan tersembunyi dengan 4 neuron, dan lapisan keluaran dengan satu neuron yang semuanya melilit fungsi aktivasi masing-masing. Pada bagian 1 dan bagian 2 sejauh ini, kita telah membahas fungsi kerugian dan fungsi pengoptimal yang masing-masing merupakan biner cross entropy dan Adam. Sebagai penutup, saya ingin membahas kecepatan pemelajaran (lr) dan baris terakhir kode “metrik”.

Kecepatan pembelajaran adalah hyper-parameter yang mengontrol seberapa cepat kami mencapai solusi optimal. Cara terbaik untuk memikirkannya adalah dengan menggunakan fungsi pengoptimal untuk mengubah koneksi model berdasarkan skor kerugian dan memberi tahu model berapa kecepatan yang diperlukan untuk meminimalkan skor kerugian. Ada pro dan kontra dalam hal memiliki kecepatan pemelajaran yang lebih besar ke kecepatan pemelajaran yang lebih kecil. Aurelien Géron mengatakan bahwa kecepatan pembelajaran adalah hyperparameter terpenting dalam model kami. Jika kecepatan pemelajaran terlalu kecil, model akan memakan waktu terlalu lama untuk dipelajari dan jika kecepatan pemelajaran terlalu besar, model mungkin kehilangan beberapa titik data yang diperlukan untuk menyempurnakan model. Inilah yang saya sebut sebagai proses dalam karier seorang atlet. Harus selalu ada keseimbangan yang baik antara kemampuan belajar dengan cepat versus mengambil proses di sepanjang jalan. Belajar terlalu cepat tidak selalu bermanfaat karena Anda mungkin melewatkan beberapa langkah, namun belajar terlalu lambat tidak membantu Anda dalam upaya menjadi atlet terbaik yang pernah ada.

Terakhir saya akan membahas metrik di ML dan DL. Jika Anda membuka situs web TensorFlow , Anda akan dapat menemukan halaman metrik.

Metrik hanyalah cara untuk menentukan kinerja keseluruhan model Anda. Ini tidak memengaruhi perilaku model Anda. Ini hanyalah cara bagi ML Engineer untuk melihat performa model. Berdasarkan performa tersebut, teknisi dapat membuat perubahan yang sesuai untuk meningkatkan performa model. Dalam istilah olahraga, ini adalah skor akhir. Hasilnya. Skor atau hasil akhir secara umum merupakan indikasi yang baik mengenai posisi atlet dan ke mana individu harus melangkah selanjutnya.

Semoga ini informatif!

Referensi:

Catatan Pembelajaran Mesin

“Pembelajaran Mesin Praktis dengan Scikit-Learn, Keras, dan TensorFlow” - Aurelien Géron