
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create machine learning models
/ 50
Use the model
/ 50
Di lab ini, Anda akan mempelajari ‘Halo Dunia' dasar machine learning. Anda akan membangun sistem yang dilatih berdasarkan data untuk menginferensikan aturan yang menentukan hubungan antar-angka, alih-alih memprogram aturan eksplisit dalam bahasa seperti Java atau C++.
Di lab ini, Anda akan mempelajari cara:
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
Pertimbangkan masalah berikut: Anda sedang membangun sistem yang menjalankan pengenalan aktivitas untuk pelacakan kebugaran. Anda mungkin memiliki akses ke kecepatan gerak seseorang dan mencoba menginferensikan aktivitasnya berdasarkan kecepatan ini menggunakan kondisi:
Sangatlah sulit menulis program (yang diekspresikan dalam kode) yang membantu Anda mendeteksi aktivitas bermain golf.
Jadi, apa yang akan Anda lakukan? Anda dapat menggunakan machine learning untuk menyelesaikan masalah ini.
Pada bagian sebelumnya, Anda mengalami masalah saat mencoba menentukan aktivitas kebugaran pengguna. Anda terbentur pada batasan terkait apa yang bisa dicapai dengan menulis lebih banyak kode karena kondisi yang Anda tulis harus lebih kompleks untuk mendeteksi aktivitas seperti golf.
Pertimbangkan membangun aplikasi dengan cara tradisional seperti yang ditunjukkan dalam diagram berikut:
Anda mengekspresikan aturan dalam bahasa pemrograman. Aturan ini bertindak berdasarkan data dan program Anda menyediakan jawaban. Dalam kasus pendeteksian aktivitas ini, aturan (kode yang Anda tulis untuk menentukan jenis aktivitas) bertindak berdasarkan data (kecepatan gerak seseorang) untuk menemukan jawaban -- nilai hasil dari fungsi untuk menentukan status aktivitas pengguna (jalan kaki, lari, bersepeda, dll.).
Proses untuk mendeteksi aktivitas ini melalui machine learning sangat mirip -- sumbunya saja yang berbeda:
Alih-alih mencoba menentukan aturan dan mengekspresikannya dalam bahasa pemrograman, Anda memberikan jawaban (biasanya disebut label) beserta datanya. Selanjutnya, machine learning akan menginferensikan aturan yang menentukan hubungan antara jawaban dan data. Misalnya, dalam konteks machine learning, skenario pendeteksian aktivitas Anda mungkin akan terlihat seperti ini:
Anda mengumpulkan banyak data dan melabelinya untuk dapat mengatakan "Seperti inilah jalan kaki", "Seperti inilah lari", dst. Selanjutnya, dari data tersebut, komputer dapat menginferensikan aturan yang menentukan apa saja pola unik yang menunjukkan aktivitas tertentu.
Selain menjadi metode alternatif untuk memprogram skenario ini, cara ini juga memberi Anda kemampuan untuk membuka skenario baru, misalnya bermain golf, yang mungkin tidak dapat dilakukan menggunakan pendekatan pemrograman tradisional berbasis aturan.
Dalam pemrograman tradisional, kode Anda dikompilasi menjadi program biner yang biasanya disebut program. Dalam machine learning, item yang Anda buat dari data dan label disebut model.
Jadi, jika Anda kembali ke diagram ini:
Pertimbangkan hasil diagram di atas sebagai model, yang digunakan seperti berikut saat runtime:
Anda meneruskan data ke model ini, dan model tersebut menggunakan aturan yang diinferensikannya dari pelatihan untuk menghasilkan prediksi -- yakni "Data itu sepertinya jalan kaki", "Data itu sepertinya bersepeda", dll.
Di lab ini, Anda akan membangun model 'Halo Dunia' sangat sederhana yang terbuat dari elemen penyusun yang dapat digunakan dalam skenario machine learning apa pun.
Di Konsol Google Cloud, pada Navigation menu (), klik Vertex AI > Workbench.
Cari instance
Antarmuka JupyterLab untuk instance Workbench Anda akan terbuka di tab browser baru.
Dari menu Launcher, di bagian Other, pilih Terminal.
Periksa apakah lingkungan Python Anda sudah dikonfigurasi. Salin dan tempel perintah berikut di terminal.
Contoh output:
pip3
, jalankan perintah berikut di terminal.Pylint adalah alat yang memeriksa error dalam kode Python, serta menandai masalah sintaksis dan gaya dalam kode sumber Python Anda.
pylint
.requirements.txt
:Lingkungan Anda berhasil disiapkan.
Pertimbangkan rangkaian angka berikut. Dapatkah Anda memahami hubungan antara angka-angka tersebut?
X: |
-1 |
0 |
1 |
2 |
3 |
4 |
Y: |
-2 |
1 |
4 |
7 |
10 |
13 |
Jika Anda membaca dari kiri ke kanan, perhatikan bahwa nilai X bertambah 1 dan nilai Y terkaitnya bertambah 3. Jadi, hubungannya adalah Y=3X plus atau minus suatu nilai.
Lalu, perhatikan 0 di X dan lihat bahwa nilai Y terkaitnya adalah 1.
Dari kedua pengamatan ini, Anda dapat menyimpulkan bahwa hubungan antara dua rangkaian angka tersebut adalah Y=3X+1.
Kurang lebih seperti itulah Anda akan menggunakan kode untuk melatih model (disebut jaringan neural) guna menemukan pola dalam data.
Anda menggunakan data untuk melatih jaringan neural. Dengan memberinya serangkaian X dan serangkaian Y, jaringan neural akan dapat mengetahui hubungan antara data tersebut.
Klik ikon + di sebelah kiri Workbench untuk membuka Launcher baru.
Dari menu Launcher, di bagian Notebook, pilih Python3.
Anda akan melihat notebook Jupyter baru. Untuk informasi selengkapnya tentang cara menggunakan notebook Jupyter, lihat dokumentasi Notebook Jupyter.
logging
serta google-cloud-logging
untuk Cloud Logging. Pada sel pertama, tambahkan kode berikut:tensorflow
untuk melatih dan mengevaluasi model. Namai sebagai tf
untuk memudahkan. Tambahkan kode berikut ke sel pertama.numpy
guna mengurai data untuk tujuan proses debug. Namai sebagai np
untuk memudahkan. Tambahkan kode berikut ke sel pertama.Untuk menjalankan sel ini, klik tombol Run atau tekan Shift + Enter.
Simpan notebook. Klik File -> Save. Namai filenya sebagai model.ipynb
, lalu klik OK.
Berikutnya, siapkan data yang akan digunakan melatih model Anda. Di lab ini, Anda menggunakan 6 X dan 6 Y yang digunakan sebelumnya:
X: |
-1 |
0 |
1 |
2 |
3 |
4 |
Y: |
-2 |
1 |
4 |
7 |
10 |
13 |
Seperti yang Anda lihat, hubungan antara X dan Y adalah Y=3x+1, jadi jika X=1, Y=4, dst.
Library python yang disebut numpy
menyediakan beragam struktur data jenis array yang merupakan cara standar defacto untuk menyuplai data. Untuk menggunakan struktur ini, tentukan nilai sebagai array dalam numpy
menggunakan np.array([])
Di bagian ini, Anda akan mendesain model menggunakan TensorFlow.
Anda akan menggunakan algoritma machine learning yang disebut jaringan neural untuk melatih model. Anda akan membuat jaringan neural yang paling sederhana. Jaringan ini memiliki 1 lapisan, dan lapisan tersebut memiliki 1 neuron. Input jaringan neural ini hanya satu nilai pada satu waktu. Oleh karena itu, bentuk inputnya harus [1].
Selanjutnya, Anda akan menulis kode untuk mengompilasi jaringan neural. Saat melakukannya, Anda harus menentukan 2 fungsi: loss
(kerugian) dan optimizer
(pengoptimal).
Jika Anda telah melihat banyak perhitungan matematika untuk machine learning, di sinilah biasanya Anda akan menggunakannya, tetapi tf.keras
mengenkapsulasinya dengan baik sebagai fungsi untuk memudahkan Anda.
Dari pengamatan sebelumnya, Anda mengetahui bahwa hubungan antara rangkaian angka tersebut adalah y=3x+1
.
Saat mencoba mempelajari hubungan ini, komputer akan menebak...mungkin y=10x+10
. Fungsi loss
mengukur jawaban tebakan itu berdasarkan jawaban benar yang diketahui dan mengukur seberapa baik atau buruk kualitasnya.
tf.keras
dalam Modul: dokumentasi tf.keras.losses.y=5x+5
. Meskipun belum bisa disebut baik, hasil ini sudah mendekati hasil yang benar (artinya kerugiannya lebih rendah).tf.keras
dalam Modul: dokumentasi tf.keras.optimizers.Dalam cuplikan kode di atas, Anda meminta model untuk menggunakan mean_squared_error
untuk kerugian dan stochastic gradient descent (sgd)
untuk pengoptimal. Anda belum perlu memahami matematika keduanya, tetapi Anda akan melihat bahwa fungsi tersebut efektif.
Untuk melatih jaringan neural agar 'mempelajari' hubungan antara X dan Y, Anda akan menggunakan model.fit
.
Fungsi ini akan melatih model secara terus-menerus di mana model akan membuat tebakan, mengukur seberapa baik atau buruk kualitasnya (alias kerugian), menggunakan pengoptimal untuk membuat tebakan lain, dll. Model akan mengulang proses ini untuk sejumlah epoch yang Anda tentukan, yang di lab ini berjumlah 500.
Dalam kode di atas, model.fit
akan melatih model untuk sejumlah epoch yang sudah ditetapkan.
model.fit
dari bagian fit dalam dokumentasi tf.keras.Model.Kini, file Anda akan terlihat seperti ini (perhatikan bahwa kode akan ditampilkan dalam dua sel terpisah):
Skrip Anda sudah siap. Jalankan skrip tersebut untuk melihat hasilnya.
Klik tombol Run atau tekan Shift + Enter untuk menjalankan sel kedua di notebook.
Lihat output-nya. Perhatikan bahwa skrip mencetak kerugian untuk setiap epoch. Output Anda mungkin akan sedikit berbeda dengan yang diilustrasikan di sini.
e-
pada nilainya ditampilkan dalam notasi ilmiah dengan eksponen negatif. Jika terus men-scroll epoch, Anda akan melihat bahwa nilai kerugian cukup besar untuk beberapa epoch awal, tetapi makin mengecil seiring berjalannya pelatihan. Contoh:
Seiring berjalannya pelatihan, kerugian makin mengecil:
Dan pada saat pelatihan selesai, kerugiannya menjadi sangat kecil, yang menunjukkan bahwa model kita berperforma sangat baik dalam menginferensikan hubungan antar-angka:
Anda mungkin tidak memerlukan 500 epoch. Cobalah bereksperimen dengan jumlah berbeda. Dalam contoh ini, kerugian sudah sangat kecil setelah 50 epoch saja, jadi jumlah ini mungkin sudah cukup.
Klik Check my progress untuk memverifikasi tujuan.
Kini, Anda memiliki model yang sudah dilatih untuk mempelajari hubungan antara X dan Y.
Anda dapat menggunakan metode model.predict
guna mencari tahu Y untuk X yang sebelumnya tidak terlihat oleh model selama pelatihan. Jadi, misalnya, jika X=10, menurut Anda berapa Y-nya?
cloud_logger
untuk menghasilkan log cloud yang dapat diperiksa perkembangannya. Tekan Ctrl+S atau klik File -> Save untuk menyimpan notebook.
Untuk menjalankan sel ketiga, klik tombol Run atau tekan Shift + Enter.
Nilai Y dicantumkan setelah log pelatihan (epoch).
Contoh output:
Anda mungkin mengira Y=31, kan? Tetapi ternyata sedikit lebih tinggi (31.005917). Kira-kira apa penyebabnya?
Jawaban: Jaringan neural menangani probabilitas. Berdasarkan perhitungannya, terdapat probabilitas yang sangat tinggi bahwa hubungan X dan Y adalah Y=3X+1. Namun, karena hanya ada 6 titik data, jaringan neural tidak dapat memastikannya. Akibatnya, hasil untuk 10 epoch sangat mendekati 31, tetapi tidak tepat 31.
Saat bekerja dengan jaringan neural, Anda akan melihat pola ini berulang. Hampir bisa dipastikan, Anda akan berurusan dengan probabilitas, bukan kepastian, dan perlu melakukan sedikit coding untuk mengetahui hasilnya berdasarkan probabilitas tersebut, khususnya jika berkaitan dengan klasifikasi.
Klik Check my progress untuk memverifikasi tujuan.
Selamat! Di lab ini, Anda telah membuat, melatih, dan menguji Model Machine Learning Anda sendiri menggunakan TensorFlow.
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui 16 September 2024
Lab Terakhir Diuji 16 September 2024
Hak cipta 2025 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.
Konten ini tidak tersedia untuk saat ini
Kami akan memberi tahu Anda melalui email saat konten tersedia
Bagus!
Kami akan menghubungi Anda melalui email saat konten tersedia
One lab at a time
Confirm to end all existing labs and start this one