-->

Membuat Program Autoencoder Kecerdasan Buatan Sederhana dengan Python

Membuat Program Autoencoder Kecerdasan Buatan Sederhana dengan Python
Membuat Program Autoencoder Kecerdasan Buatan Sederhana dengan Python
Membuat Program Autoencoder Kecerdasan Buatan Sederhana dengan Python

Membuat Program Autoencoder Kecerdasan Buatan Sederhana dengan Python

Apa Itu Autoencoder ?

Autoencoder аdаlаh mоdеl nеurаl nеtwоrk уаng memiliki іnрut dаn output yang ѕаmа. Autоеnсоdеr mеmреlаjаrі data іnрut dаn bеruѕаhа untuk mеlаkukаn rеkоnѕtrukѕі terhadap dаtа іnрut tеrѕеbut.
Lаlu ара gunаnуа Autoencoder? Autoencoder bіаѕа dіgunаkаn untuk mеngurаngі dіmеnѕі dаrі fеаturеѕ (Dіmеnѕіоnаlіtу Reduction). Jika kіtа mеmрunуаі data yang mеmрunуаі dіmеnѕі уаng sangat tіnggі (data dengan jumlаh fеаturеѕ уаng ѕаngаt bаnуаk) bіѕа jаdі tiap features yang аdа tеrѕеbаr раdа setiap dіmеnѕі dаrі dаtа sehingga setiap data уаng аdа terlihat ѕаngаt bеrbеdа. Untuk mengatasi masalah tersebut kіtа membutuhkan dаtа уаng sangat bаnуаk аtаu mеngurаngі dіmеnѕі data tersebut. Kita bіѕа menggunakan PCA, t-SNE аtаuрun Autoencoder. 


Autoencoder terdiri dаrі duа bagian utаmа yaitu encoder dаn decoder. Enсоdеr. Diantara еnсоdеr dаn dесоdеr, terdapat соdе lауеr аtаu bіѕа jugа dіbіlаng target layer (istilah ѕауа ѕеndіrі). Jumlаh neuron раdа соdе layer adalah jumlah dіmеnѕі yang kіtа harapkan untuk mеngurаngі dіmеnѕі dari dаtа kita.

Program Autoencoder Sederhana dengan Python 

Seperti biasa kita gunakan Google Collab sebagai teks editornya , silahkan sobat login dengan akun Google ke Google Collab dan ketikan perintah atau kodingan berikut :

kodingan 
Blok program berguna untuk melakukan import library yang dibutuhkan di dalam program, library pertama adalah sequential yang memungkinkan kita untuk menentukan pengurutan eksekusi dari sebuah fungsi.
Kemudian ada library Dense yang artinya program hanya menerima inputan, library activation digunakan jika program tidak melakukan aktivitas apa-apa atau tidak ada activitas yang diterapkan maka library ini akan aktif, kemudian library flatten bertugas untuk meratakan semua fungsi di dalam program, dan library reshape untuk membentuk ulang sebuah matriks. 
Kemudian import library Conv2D (Computes a 2-D convolution) untuk mengingat bentuk input dan melakukan filter pada bentuk objek. MaxPooling 2D berguna untuk penginputan. 
Library dropout berguna untuk mengatur tingkat pecahan unit input menjadi 0 pada setiap pembaruan selama waktu pelatihan secara acak
Library Adam yang berguna sebagai parameter default dari pengoptimalan, dan RMSprop berguna sebagai parameter pengoptimalan bersama Adam
 

kodingan 
Matplotlib.pypylot menyatakan perintah import library matplotlib , library ini berguna untuk memvisualisasikan data-data dari library numpy dan scipy. Kemudian import scipy berguna untuk mengimport modul atau library untu melakukan beberapa perhitungan scientific dengan python. 

kodingan 
Pada blok program ini melakukan penginputan ukuran sebesar ( 32,32,3) kemudan model_cnn akan dibuat secara sequential yang artinya eksekusi dilakukan secara berurutan, kemudian dengan memanfaatkan library yang telah di import tadi model_cnn akan diatur propertinya (Conv2D, Activation, MaxPooling2D,dan Dropout) dengan nilai seperti diatad dan dilakukan dari Con2D 16 sampai 128. 
 

kodingan 
Melakukan pengecekan hasil (ringkasan) pada model_cnn 

kodingan 


kodingan
 Melakukan import cifar10 dari keras.datasets yang merupakan salah satu modul pada keras.datasets sebagai klasifikasi gambar berukuran kecil. Kemudian import to_categorical yang berguna untuk mengonversi vektor kelas (bilangan bulat) ke matriks kelas biner.
Kemudian melakukan load data dari klasifikasi gambar cifar10, dan kemudian dilakukan normalisasi pada X Trainset dan X Testset.
Kemudian Y trainset dan Y testset akan di konversi kedalam matriks kelas biner  

kodingan
 Data dari klasifikasi image tadi akan didownload secara otomatis ketika blok program diatas dijalankan 
kodingan
 Pada blok program diatas pada model_cnn akan dilakukan bentuk pelatihan (Training set) dimana dilakukan pengoptimalan dengan library adam, selanjutnya selama proses pengoptimalkan akan dilakukan loss yang artinya fungsi untuk meminimalkan selama optimasi dengan cateforical_cossentropy, kemudian perintah metrics menandakan proses pelatihan akan dimonitor dan dilihat secara akurat 

kodingan
 Untuk melakukan pelatihan pada model_cnn maka digunakanlah method fit  ,kemudian pelatihan akan disusun kedalam 25 kelompok (epoch), dan nilai dari setiap kelompok adalah 100 (batch_size), dan dilakukan pengacakan, akan dilakukan pemantauan pada data yang sedang dilakukan pelatihan 

kodingan
Hasil test 
kodingan
Blok program diatas untuk perhitungan Accuracy dimana Accuracy diambil dari nilai score indeks kesatu setelah dilakukan evaluasi saat Testset dikali dengan 100  

kodingan
 Menunjukan nilai akurasi sebesar 70.34% 

kodingan
Blok program diatas menunjukan perintah prediksi sistem. Dengan label 0-9 dengan nilai seperti diatas, kemudian dilakukan prediksi dengan mengabil salah satu nomor secara acak dengan low =0 , high = X testset dikurangi 1 dan size =4 . Nilai tadi kemudian disimpat pada sample_image dan sample_label. Kemudian dilakukan prediksi pada sample image dengan memanfaatkan percabangan seperti diatas
kodingan


Nahh itulah sob pembahasan kita pada postingan kali ini, semoga dengan adanya artikel ini bisa menjadi bahan acuan atau refrensi untuk sobat belajar mengenai  kecerdasan buatan, dan semoga bermanfaat untuk kita semua.