LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE...

110
SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE CAPTIONING PADA GAMBAR LALU LINTAS KENDARAAN BERBAHASA INDONESIA SKRIPSI Oleh : ISMA ARTYANI 11150910000013 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2019 M / 1441 H

Transcript of LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE...

Page 1: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN

LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE CAPTIONING

PADA GAMBAR LALU LINTAS KENDARAAN BERBAHASA INDONESIA

SKRIPSI

Oleh :

ISMA ARTYANI

11150910000013

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2019 M / 1441 H

Page 2: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN

LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE CAPTIONING

PADA GAMBAR LALU LINTAS KENDARAAN BERBAHASA INDONESIA

SKRIPSI

Diajukan Sebagai Salah Satu Syarat untuk Memperoleh Gelar

Sarjana Komputer (S.Kom)

Oleh :

ISMA ARTYANI

11150910000013

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2019 M / 1441 H

Page 3: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

i

UIN Syarif Hidayatullah Jakarta

LEMBAR PERSETUJUAN

Page 4: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

ii

UIN Syarif Hidayatullah Jakarta

PENGESAHAN UJIAN

Page 5: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

iii

UIN Syarif Hidayatullah Jakarta

PERNYATAAN ORISINALITAS

Page 6: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

iv

UIN Syarif Hidayatullah Jakarta

PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI

Page 7: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

v

UIN Syarif Hidayatullah Jakarta

Nama : Isma Artyani

Program Studi : Teknik Informatika

Judul : Simulasi Metode Convolutional Neural Network dan

Long Short Term Memory Untuk Generate Image Captioning

Pada Gambar Lalu Lintas Kendaraan Berbahasa Indonesia

ABSTRAK

Intelligent Transport System sebagai salah satu penerapan teknologi kecerdasan

buatan yang digunakan untuk memantau lalu lintas kendaraan di jalan. Sistem tersebut

menggunakan gambar atau video sebagai media penyebaran informasi lalu lintas

kepada masyarakat. Salah satu cara untuk mendapatkan informasi dari gambar adalah

dengan membaca deskripsi dari gambar tersebut. Dengan deskripsi gambar, kita dapat

memahami informasi yang tersirat dari gambar. Oleh karena itu dibutuhkan deskripsi

pada gambar lalu lintas kendaraan agar masyarakat dapat dengan mudah memahami

informasi yang diberikan oleh Intelligent Transport System. Untuk dapat membuat

deskripsi gambar, komputer memerlukan sebuah metode gabungan computer vision

untuk mengolah gambar dan natural language processing untuk mengolah teks

deskripsi gambar. Dalam penelitian ini dilakukan simulasi metode Convolutional

Neural Network dengan Long Short Term Memory untuk menghasilkan model yang

akan digunakan untuk Generate Image Captioning pada gambar lalu lintas kendaraan.

Penelitian ini menghasilkan dua model. Model-1 yang menggunakan VGG-16 untuk

ekstraksi fitur gambar dan Model-2 yang menggunakan ResNet50 untuk ekstraksi fitur

gambar dengan hasil skor BLEU {1,2,3,4} dari masing- masing model sebesar {0.66 ,

0.50, 0.43, 0.30} pada Model-1 dan {0.67, 0.51, 0.42, 0.27} pada Model-2.

Kata Kunci : Image captioning, lalu lintas, kendaraan, Convolutional Neural

Network, VGG-16, ResNet50, Long Short Term Memory

Daftar Pustaka : 21 Jurnal + 13 Buku + 7 Website

Daftar Isi : VI BAB + XV Halaman + 93 Halaman

Page 8: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

vi

UIN Syarif Hidayatullah Jakarta

Author : Isma Artyani

Study Program : Informatics

Title : Simulation Convolutional Neural Network and Long Short

Term Memory Method for Generate Image Captioning on

Traffic Image In Bahasa

ABSTRAC

Intelligent Transport System is one of adjustments of the artificial intelligence

technology which is used to monitor the traffic on the road. The system uses image or

video as media of information dissemination to the society. One of the ways to get the

information from the image is read the image caption. Image caption helps us to

understand implicit information from the image. For this reason, it is necessary to put

caption on the traffic image in order to ease the society getting the information from

Intelligent Transport System. In creating the image caption, computer requires a

combine method, Computer Vision to process the image and Natural Language

Processing to process image caption text. In this research, simulation Convolutional

Neural Network and Long Short Term Memory method are used to produce a model,

which will be used for generate image captioning on traffic image. This study produced

two models. Model-1 used VGG-16 for extracting image feature and Model-2 used

ResNet50 for extracting image feature with the score BLEU {1,2,3,4} from each

models in amount of {0.66 , 0.50, 0.43, 0.30} on Model-1 and {0.67, 0.51, 0.42, 0.27}

on Model-2.

Keywords : Image captioning, traffic, Convolutional Neural Network,

Long Short Term Memory, VGG-16, ResNet50, BLEU Score

References : 21 Journals + 13 Books + 7 Website

Table of Contents : VI BAB + XV Pages + 93 Pages

Page 9: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

vii

UIN Syarif Hidayatullah Jakarta

KATA PENGANTAR

Alhamdulillah segala puji bagi Allah SWT yang telah memberikan Rahmat dan

Hidayah-Nya serta berbagai kemudahan kepada penulis sehingga penulis dapat

menyelesaikan skripsi ini dengan baik. Shalawat serta salam tak lupa pula penulis

ucapkan kepada Nabi Muhammad SAW, beserta keluarga, sahabat dan para

pengikutnya hingga akhir zaman.

Skripsi berjudul “Simulasi Metode Convolutional Neural Network dan Long Short

Term Memory untuk Generate Image Captioning pada Gambar Lalu Lintas Kendaraan

Berbahasa Indonesia” yang disusun untuk memenuhi persyaratan guna mendapatkan

gelar Sarjana Komputer (S.Kom) pada Program Studi Teknik Informatika di

Universitas Islam Negeri Syarif Hidayatullah Jakarta.

Selama proses penyusunan skripsi ini, penulis mendapatkan banyak bimbingan,

masukan motivasi serta dukungan dari berbagai pihak. Oleh karena itu, penulis ingin

menyampaikan banyak terimakasih kepada :

1. Ibu Prof. Dr. Lily Surraya Eka Putri, M.Env.Stud selaku Dekan Fakultas Sains

dan Teknologi UIN Syarif Hidayatullah Jakarta.

2. Bapak Dr. Imam Marzuki Shofi, MT selaku Ketua Program Studi Teknik

Informatika UIN Syarif Hidayatullah Jakarta.

3. Ibu Fenty Eka Muzayyana Agustin, M.Kom selaku Dosen Pembimbing I dan

Bapak Victor Amrizal, M.Kom selaku Dosen Pembimbing II yang telah

memberikan banyak saran, arahan, masukan, dukungan dan motivasi kepada

penulis sehingga penulis dapat menyelesaikan skripsi ini dengan baik.

Page 10: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

viii

UIN Syarif Hidayatullah Jakarta

4. Seluruh Dosen dan Staff Karyawan Fakultas Sains dan Teknologi UIN Syarif

Hidayatullah Jakarta yang telah memberikan banyak ilmu, dukungan dan

bantuan selama masa perkuliahan.

5. Kedua orang tua penulis, Mama dan Bapak yang senantiasa mendo’akan,

memberikan perhatian dan kasih sayang kepada penulis serta memberikan

motivasi dan dukungan agar penulis dapat menyelesaikan kuliah dengan baik

serta menjadi orang yang sukses dan bermanfaat di masa depan.

6. Bapak Octaviano Pratama, S.Kom, M.Kom, Kak Ndi dan seluruh tim Bisa.ai

yang telah bersedia meluangkan waktunya untuk memberikan bantuan, saran,

nasehat dan masukan yang bermanfaat kepada penulis.

7. Teman-teman terbaik, Ayu, Addin, Pinka, Asrani, Handan, Ulfa dan Nichyta

yang selalu menebarkan keceriaan, kehangatan dan kebersamaan.

8. Seluruh teman-teman Teknik Informatika Angkatan 2015, khususnya kelas A.

Terimakasih sudah banyak membantu penulis di masa perkuliahan dan

mengisi 4 tahun penulis dengan banyak kenangan, kebersamaan dan

pengalaman.

9. Teman-teman KKN HIKARI, khususnya Nilam, Bella dan Cholis yang selalu

memberikan semangat kepada penulis untuk menyelesaikan skripsi ini.

10. Seluruh pihak yang tidak dapat disebutkan satu-persatu yang secara langsung

maupung tidak langsung telah membantu penulis dalam menyelesaikan skripsi

ini.

Tangerang, September 2019

Isma Artyani

Page 11: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

ix

UIN Syarif Hidayatullah Jakarta

DAFTAR ISI

LEMBAR PERSETUJUAN ........................................................................................ i

PENGESAHAN UJIAN .............................................................................................. ii

PERNYATAAN ORISINALITAS ............................................................................ iii

PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI .................................... iv

ABSTRAK ................................................................................................................... v

ABSTRAC ................................................................................................................... vi

KATA PENGANTAR ............................................................................................... vii

DAFTAR ISI ............................................................................................................... ix

DAFTAR GAMBAR ................................................................................................ xiii

DAFTAR TABEL ..................................................................................................... xv

BAB I PENDAHULUAN ............................................................................................ 1

1.1 Latar Belakang ............................................................................................... 1

1.2 Rumusan Masalah .......................................................................................... 4

1.3 Batasan Masalah ............................................................................................. 4

1.3.1 Proses ...................................................................................................... 4

1.3.2 Metode..................................................................................................... 4

1.3.3 Tools ........................................................................................................ 5

1.4 Tujuan Penelitian ............................................................................................ 5

1.5 Manfaat Penelitian .......................................................................................... 5

1.6 Metodologi Penelitian .................................................................................... 6

1.6.1 Metode Pengumpulan Data ..................................................................... 6

1.6.2 Metode Simulasi ..................................................................................... 6

1.7 Sistematika Penelitian .................................................................................... 7

BAB II LANDASAN TEORI ..................................................................................... 9

2.1 Image Captioning ........................................................................................... 9

2.2 Kecerdasan Buatan (Artificial Inteligence) .................................................. 12

2.3 Computer Vision ........................................................................................... 14

Page 12: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

x

UIN Syarif Hidayatullah Jakarta

2.4 Pemrosesan Bahasa Alami (Natural Language Processing) ....................... 15

2.5 Jaringan Syaraf Tiruan (Artificial Neural Network) ..................................... 16

2.5.1 Arsitektur Jaringan Syaraf Tiruan ........................................................ 17

2.5.2 Algoritma Pembelajaran........................................................................ 19

2.6 Machine Learning ........................................................................................ 20

2.7 Deep Learning .............................................................................................. 20

2.8 Convolutional Neural Network .................................................................... 21

2.8.1 Operasi Convolusi ................................................................................. 23

2.8.2 Convolutional Layer (Lapisan Konvolusi)............................................ 24

2.8.3 Pooling layer (Lapisan Pooling) ........................................................... 26

2.8.4 Fully Connected Layer .......................................................................... 27

2.9 VGG Net ....................................................................................................... 27

2.10 Residual Network (ResNet) ...................................................................... 28

2.11 Model Bahasa (Language Model)............................................................. 32

2.11.1 Count-Based Language Models ............................................................ 33

2.11.2 Continuous Space Languge Models ...................................................... 34

2.12 Long Short Term Memory (LSTM) ........................................................... 37

2.12.1 Arsitektur LSTM ................................................................................... 38

2.12.2 Alur Kerja LSTM .................................................................................. 40

2.13 Dataset ...................................................................................................... 42

2.14 Skor BLEU ............................................................................................... 42

2.14.1 Cara Menghitung Skor BLEU ............................................................... 43

2.14.2 Skor BLEU Individual dan Kumulatif .................................................. 44

2.15 Python ....................................................................................................... 44

2.16 Tensorflow ................................................................................................ 45

2.17 Keras ......................................................................................................... 45

2.18 Google Colaboratory ................................................................................ 46

2.18.1 Cara Penggunaan Google Colab ........................................................... 47

2.19 Metode Pengumpulan data........................................................................ 51

2.19.1 Studi Pustaka ......................................................................................... 51

Page 13: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

xi

UIN Syarif Hidayatullah Jakarta

2.19.2 Observasi ............................................................................................... 51

2.20 Metode Simulasi ....................................................................................... 51

2.21 Studi Literatur Sejenis .............................................................................. 54

BAB III METODOLOGI PENELITIAN ............................................................... 57

3.1 Metode Pengumpulan Data .......................................................................... 57

3.1.1 Studi Pustaka ......................................................................................... 57

3.1.2 Observasi ............................................................................................... 57

3.2 Metode Simulasi ........................................................................................... 57

3.2.1 Formulasi Masalah (Problem Formulation) ......................................... 57

3.2.2 Konseptual Model (Conseptual Model) ................................................ 58

3.2.3 Pengumpulan Data Input/Output (Collection Input/Output Data) ....... 58

3.2.4 Pemodelan (Modelling) ......................................................................... 59

3.2.5 Simulasi (Simulation) ............................................................................ 59

3.2.6 Verifikasi dan Validasi (Verification and Validation) .......................... 59

3.2.7 Eksperimentasi (Eksperimentation) ...................................................... 59

3.2.8 Analisis Output (Output Analysis) ........................................................ 59

3.3 Kerangka Berpikir Penelitian ....................................................................... 60

BAB IV IMPLEMENTASI ...................................................................................... 61

4.1 Formulasi Masalah (Problem Formulation) ................................................. 61

4.2 Konseptual Model (Conseptual Model) ....................................................... 61

4.3 Pengumpulan Data Masukan/Keluaran (Collection Input/Output Data) ..... 63

4.4 Pemodelan (Modelling) ................................................................................ 68

4.5 Simulasi (Simulation) ................................................................................... 70

4.6 Verifikasi dan Validasi (Verification and Validation) ................................. 75

4.7 Eksperimentasi (Eksperimentation).............................................................. 75

4.8 Analisis Output (Output Analysis) ............................................................... 75

BAB V HASIL DAN PEMBAHASAN .................................................................... 76

5.1 Verifikasi dan Validasi (Verification and Validation) ................................. 76

5.2 Eksperimen (Eksperimentation) ................................................................... 77

5.3 Analisis Keluaran (Output Analysis) ............................................................ 77

Page 14: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

xii

UIN Syarif Hidayatullah Jakarta

5.3.1 Hasil Nilai Loss dan Akurasi Model ..................................................... 77

5.3.2 Hasil Skor BLEU .................................................................................. 79

5.3.3 Hasil Pecobaan Generate Caption ........................................................ 82

BAB VI PENUTUP ................................................................................................... 88

PENUTUP .................................................................................................................. 88

6.1 Kesimpulan ................................................................................................... 88

6.2 Saran ............................................................................................................. 88

DAFTAR PUSTAKA ................................................................................................ 89

Page 15: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

xiii

UIN Syarif Hidayatullah Jakarta

DAFTAR GAMBAR

Gambar 3. 1 Kerangka berpikir ................................................................................... 60

Gambar 2.1. Ilustrasi image captioning ........................................................................ 9

Gambar 2.2 arsitektur metode gabungan .................................................................... 10

Gambar 2.3 Arsitektur Init Inject ................................................................................ 11

Gambar 2. 4 Arsitektur Pre inject ............................................................................... 12

Gambar 2.5 Arsitektur Par inject ................................................................................ 12

Gambar 2.6 Arsitektur JST ......................................................................................... 17

Gambar 2.7 Arsitektur single layer network ............................................................... 18

Gambar 2.8 Arsitektur Multi Layer Network ............................................................. 18

Gambar 2 .9. Arsitektur Competitive Layer Network................................................. 19

Gambar 2.10. Ruang lingkup kecerdasan buatan ........................................................ 21

Gambar 2.11 Arsitektur CNN ..................................................................................... 22

Gambar 2.12 Vektor-vektor CNN ............................................................................... 24

Gambar 2.13 Ilustrasi pooling layer ............................................................................ 27

Gambar 2.14. Arsitektur VGG-16 ............................................................................... 28

Gambar 2.15 Arsitektur dan Jumlah lapisan ResNet .................................................. 29

Gambar 2.16 Blok bangunan koneksi pintas............................................................... 30

Gambar 2. 17 Arsitektur ResNet ................................................................................. 31

Gambar 2.18 Bottleneck Shortcut ............................................................................... 31

Gambar 2 .19 Arsitektur RNN .................................................................................... 36

Gambar 2 .20 Struktur Reccurent Neural Network ..................................................... 37

Gambar 2.21 Rangkaian RNN .................................................................................... 38

Gambar 2.22 Rangkaian LSTM .................................................................................. 38

Gambar 2.23 Notasi pada lapisan LSTM .................................................................... 38

Gambar 2.24 Arsitektur LSTM ................................................................................... 39

Gambar 2.25 Sel State ................................................................................................. 40

Gambar 2.26 Lapisan sigmoid .................................................................................... 40

Gambar 2.27 Logo Tensorflow ................................................................................... 45

Page 16: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

xiv

UIN Syarif Hidayatullah Jakarta

Gambar 2.28 Logo Keras ............................................................................................ 46

Gambar 2.29 Koneksi Google Colab dengan Gdrive.................................................. 47

Gambar 2.30 Membuat Google Colab dari Gdrive ..................................................... 48

Gambar 2.31 Tampilan awal Google Colab ................................................................ 48

Gambar 2.32 Tampilan google colab notebook .......................................................... 49

Gambar 2.33 Kode untuk koneksi Google Drive ke Google Colab ............................ 49

Gambar 2.34 Cara koneksi Google Drive ke Google Colab ....................................... 50

Gambar 2.35 Tampilan setelah Google Drive dan Google Colab terhubung ............. 50

Gambar 2.36 Contoh Program Sederhana ................................................................... 51

Gambar 3. 1 Kerangka berpikir penelitian .................................................................. 60

Gambar 4. 1 Flowchart ekstrak fitur gambar .............................................................. 62

Gambar 4. 2 Contoh gambar yang berkualitas baik .................................................... 63

Gambar 4. 3 Contoh gambar yang sudah dipotong ..................................................... 64

Gambar 4. 4 Contoh dataset gambar ........................................................................... 65

Gambar 4. 5 Alur ekstraksi fitur deskripsi dan cleansing ........................................... 67

Gambar 4. 6 Alur pembuatan model ........................................................................... 70

Gambar 4. 7 Nilai-nilai yang digunakan pada Model-1 .............................................. 71

Gambar 4. 8 Nilai-nilai yang digunakan pada Model-2 .............................................. 72

Gambar 4. 9 Summary Model Dengan VGG-16 (Model-1) ....................................... 73

Gambar 4. 10 Summary Model Dengan RestNet50 (Model-2) .................................. 73

Gambar 4. 11Arsitektur Model Dengan VGG-16 (Model-1) ..................................... 74

Gambar 4. 12 Arsitektur Model Dengan ResNet50 (Model-2) .................................. 74

Gambar 5.1 Grafik loss Model-1 ................................................................................ 78

Gambar 5.2 Grafik akurasi Model-1 ........................................................................... 78

Gambar 5.3 Grafik loss Model-2 ................................................................................ 78

Gambar 5.4 Grafik akurasi Model-2 ........................................................................... 79

Page 17: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

xv

UIN Syarif Hidayatullah Jakarta

DAFTAR TABEL

Tabel 2.1 Perbandingan Literatur Sejenis ................................................................... 55

Tabel 4. 1 Contoh proses sequence deskripsi ............................................................. 69

Tabel 5. 1 Hasil Loss dan Akurasi Model ................................................................... 77

Tabel 5. 2 Hasil Prediksi Caption dari Model-1 ......................................................... 80

Tabel 5. 3 Hasil Prediksi Caption dari Model-2 ......................................................... 81

Tabel 5. 4 Perbandingan Hasil Skor BLEU Model-1 dan Model 2 ............................ 82

Tabel 5. 5 Hasil generate caption menggunakan Model-1 ......................................... 83

Tabel 5. 6 Hasil generate caption menggunakan Model-2 ......................................... 85

Page 18: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

1

UIN Syarif Hidayatullah Jakarta

BAB I

PENDAHULUAN

1.1 Latar Belakang

Di era kemajuan teknologi saat ini, teknologi kecerdasan buatan (Artificial

Intelligence) sudah banyak diterapkan dalam berbagai aspek kehidupan manusia.

Salah satu penerapan dari teknologi kecerdasan buatan adalah adalah penerapan

Intelligence Transport System. Intelligence Transport System merupakan suatu

teknologi yang dapat memantau dan mengatur keadaan lalu lintas kendaraan di jalan.

Teknologi ini merupakan teknologi yang memanfaatkan gabungan dari teknologi

kecerdasan buatan seperti pengolahan gambar, video maupun basis data (Marieski,

Hidayat, & Safitri, 2017). Dengan Intelligence Transport System, masyarakat dapat

memperoleh informasi keadaan lalu lintas dengan memanfaatkan informasi yang

terdapat pada gambar (Hartini, Nyoto, & Irwansyah, 2016).

Salah satu cara mendapatkan informasi pada gambar adalah dengan membaca

deskripsi dari gambar tersebut. Deskripsi gambar berguna untuk menjelaskan maksud

yang tersirat dalam gambar, sehingga kita dapat memahami informasi dari gambar

tersebut. Selain itu, deskripsi gambar juga dapat membantu pengguna internet untuk

mencari gambar yang diinginkan dengan mengetikkan deskripsi gambar yang

dimaksud di mesin pencarian (Rachmawati, Siradjuddin, & Putro, 2017).

Perkembangan teknologi kecerdasan buatan memungkinkan komputer dapat

menghasilkan deskripsi gambar (image caption) secara otomatis (Devlin et al., 2015).

Untuk dapat menghasilkan deskripsi gambar dengan otomatis, komputer

membutuhkan suatu metode gabungan dari Computer Vision dengan Natural Language

Processing (Vinyals, Toshev, Bengio, & Erhan, 2015). Computer Vision digunakan

komputer agar dapat mengenali objek yang terdapat pada gambar, sedangkan Natural

Language Processing untuk menghasilkan deskripsi gambar berupa bahasa alami dari

suatu model bahasa (Devlin et al., 2015).

Page 19: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

2

UIN Syarif Hidayatullah Jakarta

Salah satu teknologi Computer Vision yang banyak digunakan untuk pengolahan

gambar adalah Convolutional Neural Network. Convolutional Neural Network

merupakan metode yang banyak digunakan untuk pekerjaan seperti deteksi gambar,

klasifikasi gambar, dan segmentasi gambar dengan akurasi yang baik. Selain itu fitur

gambar yang dipelajari oleh Convolutional Neural Network dapat digunakan untuk

pembuatan model deskripsi gambar (Pu et al., 2016). Sedangkan untuk menghasilkan

deskripsi gambar diperlukan sebuah teknologi dari Natural Language Processing ,

salah satu yang dapat digunakan adalah Long Short Term Memory. Long Short Term

Memory merupakan sebuah jaringan syaraf berulang (Recurrent Neural Networks)

yang banyak digunakan dalam translasi dan generate urutan kalimat (Vinyals, Toshev,

Bengio, & Erhan, 2017).

Sebelumnya terdapat beberapa penelitian mengenai deskripsi gambar (image

captioning), diantaranya penelitian yang dilakukan oleh Arnav et al., (2017) yang

menggunakan algoritma Convolutional Neural Network yakni VGG-16, VGG-19, dan

ResNet untuk proses ekstraksi fitur gambar pada dataset Flickr8K dan Long Short Term

Memory untuk menghasilkan deskripsi gambar (image caption). Dari penelitian

tersebut didapatkan hasil skor BLEU {1,2,3,4} menggunakan algoritma VGG-16

masing-masing sebesar 55.2; 24.77; 10.75; 4.33. Sedangkan untuk algoritma VGG-19

mendapatkan skor BLEU {1,2,3,4} sebesar 55.6 ; 24.73; 10.56; 4.5 dan pada algoritma

ResNet skor BLEU {1,2,3,4} yang dihasilkan sebesar 57.49; 26.60; 11.82; 5.01. Pada

penelitian ini menunjukkan bahwa penggunaan ResNet lebih baik.

Sedangkan pada penelitian Singh & Sharma, (2018) yang melakukan

perbandingan dua model. Model pertama menggunakan Convolutional Neural

Network jenis VGG-16 dan model kedua menggunakan 4 lapisan Convolutional Neural

Network untuk ekstraksi fitur gambar pada dataset Flickr8K serta masing-masing

model menggunakan Long Short Term Memory untuk menghasilkan deskripsi gambar

(image caption). Dari kedua model tersebut, deskripsi gambar yang dihasilkan tidak

berbeda jauh dan berhasil mendeksripsikan gambar dengan tepat. Model pertama

Page 20: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

3

UIN Syarif Hidayatullah Jakarta

meraih skor BLEU {1,2,3,4} sebesar 54, 28, 19, 0.82. Sedangkan pada model kedua

meraih skor BLEU {1,2,3,4} sebesar 51, 25,17, 0.7. sehingga dapat disimpulkan bahwa

penggunaan VGG-16 lebih baik dari pada Convolutional Neural Network biasa.

Penelitian lain yaitu perbandingan antara Convolutional Neural Network dengan

Long Short Term Memory untuk image captioning menggunakan dataset MS COCO.

Dalam penelitian ini menunjukkan bahwa akurasi hasil prediksi kata yang dihasilkan

oleh Convolutional Neural Network lebih baik daripada prediksi kata yang dihasilkan

oleh Long Short Term Memory. Selain itu rendahnya hasil akurasi klasifikasi gambar

jika menggunakan Long Short Term Memory. Hal ini menujukkan perlu adanya

penggabungan algortima agar hasil prediksi kata pada caption menjadi lebih baik

(Aneja, Deshpande, & Schwing, 2018).

Selain penelitian-penelitian yang dipaparkan sebelumnya, Al-muzaini, Al-yahya,

& Benhidour (2018) juga melakukan penelitian mengenai deskripsi gambar (image

captioning). Deskripsi gambar (caption) yang dihasilkan berbahasa arab menggunakan

dataset Flickr dan MS COCO menggunakan Convolutional Neural Network jenis

VGG-16 untuk ekstraksi fitur gambar dan Long Short Term Memory untuk

menghasilkan deskripsi. Deskripsi gambar (caption) yang dihasilkan dalam penelitian

tersebut berbahasa arab yang merupakan terjemahan dari deskripsi gambar pada

dataset Flickr dan MS COCO yang berbahasa Inggris. Dari penelitian ini, didapatkan

hasil skor BLEU {1,2,3,4} sebesar 46, 26, 19, 8 untuk model yang menggunakan

dataset caption yang diterjemahkan secara manual, sedangkan untuk dataset yang

diterjemahkan menggunakan Google Translate mendapatkan skor BLEU {1,2,3,4}

sebesar 52, 46, 34, 18. Dari penelitian ini menunjukkan bahwa Convolutional Neural

Network dan Long Short Term Memory dapat digunakan untuk generate image caption

dengan baik pada bahasa selain bahasa Inggris.

Berdasarkan pemaparan latar belakang diatas, dalam penelitian ini penulis akan

melakukan simulasi untuk menghasilkan model yang akan digunakan untuk generate

Page 21: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

4

UIN Syarif Hidayatullah Jakarta

image captioning pada gambar lalu lintas kendaraan menggunakan metode

Convolutional Neural Network dan Long Short Term Memory.

1.2 Rumusan Masalah

Bagaimana cara menghasilkan model untuk generate Image Captioning pada

gambar lalu lintas kendaraan berbahasa Indonesia menggunakan metode Convolutional

Neural Network dan Long Short Term Memory?

1.3 Batasan Masalah

1.3.1 Proses

1. Penelitian ini dibuat dengan ruang lingkup kendaraan pada lalu lintas.

2. Deskripsi gambar (image caption) yang dihasilkan hanya berbahasa Indonesia.

3. Deskripsi gambar (image caption) hanya menjelaskan situasi kendaraan pada

lalu lintas.

4. Gambar yang digunakan sebagai dataset gambar didapatkan dari foto yang

penulis ambil sendiri.

5. Gambar yang digunakan sebagai dataset gambar hanya berupa gambar

mengenai kendaraan pada lalu lintas.

6. Deskripsi gambar yang digunakan sebagai dataset caption merupakan deskripsi

dari setiap gambar pada dataset gambar.

7. Deskripsi gambar yang digunakan sebagai dataset caption hanya berbahasa

Indonesia dan dibuat berdasarkan aturan pada dataset teks Flickr.

8. Pada penelitian ini tidak membahas mengenai image processing dan deteksi

gambar,.

1.3.2 Metode

1. Penelitian ini menggunakan dua model Convolutional Neural Network untuk

ekstraksi fitur gambar yaitu VGG-16 dan ResNet50.

Page 22: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

5

UIN Syarif Hidayatullah Jakarta

2. Proses ekstraksi fitur dataset gambar merupakan proses untuk mengubah

gambar menjadi vektor yang mereprepresentasikan gambar-gambar tersebut

agar dapat diproses dalam penggabungan bersama vektor dataset caption.

3. Proses generate caption menggunakan model yang dibuat dari gabungan

Convolutional Neural Network dan Long Short Term Memory.

4. Model yang digunakan untuk generate caption merupakan model hasil dari

proses pelatihan dan validasi menggunakan dataset latih dan dataset validasi.

5. Deskripsi gambar yang dihasilkan merupakan hasil dari model yang

mencocokan setiap gambar dengan deskripsinya (caption).

1.3.3 Tools

1. Pemodelan dilakukan menggunakan bahasa pemrograman Python dengan

library Keras dan backend Tensorflow.

2. Menggunakan Google Colaboratoy sebagai tempat pengkodean.

3. Menggunakan Google Drive sebagai media penyimpanan yang terhubung

dengan Google Colaboratory.

4. Perhitungan skor BLEU dihitung menggunakan library python yaitu Natural

Languange Toolkit (NLTK) dengan fungsi corpus_bleu.

1.4 Tujuan Penelitian

Tujuan yang ingin dicapai oleh penulis dari penelitian ini adalah:

1. Membuat model untuk generate image captioning pada gambar lalu lintas

kendaraan berbahasa Indonesia.

2. Melakukan pengembangan teknologi deep learning.

1.5 Manfaat Penelitian

Adapun manfaat yang didapatkan adalah sebagai berikut :

1. Bagi Mahasiswa

Menambah ilmu dan pengetahuan mahasiswa mengenai kegunaan teori-

teori yang didapatkan ketika kuliah.

Page 23: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

6

UIN Syarif Hidayatullah Jakarta

2. Bagi Universitas

Menambah koleksi karya ilmiah Universitas mengenai Simulasi

Metode Convolutional Neural Network dan Long Short Term Memory Untuk

Generate Image Captioning Pada Gambar Lalu Lintas Kendaraan Berbahasa

Indonesia.

1.6 Metodologi Penelitian

Metodologi penelitian merupakan tahapan-tahapan yang dilalui oleh penulis dari

perumusan masalah sampai kesimpulan, yang membentuk sebuah alur hingga

sistematis. Metodologi ini digunakan sebagai pedoman penulis dalam pelaksanaan

penelitian ini agar hasil yang dicapai tidak menyimpang dari tujuan. Metodologi

penelitian meliputi pengumpulan data hingga terbentuknya hasil akhir yaitu model

yang digunakan untuk generate image captioning.

1.6.1 Metode Pengumpulan Data

Dalam melakukan analisis data dan penelitian skripsi ini, penulis menggunakan

2 metode pengumpulan data, yaitu:

a. Studi Pustaka

Studi pustaka merupakan salah satu kegiatan penelitian yang berfungsi

sebagai landasan teori bagi penyelesaian masalah dalam penelitian yang

dilakukan.

b. Observasi

Penulis melakukan studi lapangan dengan melakukan pengambilan gambar

di jalan raya untuk pembuatan dataset gambar.

1.6.2 Metode Simulasi

Dalam penelitian ini, penulis menggunakan metode simulasi. Adapun tahap-tahap

pada metode simulasi adalah sebagai berikut (Madani, Kazmi, & Mahlknecht, 2010):

1. Formulasi Masalah (Problem Formulation)

2. Konseptual Model (Conceptual Model)

Page 24: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

7

UIN Syarif Hidayatullah Jakarta

3. Pengumpulan Data Input/Output (Collected Input/Output Data)

4. Pemodelan (Modeling )

5. Simulasi (Simulation)

6. Verifikasi dan Validasi (Verification and Validation)

7. Eksperimentasi (Experimentation)

8. Analisis Keluaran (Experimentation and Output Analysis)

1.7 Sistematika Penelitian

Sistematika yang dibuat pada tugas akhir ini akan dibagi dalam enam bagian,

yaitu:

BAB I PENDAHULUAN

Dalam bab ini membahas mengenai latar belakang penelitian,

perumusan masalah, batasan masalah, tujuan dan manfaat,

metode dan sistematika penelitian yang merupakan gambaran

menyeluruh dari penelitian skripsi ini.

BAB II LANDASAN TEORI

Dalam bab ini membahas mengenai berbagai teori yang mendasari

analisis permasalahan yang berhubungan dengan pembahasan.

BAB III METODOLOGI PENELITIAN

Bab ini berisi pembahasan atau pemaparan metode yang penulis

pakai dalam pencarian data maupun perancangan sistem yang

dilakukan pada penelitian.

BAB IV IMPLEMENTASI

Bab ini membahas mengenai hasil implementasi dan pengujian

sistem selama penelitian ini berlangsung.

Page 25: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

8

UIN Syarif Hidayatullah Jakarta

BAB V HASIL DAN PEMBAHASAN

Bab ini membahas mengenai hasil dan pembahasan rancangan

pembuatan image captioning dengan menggunakan metode

Convolutional Neural Network dan Long Short Term Memory.

BAB VI KESIMPULAN DAN SARAN

Pada bab ini kesimpulan dari hasil pembahasan seluruh bab serta

saran-saran yang kiranya dapat diperhatikan serta

dipertimbangkan untuk pengembangan sistem dimasa mendatang.

Page 26: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

9

UIN Syarif Hidayatullah Jakarta

2 BAB II

LANDASAN TEORI

2.1 Image Captioning

Image captioning merupakan suatu proses pembuatan teks deskripsi pada sebuah

gambar. Untuk dapat menghasilkan deskripsi atau caption pada suatu gambar, image

captioning menggunakan gabungan proses dari Computer Vision dan Natural

Languange Processing (Radhakrishnan, 2017). Menurut Vinyals, Toshev, Bengio, &

Erhan, (2015) Computer vision berperan untuk mendeteksi dan mengenali objek pada

gambar. Selain itu, metode Computer Vision berguna untuk mengenali lokasi, properti

dan interaksi pada sebuah gambar. Sedangkan fungsi dari Natural Language

Processing adalah menghasilkan suatu kalimat yang tersusun dengan baik sesuai aturan

semantik dan sintaksis dalam suatu bahasa (Sohel, Shiratuddin, & Laga, 2018).

Gambar 2.1. Ilustrasi image captioning

(Sumber : https://www.analyticsvidhya.com/blog/2018/04/solving-an-image-captioning-task-

using-deep-learning/)

Menurut Tanti, Gatt, & Camilleri, (2017), ketika model bahasa dari Recurrent

Neural Network digunakan untuk generate caption, informasi gambar dapat

dimasukkan ke neural network dengan dua cara. Cara pertama adalah dengan metode

Page 27: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

10

UIN Syarif Hidayatullah Jakarta

gabungan (merge). Pada metode gabungan, ekstraksi fitur gambar dipisahkan dari

Recurrent Neural Network sehingga Recurrent Neural Network hanya mengolah

informasi teks. Kemudian vektor gambar akan digabungkan dengan vektor prefix pada

lapisan multimodal yang terpisah yang muncul setelah subnetwork Recurrent Neural

Network setelah prefix di encode. Proses penggabungan biasanya dilakukan dengan

mengkonket dua vektor secara bersamaan. Dalam kasus ini, Recurrent Neural Network

dilatih untuk hanya melakukan encoding prefix dan penggabungan dilakukan di

subsequence feed forward layer. Berikut ini merupakan arsitektur dari metode

gabungan :

Gambar 2.2 arsitektur metode gabungan

(sumber : Tanti et al., 2017)

Pada metode gabungan, Recurrent Neural Network tidak terkena vektor

gambar pada setiap titik. Oleh karena itu, gambar diperkenalkan ke model bahasa

setelah prefix di encode oleh Recurrent Neural Network secara keseluruhan. Arsitektur

metode gabungan merupakan arsitektur yang mengikat dan tidak memodifikasi

representasi gambar setiap waktu.

Selain metode gabungan yang sudah dipaparkan diatas, ada metode lain yaitu

dengan memasukan informasi gambar secara langsung ke Recurrent Neural Network

yakni dengan cara menginjeksi model bahasa dengan fitur gambar. Cara tersebut

disebut dengan metode injeksi. Pada metode ini, vektor gambar (biasanya berasal dari

Page 28: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

11

UIN Syarif Hidayatullah Jakarta

nilai aktivasi hidden layer dalam Convolutional Neural Network yang diinjeksi

kedalam Recurrent Neural Network. Misalnya dengan memperlakukannya setara

dengan sebuah ‘kata’ dan dan memasukkannya sebagai bagian dari prefiks teks.

Recurrent Neural Network dilatih untuk melakukan encoding campuran gambar dan

bahasa kedalam vektor tunggal sehingga vektor ini dapat digunakan untuk

memprediksi kata berikutnya dalam prefix.

Ada beberapa tipe arsitektur pada metode injeksi menurut Tanti et al., (2017),

diantaranya :

1. Init inject. Pada arsitektur ini, inisial vektor hidden state diatur menjadi vektor

gambar (atau vektor berasal dari vektor gambar). Sehingga vektor gambar harus

memiliki ukuran yang sama sebagai vektor hidden state Recurrent Neural

Network. Arsitektur ini bersifat mengikat diawal dan memungkinkan

representasi gambar dapat dimodifikasi oleh Recurrent Neural Network.

Gambar 2.3 Arsitektur Init Inject

(sumber : Tanti et al., 2017)

2. Preinject. Pada arsitektur ini, input pertama ke Recurrent Neural Network

adalah vektor gambar (atau vektor berasal dari vektor gambar). Selanjutnya

datang vektor kata dari prefix caption. Setelah itu, vektor gambar diperlakukan

sebagai kata pertama dalam prefiks. Sehingga vektor gambar harus memiliki

ukuran yang sama sebagai vektor hidden state Recurrent Neural Network.

Arsitekur ini sama seperti arsitektur init inject yang bersifat mengikat diawal

dan memungkinkan gambar untuk dimodifikasi oleh Recurrent Neural

Network.

Page 29: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

12

UIN Syarif Hidayatullah Jakarta

Gambar 2. 4 Arsitektur Pre inject

(sumber : Tanti et al., 2017)

3. Par inject. Dalam arsitektur ini, vektor gambar bertugas sebagai input ke

Recurrent Neural Network secara pararel dengan vektor kata dari prefix

caption. Sehingga sama seperti init inject yang mana Recurrent Neural

Network mengambil 2 input terpisah atau seperti preinject yang

mengkombinasi vektor dengan vektor gambar kedalam sebuah input tunggal

sebelum diteruskan ke Recurrent Neural Network. Dalam arsitektur par inject,

vektor gambar tidak harus sama persis untuk setiap kata dan juga tidak perlu

dimasukkan kedalam setiap kata. Arsitektur ini bersifat pengikat campuran,

namun beberapa modifikasi representasi gambar akan lebih sulit bagi Recurrent

Neural Network karena jika gambar yang sama diumpankan ke Recurrent

Neural Network pada setiap langkah waktu dan vektor hidden state setiap kali

diperbarui dengan gambar asli.

Gambar 2.5 Arsitektur Par inject

(sumber : Tanti et al., 2017)

2.2 Kecerdasan Buatan (Artificial Inteligence)

Artificial Inteligence atau kecerdasan buatan adalah bagian dari ilmu komputer.

Program ini menggunakan bahasa yang sama dengan sistem konvensional, tetapi

dengan logika yang berbeda. Pada beberapa kasus, sistem kecerdasan dioperasikan

Page 30: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

13

UIN Syarif Hidayatullah Jakarta

dengan suatu logika yang simple, namun pada kasus lain seperti pada jaringan syaraf

tiruan, mesin ini mencoba meniru jaringan syaraf manusia dimana informasi akan

dialirkan dari satu sel ke sel lain dan digabungkan dengan data lain untuk mencapai

sebuah solusi (Introbooks, 2018).

Kecerdasan buatan dimulai dari penelitian Alan Turing pada tahun 1950 yang

membuat tes yang disebut tes turing. Tes tersebut melibatkan manusia untuk menguji

kecerdasan mesin. Tes ini dilakukan dengan skenario dimana seorang penguji berada

di ruangan pertama, manusia lain berada di ruangan kedua, dan mesin berada di

ruangan ketiga. Penguji memberikan pertayaan kepada manusia tersebut dan mesin

menggunakan teks. Untuk membedakan keduanya berdasarkan jawaban dari

pertanyaan yang diberikan penguji. Jika penguji tidak bisa membedakan mana mesin

dan mana manusia, maka mesin tersebut dinyatakan memiliki kecerdasan (Neapolitan

& Jiang, 2018).

Menurut Rich dan Knight, kecerdasan buatan adalah ilmu tentang bagaimana

komputer dapat melakukan sesuatu seperti yang manusia lakukan (Kulkarni & Praci,

2015). Menurut Budiharto & Suhartono (2014), bidang ilmu kecerdasan buatan terdiri

dari:

a. Natural Language Processing

Natural Language Processing (NLP) adalah suatu sistem yang membuat

manusia dapat berkomunikasi dengan komputer menggunakan bahasa alami

manusia.

b. Computer Vision

Computer vision merupakan bidang ilmu kecerdasan buatan yang membuat

komputer dapat mengolah, menganalisa dan memahami suatu objek pada

gambar.

c. Robotika dan sistem navigasi

Page 31: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

14

UIN Syarif Hidayatullah Jakarta

Pada bidang ini, dipelajari cara membuat sebuah robot yang dapat bermanfaat

bagi kehidupan manusia.

d. Game playing

Bidang ilmu ini mempelajari untuk membuat suatu sistem permainan yang

cerdas.

e. Sistem pakar

Bidang ilmu ini dipelajari proses membuat suatu sistem yang memiliki

kecerdasan dalam memecahkan masalah serta dapat meniru suatu pakar

dalam bidang ilmu tertentu.

2.3 Computer Vision

Seperti yang sudah dijelaskan dalam subbab sebelumnya mengenai kecerdasan

buatan, computer vision merupakan suatu cabang dari bidang kecerdasan buatan yang

membuat komputer dapat memproses serta menganalisis suatu objek pada gambar.

Pada computer vision juga dipelajari cara akuisisi dan pemrosesan gambar. Dengan

computer vision memungkinkan komputer dapat memiliki sebuah penglihatan seperti

manusia. Selain itu, kita juga bisa mendapatkan suatu informasi pada suatu gambar.

(Budiharto & Suhartono, 2014).

Computer vision berfokus pada algorima kecerdasan buatan yang digunakan

untuk menganalisis isi sebuah gambar dengan mengintegrasikan serangkaian proses

untuk pemahaman visual seperti akuisisi citra, pengenalan serta pengolahan citra. Saat

ini sudah banyak dikembangkan teknologi-teknologi berbasis computer vision seperti

robot yang dapat mengenali manusia (Amrizal & Aini, 2013).

Menurut Amrizal & Aini (2013), proses-proses pada computer vision adalah

sebagai berikut :

1. Akuisisi citra

Proses akuisisi citra adalah suatu proses untuk menerjemahkan bentuk visual

kedalam suatu format yang dapat dikenali dan di proses oleh komputer.

Page 32: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

15

UIN Syarif Hidayatullah Jakarta

Contohnya sebuah kamera yang menangkap sebuah gambar atau adegan,

kemudian kamera tersebut menerjemahkan gambar tersebut kedalam suatu

sinyal digital berupa bilangan biner yang dapat dipahami komputer.

2. Pengolahan citra

Pada tahap ini, merupakan tahapan untuk memperbaiki kualitas sebuah citra

agar dapat dipahami oleh komputer. Kegiatan yang dilakukan dalam

pengolaham citra adalah praproses citra, contohnya dengan menggunakan

berbagai macam filter supaya gambar dapat dipahami lebih mudah oleh

komputer. Setelah praproses citra, tahap selanjutnya adalah menghilangkan

noise, memperbaiki kontras atau pencahayaan citra dan lain sebagainya.

3. Analisis citra

Analisis citra merupakan tahapan untuk menganalisis ciri dan karakteristik

citra.

4. Pemahaman citra

Dalam tahap pemahaman citra, kita membuat komputer dapat memiliki

pengetahuan seperti mengenal objek-objek yang terdapat pada citra. Dalam

tahap ini terdapat beberapa metode yaitu template matching dan feature

matching

2.4 Pemrosesan Bahasa Alami (Natural Language Processing)

Natural Language atau bahasa alami merupakan bahasa yang digunakan oleh

manusia untuk berkomunikasi. Jadi, Natural Language Processing atau pemrosesan

bahasa alami berarti mengolah sebuah bahasa alami manusia agar dapat dipahami oleh

komputer. Dengan NLP, manusia dapat berinteraksi dengan komputer melalui tulisan

maupun ucapan (Budiharto & Suhartono, 2014).

NLP terdiri dari tiga komponen utama basis pengetahuan, diantaranya :

• Sintaks merupakan bentuk dari bahasa. Bentuk spesifikasi dari sintaks

disebut grammar.

Page 33: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

16

UIN Syarif Hidayatullah Jakarta

• Semantik merupakan penjelasan arti dari suatu kalimat pada sebuah

bahasa.

• Pragmatik merupakan komponen yang menjelaskan hubungan sebuah

kalimat dengan suatu keadaan seperti bentuk pengucapan, waktu

pengucapan dan maksud dari kalimat tersebut.

Selain komponen utama diatas, dalam NLP terdapat beberapa istilah,

diantanya:

• Morfologi merupakan pengetahuan tentang kata dan bentuknya

sehingga kata-kata tersebut dapat dibedakan satu sama lain.

Contoh : memanfaatkan -> manfaat (kata dasar), mem (prefix), kan

(suffix)

• Fonetik merupakan pengetahuan tentang bunyi atau pelafalan suatu

bahasa sebagai pengenalan kata.

Beberapa ruang lingkup penelitian mengenai NLP diantaranya Question

Answering System yang membuat komputer dapat menjawab pertanyaan yang

diberikan pengguna, summarization yakni aplikasi yang dapat membuat rangkuman

dari sebuah dokumen, mesin translasi yakni aplikasi yang dapat menerjemahkan

sebuah bahasa kedalam bahasa lain, speech recognition adalah aplikasi yang dapat

mendeteksi sebuah suara untuk mengenali suatu bahasa dan document classification

yaitu aplikasi yang dapat mengelompokkan suatu dokumen seperti spam email dan

sebagainya.

2.5 Jaringan Syaraf Tiruan (Artificial Neural Network)

Artificial Neural Network atau jaringan syaraf tiruan merupakan proses

pembelajaran mesin yang meniru jaringan syaraf manusia. Jaringan ini meniru cara

kerja sistem syaraf pada otak manusia. Otak manusia terdiri dari neuron, akson, dendrit

dan sinapsis. Neuron berfungsi untuk memproses setiap informasi yang masuk, akson

berfungsi sebagai pengirim informasi dari badan sel ke jaringan syaraf lain. Sedangkan

Page 34: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

17

UIN Syarif Hidayatullah Jakarta

dendrit berfungsi sebagai pengirim informasi yang diterima ke badan sel dan sinapsis

berfungsi sebagai penghubung antar neuron. Komponen-komponen tersebut saling

terhubung satu sama lain (Budiharto & Suhartono, 2014).

Model dari jaringan syaraf tiruan memiliki banyak lapisan atau layer sehingga

sulit dibaca dan dipahami oleh manusia. Jaringan syaraf tiruan terdiri dari input layer,

hidden layer dan output layer. Input layer bertugas sebagai penerima masukan yang

kemudian diteruskan kedalam hidden layer yang bertugas untuk memproses dan

melakukan perhitungan fungsi aktivasi pada setiap neuron. Sedangkan output layer

berfungsi sebagai penerima output yang dihasilkan oleh hidden layer (Gotama, 2018).

Gambar 2.6 Arsitektur JST

(Sumber: Amrizal & Aini, 2013)

2.5.1 Arsitektur Jaringan Syaraf Tiruan

Arsitektur jaringan syaraf tiruan berbentuk susunan neuron dalam lapisan-

lapisan (layer) yang saling terhubung satu sama lain (Budiharto & Suhartono, 2014).

Kedalaman (depth) pada jaringan syaraf tiruan berarti jumlah layer, sedangkan lebar

jaringan merupakan jumlah unit pada layer (Gotama, 2018). Menurut Budiharto &

Suhartono, (2014), berikut ini merupakan bentuk-bentuk arsitektur dari jaringan syaraf

tiruan:

1. Jaringan lapisan tunggal (single layer network)

Jaringan ini merupakan bentuk terkecil dari jaringan syaraf tiruan. Jaringan

ini hanya terdiri dari satu lapisan (layer) yakni lapisan input yang berguna

sebagai penerima masukan dan lapisan output sebagai pemberi respon dari

masukan tersebut.

Page 35: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

18

UIN Syarif Hidayatullah Jakarta

Gambar 2.7 Arsitektur single layer network

( Sumber : http://saraftiruan.blogspot.com/2016/10/arsitektur-jaringan-syaraf-tiruan.html)

2. Jaringan lapisan banyak (multilayer network)

Jaringan lapisan multi merupakan jaringan syaraf tiruan yang terdiri dari

beberapa lapisan (layer). Lapisan-lapisan tersebut diantaranya adalah input

layer, hidden layer dan output layer. Lapisan hidden layer terdapat diantara

input dan output layer. Layer-layer tersebut saling terhubung dengan bobot.

Gambar 2.8 Arsitektur Multi Layer Network

(Sumber: http://jeyegzcorner.blogspot.com/2014/07/jaringan-syaraf-tiruan-artifical-

neural.html)

3. Competitive layer network

Page 36: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

19

UIN Syarif Hidayatullah Jakarta

Dalam arsitektur jaringan syaraf ini, hubungan antar jaringan tidak terlihat .

jaringan-jaringan tersebut saling terhubung dengan sebuah bobot yang

bernilai -∊.

Gambar 2 .9. Arsitektur Competitive Layer Network

(Sumber : Budiharto & Suhartono, 2014)

2.5.2 Algoritma Pembelajaran

Pada jaringan syaraf tiruan, terdapat proses pembelajaran. Pembelajaran

dilakukan oleh mesin untuk dapat memberikan respon kepada lingkungan tempat

jaringan tersebut berada. Metode pembelajaran dapat ditentukan oleh pola tempat

dilakukannya pengubahan parameter (Amrizal & Aini, 2013). Jenis-jenis algortima

pembelajara pada jaringan syaraf tiruan adalah sebagai berikut :

1. Supervised learning (pembelajaran terawasi)

Supervised learning adalah proses belajar yang diibaratkan dengan guru yang

mengajari siswa mengenali angka. Guru memperkenalkan kepada siswa bentuk

angka 1,2,3,4. Kemudian guru mengajari cara membaca angka-angka tersebut.

Dalam hal ini angka sebagai masukan (input), cara membaca sebagai keluaran

yang diinginkan (desired output) dan pasangan masukan dan keluaran yang

diingikan (input desired output) disebut sebagai data pelatihan. Keluaran

(output) merupakan bentuk model yang dihasilkan dari proses mempelajari

masukan dan keluaran yang diinginkan (desired output) .Proses murid

Page 37: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

20

UIN Syarif Hidayatullah Jakarta

mempelajari disebut supervised learning. Contoh dari supervised learning

adalah klasifikasi (Gotama, 2018).

2. Unsupervised learning (pembelajaran tidak terawasi)

Pada pembelajaran Unsupervised learning tidak terdapat guru. Mesin

dituntut agar dapat mengenali sesuatu berdasarkan sifat-sifat pada data. Contoh

unsupervised learning adalah clustering (Gotama, 2018).

2.6 Machine Learning

Machine learning merupakan salah satu bagian dari kecerdasan buatan yang

membuat mesin dapat melakukan inferensi terhadap data yang diberikan. Inferensi

dilakukan dengan cara membuat model menggunakan pendekatan matematis. Machine

learning memungkinkan mesin dapat memprediksi masa depan dengan mempelajari

konfigurasi parameter dan data-data yang diberikan (Gotama, 2018).

Kinerja machine learning diukur dari optimalnya nilai suatu fungsi seperti

minimalnya nilai loss dan error. Loss adalah ukuran seberapa dekat atau berbeda model

yang dihasilkan dengan data asli, sedangkan error merupakan salah satu cara untuk

menghitung loss. Nilai dari loss dan error tergantung dari parameter pembelajaran yang

digunakannya. Kekurangan dari machine learning adalah membutuhkan data yang

banyak untuk proses pembelajarannya (Gotama, 2018)

2.7 Deep Learning

Deep Learning adalah bagian dari metodologi machine learning yang

menggunakan jaringan syaraf tiruan. Machine learning hanya berfokus pada cara

komputer belajar tanpa terprogram secara spesifik (Gulli & Pal, 2017).

Page 38: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

21

UIN Syarif Hidayatullah Jakarta

Gambar 2.10. Ruang lingkup kecerdasan buatan

(Sumber : Gulli & Pal, 2017)

Deep learning merupakan bentuk pembelajaran dari deep neural network.

Disebut deep karena jaringan memiliki banyak lapisan atau layer. Deep neural network

merupakan bentuk dari jaringan syaraf tiruan yang memiliki banyak layer. Biasanya

terdiri dari 3 lapisan lebih. Dalam deep neural network, estimasi parameter sulit

dilakukan karena jaringan ini memiliki banyak lapisan dan sinapsis bobot (Gotama,

2018).

Deep learning dapat menyelesaikan permasalahan yang tidak dapat diselesaikan

oleh multilayer perceptron yaitu menentukan relasi tersembunyi antara input dan

output. Pada deep neural network terjadi banyak proses transformasi yaitu mengubah

input menjadi suatu representasi berbentuk hidden layer dengan struktur hirarki. Proses

pembelajaran pada deep learning cenderung lebih lama karena deep learning memilki

banyak parameter. Namun hal tersebut dapat diatasi dengan regulasi, successive

learning ataupun autoencoder. Teknik yang sering digunakan adalah Successive

learning yaitu membangun suatu jaringan secara bertahap, contohnya kita melatih

jaringan neural menggunakan 3 layer, lalu kita tambahkan satu layer lagi sehingga

menjadi 4 layer dan seterusnya (Gotama, 2018).

2.8 Convolutional Neural Network

Convolutional Neural Network banyak digunakan dalam bidang pengolahan

gambar. Jaringan konvolusi merupakan jaringan syaraf konvolusi yang menggunakan

Page 39: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

22

UIN Syarif Hidayatullah Jakarta

operasi konvolusi sebagai pengganti perkalian matriks. Jaringan konvolusi ini

merupakan salah satu dari pembelajaran mendalam (deep learning). (Goodfellow,

Bengio, & Courville, 2016).

Menurut Zhang dan Zhu (2018), Jaringan konvolusi terinspirasi dari pola

hubungan antar neuron visual cortex pada binatang. Cortical neuron memberi

tanggapan stimulasi hanya dalam suatu area terbatas pada bidang visual atau bidang

reseptif . Bidang-bidang reseptif ini saling bertumpang tindih secara parsial (partially

overlap) yang mencangkup seluruh bidang reseptif (Suyanto, 2018).

Menurut Alom et.al (2018), Convolutional Neural Network terdiri dari tiga

lapisan diantaranya adalah lapisan masukan (input layer), lapisan keluaran (output

layer) dan lapisan tersembunyi (hidden layer). Di dalam hidden layer terdapat lapisan-

lapisan yang tersusun secara bertumpuk. Lapisan-lapisan tersebut diantaranya adalah

convolutional layer, pooling layers, normalization layer, ReLU layer, fully Connected

layer dan loss layer (Suyanto, 2018).

Selain itu, arsitektur CNN tersusun dari 3 dimensi yaitu lebar (width), tinggi

(height) dan kedalaman (depth) yang mana lebar dan tinggi merupakan representasi

dari dimensi gambar dan kedalaman merupakan tiga kanal dari gambar berwarna yaitu

Red, Green dan Blue (RGB) (Suyanto, 2018).

Gambar 2.11 Arsitektur CNN

(Sumber : https://docplayer.info/57318252-Bab-iii-landasan-teori.html )

Page 40: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

23

UIN Syarif Hidayatullah Jakarta

2.8.1 Operasi Convolusi

Operasi konvolusi adalah operasi pada dua fungsi dari argument yang bernilai

rill. Argument pertama (x) disebut input dan argument kedua (w) disebut kernel. Hasil

keluaran dari operasi konvolusi disebut sebagai feature map (Goodfellow et al., 2016).

Operasi konvolusi dapat dinotasikan dengan :

s(t)=(x*w)(t)

Keterangan:

x = input, w =kernel, t = timestep

biasanya pada aplikasi mesin pembelajaran, bentuk input berupa data array

multidimensi dan kernel berbentuk parameter array multidimensi yang diadaptasi dari

algoritma pembelajaran. Array multidimensi ini biasa disebut tensor karena setiap

elemen dari input dan kernel harus disimpan secara eksplisit yang diasumsikan dengan

fungsi-fungsi bernilai 0 tetapi disimpan dalam finite state. Sehingga dapat

diimplementasiikan penjumlahan tak terbatas sebagai penjumlahan pada seluruh

elemen aray. Jika kita menggunakan gambar dua dimensi, maka I merupakan input

maka kita gunakan kernel dua dimensi K dimana i dan j merupakan piksel gambar,

maka persamaannya adalah sebagai berikut :

S(i,j) = (I *K)(i,j) = ∑m ∑n I ( i – m, j – n) K(m, n)

Persamaan diatas bersifat kumutatif karena terdapat sedikit variasi nilai untuk

m dan n. selain itu juga karena kernel relative dibalik ke input sehingga jika nilai m

meningkat dan indeks ke input pun meningkat, tetapi indeks kedalam kernel menurun.

Kernel dibalik agar mendapatkan properti komutatif yang berguna untuk perbaikan

yang mana tidak penting pada implementasi neural network. Oleh karena itu banyak

library mengimplementasi sebuah fungsi yang disebut cross-correlation yang mana

hampir mirip dengan operasi konvolusi tetapi tidak melakukan pembalikan kernel.

Jadi, Persamaan konvolusi dengan cross correlation adalah sebagai berikut :

Page 41: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

24

UIN Syarif Hidayatullah Jakarta

S(i,j) = (I *K)(i,j) = ∑m ∑n I ( i + m, j + n) K(m, n)

2.8.2 Convolutional Layer (Lapisan Konvolusi)

Menurut Le Cun, 2015, Lapisan konvolusi berperan sebagai ekstraktor fitur yang

mana mempelajari representasi fitur gambar yang dimasukkan (Rawat & Wang, 2017).

Selain itu, lapisan ini berfungsi sebagai penentu keluaran dari jaringan yang terhubung

dengan wilayah lokal pada gambar menggunakan perhitungan produk skalar antara

bobot dan wilayah yang terhubung ke volume input. Parameter pada lapisan ini fokus

pada penggunaan kernel pembelajaran. Kernel-kernel tersebut berukuran kecil pada

dimensi spasial dan menyebar keseluruh kedalaman (depth) pada input. Ketika gambar

mengenai convolutional layer, tersebut menggabungkan setiap filter melewati dimensi

spasial input untuk menghasilkan sebuah peta aktivasi (activation map) atau feature

map (Shea, 2015).

Ketika melewati input, produk skalar menghitung setiap nilai pada kernel

tersebut. Aktivasi terjadi ketika kernel melihat fitur tertentu pada posisi spasial input.

Elemen pusat kernel diletakkan pada vektor input kemudian dihitung dan diganti

dengan suatu jumlah bobot dari dirinya dan piksel didekatnya. Setiap kernel akan

memiliki peta aktivasi yang sesuai dan akan ditumpuk sepanjang dimensi kedalaman

untuk membuat volume output dari convolutional layer.

Gambar 2.12 Vektor-vektor CNN

(Sumber : Shea, 2015)

Setiap neuron pada convolutional layer terhubung pada lokasi kecil dari volume

input yang disebut ukuran bidang reseptif (receptive field size) dari neuron yang

Page 42: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

25

UIN Syarif Hidayatullah Jakarta

berfungsi untuk mengecilkan model yang dihasilkan pada jaringan syaraf standar.

Contohnya ketika kita mempunyai input gambar RGB (Red, Green, Blue) berukuran

64x64 berarti 64x64x3, kemudian kita atur ukuran bidang reseptifnya menjadi 6x6x3,

maka kita akan mempunyai total 108 bobot pada setiap neuron pada convolutional

layer daripada pada bentuk standar JST yang memiliki neuron masing-masing 12.288

bobot (Shea, 2015).

Selain itu convolutional layer juga dapat mengurangi kompleksitas model secara

signifikan menggunakan optimisasi output. Optimisasi tersebut terdiri hiperparameter

yaitu :

1. Depth merupakan hyperparameter penentu jumlah total neuron pada jaringan,

semakin kecil nilainya maka jumlah neuron akan semakin kecil sehingga

kemampuan model untuk mengenali pola akan berkurang.

2. Stride adalah parameter pengatur banyaknya pergeseran filter. Contohnya jika

nilai stride adalah 1 maka filter akan bergeser setiap satu piksel.

3. Zero padding (P) adalah parameter penentu jumlah piksel yang ditambahkan

pada setiap sisi input.

P = (F-1)/2

Perhitungan penggunaan hyperparameter sebagai penentu volume output adalah

sebagai berikut :

(𝑉 − 𝑅) + 2𝑍

𝑆 + 1

Dimana : V = ukuran volume input (height, width, depth)

R = receptive field size

Z = nilai zero padding

S = nilai stride

Page 43: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

26

UIN Syarif Hidayatullah Jakarta

2.8.3 Pooling layer (Lapisan Pooling)

Pooling layer merupakan lapisan pada jaringan konvolusi yang berfungsi untuk

mengurangi representasi ukuran spasial untuk mengurangi jumlah parameter dan

perhitungan dalam jaringan serta mengontrol terjadinya overfitting. Pooling layer

beroperasi secara independen dalam setiap irisan kedalam input dan mengubah

ukurannya secara spasial menggunakan operasi MAX. Pooling layer biasanya

berbentuk sebuah lapisan dengan filter yang berukuran 2x2 yang diterapkan dengan 2

langkah downsampling pada setiap irisan kedalaman pada input oleh 2 panjang lebar

dan tinggi serta menghilangkan 75% aktivasi. Setiap operasi max akan mengambil max

lebih dari 4 angka (wilayah kecil berukuran 2x2 dalam beberapa irisan dalam). Dimensi

kedalaman tidak berubah (http://cs231n.github.io/convolutional-networks/).

Secara umum, operasi pooling layer adalah sebagai berikut :

• Menerima sebuah volume dengan ukuran W1 x H1 x D1

• Membutuhkan dua hiperparameter yakni:

F = ukuran bidang receptif

S = stride

• Menghasilkan sebuah volume dengan ukuran W2 x H2 x D2, dimana :

W2 = (W1 -F)/S+1

H2 = (H1-F)/S+1

D2 = D1

• Memperkenalkan zero parameter karena menghitung fungsi input yang tetap.

• Pooling layer biasanya tidak memasukkan input menggunakan zero-padding.

Pada praktiknya, hanya ada dua variasi yang terlihat pada max pooling layer yaitu

sebuah pooling layer dengan F=3, S=2 (disebut juga sebagai overlapping pooling) dan

lebih umum lagi F=2, S=2. Ukuran pooling dengan bidang reseptif yang lebih besar

sangat merusak.

Page 44: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

27

UIN Syarif Hidayatullah Jakarta

Gambar 2.13 Ilustrasi pooling layer

(Sumber : (http://cs231n.github.io/convolutional-networks/)

2.8.4 Fully Connected Layer

Fully connected layer merupakan lapisan yang terhubung secara penuh, lapisan

berisi neuron yang terhubung langsung dengan neuron lain pada dua lapisan yang

berdekatan tanpa terhubung dengan lapisan apapun

(http://cs231n.github.io/convolutional-networks).

2.9 VGG Net

Jaringan VGG diciptakan oleh peneliti dari Oxford Visual Geometry Group,

Karen Simonyan dan Andrew Zisserman. Ada 2 jenis VGG yaitu VGG-16 yang

memiliki kedalaman 16 lapisan dan VGG-19 dengan 19 lapisan. Jaringan ini terdiri

dari 3x3 lapisan konvolusi, selain itu lapisan max pooling yang digunakan untuk

mengurangi ukuran volume dan lapisan terakhir yaitu lapisan fully connected dengan

4096 neuron yang diikuti oleh lapisan softmax. Prapemrosesan yang dilakukan hanya

pada input yaitu substraksi dari nilai rata-rata RGB yang dihitung pada set pelatihan

dari setiap piksel. Proses pooling dilakukan oleh lapisan max pooling yang diikuti oleh

beberapa lapisan konvolusi. Tidak semua lapisan konvolusi diikuti oleh max pooling.

Max pooling dilakukan dengan 2x2 pixel window dan 2 stride. Aktivasi ReLu

digunakan pada setiap hidden layer. Jumlah filter meningkat sesuai dengan kedalaman

varian VGG (Shanmugamani, 2018).

Page 45: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

28

UIN Syarif Hidayatullah Jakarta

VGG-16 merupakan model yang tersusun dari 16 lapisan konvolusi dan fully

connected yang biasanya digunakan untuk mengenali dan mengklasifikasikan gambar.

Arsitektur VGG-16 memiliki 13 lapisan konvolusi yang menggunakan 3x3 filter

konvolusi dengan lapisan max pooling untuk downsampling. Selain itu, VGG-16 juga

mempunyai dua lapisan fully connected pada lapisan tersembunyi (hidden layer)

dengan total 4096 unit lapisan yang diikuti oleh lapisan dense berjumlah 1000 unit,

dimana setiap unit merepresentasikan satu dari kategori gambar pada database

ImageNet (Shanmugamani, 2018). Arsitektur VGG-16 diilustrasikan seperti gambar

berikut :

Gambar 2.14. Arsitektur VGG-16

(Sumber : https://learning.oreilly.com/library/view/hands-on-transfer-

learning/9781788831307/4d604d47-7c48-4a5b-9ac3-7940cb8a5122.xhtml)

2.10 Residual Network (ResNet)

Resnet atau Residual Network merupakan jaringan residual yang memiliki

jaringan yang dalam. Jaringan terdalam dari resnet berjumlah 152 lapisan. Jaringan ini

8 kali lebih dalam dari jaringan VGG namun kompleksitasnya masih lebih rendah dari

pada jaringan VGG. Pada tahun 2015, Jaringan ini berhasil memenangkan juara

pertama pada kompetisi ILSVRC (ImageNet Large Scale Visual Recognition

Challenge) dan COCO dalam hal klasifikasi, deteksi dan segmentasi gambar pada

dataset COCO dan ImageNet (He, Zhang, Ren, & Sun, 2015).

Page 46: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

29

UIN Syarif Hidayatullah Jakarta

Gambar 2.15 Arsitektur dan Jumlah lapisan ResNet

(Sumber: https://pytorch.org/hub/pytorch_vision_resnet/)

Peningkatan kedalaman jaringan pada deep convolutional neural network tidak

selalu menghasilkan akurasi pelatihan yang lebih baik, ada kalanya terdapat penurunan

akurasi pelatihan. Hal tersebut disebabkan oleh degradasi yang terjadi pada jaringan

karena tidak semua jaringan mudah dioptimisasi. Solusi untuk mengurangi degradasi

pada jaringan yang lebih dalam adalah dengan menambahkan pemetaan identitas

(identity mapping) dan lapisan lainnya yang disalin dari model yang lebih dangkal.

Maka dibuatlah jaringan residual atau ResNet. Jaringan ini membiarkan lapisan-lapisan

sesuai dengan pemetaan residual. Jaringan ini berupa jaringan feed forward dengan

koneksi pintas (shortcut connection) yang melewatkan satu atau lebih lapisan. Koneksi

pintas ini hanya melakukan pemetaan identitas dan outputnya ditambahkan ke output

lapisan yang ditumpuk. Koneksi pintas juga tidak menambahkan parameter atau

kompleksitas komputasi. Selain itu, koneksi pintas yang dimiliki oleh jaringan ResNet

seluruh jaringannya juga dapat dilatih oleh Stocastic Gradient Descent dan mudah

diimplemetasikan dengan library tanpa memodifikasinya (He et al., 2015). Koneksi

pintas berbentuk blok bangunan seperti pada gambar 2.16.

Page 47: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

30

UIN Syarif Hidayatullah Jakarta

Gambar 2.16 Blok bangunan koneksi pintas

(Sumber : He et al., 2015)

Adapun formula dari blok bangunan koneksi pintas adalah sebagai berikut :

F (x): = H (x) + x,

Dimana :

F(x) = fungsi residual

H(x) = pemetaan yang mencocokan beberapa lapisan yang ditumpuk

x = input

Pintasan identitas (shortcut identity) pada jaringan residual dapat langsung

digunakan ketika input dan output mempunyai dimensi yang sama. Ketika dimensi

bertambah, terdapat dua pilihan yang pertama adalah pintasan masih melakukan

pemetaan identitas dengan masukan ekstra nol yang diisi untuk memperbesar dimensi.

Pilihan ini tidak membolehkan parameter tambahan. Pilihan yang kedua adalah jalan

pintas proyeksi digunakan untuk mencocokkan dimensi yang dilakukan dengan

konvolusi 1x1. Pada kedua pilihan tersebut, pintasan dilakukan dengan 2 stride ketika

melewati peta fitur (He et al., 2015). Berikut ini merupakan arsitektur ResNet :

Page 48: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

31

UIN Syarif Hidayatullah Jakarta

Gambar 2. 17 Arsitektur ResNet

(Sumber : https://medium.com/@sidereal/cnns-architectures-lenet-alexnet-vgg-googlenet-resnet-and-

more-666091488df5 )

Pada jaringan ResNet 50, 101 dan 152 layer, terdapat modifikasi pada blok

bangunan koneksi pintas. Modifikasi tersebut adalah setiap fungsi residual ditumpuk 3

lapisan konvolusi dengan ukuran 1x1, 3x3,dan 1x1. Modifikasi ini disebut Deeper

Bottleneck architecture, dimana lapisan terakhir 1x1 yang responsible untuk

mengurangi dan meningkatkan dimensi dengan meninggakan lapisan konvolusi 3x3

input/output yang lebih kecil. Pada ResNet 50,101 dan 152 layer digunakan pintasan

identitas yang bebas parameter (parameter-free identity shortcut) (He et al., 2015).

Gambar 2.18 Bottleneck Shortcut

(Sumber : He et al., 2015)

Page 49: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

32

UIN Syarif Hidayatullah Jakarta

Pada ResNet 50 layer, untuk meningkatkan dimensi menggunakan projection

shortcut pada pintasan identitas (identity shortcut) dan mengubah 2 layer block pada

ResNet 34 layer dengan 3 layer bottleneck block. Sedangkan pada ResNet 101 dan 152

layer menggunakan lebih dari 3 layer block. Meskipun ResNet 152 layer kedalamannya

meningkat secara signifikan, namun masih mempunyai kompleksitas yang lebih rendah

dari VGG-19 (He et al., 2015).

Jaringan residual mudah dioptimalkan dan memperoleh peningkatan akurasi dan

hasil yang lebih baik dari jaringan sebelumnya berkat peningkatan kedalaman pada

jaringan ini. Namun pada jaringan yang hanya menumpuk lapisan (counterpart plain)

terjadi kesalahan pelatihan yang lebih tinggi ketika kedalamannya meningkat (He et

al., 2015).

2.11 Model Bahasa (Language Model)

Tugas mendasar dari kecerdasan buatan dan pemrosesan bahasa alami (NLP)

adalah Pemodelan bahasa. Pemodelan bahasa biasanya diterapkan dalam berbagai

pekerjaan mengenai pemrosesan bahasa alami (NLP) seperti speech recognition,

generate teks dan mesin translasi (Kim, Jernite, Sontag, & Rush, 2016).

Model bahasa dapat diklasifikasikan menjadi dua, yaitu Count-Based (Count-

Based Language Model) dan Continuous-Space (Continuous-Space Language Model).

Contoh model Count Based adalah model statistik tradisional. Pada metode ini, Sebuah

model bahasa diformalisasi sebagai distribusi probabilitas melalui suatu urutan string

atau kata-kata dan metode tradisional yang biasanya diikuti oleh pembuatan ke-n

permintaan asumsi Markov dan estimasi probabilitas n-gram dengan menghitung dan

perataan subsequent . Model count based mudah untuk dilatih, namun meskipun

menggunakan teknik rata-rata, probabilitas dari n-gram yang langka dapat

diestimasikan dengan buruk karena terbatasnya data. Sedangkan contoh Model

continuous-space adalah Feed-Forward Neural Probabilistic Language Models

(NPLMs) dan Recurrent Neural Network Language Models (RNNs). Menurut Begio

Page 50: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

33

UIN Syarif Hidayatullah Jakarta

et al. (2003) dan Mikolov et al. (2010), keduanya merupakan Neural Language Models

yang mengatasi masalah keterbatasan data gram yang kemudian melalui parameterisasi

kata sebagai vektor (word embeddings) dan menggunakan input ke jaringan syaraf.

Menurut Deerwester (1990), parameter-parameter tersebut dipelajari sebagai bagian

dari proses pelatihan. Word embeddings yang didapat melalui Neural Language

Models menunjukkan bahwa properti dimana kata-kata yang dekat secara semantik

ternyata juga dekat dengan ruang vektor yang diinduksi. Neural Language Models

dapat memahami informasi kontekstual pada tingkat kalimat, korpus dan sub kata (Kim

et al., 2016)

2.11.1 Count-Based Language Models

Model ini menggunakan rumus statistik untuk menggambarkan model bahasa

yang digunakan untuk membangun probabilitas gabungan dari urutan kata. Contohnya

adalah model n-gram. Berdasarkan asumsi Markov, dalam model n-gram,

memprediksi urutan kata dipecah menjadi memprediksi satu kata pada suatu waktu.

Probabilitas model adalah produk dari probabilitas kata berdasarkan pada riwayat kata-

kata sebelumnya, di mana riwayat tersebut terbatas pada m-kata (Synced, 2017).

Berikut ini merupakan rumus Markov Chain :

P (wn|w1,w2,…,wn-1 == p(wn|wn-m, …, n-2, wn-1)

Berdasarkan rumus diatas, dimana jumlah state sebelumnya (kata-kata) adalah

urutan model. Ide dasar untuk model n-gram adalah bahwa kita dapat memprediksi

probabilitas w_ (n +1) dengan konteks sebelumnya, dengan membagi jumlah

kemunculan w_n, w_ (n +1) dengan jumlah kemunculan w_n, yang kemudian akan

disebut bigram. Jika kita hanya mendasarkan pada frekuensi relatif w_ (n + 1), ini akan

menjadi penaksir unigram. Estimasi probabilitas prediksi kata trigram (paling sering

digunakan untuk model bahasa dalam aplikasi NLP sederhana), oleh karena itu

langsung dengan asumsi estimasi kemungkinan maksimum. Namun, ketika

memodelkan distribusi bersama dari sebuah kalimat, model n-gram sederhana akan

Page 51: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

34

UIN Syarif Hidayatullah Jakarta

memberikan probabilitas nol untuk semua kombinasi yang tidak ditemukan dalam

pelatihan korpus, yaitu kemungkinan besar akan memberikan probabilitas nol untuk

sebagian besar contoh kasus uji. Sehingga kemungkinan akan terjadi masalah sparsity

atau kombinasi dari n-word yang tidak terlihat dalam set pelatihan yang menyebabkan

probabilitas nol. Solusi dari permasalahan tersebut adalah menggunakan berbagai

teknik back-off dan smoothing (Synced, 2017)

Kelemahan dari model n-gram adalah berpotensi terkena dimensionalitas kata

karena ada sejumlah besar kombinasi nilai nilai variabel input yang berbeda dan harus

didiskriminasi satu sama lain. Contohnya sejumlah besar kemungkinan urutan kata

dengan 10 kata yang diambil dari 100.000 kosakata berarti ada 10⁵⁰ urutan yang

mungkin. Selain itu, model tradisional ini bergantung pada pola yang tepat, yaitu

pencocokan string atau urutan kata, dan oleh karena itu secara bahasa sama sekali tidak

diinformasikan. Contohnya kita berharap model dapat mengenali urutan kata seperti

“kucing berjalan di kamar” agar mirip secara sintaksis dengan “ anjing berlari di

kamar”. Selain itu juga masalah ketergantungan yang diabaikan karena ketika

memperkirakan parameter model hanya mempertimbangkan konteks kata n-1 atau

tidak memodelkan probabilitas kondisi sebenarnya berdasarkan asumsi Markov

(Synced, 2017).

2.11.2 Continuous Space Languge Models

Seperti yang sudah dipaparkan sebelumnya mengenai continuous space

languge models, ada dua jenis dari model bahasa ini yaitu Feed Forward Neural

Network yang yang diusulkan untuk mengatasi masalah sparsity data dan Reccurent

Neural Network yang diusulkan untuk mengatasi masalah konteks terbatas (Synced,

2017).

A. Feed Forward Neural Network Model

Model ini merupakan model yang mempelajari parameter dari distribusi

probabilitas bersyarat dari kata berikutnya dengan mengingat kata-kata n-1 sebelumnya

Page 52: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

35

UIN Syarif Hidayatullah Jakarta

menggunakan tiga lapisan Feed Forward Neural Network. Pada model ini, setiap kata

pada kosakata diasosiasi dengan vektor fitur kata terdistribusi dan fungsi probabilitas

gabungan urutan kata-kata yang diutarakan oleh fungsi vektor fitur kata-kata didalam

urutan. Model ini dapat mempelajari vektor fitur kata dan parameter fungsi probabilitas

secara bersamaan. Selain itu juga dapat mengatasi masalah sparseness, dan juga telah

terbukti menggeneralisasi dengan baik dibandingkan dengan model n-gram dalam hal

perplexity. Namun kelemahan dari model ini adalah waktu pelatihan dan pengujian

yang sangat lama. Untuk mengatasi kelemahan dari model ini makan dibuatlah model

hirarki probabilistik yang diharapkan dapat mempercepat pelatihan dan prediksi dan

model pohon kata hirarki binary. Pohon binary ini membentuk deskripsi hirarkis dari

suatu kata sebagai urutan keputusan. Kedua model hirarki tersebut belajar mengambil

keputusan secara hirarki sehingga model ini lebih cepat daripada model non-hirarki

namun memiliki kelemahan yaitu kinerjanya yang lebih buruk daripada model non-

hirarki (Synced, 2017).

Model hirarki lainnya adalah model hierarchical log-bilinear yang menggunakan

metode data-driven untuk membangun pohon kata biner daripada pengetahuan ahli.

Cara kerja model ini adalah melatih model menggunakan pohon acak di korpus

kemudian mengesktraksi representasi kata dari model yang dilatih dan melakukan

melakukan pengelompokan hierarkis pada representasi yang diekstraksi. Dalam model

ini, probabilitas kata berikutnya (w) adalah probabilitas untuk membuat urutan

keputusan biner yang ditentukan oleh pengkodean kata, mengingat konteksnya. Karena

apa yang hanya penting untuk menghasilkan probabilitas pada setiap node adalah

vektor fitur yang diprediksi, ditentukan oleh konteksnya, probabilitas kata saat ini dapat

dinyatakan sebagai produk probabilitas dari keputusan biner. Model ini mengurangi

perplexity sebanyak 11,1% dibandingkan dengan Kneser-Ney yang telah memperhalus

model 5 gram, pada waktu pelatihan hanya 32 menit per epoch. Model ini tidak

mengalami masalah data sparsity karena dapat menerapkan smoothing otomatis

Page 53: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

36

UIN Syarif Hidayatullah Jakarta

sehingga dengan menggunakan model ini data dapat dilatih dan diuji lebih cepat dan

dapat mengungguli model non hirarki dan model n-gram terbaik (Synced, 2017) .

B. Reccurent Neural Network (RNN)

Jika Feed Forward Neural Network model menggunakan konteks dengan panjang

tetap, jaringan saraf berulang menggunakan ukuran konteks yang tidak terbatas.

Dengan jaringan saraf berulang, siklus informasi di dalam jaringan ini dapat bertahan

dalam waktu yang lama. Model ini memberikan generalisasi lebih lanjut di dalam

neuron dari koneksi berulang yang diasumsikan untuk merepresentasikan memory

jangka pendek (short term memory). arsitekur jaringan ini adalah sebagai berikut :

Gambar 2 .19 Arsitektur RNN

1. Input layer (w) dan output layer (y) mempunyai dimensi yang sama sebagai

kosakata.

2. Hidden layer (s) merupakan urutan yang besarnya lebih kecil.

3. U adalah martiks bobot antara input dan hidden layer, V adalah matriks bobot

antara hidden dan output layer

4. Tanpa bobot berulang (W) (reccurent weights), model ini dapat menjadi

jaringan bigram.

Page 54: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

37

UIN Syarif Hidayatullah Jakarta

Jenis-jenis RNN mengimplemetasikan faktorisasi output layer untuk

mengurangi kompleksitas komputasi dan meningkatkan kinerja RNN.

Memodifikasi RNN dapat memperkecil jaringan dan lebih cepat dalam hal

pelatihan dan pengujian juga akurasi menjadi lebih baik (Synced, 2017).

2.12 Long Short Term Memory (LSTM)

Long Short Term Memory merupakan jaringan syaraf tiruan berulang (Recurrent

Neural Network) yang memiliki alur berurut (sequence) dan berulang (loop).

Recurrent Neural Network dapat menghubungkan informasi sebelumnya dengan

informasi saat ini, yang mana informasi sebelumnya merupakan lanjutan dari informasi

saat ini. Jaringan Recurrent Neural Network mempelajari informasi sebelumnya untuk

memprediksi informasi selanjutnya (Colah, 2015).

Gambar 2 .20 Struktur Reccurent Neural Network

(Sumber : https://colah.github.io/posts/2015-08-Understanding-LSTMs/)

Metode Long Short Term Memory (LSTM) diperkenalkan oleh Hochreiter dan

Schmidhuber pada tahun 1997 dan sampai saat ini telah disempurnakan serta

dipopulerkan oleh banyak orang karena banyak digunakan untuk memecahkan

berbagai masalah. Long Short Term Memory (LSTM) dapat mengatasi masalah

ketergantungan jangka panjang (long-term dependencies) karena dapat mengingat

informasi pada periode jangka panjang (Colah, 2015).

Struktur Long Short Term Memory hampir sama dengan Recurrent Neural

Network yang memiliki bentuk rangkaian modul berulang dari neural network. Namun

modul berulang pada Recurrent Neural Network memiliki lapisan tunggal seperti

Page 55: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

38

UIN Syarif Hidayatullah Jakarta

lapisan tunggal Tanh. Sedangkan rangkaian LSTM memiliki empat lapisan yang saling

berinteraksi (Colah, 2015).

Gambar 2.21 Rangkaian RNN

(Sumber : https://colah.github.io/posts/2015-08-Understanding-LSTMs/)

Gambar 2.22 Rangkaian LSTM

(Sumber : https://colah.github.io/posts/2015-08-Understanding-LSTMs/)

Gambar 2.23 Notasi pada lapisan LSTM

(Sumber : https://colah.github.io/posts/2015-08-Understanding-LSTMs/)

2.12.1 Arsitektur LSTM

Komponen LSTM terdiri dari (Sanjeevi, 2018) :

Page 56: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

39

UIN Syarif Hidayatullah Jakarta

1. Forget gate (f) ,Input gate (i), dan output gate (o) yang merupakan suatu

jaringan syaraf dengan Sigmoid.

2. Candidate layer (Ĉ ) yang merupakan suatu jaringan syaraf dengan Tanh.

3. Hidden state (h) , memory state (C)

Struktur sel Long Short Term Memory pada suatu langkah waktu (t)

Gambar 2.24 Arsitektur LSTM

(Sumber : Sanjeevi, (2018))

Kegiatan sel state dikontrol oleh lapisan yang disebut gerbang (gates). Gerbang

ini terdiri dari lapisan jaringan syaraf sigmoid dan operasi multiplikasi yang searah,

sehingga Long Short Term Memory dapat menghapus atau menambahkan informasi

kedalam sel (Colah, 2015). Long Short Term Memory memiliki tiga gerbang utama

yang berfungsi untuk menjaga dan mengontrol sel state, diantaranya forget gate (f)

untuk melupakan atau menghapus informasi yang terdapat pada sel saat ini. Input gate

(i) untuk membaca input dan output gate (o) untuk menampilkan informasi baru

(Vinyals et al., 2015).

Inti dari Long Short Term Memory adalah sel state yang merupakan garis

horizontal yang berjalan melewati bagian atas diagram. Sel state ini berjalan lurus ke

bawah seluruh rantai dengan beberapa interaksi linear yang kecil. Hal ini yang

menyebabkan informasi dapat mengalir dengan mudah tanpa adanya perubahan

(Colah, 2015).

Page 57: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

40

UIN Syarif Hidayatullah Jakarta

Gambar 2.25 Sel State

(Sumber : https://colah.github.io/posts/2015-08-Understanding-LSTMs/)

Lapisan sigmoid (σ) mengeluarkan output berupa nilai 0 dan 1. Jika 0 berarti

tidak memperbolehkan informasi apapun masuk kedalam sel, sedangkan jika bernilai

1 berarti sel boleh diisi oleh informasi (Colah, 2015).

Gambar 2.26 Lapisan sigmoid

(Sumber : https://colah.github.io/posts/2015-08-Understanding-LSTMs/)

2.12.2 Alur Kerja LSTM

Berikut ini merupakan langkah-langkah kerja Long Short Term Memory

(Colah, 2015)

1. Menentukan informasi mana yang akan dihapus atau dilupakan dari sel state.

Penentuan ini berasal dari sigmoid layer yang disebut forget gate layer.

Dinotasikan dengan ht-1 dan xt. Outputnya berupa nilai 1 atau 0 pada setiap sel

state.

ft = σ (Wf .[ ht-1 , xt ] + bf )

Page 58: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

41

UIN Syarif Hidayatullah Jakarta

2. Menentukan informasi baru yang akan disimpan pada sel state. Pada tahapan

ini memiliki dua bagian:

• Sigmoid layer yang disebut input gate layer menentukan nilai yang akan

diperbarui

• Tanh layer membuat vektor dari nilai kandidat baru (Ĉt) yang dapat

ditambahkan pada state.

Setelah itu kita kombinasikan kedua langkah tersebut untuk membuat state

baru.

it = σ (Wi . [ ht-1, xt ] + bi)

Ĉt = tanh( WC . [ ht-1, xt] + bC)

3. Memperbarui sel state lama (Ct-1) kedalam sel state baru (Ct) dengan langkah

berikut:

1. Kalikan state lama dengan ft, menghapus hal-hal yang ingin kita hapus

sebelumnya.

2. Kemudian tambahkan operasi it * Ĉt . ini merupakan nilai kandidat baru

yang diskalakan dengan seberapa banyak kita ingin memperbarui setiap

nilai state.

Ct = ft * Ct-1 + it * Ĉt

4. Output kita tentukan sendiri. Output tersebut berdasarkan pada sel state, tetapi

akan menjadi versi yang sudah difilter. Untuk menentukan output, kita jalankan

sigmoid layer yang menentukan bagian sel mana yang akan menjadi output.

Kemudian kita tempatkan sel state melalui tanh (untuk mendorong nilai antara

-1 dan 1) dan mengalikannya dengan output dari gerbang sigmoid sehingga kita

hanya menampilkan output yang kita inginkan.

ot = σ (Wo [ht-1 , xt ] + bo)

ht = ot * tanh (Ct)

Page 59: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

42

UIN Syarif Hidayatullah Jakarta

2.13 Dataset

Menurut Gotama (2018), Dataset adalah kumpulan data yang digunakan untuk

membuat dan mengevaluasi model. Dataset terbagi menjadi 3 jenis, diantaranya :

1. Set pelatihan (Training set)

Set pelatihan adalah kumpulan data yang digunakan untuk melatih atau

membuat model.

2. Development set atau validation set

Development atau validation set adalah kumpulan data yang digunakan sebagai

optimisasi dalam melatih model. Kumpulan data ini biasanya digunakan untuk

menguji data-data dalam proses pelatihan.

3. Set pengujian (Testing set)

Set pengujian merupakan kumpulan data yang digunakan untuk menguji model

setelah selesainya proses pelatihan model.

Rasio pembagian dataset untuk training, development dan testing biasanya

adalah (80% : 10% : 10%) atau (90% : 5% : 5%). Akan tetapi jika dataset berukuran

kecil, tidak bisa dilakukan pembagian untuk development set sehingga dataset hanya

dibagi menjadi dataset training dan testing dengan rasio pembagian (90% : 10%), (80%

: 20%), (70% : 30%), atau (50% : 50%) dan pengujian kinerja saat pelatihan dilakukan

menggunakan training set.

2.14 Skor BLEU

BLEU Score ( Bilingual Evaluation Understudy Score) merupakan salah satu

metrik evaluasi yang digunakan untuk mengukur kinerja mesin translasi, selain itu juga

digunakan pada masalah lain yang berkaitan dengan generating bahasa seperti

language generation, image caption generation, teks summarization, speech

recognition dan lain-lain. Skor BLEU ditemukan oleh Kishore Papineni et.al (2002).

Metrik evaluasi ini bekerja dengan menghitung kecocokan n-gram pada kandidat

translasi ke n-gram dari teks referensi. Dimana 1-gram atau unigram pada setiap token

Page 60: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

43

UIN Syarif Hidayatullah Jakarta

dan perbandingan pada setiap pasangan kata. Perbandingan tersebut tidak

memperhatikan urutan kata. Jika banyak kata yang cocok maka skor akan meningkat

(Brownlee, 2017).

2.14.1 Cara Menghitung Skor BLEU

Rentang nilai BLEU adalah 0 hingga 1. Beberapa translasi akan mencapai skor

1 jika sangat sama dengan referensi translasi. Untuk menghitung skor BLEU, Python

menyediakan sebuah library yaitu Natural language toolkit atau NLTK yang dapat

digunakan untuk mengevaluasi teks yang di-generate terhadap suatu referensi teks.

Pada NLTK, terdapat fungsi sentence_bleu yang dapat digunakan untuk

mengevaluasi kalimat kandidat terhadap satu atau lebih kalimat referensi. Kalimat

referensi harus disediakan sebagai list kalimat-kalimat dimana setiap referensi adalah

list token. Kalimat kandidat disediakan sebagai list token (Brownlee, 2017). Contoh

penggunaan fungsi sentence_bleu untuk menghitung skor BLEU:

From nltk.traslate.bleu_score import sentence_bleu

reference = [(‘this’, ‘is’, ‘a’ , ‘test’), (‘this’, ‘is’, ‘test’)]

candidate = [‘this’, ‘is’, ‘a’, ‘test’]

score = sentence_bleu(reference, candidate)

print (score)

Pada contoh diatas, didapatkan hasil skor BLEU = 1 karena kecocokan kandidat

dengan satu dari referensi yang sama persis. Selain fungsi sentence_bleu, pada NLTK

juga terdapat fungsi corpus_bleu untuk menghitung skor BLEU pada beberapa

kandidat seperti paragraf atau dokumen. Referensi harus spesifik sebagai list dari

dokumen dimana setiap dokumen adalah list referensi dan setiap alternatif referensi

adalah list token seperti list-list token. Berikut ini merupakan contoh dari 2 referensi

pada 1 dokumen :

From nltk.traslate.bleu_score import corpus_bleu

reference = [(‘this’, ‘is’, ‘a’ , ‘test’), (‘this’, ‘is’, ‘test’)]

candidate = [‘this’, ‘is’, ‘a’, ‘test’]

score = corpus_bleu(references, candidates)

print (score)

Pada contoh diatas, skor BLEU yang diraih adalah 1.

Page 61: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

44

UIN Syarif Hidayatullah Jakarta

2.14.2 Skor BLEU Individual dan Kumulatif

Skor BLEU dihitung pada NLTK dapat dengan menetapkan bobot dari n-gram

yang berbeda pada perhitungan skor BLEU. Hal ini memberikan kebebasan untuk

menghitung tipe yang berbeda dari skor bleu sperti individual dan cumulative skor n-

gram. Skor n-gram individual mengevaluasi kecocokan gram lebih spesifik seperti 1-

gram untuk kata tunggal atau pasangan kata (bigram). Bobot adalah tuple spesifik

dimana setiap indeks mengacu pada gram yang diinginkan. Contohnya jika akan

menghitung skor hanya 1-gram maka bobot dapat dispesifikan dengan nilai 1 untuk 1-

gram dan 0 untuk 2,3,4-gram (1,0,0,0) (Brownlee, 2017).

Sedangkan skor n-gram kumulatif, digunakan untuk menghitung skor n-gram

individual dari 1 hingga n-gram dengan memberikan bobot rata-rata yang dihitung

secara geometric. Secara default, skor sentence_bleu() dan corpus_bleu() menghitung

n-gram skor BLEU kumulatif. Kumulatif dan individual 1-gram BLEU (BLEU-1)

menggunakan bobot yang sama yaitu (1,0,0,0), jika 2-gram (BLEU-2) bobotnya

menjadi 50% pada setiap 1-gram dan 2-gram (0.5 , 0.5 , 0, 0), jika 3-gram maka

bobotnya adalah 33% untuk setiap 1,2,3 gram skor (0.33, 0.33, 0.33, 0) sedangkan

BLEU-4 dengan bobot ¼ (25%) atau 0,25 untuk setiap 1-gram, 2 gram, 3, gram, dan 4

gram (0.25 , 0.25, 0.25, 0.25) (Brownlee, 2017).

2.15 Python

Python merupakan suatu bahasa pemrograman yang diciptakan oleh Guido van

Rossum di akhir tahun 1980 hingga awal 1990 di National Research Institute for

Mathematics and Computer Science di Netherlands. Python memiliki kelebihan seperti

mudah dipelajari karena kode-kodenya mudah dipahami. Selain itu, Python dapat

berjalan di banyak sistem operasi seperti Windows, Macintosh, Unix dan lain

sebagainya (Tutorials Points, 2014).

Page 62: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

45

UIN Syarif Hidayatullah Jakarta

2.16 Tensorflow

Tensorflow adalah sebuah platform untuk machine learning yang bersifat end-

to-end open source. Tensorflow mempunyai ekosistem tools, library dan resources

community yang konferensif dan fleksibel yang memungkinkan para penulis

meningkatkan teknologi mutakhir pada machine learning dan memudahkan para

developers dalam membuat dan menciptakan aplikasi berbasis machine learning

(www.tensorflow.com)

Gambar 2.27 Logo Tensorflow

(Sumber : https://www.tensorflow.org/)

Keunggulan tensorflow adalah :

• Membangun model yang mudah dengan menggunakan API berstandar tinggi

seperti Keras yang dapat mengeksekusi lebih baik dan membuat iterasi model

secara langsung dengan debugging yang mudah.

• Dapat membuat machine learning yang kuat dimana saja karena proses

pelatihan model dapat dilakukan di cloud, on-prem, browser atau di perangkat

apapun dengan bahasa yang digunakan pengguna.

• Eksperimen yang kuat untuk penelitian karena arsitekturnya sederhana dan

fleksibel dalam mengambil ide-ide baru dari konsep ke kode, ke model yang

canggih dan cepatnya publikasi.

2.17 Keras

Keras adalah API neural network berlevel tinggi yang ditulis dengan bahasa

pemrograman Python. Keras dapat berjalan diatas Tensorflow, CNTK, atau Theano

sebagai backend. Keras dapat digunakan dalam penelitian deep learning yang

memerlukan pembuatan prototipe yang mudah dan cepat dan user friendly. Selain itu

Keras juga mendukung komputasi pada Convolutional Neural Network dan Reccurent

Page 63: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

46

UIN Syarif Hidayatullah Jakarta

Neural Network ataupun kombinasi dari keduanya. Keras dapat berjalan dengan baik

pada CPU maupun GPU. Keras kompatibel dengan Python versi 2.7 sampai versi 3.6

(Keras.io.).

Gambar 2.28 Logo Keras

( Sumber : https://keras.io)

Prinsip Keras adalah sebagai berikut :

• User friendliness, Keras merupakan API yang didesain untuk manusia, bukan

mesin sehingga mengutamakan pada user experience dengan menawarkan API

yang konsisten dan sederhana, meminimalkan jumlah tindakan pengguna dan

cepat tanggap dalam memberikan feedback jika terjadi eror.

• Modularity yaitu dapat menggabungkan modul-modul individual menjadi

sebuah modul.

• Easy extensibility adalah prinsip Keras yang mana pengguna dapat dengan

mudah untuk menambahkan modul baru atau ekstensi modul baru.

• Work in Python. Keras berjalan menggunakan bahasa pemrograman Python.

2.18 Google Colaboratory

Google colabolatory atau Google colab merupakan sebuah tools yang

dikeluarkan oleh Google. Tools ini memberikan fasilitas kepada para peneliti atau

orang yang ingin mempelajari dan mengolah data menggunakan machine learning

maupun deep learning, namun memiliki keterbatasan perangkat untuk melakukan

komputasi. Google Colab menyediakan layanan GPU gratis sebagai backend

komputasi yang dapat digunakan selama 12 jam.

Google Colab dibuat diatas environment Jupyter sehingga mirip dengan Jupyter

Notebook. Penggunaannya pun hampir sama dengan Jupyter Notebook hanya saja

Page 64: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

47

UIN Syarif Hidayatullah Jakarta

berbeda dalam hal media penyimpanannya. Media penyimpanan pada Google Colab

adalah Google Drive dan tools ini berjalan pada sistem Cloud. Dengan menggunakan

Google Colab, kita dapat membuat suatu aplikasi berbasis deep learning dengan

berbagai library seperti Tensorflow, Keras, Pytorch maupun OpenCV (Digimi, 2018).

2.18.1 Cara Penggunaan Google Colab

Cara menggunakan Google Colab adalah sebagai berikut (Digimi, 2018):

1. Install Colab

Pertama-tama kita perlu mengkoneksikan Google Drive kita dengan Google

Colab dengan menambahkan ekstensi baru ke Google Drive. Caranya dengan

klik tombol New > More > Connect more apps lalu tuliskan “colab” pada

kolom search kemudian klik tombol connect.

Gambar 2.29 Koneksi Google Colab dengan Gdrive

(Sumber: https://imamdigmi.github.io/post/google-colab-gratis-untuk-belajar-deep-learning/ )

2. Setelah mengkoneksikan Google Drive dengan Google Colab, maka kita sudah

bisa menggunakan Google Colab. Pertama-tama kita perlu membuat notebook

dengan cara Klik kanan > More > Colaboratory.

Page 65: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

48

UIN Syarif Hidayatullah Jakarta

Gambar 2.30 Membuat Google Colab dari Gdrive

( Sumber : https://imamdigmi.github.io/post/google-colab-gratis-untuk-belajar-deep-learning/)

Atau kita dapat membuat notebook langsung dengan mengakses

https://colab.research.google.com/ tetapi sebelumnya kita harus sudah login

Gmail yang terkoneksi dengan Google Colab. Setelah itu kita bisa mengklik

pilihan NOTEBOOK PYTHON 3 BARU.

Gambar 2.31 Tampilan awal Google Colab

( Sumber : https://imamdigmi.github.io/post/google-colab-gratis-untuk-belajar-deep-learning/)

Page 66: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

49

UIN Syarif Hidayatullah Jakarta

Maka tampilan awal notebook seperti berikut :

Gambar 2.32 Tampilan google colab notebook

( Sumber : https://imamdigmi.github.io/post/google-colab-gratis-untuk-belajar-deep-learning/)

3. Jika kita ingin menggunakan GPU untuk komputasinya, maka bisa kita atur

dengan klik menu Edit > Notebook settings kemudian ganti “Hardware

accelerator” menjadi GPU. Kemudian klik save.

4. Setelah itu, koneksikan Google Drive dengan Google Colab dengan

menuliskan kode berikut pada sel Google Colab :

Gambar 2.33 Kode untuk koneksi Google Drive ke Google Colab

(Sumber: https://medium.com/@endaputri240899/cara-menghubungkan-google-colab-dengan-google-

drive-254b3d358e55)

5. Kemudian klik button play pada sel, maka kode akan diproses. Setelah itu

muncul permintaan kode verifikasi seperti gambar berikut :

Page 67: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

50

UIN Syarif Hidayatullah Jakarta

Gambar 2.34 Cara koneksi Google Drive ke Google Colab

(Sumber: https://medium.com/@endaputri240899/cara-menghubungkan-google-colab-dengan-google-

drive-254b3d358e55

Kemudian klik link tersebut untuk mengambil kode verifikasi. Setelah itu

masukkan kode verifikasinya. Setelah dimasukan kode verifikasi maka

tampilannya akan seperti berikut :

Gambar 2.35 Tampilan setelah Google Drive dan Google Colab terhubung

(Sumber: https://medium.com/@endaputri240899/cara-menghubungkan-google-colab-dengan-google-

drive-254b3d358e55)

6. Contoh koding sederhana menggunakan Google Colab :

Page 68: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

51

UIN Syarif Hidayatullah Jakarta

Gambar 2.36 Contoh Program Sederhana

2.19 Metode Pengumpulan data

Metode pengumpulan data adalah Teknik atau cara yang digunakan penulis

untuk mengumpulkan data (Sudaryono, 2014).

2.19.1 Studi Pustaka

Studi pustaka adalah kegiatan mengkaji secara teori suatu referensi yang

berkaitan dengan permasalahn yang sedang diteliti. Suatu penelitian tidak terlepas dari

studi pustaka karena dalam penelitian diperlukan literatur-literatur ilmiah (Sudaryono,

2014).

2.19.2 Observasi

Observasi adalah kegiatan mengamati secara langsung objek-objek terkait

penelitian. Objek penelitian dapat berbentuk perilaku, tindakan manusia, fenomena,

maupun proses kerja (Sudaryono, 2014).

2.20 Metode Simulasi

Menurut Sridadi (2009) yang dikutip dari skripsi (Rahman, Agustin, & Rozy,

2019), metode simulasi adalah metode yang digunakan untuk simulasi yaitu mengikuti

tingkah laku nyata dari suatu sistem tertentu.

Menurut (Madani et al., 2010) yang juga dikutip dari skripsi (Rahman et al.,

2019) metode simulasi mempunyai beberapa tahapan. Tahapan-tahapan tersebut

Page 69: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

52

UIN Syarif Hidayatullah Jakarta

biasanya diatur dalam suatu siklus. Siklus pada tahapan-tahapan metode simulasi dapat

menyesuaikan dengan kompleksitas sistem sehingga tahapan-tahapan tersebut tidaklah

selalu berurutan, berulang maupun berlawanan arah. Terkadang, beberapa tahapan

dapat dilangkahi oleh tahapan berikutnya tergantung dengan rumit atau tidaknya sistem

tersebut. Berikut ini merupakan tahap-tahap dalam metode simulasi menurut (Madani

et al., 2010) :

1. Formulasi masalah (Problem Formulation)

Dalam proses simulasi diawali oleh masalah yang membutuhkan suatu pemecahan

atau pemahaman. Contohnya seperti sebuah perusahaan kargo yang ingin

mengembangkan suatu strategi baru kepada truk yang digunakan untuk pengiriman.

Selain contoh itu juga seperti astronom yang berusaha untuk memahami asal mula

terbentuknya nebula. Pada tahap ini diperlukan pemahaman tingkah laku sistem yang

mengatur operasi sistem sebagai objek dalam percobaan. Kemudian barulah

menganalisis berbagai cara penyelesaian masalah dengan menginvestigasi hasil

sebelumnya menggunakan masalah yang sama. Cara yang paling diterima wajib

dipilih. (tahap ini tidak dapat dihilangkan karena dapat mengakibatkan pemilihan cara

penyelesaian masalah yang salah).

2. Konseptual Model (Conceptual Model)

Tahapan ini terdiri dari deskripsi tingkat tinggi dari struktur dan tingkah laku suatu

sistem dan mengenali semua objek dengan atribut dan antarmuka sistem. Selain itu,

variable state harus ditentukan, bagaimana mereka saling berhubungan dan memilih

yang penting untuk penelitian. Dalam tahap ini juga dinyatakan aspek-aspek kunci dari

requirement. Fitur yang penting perlu dijabarkan selama definisi model konseptual.

Selain itu, kita juga harus mendokumentasikan informasi non-fungsional, contohnya

seperti perubahan di masa yang akan datang, tingkah laku non-intuitive atau non-

formal dan hubungannya dengan lingkungan.

3. Pengumpulan Data Masukan dan Keluaran (Collection Input and Output Data)

Page 70: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

53

UIN Syarif Hidayatullah Jakarta

Dalam tahap ini, untuk memperoleh data input/output kita harus mempelajari

sistem. Untuk mempelajari sistem, kita harus mengamati dan mengumpulkan atribut

yang sudah ditentukan pada tahap sebelumnya. Selain itu, dalam tahapan ini penting

untuk melakukan pemilihan ukuran sampel yang valid secara statistik dan format data

yang dapat diproses menggunakan komputer. Kemudian barulah ditentukan atribut

yang stokastik dan deteministik. Pada beberapa kasus, tidak ada data yang dapat

dikumpulkan (biasanya karena sistem belum ada). Sehingga untuk kasus tersebut, kita

perlu mencoba untuk mendapatkan set data dari sistem yang sama (jika ada). Opsi lain

adalah dengan menggunakan pendekatan stokastik untuk mendapatkan data yang

dibutuhkan melalui generasi nomor acak.

4. Pemodelan (Modelling)

Pada tahap pemodelan, kita perlu membangun representasi sistem secara detail

berdasarkan pada model konseptual dan pengumpulan data masukan/keluaran. Model

dibangun dari mendefinisikan objek, atribut, dan metode menggunakan paradigma

yang dipilih. Pada titik ini dibuatlah spesifikasi model, termasuk set persamaan yang

mendefinisikan tingkah laku dan struktur. Setelah definisi ini terselesaikan, kita harus

membangun struktur awal model (mungkin berkaitan dengan variable sistem dan

metrik kinerja). Dalam menjelaskan setiap asumsi dan penyederhanaan serta

pengumpulan atribut ke kerangka entitas (Entity Framework) diperlukan kehati-hatian.

5. Simulasi (Simulation)

Untuk tahap simulasi, kita harus menentukan mekanisme untuk menerapkan model

(banyak kasus yang menggunakan komputer dan bahasa pemrograman dan tools yang

mendukung) dan model simulasi yang dibangun. Dalam tahapan ini mungkin juga

menentukan algoritma dan menerjemahkannya ke dalam program. Selain itu, kita juga

harus membangun model kerangka entitas (Entity Framework) untuk proses simulasi

selama tahap ini.

6. Verifikasi dan Validasi (Verification and Validation)

Ada tiga model yang dibangun dalam tahapan sebelumnya, diantaranya : model

konseptual (spesifikasi), model sistem (desain) dan model simulasi (program yang

Page 71: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

54

UIN Syarif Hidayatullah Jakarta

dapat dieksekusi). Dalam tahap ini kita perlu memverifikasi dan memvalidasi model-

model tersebut. Verifikasi berkaitan dengan konsistensi internal pada model-model

tersebut. Sedangkan validasi berfokus pada korespondensi antara model dengan

kenyataan, yakni hasil simulasi yang sesuai dengan sistem yang dianalisis dan model

yang dibangun sudah benar.

7. Eksperimentasi (Experimentation)

Model simulasi harus dijalankan dan mengikuti tujuan yang dinyatakan dalam

model konseptual. Dalam tahap ini, dilakukan evaluasi keluaran dari simulator

menggunakan korelasi statistik gua menentukan tingkat presisi untuk metrik kinerja.

Tahap ini diawali dengan desain percoban menggunakan teknik-teknik yang berbeda.

Teknik-teknik tersebut mencangkup analisis sensitivitas, optimasi dan seleksi

(dibandingkan dengan sistem alternatif.

8. Analisis Keluaran (Output Analysis)

Dalam tahap ini, dilakukan analisis terhadap keluaran simulasi untuk memahami

tingkah laku sistem. Keluaran ini digunakan untuk mendapatkan respon dari tingkah

laku sistem yang asli. Penggunaan alat visualisasi dapat membantu proses tersebut.

2.21 Studi Literatur Sejenis

Dalam penelitian ini, penulis menggunakan literatur penelitian sejenis dengan

penelitian yang sudah ada sebelumnya. Hal ini dimaksudkan untuk membandingkan

studi literatur tersebut. Berikut ini tabel literatur sejenis:

Page 72: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

55

UIN Syarif Hidayatullah Jakarta

Tabel 2.1 Perbandingan Literatur Sejenis

Penulis (Soh, 2016) (Arnav et al., 2017) (Singh & Sharma,

2018)

(Al-muzaini et al.,

2018)

(Aneja et al., 2018)

Judul

Penelitian

Learning CNN-LSTM

Architectures for

Image Caption

Generation

Image Captioning

Using Deep Learning Image captioning

using Deep Neural

Networks

Automatic

Arabic Image

Captioning using

RNN-LSTM Based

Language Model and

CNN

Convolutional Image

Captioning

Dataset yang

digunakan

MS COCO Flickr 8K Flickr 8K Flickr 8K, MS

COCO

MS COCO

Metode

ekstrak fitur

gambar

GoogleNet VGG-16, VGG-19,

ResNet dengan

menghapus dense

layer terakhir

Model 1: VGG-16,

Model 2 : 4 layer

CNN

VGG-16 CNN

Metode

generate

caption

Gabungan CNN

dengan LSTM

Gabungan CNN dan

LSTM

Gabungan CNN

dan LSTM

Gabungan CNN

dan LSTM untuk

model bahasa

CNN, LSTM, CNN

+ LSTM with

attention

Kelebihan Memperhatikan fitur

semantik dari

deskripsi gambar yang

dihasilkan

Deskripsi gambar

yang dihasilkan

mendeskripsikan

gambar cukup baik

Hasil generate

deskripsi gambar dari

kedua model tidak

berbeda jauh. Model

2 berhasil

mendeksripsikan

gambar dengan tepat

Deskripsi gambar

yang dihasilkan

berbahasa arab

Akurasi Hasil

prediksi kata dari

CNN lebih baik

daripada LSTM

Page 73: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

56

UIN Syarif Hidayatullah Jakarta

Kekurangan • Deskripsi gambar

yang dihasilkan

kurang

merepresentasikan

keterangan gambar

secara detail

• Bahasa pada

deskripsi gambar

yang dihasilkan

masih default dari

dataset yang

digunakan

• Beberapa hasil

deskripsi gambar

bersifat ambigu

• Bahasa pada

deskripsi gambar

yang dihasilkan

masih default dari

dataset yang

digunakan

• Model 2 Gagal

menggambarkan

fitur, salah

memprediksi

fitur-fitur kecil

dan

mendeskripsikan

hubungan yang

tepat antara

gambar dengan

deskripsinya.

• Bahasa pada

deskripsi gambar

yang dihasilkan

masih default dari

dataset yang

digunakan.

Beberapa bagian dari

dataset diterjemahkan

secara manual oleh

manusia

• Akurasi hasil

klasifikasi

gambar

menggunakan

LSTM rendah,

Pada pendekatan

LSTM, caption

yang dihasilkan

pada timestep x

hampir mirip

dengan caption

pada x-1.

• Bahasa pada

deskripsi gambar

yang dihasilkan

masih default dari

dataset yang

digunakan

Berdasarkan studi literatur yang dipaparkan dalam tabel 2.1, penulis melakukan penelitian untuk generate image

captioning menggunakan metode Convolutional Neural Network dan Long Short Term Memory pada gambar lalu lintas

kendaraan berbahasa Indonesia.

Page 74: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

57

UIN Syarif Hidayatullah Jakarta

3 BAB III

METODOLOGI PENELITIAN

3.1 Metode Pengumpulan Data

3.1.1 Studi Pustaka

Salah satu metode pengumpulan data yang penulis lakukan adalah studi

pustaka. Studi pustaka penulis lakukan dengan kegiatan yang berhubungan dengan

metode pengumpulan data pustaka seperti membaca, mencatat serta mengolah

informasi yang berkaitan dengan penelitian. Data dan informasi yang penulis

kumpulkan berupa 21 Jurnal, 13 Buku, 7 situs online. Sumber-sumber tersebut

diperlukan penulis untuk membantu penyelesaian pada bab pendahuluan, landasan

teori dan metode penelitian.

3.1.2 Observasi

Penulis melakukan observasi di jalan Petogogan 1, Jakarta Selatan dan Jalan

Margonda Raya No.1, Depok untuk mengambil data berupa foto kendaraan untuk

digunakan sebagai pembuatan dataset gambar. Penulis mengambil data dari tanggal 20

Februari 2019- 5 Maret 2019 pada pukul 13.00 – 15.00.

3.2 Metode Simulasi

Dalam penelitian ini, penulis menggunakan metode simulasi. Berikut ini

merupakan langkah-langkah metode simulasi :

3.2.1 Formulasi Masalah (Problem Formulation)

Pada tahap ini, penulis melakukan identifikasi masalah berdasarkan hasil

penelitian sebelumnya yang berkaitan dengan metode Convolutional Neural Network

dan Long Short Term Memory untuk generate image captioning (Tabel 2.1). Pada

penelitian (Soh, 2016), (Arnav et al., 2017) dan (Singh & Sharma, 2018), bahasa pada

deskripsi gambar (image caption) yang dihasilkan masih default dari dataset yang

digunakan.

Page 75: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

58

UIN Syarif Hidayatullah Jakarta

3.2.2 Konseptual Model (Conseptual Model)

Pada tahap ini, penulis membahas konsep model pada penelitian ini. Dalam

penelitian ini akan melakukan pemodelan untuk generate deskripsi gambar lalu lintas

kendaraan dengan arsitektur model gabungan Convolutional Neural Network dan Long

Short Term Memory yang berbeda. Hasil dari ekstraksi fitur gambar mempengaruhi

input pada model yang akan dibuat dengan gabungan Long Short Term Memory,

sehingga akan mempengaruhi hasil akurasi model. Pada tahap ini dipaparkan proses

ekstraksi fitur pada dataset gambar menggunakan Convolutional Neural Network yaitu

VGG-16 dan ResNet50. Keluaran dari model berupa skor BLEU dan hasil generate

deskripsi gambar.

3.2.3 Pengumpulan Data Input/Output (Collection Input/Output Data)

Pada tahap ini, penulis melakukan pengumpulan data masukan yang

dibutuhkan untuk generate image captioning yaitu data berupa gambar kendaraan yang

peneliti kumpulkan dari gambar kendaraan-kendaraan yang melintas di Jalan

Petogogan 1, Jakarta Selatan dan Jalan Margonda Raya No.1, Depok. Data gambar

yang berhasil dikumpulkan sebanyak 300 gambar setelah dilakukan pemilihan gambar-

gambar yang berkualitas baik. Sedangkan untuk data deskripsi dibuat berdasarkan

deskripsi pada setiap gambar dengan mengikuti aturan dataset Flickr. Setiap gambar

diberi 3 deskripsi yang berbeda namun tetap mendeskripsikan gambar tersebut. Setelah

pembuatan dataset gambar, dilakukan proses ekstraksi fitur dan cleansing pada dataset

tersebut.

Data gambar dan deskripsi dibagi menjadi data latih, data validasi, dan data uji

dengan data latih sebanyak 210 data gambar dan deskripsi, data validasi sebanyak 30

data gambar dan deskripsi dan data uji sebanyak 60 data gambar dan deskripsi.

kemudian data masukan tersebut dibuat model dengan metode gabungan Convolutional

Neural Network dan Long Short Term Memory. Keluaran dari model tersebut berupa

skor BLEU dan deskripsi gambar.

Page 76: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

59

UIN Syarif Hidayatullah Jakarta

3.2.4 Pemodelan (Modelling)

Pada tahap ini penulis melakukan pembuatan model untuk generate deskripsi

gambar lalu lintas kendaraan berbahasa Indonesia.

3.2.5 Simulasi (Simulation)

Pada tahap ini, penulis melakukan simulasi dengan membuat model untuk

generate deskripsi gambar lalu lintas kendaraan berbahasa Indonesia menggunakan

hasil ekstraksi fitur gambar yang berbeda.

3.2.6 Verifikasi dan Validasi (Verification and Validation)

Pada tahap verifikasi dilakukan pengulasan kembali mengenai kegiatan yang

dilakukan pada tahapan-tahapan sebelumnya apakah sudah sesuai dengan yang

diharapkan dan saling berhubungan. Sedangkan validasi dilakukan dengan menghitung

nilai loss dan akurasi serta skor BLEU dari model-model yang dihasilkan. Hal ini

bertujuan untuk melihat seberapa baik kinerja masing-masing model.

3.2.7 Eksperimentasi (Eksperimentation)

Pada tahap ini, penulis melakukan eksperimen dengan mencoba setiap model

yang sudah dihasilkan pada tahap sebelumnya untuk meng-generate deskripsi gambar

menggunakan gambar yang tidak terdapat pada dataset latih, dataset validasi dan

dataset uji.

3.2.8 Analisis Output (Output Analysis)

Penulis melakukan analisa terhadap output – output berdasarkan skenario yang

dilakukan yaitu menghitung skor BLEU dari masing-masing model. Selain itu juga

pada tahap ini akan ditampilkan perbandingan hasil deskripsi gambar yang dihasilkan

dari masing-masing model.

Page 77: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

60

UIN Syarif Hidayatullah Jakarta

3.3 Kerangka Berpikir Penelitian

Studi Pustaka/

Literatur

Mulai

Formulasi

Masalah

Perumusan

masalah

Pengkonsepan

Model

Menentukan

konsep penelitian

Pengumpulan

data input/

output

Mengumpulkan

data input dan

menetukan data

output

Modeling

Membuat model

genenrate

deskripsi gambar

SimulasiVerifikasi dan

validasi

Melakukan

simulasi

terhadap

model

Melakukan

verifikasi dan

validasi

Kesimpulan dan

saran

Observasi

Selesai

Eksperimen Analisis

Output

Melakukan

percobaan

terhadap model

Menghitung nilai

loss akurasi, dan

skor BLEU

model

Gambar 3. 1 Kerangka berpikir penelitian

Page 78: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

61

UIN Syarif Hidayatullah Jakarta

4 BAB IV

IMPLEMENTASI

4.1 Formulasi Masalah (Problem Formulation)

Berdasarkan penelitian sebelumnya yang sudah dipaparkan pada Sub Bab 3.2.1,

diperoleh kesimpulan bahwa hasil deskripsi gambar menggunakan metode gabungan

Convolutional Neural Network dan Long Short Term Memory yang dilakukan pada

penelitian-penelitian tersebut merupakan default dari dataset yang digunakan yakni

masih berbahasa Inggris.

Pada penelitian ini penulis menggunakan metode gabungan Convolutional

Neural Network dan Long Short Term Memory untuk generate image captioning

menggunakan data gambar lalu lintas kendaraan dan caption yang dihasilkan

berbahasa Indonesia.

4.2 Konseptual Model (Conseptual Model)

Pada tahap ini, penulis membuat konsep alur yang akan diterapkan untuk

pembuatan deskripsi gambar (generate image captioning) lalu lintas kendaraan

berbahasa Indonesia menggunakan metode gabungan Convolutional Neural Network

dan Long Short Term Memory. Pada penelitian ini, jenis Convolutional Neural Network

digunakan untuk proses ekstraksi fitur gambar pada dataset gambar.adalah VGG-16

dan ResNet50, sedangkan Long Short Term Memory digunakan sebagai penghasil

urutan deskripsi gambar.

Proses ekstraksi fitur dataset gambar lalu lintas kendaraan dilakukan

menggunakan server Google Colaboratory dengan pengaturan runtime GPU yang

terhubung dengan Google Drive sebagai media penyimpanan. Penulis melakukan

proses ekstraksi fitur gambar dengan mengekstraksi seluruh gambar pada dataset

gambar menjadi vektor berukuran tetap. Proses ekstraksi fitur dataset gambar

dilakukan menggunakan algoritma Convolutional Neural Network yaitu VGG-16 dan

Page 79: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

62

UIN Syarif Hidayatullah Jakarta

ResNet50. Hasil ekstraksi fitur gambar dari VGG-16 akan digunakan untuk membuat

Model-1 dan ResNet50 untuk membuat Model-2. Berikut ini merupakan alur pada

tahapan ekstraksi fitur pada dataset gambar adalah sebagai berikut :

Mulai

Input dataset

gambar

Load Model

Ekstraksi Fitur

Hapus 1 lapisan terakhir

Model Ekstraksi Fitur

Ekstrak fitur setiap gambar di

folder datasetFor image_id=1 sampai image_id>=300

Load gambar berdasarkan id

Resize piksel gambar menjadi

224x224

Reshape gambar

Preprocessing gambar

Ambil fitur gambar

Simpan fitur gambar

Print “Fitur gambar

berdasarkan Id

gambar”

Print “Summary

model”

Fitur.pkl

selesai

Buka Google Colab

Koneksikan dengan Google

Drive

Load library keras yang

diperlukan

Gambar 4. 1 Flowchart ekstrak fitur gambar

Page 80: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

63

UIN Syarif Hidayatullah Jakarta

Output dari proses ekstraksi fitur ini adalah sebuah file berekstensi Pickle (.pkl)

yang akan digunakan dalam membuat model untuk generate image captioning.

4.3 Pengumpulan Data Masukan/Keluaran (Collection Input/Output Data)

Dalam tahapan ini, penulis melakukan pengumpulan data masukan dan keluaran.

Data masukan pada simulasi ini adalah kumpulan (dataset) gambar lalu lintas

kendaraan dan deskripsi gambar. Untuk mengumpulkan data gambar lalu lintas

kendaraan, penulis melakukan pengambilan data gambar kendaraan yang melintas.

Setelah data terkumpul, penulis melakukan penyortiran gambar dengan kualitas baik

secara manual. Data gambar yang berkualitas baik adalah gambar tidak blur serta

objek-objek pada gambar terlihat jelas. Gambar-gambar yang terpilih tersebut nantinya

akan digunakan untuk membuat dataset gambar. Contoh gambar yang berkualitas baik

adalah sebagai berikut :

Gambar 4. 2 Contoh gambar yang berkualitas baik

Setelah melakukan penyortiran gambar-gambar yang berkualitas baik, kemudian

gambar-gambar tersebut dikumpulkan dan dilakukan preprocessing untuk dijadikan

dataset gambar. Berikut ini merupakan langkah-langkah dalam membuat dataset

gambar lalu lintas kendaraan :

Page 81: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

64

UIN Syarif Hidayatullah Jakarta

1) Untuk dataset gambar, penulis melakukan pemotongan gambar agar gambar lebih

terfokus pada kendaraan yang melintas. Contoh gambar yang belum di pemotongan

gambar terdapat pada Gambar 4.2, sedangkan contoh gambar setelah dilakukan

pemotongan seperti gambar berikut :

Gambar 4. 3 Contoh gambar yang sudah dipotong

2) Setelah dilakukan pemotongan gambar, penulis mengubah ukuran piksel 209

gambar pada dataset dengan ukuran 500x400px dan 91 gambar dengan ukuran

400x500px. Hal ini dilakukan agar pada proses ekstraksi fitur tidak terlalu berat

dan memakan waktu yang lama.

Setelah proses pembuatan dataset gambar dilakukan, penulis melakukan

pembuatan dataset deskripsi gambar lalu lintas kendaraan menggunakan bahasa

Indonesia. Adapun langkah-langkah dalam pembuatan dataset deskripsi gambar

lalu lintas kendaraan menggunakan bahasa Indonesia adalah sebagai berikut :

1) Dataset deskripsi gambar (caption) dibuat berdasarkan situasi pada setiap

dataset gambar. Setiap gambar diberi identifier (ID) berupa nama file gambar.

Setiap identifier diberi 3 token deskripsi. Contoh gambar dan deskripsinya

sebagai berikut :

Page 82: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

65

UIN Syarif Hidayatullah Jakarta

Gambar 4. 4 Contoh dataset gambar

Deskripsi gambar :

159.jpg#0 Beberapa pengendara motor berada di

belakang truk

159.jpg#1 Mobil berwarna silver melaju di samping

dua pengendara motor

159.jpg#2 Beberapa pengendara motor melaju di

belakang sebuah truk

Keterangan :

159.jpg = nama file foto atau identifier gambar

#0 = token deskripsi pertama

#1 = token deskripsi kedua

#2 =token deskripsi ketiga

Setelah pembuatan dataset gambar dan dataset deskripsi gambar, penulis

melakukan proses preprocessing pada dataset deskripsi gambar (caption) diantaranya

adalah ekstraksi fitur dan cleansing pada dataset deskripsi gambar dengan beberapa

langkah sebagai berikut :

Page 83: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

66

UIN Syarif Hidayatullah Jakarta

1. Ekstraksi deskripsi gambar

Pada tahap ekstraksi deskripsi gambar, penulis melakukan pemetaan

setiap deskripsi gambar berdasarkan identifier gambar (ID gambar). Proses

pemetaan dilakukan dengan memisahkan deskripsi dengan token-tokennya

setelah itu mengubah token menjadi string. Proses ini dilakukan pada seluruh

dataset deskripsi gambar.

2. Cleansing dataset deskripsi gambar

Kegiatan ini dilakukan setelah proses ekstraksi deskripsi gambar. Pada

tahap ini, dilakukan proses pembersihan deskripsi gambar diantaranya seperti

tokenisasi, mengubah seluruh deskripsi menjadi huruf kecil, menghapus tanda

baca pada deskripsi dan menghapus penomoran pada token deskripsi. Berikut

ini merupakan alur kegiatan yang dilakukan pada tahap preprocessing deskripsi

gambar :

Page 84: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

67

UIN Syarif Hidayatullah Jakarta

Mulai

Dataset deskripsi

gambar (caption)

Load ke memory

Sistem membaca dataset deskripsi

gambar sebagai teks

Mapping setiap deskripsi ke gambar

berdasarkan id gambar

Load dataset deskripsi

Split deskripsi perbaris dan

pisahkan token

Jika panjang urutan deskripsi

perbaris <2

Ubah token pertama menjadi id

gambar dan token selanjutnya

menjadi deskripsi gambar

Hapus nama file dataset deskripsi

Ubah token deskripsi menjadi string

Semua id gambar sudah ter-

mapping?

Buat list id gambar yang

belum ter-mapping

Simpan semua deskripsi gambar

yang sudah ter-mapping

sudah

belum

sudah

belum

Print “Jumlah

deskripsi foto yang

dimuat”

Membuat tabel untuk menghapus tanda

baca pada deskripsi

List deskripsi i= urutan

deskripsi, i++

Tokenisasi deskripsi

Ubah deskripsi menjadi

menjadi huruf kecil

Hapus tanda baca pada

deskripsi

Hapus penomoran pada token

Simpan deskripsi yang sudah

dibersihkan

Ubah seluruh deskripsi menjadi kosakata

Print “total kosakata

pada seluruh deskripsi”

Print “ kosakata”

Simpan deskripsi bersih

deskripsi.txt

Selesai

Gambar 4. 5 Alur ekstraksi fitur deskripsi dan cleansing

Page 85: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

68

UIN Syarif Hidayatullah Jakarta

Sedangkan, untuk data keluaran dari simulasi ini adalah :

1. Deskripsi aktual dan prediksi dari model yang dihasilkan

2. Skor BLEU merupakan tingkat akurasi dari deskripsi yang dihasilkan. Skor

BLEU bernilai antara 0 hingga 1.

3. Hasil deskripsi gambar yang di-generate menggunakan model yang akan

dihasilkan pada tahapan selanjutnya.

4.4 Pemodelan (Modelling)

Dalam tahap ini, penulis membuat model untuk generate deskripsi gambar lalu

lintas berbahasa Indonesia. Proses membuat model dilakukan menggunakan server

Google Colaboratory dengan pengaturan runtime GPU yang terhubung dengan Google

Drive sebagai media penyimpanan. Pemodelan dilakukan dengan menggabungkan

output vektor dari proses ekstraksi fitur gambar sebagai input dalam pemodelan

menggunakan Long Short Term Memory. Untuk membuat model, dataset dibagi

menjadi dataset latih, dataset validasi dan dataset uji dengan perbandingan 70:10:20

dari jumlah total 300 data. Sehingga jumlah dataset uji berjumlah 210 data, dataset

validasi berjumlah 30 data, dan dataset latih berjumlah 60 data. Model dibuat

menggunakan dataset latih dan dataset validasi. Selain itu juga menggunakan hasil

ekstraksi fitur gambar, deskripsi bersih yang sudah dipaparkan pada sub bab 4.3.

Model yang dibuat akan menghasilkan teks deskripsi gambar. Teks deskripsi

tersebut akan menghasilkan satu kata setiap kali. Urutan kata-kata yang dihasilkan

sebelumnya akan digunakan sebagai input. Oleh karena itu dibutuhkan kata pertama

untuk memulai proses pembuatan deskripsi dan kata terakhir sebagai penanda akhir

dari teks deskripsi. Kata pertama ditandai dengan “startseq” dan kata terakhir akan

ditandai dengan “endseq”. Token startseq dan endseq akan ditambahkan kedalam

deskripsi yang akan dimuat. Contoh proses sequence kata-kata pada deskripsi

diilustrasikan pada tabel berikut :

Page 86: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

69

UIN Syarif Hidayatullah Jakarta

Tabel 4. 1 Contoh proses sequence deskripsi

X1 X2 (urutan kata) Y (kata)

Gambar Startseq Pengendara

Gambar Startseq, pengendara motor

Gambar Startseq, pengendara, motor melaju

Gambar Startseq, pengendara, motor, melaju di

Gambar Startseq, pengendara, motor, melaju, di depan

Gambar Statrseq, pengendara, motor, melaju, di, depan mobil

Gambar Startseq, pengendara, motor, melaju, di, depan, mobil berwarna

Gambar Startseq, pengendara, motor, melaju, di, depan, mobil,

berwarna

merah

Gambar Startseq, pengendara, motor, melaju, di, depan, mobil,

berwarna, merah

endseq

Pada penelitian ini, model dibagi menjadi 3 bagian, yaitu:

1. Ekstraktor fitur gambar. Bagian ini merupakan bagian untuk mengekstrak

fitur gambar seperti yang sudah dipaparkan dalam subbab 4.2.

2. Sequence processor. Bagian ini merupakan lapisan embedding untuk

memproses teks masukan, selain itu bagian ini juga merupakan lapisan dari

Long Short Term Memory (LSTM).

3. Decoder. Bagian ini merupakan gabungan dari ekstraktor fitur gambar dan

keluaran sequence processor yaitu vektor dengan panjang tetap. Keduanya

kemudian digabungkan dan diproses oleh lapisan Dense untuk membuat

prediksi caption.

Berikut ini merupakan alur dalam pembuatan model :

Page 87: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

70

UIN Syarif Hidayatullah Jakarta

Mulai

Import library yang

dibutuhkan

Load dataset latih dan validasi

ke memory

Model ekstrak fitur

Model sequence

Model decoder

Compile model

Buat generator untuk

fitting Model

Buat tokenizer dari

dataset latih

Simpan tokenizer

Fitting model

Model summary

Print “Akurasi,

loss model”

Model.h5

selesai

Model plot

Load list id_gambar

Load deskripsi bersih ke

memory

Pisahkan id_gambar dengan

deskripsi

Id_gambar ada di

dataset?

Wrap deskripsi per-token

(startseq+desc+endseq)

Simpan deskripsi

Load ekstrak fitur gambar

Pisahkan deskripsi

perbaris/token

Ubah kamus deskripsi bersih

menjadi list deskripsi

Ubah kamus deskripsi bersih

menjadi string

Tokenisasi deskripsi

Buat sequence kata input dan

output dari list deskripsi

gambar

Hitung maksimal panjang

deskripsi setiap baris

Y

Buat list id

gambar tersebutT

Deskripsi.txt

ekstrakfitur.pkl

Gabungkan model

Tokenizer.pkl

Gambar 4. 6 Alur pembuatan model

4.5 Simulasi (Simulation)

Setelah melakukan pemodelan, pada tahap ini penulis melakukan simulasi

dengan membuat dua model dengan proses ekstraksi fitur gambar yang berbeda.

Simulasi ini dilakukan menggunakan source code. Seperti yang sudah dijelaskan

pada Sub Bab 4.1, penulis menggunakan metode gabungan kedua algoritma yaitu

Convolutional Neural Network dan Long Short Term Memory untuk menghasilkan

Page 88: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

71

UIN Syarif Hidayatullah Jakarta

sebuah model yang akan digunakan untuk generate deskripsi gambar (caption).

Model-model yang akan dibuat pada simulasi ini yaitu:

A. Menggunakan hasil ekstraksi fitur gambar dari VGG-16. Nilai input model

diambil dari vektor terakhir dari proses ekstraksi fitur yaitu 4096. Hasil dari

simulasi ini disebut Model-1. Adapun nilai-nilai yang digunakan untuk proses

simulasi untuk Model-1 dipaparkan pada gambar berikut :

Gambar 4. 7 Nilai-nilai yang digunakan pada Model-1

B. Menggunakan hasil ekstraksi fitur gambar dari ResNet50. Nilai input model

diambil dari vektor terakhir hasil proses ekstraksi fitur yaitu 2048. Hasil dari

simulasi ini disebut Model-2. . Adapun nilai-nilai yang digunakan untuk proses

simulasi untuk Model-1 dipaparkan pada gambar berikut :

Page 89: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

72

UIN Syarif Hidayatullah Jakarta

Gambar 4. 8 Nilai-nilai yang digunakan pada Model-2

Simulasi dilakukan menggunakan optimizer Adam dengan pelatihan setiap model

sebanyak 10 epoch pada setiap model dengan pengaturan Early Stopping yang akan

memberhentikan proses pelatihan pada epoch tertentu dimana kinerja model membaik

pada dataset validasi. Simulasi dilakukan untuk melihat akurasi dari kedua model.

Berikut ini merupakan summary model-model-model yang dihasilkan pada

tahapan ini :

Page 90: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

73

UIN Syarif Hidayatullah Jakarta

Gambar 4. 9 Summary Model Dengan VGG-16 (Model-1)

Gambar 4. 10 Summary Model Dengan RestNet50 (Model-2)

Selain summary model-model yang dihasilkan, berikut ini merupakan arsitekur

dari model-model yang dibuat pada tahapan ini :

Page 91: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

74

UIN Syarif Hidayatullah Jakarta

Gambar 4. 11Arsitektur Model Dengan VGG-16 (Model-1)

Gambar 4. 12 Arsitektur Model Dengan ResNet50 (Model-2)

Page 92: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

75

UIN Syarif Hidayatullah Jakarta

4.6 Verifikasi dan Validasi (Verification and Validation)

Penjelasan dan pemaparan mengenai verifikasi dan validasi akan dijelaskan pada

BAB V skripsi ini, yaitu bab yang membahas hasil pembahasan

4.7 Eksperimentasi (Eksperimentation)

Penjelasan dan pemaparan mengenai eksperimentasi akan dijelaskan pada BAB

V skripsi ini, yaitu bab yang membahas hasil pembahasan

4.8 Analisis Output (Output Analysis)

Penjelasan dan pemaparan mengenai analisis keluaran akan dijelaskan pada BAB

V skripsi ini, yaitu bab yang membahas hasil pembahasan.

Page 93: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

76

UIN Syarif Hidayatullah Jakarta

5 BAB V

HASIL DAN PEMBAHASAN

5.1 Verifikasi dan Validasi (Verification and Validation)

Pada tahap ini, penulis melakukan verifikasi dan validasi dari tahapan-tahapan

yang dilakukan pada bab 4. Verifikasi dilakukan dengan tujuan untuk meyakinkan

bahwa kegiatan yang dilakukan pada tahapan-tahapan tersebut sudah sesuai dengan

yang diharapkan dan saling berhubungan. Penulis melakukan validasi dengan

mengupas kembali setiap tahapan tersebut. Tahap pertama yang dilakukan pada bab 4

adalah formulasi masalah, dimana pada tahapan tersebut dilakukan identifikasi

masalah untuk dirumuskan dalam penelitian sehingga rumusan masalah tersebut dapat

dijadikan suatu pemodelan konsep sebagai upaya pemecahan masalah tersebut. Tahap

kedua adalah pemodelan konsep, dimana pada tahapan ini dilakukan pengkajian

konsep yang terdiri dari input, proses sampai keluaran dari proses pemodelan gambar

lalu lintas berbahasa Indonesia. Tahap ketiga adalah pengumpulan data masukan dan

keluaran, dimana pada tahap ini membahas masukan dan keluaran dari penelitian ini

dengan menjelaskan langkah-langkah apa saja yang penulis lakukan untuk membuat

data masukan hingga menjelaskan data keluaran pada penelitian ini. Tahap keempat

adalah tahap pemodelan, pada tahap ini dilakukan langkah-langkah untuk membuat

model untuk generate deskripsi gambar lalu lintas kendaraan berbahasa Indonesia.

Selanjutnya pada tahap simulasi dilakukan pembuatan model menggunakan hasil

ekstrak fitur gambar yang berbeda namun mengikuti alur yang sama pada tahap

pemodelan. Karena setiap tahapan berpengaruh pada tahapan-tahapan selanjutnya, hal

ini menunjukan bahwa saling berhubungan. Maka dapat disimpulkan bahwa penjelasan

tahapan-tahapan tersebut sudah terverifikasi.

Sedangkan untuk validasi, dilakukan penilaian terhadap kinerja dari model-

model yang dihasilkan pada sub bab 4.5 dengan membandingkan nilai loss dan akurasi

pada masing-masing model. Setelah itu dilakukan pengujian masing-masing model

Page 94: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

77

UIN Syarif Hidayatullah Jakarta

menggunakan data uji untuk mendapatkan deskripsi prediksi dengan deksripsi aktual.

Tingkat akurasi dari deskripsi prediksi dan aktual akan dinilai menggunakan skor

BLEU. Hasil keluaran dari kegiatan validasi akan dibahas pada tahapan analisis

keluaran.

5.2 Eksperimen (Eksperimentation)

Pada tahap ini dilakukan proses generate deskripsi pada gambar lalu lintas

kendaraan menggunakan model-model yang dihasilkan. Tahap ini dimulai dengan

melakukan proses ekstraksi fitur gambar yang sama dengan ekstraksi fitur dataset

gambar yakni menggunakan VGG-16 atau ResNet50. Kemudian memasukkan model

yang ingin digunakan, selain itu juga dengan memasukkan tokenizer yang dihasilkan

dari masing-masing model. Pada penulisan ini penulis membandingkan perbedaan

yang terjadi jika kita menggunakan Model-1 atau Model-2 untuk generate deskripsi

gambar lalu lintas berbahasa Indonesia. hasil dari tahapan ini akan dibahas pada bab

analisis keluaran.

5.3 Analisis Keluaran (Output Analysis)

5.3.1 Hasil Nilai Loss dan Akurasi Model

Berdasarkan penjelasan pada sub bab 4.5, ada dua model yang dihasilkan dalam

penelitian ini. Dari kedua model tersebut, dihitung nilai loss dan akurasi pada dataset

latih dan dataset validasi dengan pengujian model sebanyak 10 epoch dengan

pengaturan Early Stopping. Pada Model-1 dan Model-2 pengujian berhenti di epoch

ke-7. Berikut ini merupakan hasil nilai loss dan akurasi dari kedua model :

Tabel 5. 1 Hasil Loss dan Akurasi Model

Model-1

(VGG-16)

Model-2

(ResNet50)

Loss Data Latih 0.87 0.84

Loss Data Validasi 1.04 0.99

Akurasi Data Latih 0.68 0.69

Akurasi Data Validasi 0.63 0.67

Page 95: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

78

UIN Syarif Hidayatullah Jakarta

Gambar 5.1 Grafik loss Model-1

Gambar 5.2 Grafik akurasi Model-1

Gambar 5.3 Grafik loss Model-2

Page 96: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

79

UIN Syarif Hidayatullah Jakarta

Gambar 5.4 Grafik akurasi Model-2

Berdasarkan hasil loss dan akurasi pada kedua model serta grafik yang sudah

dipaparkan diatas menunjukan bahwa kinerja model yang menggunakan hasil ekstraksi

fitur gambar dengan ResNet50 (Model-2) lebih baik daripada kinerja model yang

menggunakan ekstraksi fitur gambar dengan VGG-16 (Model-1). Hal tersebut

ditunjukan oleh akurasi pada data latih dan data validasi Model-2 yang lebih besar

daripada Model-1 dan loss pada Model-2 lebih kecil daripada loss Model-1.

5.3.2 Hasil Skor BLEU

Berikut ini merupakan beberapa hasil prediksi deskripsi gambar (caption) yang

dihasilkan dari Model-1 dan Model-2 yang dibuat menggunakan dataset uji dan model.

Page 97: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

80

UIN Syarif Hidayatullah Jakarta

Tabel 5. 2 Hasil Prediksi Caption dari Model-1

Caption Asli Caption Asli Setelah Diproses Caption Prediksi

231.jpg#0 Mobil berwarna putih

melaju searah dengan pengendara

motor

231.jpg#1 Pengendara motor

melaju searah dengan mobil

231.jpg#2 Sebuah mobil dan

motor melaju searah

[['startseq', 'mobil', 'berwarna', 'putih',

'melaju', 'searah', 'dengan', 'pengendara',

'motor', 'endseq'],

['startseq', 'pengendara', 'motor', 'melaju',

'searah', 'dengan', 'mobil', 'endseq'],

['startseq', 'sebuah', 'mobil', 'dan', 'motor',

'melaju', 'searah', 'endseq']]

startseq

pengendara motor

melaju di samping

truk endseq

232.jpg#0 Seorang pengendara

motor melaju di belakang

pengendara motor yang

berboncengan

232.jpg#1 Pengendara motor

yang berboncengan melaju di

depan seorang pengendara motor

232.jpg#2 Ada dua pengendara

motor melaju searah

[['startseq', 'seorang', 'pengendara',

'motor', 'melaju', 'di', 'belakang',

'pengendara', 'motor', 'yang',

'berboncengan', 'endseq'],

['startseq', 'pengendara', 'motor', 'yang',

'berboncengan', 'melaju', 'di', 'depan',

'seorang', 'pengendara', 'motor', 'endseq'],

['startseq', 'ada', 'dua', 'pengendara',

'motor', 'melaju', 'searah', 'endseq']]

startseq ada dua

pengendara motor

melaju di samping

truk endseq

233.jpg#0 Ada dua pengendara

motor berlawanan arah dengan

mobil berwarna putih

233.jpg#1 Mobil berwarna putih

berlawanan arah dengan beberapa

pengendara motor

233.jpg#2 Ada dua pengendara

motor melaju di depan beberapa

pengendara motor

[['startseq', 'ada', 'dua', 'pengendara',

'motor', 'berlawanan', 'arah', 'dengan',

'mobil', 'berwarna', 'putih', 'endseq'],

['startseq', 'mobil', 'berwarna', 'putih',

'berlawanan', 'arah', 'dengan', 'beberapa',

'pengendara', 'motor', 'endseq'],

['startseq', 'ada', 'dua', 'pengendara',

'motor', 'melaju', 'di', 'depan', 'beberapa',

'pengendara', 'motor', 'endseq']]

startseq mobil

berwarna hitam

berada di

belakang

pengendara motor

endseq

234.jpg#0 Ada dua pengendara

motor melaju di depan pagar

234.jpg#1 Seorang pengendara

motor berada di depan pagar

234.jpg#2 Seorang pengendara

motor melaju di belakang

pengendara motor

[['startseq', 'ada', 'dua', 'pengendara',

'motor', 'melaju', 'di', 'depan', 'pagar',

'endseq'],

['startseq', 'seorang', 'pengendara', 'motor',

'berada', 'di', 'depan', 'pagar', 'endseq'],

['startseq', 'seorang', 'pengendara', 'motor',

'melaju', 'di', 'belakang', 'pengendara',

'motor', 'endseq']]

startseq

pengendara motor

melaju di samping

mobil berwarna

hitam endseq

235.jpg#0 Beberapa pengendara

motor melaju searah dengan

pengendara motor lainnya

235.jpg#1 Beberapa pengendara

motor melaju berlawanan arah

dengan pengendara motor lainnya

235.jpg#2 Beberapa pengendara

motor memakai helm

[['startseq', 'beberapa', 'pengendara',

'motor', 'melaju', 'searah', 'dengan',

'pengendara', 'motor', 'lainnya', 'endseq'],

['startseq', 'beberapa', 'pengendara',

'motor', 'melaju', 'berlawanan', 'arah',

'dengan', 'pengendara', 'motor', 'lainnya',

'endseq'],

['startseq', 'beberapa', 'pengendara',

'motor', 'memakai', 'helm', 'endseq']]

startseq ada dua

pengendara motor

melaju di

belakang mobil

berwarna hitam

endseq

Page 98: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

81

UIN Syarif Hidayatullah Jakarta

Tabel 5. 3 Hasil Prediksi Caption dari Model-2

Caption Asli Caption Dataset Asli Setelah Diproses Caption Prediksi

231.jpg#0 Mobil berwarna putih

melaju searah dengan

pengendara motor

231.jpg#1 Pengendara motor

melaju searah dengan mobil

231.jpg#2 Sebuah mobil dan

motor melaju searah

[['startseq', 'mobil', 'berwarna', 'putih',

'melaju', 'searah', 'dengan', 'pengendara',

'motor', 'endseq'],

['startseq', 'pengendara', 'motor', 'melaju',

'searah', 'dengan', 'mobil', 'endseq'],

['startseq', 'sebuah', 'mobil', 'dan', 'motor',

'melaju', 'searah', 'endseq']]

startseq mobil

berwarna putih

berada di samping

pengendara motor

endseq

232.jpg#0 Seorang pengendara

motor melaju di belakang

pengendara motor yang

berboncengan

232.jpg#1 Pengendara motor

yang berboncengan melaju di

depan seorang pengendara motor

232.jpg#2 Ada dua pengendara

motor melaju searah

[['startseq', 'seorang', 'pengendara',

'motor', 'melaju', 'di', 'belakang',

'pengendara', 'motor', 'yang',

'berboncengan', 'endseq'],

['startseq', 'pengendara', 'motor', 'yang',

'berboncengan', 'melaju', 'di', 'depan',

'seorang', 'pengendara', 'motor', 'endseq'],

['startseq', 'ada', 'dua', 'pengendara',

'motor', 'melaju', 'searah', 'endseq']]

startseq ada dua

pengendara motor

melaju di samping

mobil berwarna

putih endseq

233.jpg#0 Ada dua pengendara

motor berlawanan arah dengan

mobil berwarna putih

233.jpg#1 Mobil berwarna putih

berlawanan arah dengan

beberapa pengendara motor

233.jpg#2 Ada dua pengendara

motor melaju di depan beberapa

pengendara motor

[['startseq', 'ada', 'dua', 'pengendara',

'motor', 'berlawanan', 'arah', 'dengan',

'mobil', 'berwarna', 'putih', 'endseq'],

['startseq', 'mobil', 'berwarna', 'putih',

'berlawanan', 'arah', 'dengan', 'beberapa',

'pengendara', 'motor', 'endseq'],

['startseq', 'ada', 'dua', 'pengendara',

'motor', 'melaju', 'di', 'depan', 'beberapa',

'pengendara', 'motor', 'endseq']]

startseq ada dua

pengendara motor

melaju searah

endseq

234.jpg#0 Ada dua pengendara

motor melaju di depan pagar

234.jpg#1 Seorang pengendara

motor berada di depan pagar

234.jpg#2 Seorang pengendara

motor melaju di belakang

pengendara motor

[['startseq', 'ada', 'dua', 'pengendara',

'motor', 'melaju', 'di', 'depan', 'pagar',

'endseq'],

['startseq', 'seorang', 'pengendara', 'motor',

'berada', 'di', 'depan', 'pagar', 'endseq'],

['startseq', 'seorang', 'pengendara', 'motor',

'melaju', 'di', 'belakang', 'pengendara',

'motor', 'endseq']]

startseq ada dua

pengendara motor

melaju di samping

pohon endseq

235.jpg#0 Beberapa pengendara

motor melaju searah dengan

pengendara motor lainnya

235.jpg#1 Beberapa pengendara

motor melaju berlawanan arah

dengan pengendara motor

lainnya

235.jpg#2 Beberapa pengendara

motor memakai helm

[['startseq', 'beberapa', 'pengendara',

'motor', 'melaju', 'searah', 'dengan',

'pengendara', 'motor', 'lainnya', 'endseq'],

['startseq', 'beberapa', 'pengendara',

'motor', 'melaju', 'berlawanan', 'arah',

'dengan', 'pengendara', 'motor', 'lainnya',

'endseq'],

['startseq', 'beberapa', 'pengendara',

'motor', 'memakai', 'helm', 'endseq']]

startseq ada dua

pengendara motor

melaju di samping

mobil berwarna

putih endseq

Page 99: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

82

UIN Syarif Hidayatullah Jakarta

Deskripsi sebenarnya dan deskripsi prediksi akan dikumpulkan dan dievaluasi

secara kolektif menggunakan skor corpus BLEU yang merangkum seberapa dekat teks

deskripsi yang dihasilkan dengan teks deskripsi yang diharapkan. Untuk masing-

masing skor BLEU ditambahkan bobot untuk setiap skor BLEU dan kemudian di

proses dengan library python NLTK. Berikut ini merupakan bobot dari masing-masing

skor BLEU :

BLEU-1 = (1,0,0,0)

BLEU-2 = (0.5, 0.5, 0, 0)

BLEU-3 = (0.3, 0.3, 0.3, 0)

BLEU-4 = (0.25, 0.25, 0.25, 0.25)

Berikut ini merupakan hasil skor BLEU dari Model-1 dan Model-2:

Tabel 5. 4 Perbandingan Hasil Skor BLEU Model-1 dan Model 2

BLEU-N Model-1 (VGG-16) Model-2 (ResNet50)

BLEU-1 0.66 0.67

BLEU-2 0.50 0.51

BLEU-3 0.43 0.42

BLEU-4 0.30 0.27

Berdasarkan tabel 5.4, skor BLEU-1 dan BLEU-2 dari Model-2 lebih besar

daripada Model-1. Sedangkan pada BLEU-3 dan BLEU-4 skor Model-2 lebih besar

daripada Model-1.

5.3.3 Hasil Pecobaan Generate Caption

Pada sub bab ini, akan dipaparkan beberapa hasil percobaan generate caption

gambar yang menggunakan Model-1 dan Model-2. Beberapa data yang digunakan

untuk generate caption gambar adalah data yang sama dengan beberapa dataset latih

namun penulis mengubah warna dari gambar mobil yang terdapat pada setiap gambar.

Page 100: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

83

UIN Syarif Hidayatullah Jakarta

1. Model-1 (VGG-16)

Tabel 5. 5 Hasil generate caption menggunakan Model-1

Gambar Pada Dataset yang

Dimodifikasi

Hasil caption Kesesuaian Gambar

dan Caption

Gambar Asli pada

Dataset latih

Ada dua

pengendara

motor melaju

di belakang

mobil berwarna

hitam

Ya

Mobil berwarna

hitam berada di

samping mobil

berwarna hitam

Tidak

Page 101: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

84

UIN Syarif Hidayatullah Jakarta

Mobil berwarna

hitam berada di

samping

pengendara

motor

Ya

Mobil berwarna

merah berada di

samping mobil

berwarna hitam

Tidak

Mobil berwarna

putih melaju di

samping pohon

Ya

Page 102: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

85

UIN Syarif Hidayatullah Jakarta

2. Model-2 (ResNet 50)

Tabel 5. 6 Hasil generate caption menggunakan Model-2

Gambar Hasil caption Kesesuaian Gambar

dengan Caption

Gambar Asli pada

Dataset Uji

Mobil berwarna

putih berada di

depan

pengendara

motor

Tidak

Sebuah mobil

berwarna merah

berada di

samping pohon

Tidak

Page 103: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

86

UIN Syarif Hidayatullah Jakarta

Pengendara

motor melaju di

samping mobil

berwarna hitam

Ya

Mobil berwarna

putih melaju di

belakang

pengendara

motor

Ya

Mobil berwarna

putih berada di

samping mobil

berwarna putih

Tidak

Page 104: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

87

UIN Syarif Hidayatullah Jakarta

Berdasarkan percobaan generate caption menggunakan Model-1 dan Model-2 yang

dipaparkan pada tabel 5.6 dan 5.7 , penulis melakukan percobaan generate caption

menggunakan gambar yang sama dengan dataset latih namun mengubah warna pada

gambar mobilnya. Dari percobaan menggunakan Model-1, didapatkan 3 dari 5

percobaan yang menghasilkan caption yang sesuai dan 2 percobaan lainnya tidak

sesuai. Sedangkan pada percobaan menggunakan Model-2 didapatkan 2 dari 5

percobaan yang menghasilkan caption yang sesuai dan 3 percobaan lainnya tidak

sesuai. Hal tersebut terjadi karena model yang dibuat sangat bergantung pada data

gambar dan variasi dari caption. Pada penelitian ini, kasus data gambar yang digunakan

hampir mirip sehingga caption yang dihasilkan pun hampir serupa. Selain itu,

kesalahan pada hasil caption yang kurang spesifik dengan gambar seperti warna mobil,

posisi mobil atau posisi pengendara motor terjadi karena akurasi model dan model juga

hanya belajar menjelaskan secara umum apa yang terdapat pada gambar, bukan

gambaran spesifik apa yang terdapat pada gambar.

Page 105: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

88

UIN Syarif Hidayatullah Jakarta

6 BAB VI

PENUTUP

6.1 Kesimpulan

Pada penelitian ini dihasilkan dua model untuk generate image captioning pada

gambar lalu lintas kendaraan berbahasa Indonesia menggunakan metode Convolutional

Neural Network dan Long Short Term Memory. Kedua model tersebut dihasilkan

dengan menggunakan metode simulasi yang terdiri dari tahapan formulasi masalah,

konseptual model, pengumpulan data input dan output, modeling, simulasi, verifikasi

dan validasi, ekperimentasi dan analisi output. Dari tahap-tahapan tersebut menunjukan

bahwa Model-1 yang menggunakan VGG-16 pada model ekstraksi fitur gambar

menghasilkan skor BLEU {1,2,3,4} sebesar 0.66, 0,50, 0,43, 0,30. Sedangkan Model-

2 yang menggunakan ResNet50 pada model ekstraksi fitur gambar menghasilkan skor

BLEU {1,2,3,4} sebesar 0.67; 0.51; 0.42; 0.27. Selain itu juga deskripsi gambar yang

dihasilkan oleh Model-2 lebih baik daripada deskripsi gambar yang dihasilkan oleh

Model-1.

6.2 Saran

Dalam penelitian ini masih terdapat keterbatasan. Oleh karena itu penulis

mengharapkan adanya pengembangan untuk penelitian selanjutnya. Adapun saran dari

penulis untuk penelitian ini adalah :

1. Pada penelitian selanjutnya diharapkan dapat menggunakan dataset gambar

dan deskripsi (caption) yang lebih banyak dan bervariasi agar akurasi model

meningkat.

2. Pada penelitian ini, model hanya dapat mendeskripsikan gambar secara umum,

diharapkan kedepannya model dapat dibuat untuk dapat mendeteksi setiap

objek pada gambar dengan lebih spesifik dan caption yang lebih spesifik

3. Diberikan user interface untuk generate caption gambar.

Page 106: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

89

UIN Syarif Hidayatullah Jakarta

DAFTAR PUSTAKA

Al-muzaini, H. A., N., T., & Benhidour, H. (2018). Automatic Arabic Image

Captioning using RNN-LSTM-Based Language Model and CNN. International

Journal of Advanced Computer Science and Applications, 9(6), 67–73.

https://doi.org/10.14569/ijacsa.2018.090610

Amrizal, V., & Aini, Q. (2013). Kecerdasan Buatan. Jakarta: Halaman Moeka.

Aneja, J., Deshpande, A., & Schwing, A. G. (2018). Convolutional Image Captioning.

Proceedings of the IEEE Computer Society Conference on Computer Vision and

Pattern Recognition, 5561–5570. https://doi.org/10.1109/CVPR.2018.00583

Arnav, A., Jang, H., & Maloo, P. (2017). Image Captioning Using Deep Learning.

Brownlee, J. (2017). Deep Learning for Natural Language Processing: Develop Deep

Learning Models for your Natural Language Problems. Machine Learning

Mastery. Diakses dari

https://books.google.co.id/books?id=_pmoDwAAQBAJ&hl=id&source=gbs_na

vlinks_s

Budiharto, W., & Suhartono, D. (2014). Artificial Intelligence Konsep dan

Penerapannya. Yogyakarta: Penerbit ANDI.

Colah. (2015). Understanding LSTM Networks. diakses 9 Juni, 2019, dari

https://colah.github.io/posts/2015-08-Understanding-LSTMs/

Devlin, J., Cheng, H., Fang, H., Gupta, S., Deng, L., He, X., … Mitchell, M. (2015).

Language Models for Image Captioning: The Quirks and What Works. Microsoft

Research.

Digimi, I. (2018). Google Colab Gratis Untuk Belajar Deep Learning. Diakses 12 Juni

12, 2019, dari https://imamdigmi.github.io/post/google-colab-gratis-untuk-

belajar-deep-learning/

Page 107: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

90

UIN Syarif Hidayatullah Jakarta

Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press book.

diakses dari www.deeplearningbooks.org

Gotama, J. W. P. (2018). Pengenalan Pembelajaran Mesin dan Deep Learning Jan

Wira Gotama Putra Pengenalan Konsep Pembelajaran Mesin dan Deep Learning

(1.2). Tokyo: Tokyo Institute of Technology.

Gulli, A., & Pal, S. (2017). Deep Learning With Keras. Birmingham, UK: Packt

Publishing Ltd.

Hartini, C., Nyoto, R. D., & Irwansyah, M. A. (2016). Rancang Bangun Aplikasi

Monitoring Trafik Lalu Lintas di Kota Pontianak, 1–6. diakses dari

http://jurnal.untan.ac.id/index.php/justin/article/view/13223

He, K., Zhang, X., Ren, S., & Sun, J. (2015). Deep Residual Learning for Image

Recognition Kaiming. IIEE, 32(5), 428–429. https://doi.org/10.1246/cl.2003.428

Introbooks. (2018). Artificial Intelligence. Introbooks.com.

Karpathy, A. (n.d.). CS231n Convolutional Neural Networks for Visual Recognition.

diakses dari http://cs231n.github.io/convolutional-networks/

Keras.io. (n.d.). Keras: The Python Deep Learning library. diakses 12 Juni, 2019, dari

keras.io

Kim, Y., Jernite, Y., Sontag, D., & Rush, A. M. (2016). Character-Aware Neural

Language Models. Proceedings of the Thirtieth AAAI Conference on Artificial

Intelligence (AAAI-16) Character-Aware, 2741–2749.

Kulkarni, P., & Praci, J. (2015). ARTIFICIAL INTELLIGENCE: Building Intelligent

Systems. Delhi: PHI Learning Private Limited.

Madani, S. A., Kazmi, J., & Mahlknecht, S. (2010). Wireless sensor networks :

modeling and simulation, 1–16.

Page 108: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

91

UIN Syarif Hidayatullah Jakarta

Marieski, T. C., Hidayat, B., & Safitri, I. (2017). Perancangan Aplikaasi Deteksi

Kemacetan Berdasarkan Pengolahan Video Digital Menggunakan Metode Frame

Difference Berbasis Android, 4(1), 480–491. diakses dari

https://libraryeproceeding.telkomuniversity.ac.id/index.php/engineering/article/v

iew/3361/3189

Neapolitan, R. E., & Jiang, X. (2018). Artificial Intelligence: With an Introduction to

Machine Learning (Kedua). New York: CRC Pres Taylor&Francais Group.

Pu, Y., Gan, Z., Henao, R., Yuan, X., Li, C., Stevens, A., & Carin, L. (2016).

Variational autoencoder for deep learning of images, labels and captions.

Advances in Neural Information Processing Systems, (Nips), 2360–2368.

Rachmawati, E., Siradjuddin, I. A., & Putro, M. D. (2017). Description of Images

Related To Haze Crisis in Indonesia Using Deep Learning. Technical Report,

(January).

Radhakrishnan, P. (2017). Image Captioning in Deep Learning.

Rahman, T., Agustin, F. E. M., & Rozy, N. F. (2019). Analisis Sentimen Terhadap

Elektabilitas Prabowo Sebagai Calon Presiden 2019 Berdasarkan Opini

Warganet Twitter Menggunakan Metode Naive Bayes Classifier. UIN Syarif

Hidayatullah Jakarta.

Rawat, W., & Wang, Z. (2017). Deep Convolutional Neural Networks for Image

Classification: A Comprehensive Review. Massachusetts Institute of Technology.

https://doi.org/10.1162/NECO

Sanjeevi, M. (2018). DeepNLP — LSTM (Long Short Term Memory) Networks with

Math. diakses 8 Juni, 2019, dari https://medium.com/deep-math-machine-

learning-ai/chapter-10-1-deepnlp-lstm-long-short-term-memory-networks-with-

math-21477f8e4235

Page 109: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

92

UIN Syarif Hidayatullah Jakarta

Shanmugamani, R. (2018). Deep Learning for Computer Vision. Packt Publishing.

diakses dari https://learning.oreilly.com/library/view/deep-learning-

for/9781788295628/1ab53400-64ab-43d7-9088-ad64943351f9.xhtml

Shea, K. T. O. (2015). An Introduction to Convolutional Neural Networks An

Introduction to Convolutional Neural Networks, (November).

Singh, R., & Sharma, A. (2018). Image captioning using Deep Neural Networks.

Proceedings of 2017 International Conference on Innovations in Information,

Embedded and Communication Systems, ICIIECS 2017, 2018-Janua(June), 1–4.

https://doi.org/10.1109/ICIIECS.2017.8276124

Soh, M. (2016). Learning CNN-LSTM Architectures for Image Caption Generation.

Nips, (c), 1–9. Retrieved from https://cs224d.stanford.edu/reports/msoh.pdf

Sohel, F., Shiratuddin, M. F., & Laga, H. (2018). A Comprehensive Survey of Deep

Learning for Image Captioning, 0(0).

Sudaryono. (2014). Metodologi Riset di Bidang TI (Panduan Praktis, Teori dan Contoh

Kasus). Tangerang: Penerbit ANDI.

Suyanto. (2018). Machine Learning Tingkat Dasar dan Lanjut. Bandung: Penerbit

Informatika.

Synced. (2017). Language Model: A Survey of the State-of-the-Art Technology.

diakses 7 September, 2019, dari https://medium.com/syncedreview/language-

model-a-survey-of-the-state-of-the-art-technology-64d1a2e5a466

Tanti, M., Gatt, A., & Camilleri, K. P. (2017). Where to put the Image in an Image

Caption Generator, 1–28. https://doi.org/10.1017/S1351324918000098

Tutorials Points. (2014). Python Programming Language. Tutorials Points (I) Pvt. Ltd.

Vinyals, O., Toshev, A., Bengio, S., & Erhan, D. (2015). Show and tell: A neural image

caption generator. Proceedings of the IEEE Computer Society Conference on

Page 110: LONG SHORT-TERM MEMORY UNTUK GENERATE IMAGE …repository.uinjkt.ac.id/dspace/bitstream/123456789/47930... · 2019. 10. 30. · SIMULASI METODE CONVOLUTIONAL NEURAL NETWORK DAN LONG

93

UIN Syarif Hidayatullah Jakarta

Computer Vision and Pattern Recognition, 07-12-June, 3156–3164.

https://doi.org/10.1109/CVPR.2015.7298935

Vinyals, O., Toshev, A., Bengio, S., & Erhan, D. (2017). Show and Tell: Lessons

Learned from the 2015 MSCOCO Image Captioning Challenge. IEEE

Transactions on Pattern Analysis and Machine Intelligence, 39(4), 652–663.

https://doi.org/10.1109/TPAMI.2016.2587640

www.tensorflow.com. (n.d.). Tensorflow. diakses 10 Juni, 2019, dari tensorflow.org