Lewati ke konten utama

Pengantar Deep Neural Networks

Memahami deep neural networks dan pentingnya dalam dunia deep learning modern pada kecerdasan buatan
Diperbarui 28 Sep 2026  · 13 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Deep neural networks telah mengubah lanskap kecerdasan buatan di era modern. Dalam beberapa waktu terakhir, terdapat sejumlah kemajuan riset pada deep learning dan neural network, yang secara dramatis meningkatkan kualitas proyek terkait kecerdasan buatan.

Deep neural networks ini membantu pengembang mencapai hasil yang lebih berkelanjutan dan berkualitas tinggi. Karena itu, teknologi ini bahkan menggantikan sejumlah teknik machine learning konvensional.

Namun, apa sebenarnya deep neural networks, dan mengapa ia menjadi pilihan paling optimal untuk berbagai macam tugas? Dan apa saja pustaka serta alat yang dibutuhkan untuk memulai dengan deep neural networks?

Artikel ini akan menjelaskan deep neural networks, kebutuhan pustakanya, dan cara membangun arsitektur deep neural network dasar dari nol.

Apa itu Deep Neural Networks?

Artificial neural network (ANN) atau neural network tradisional sederhana bertujuan menyelesaikan tugas-tugas sepele dengan kerangka jaringan yang lugas. Artificial neural network terinspirasi secara longgar dari jaringan saraf biologis. Ini adalah kumpulan lapisan untuk menjalankan tugas tertentu. Setiap lapisan terdiri dari sekumpulan node yang bekerja bersama.

Jaringan ini biasanya terdiri dari lapisan masukan, satu hingga dua lapisan tersembunyi, dan lapisan keluaran. Meskipun memungkinkan untuk menyelesaikan soal matematika mudah dan masalah komputasi, termasuk struktur gerbang logika dasar dengan tabel kebenarannya, jaringan ini kesulitan menyelesaikan tugas pemrosesan citra, visi komputer, dan pemrosesan bahasa alami yang rumit.

Untuk masalah-masalah tersebut, kita memanfaatkan deep neural networks, yang sering memiliki struktur lapisan tersembunyi yang kompleks dengan beragam jenis lapisan, seperti convolutional layer, max-pooling layer, dense layer, dan lapisan unik lainnya. Lapisan tambahan ini membantu model memahami masalah dengan lebih baik dan memberikan solusi optimal untuk proyek yang kompleks. Deep neural network memiliki lebih banyak lapisan (lebih dalam) daripada ANN dan setiap lapisan menambah kompleksitas model sekaligus memungkinkan model memproses masukan secara ringkas untuk menghasilkan solusi yang ideal.

ANN vs DNN

ANN vs DNN - Sumber Gambar

Deep neural networks telah meraih perhatian sangat tinggi karena efisiensinya dalam menyelesaikan berbagai proyek deep learning. Jelajahi perbedaan antara machine learning vs deep learning dalam artikel terpisah. 

Mengapa menggunakan DNN?

Setelah melatih deep neural network yang dibangun dengan baik, model dapat mencapai hasil yang diinginkan dengan skor akurasi tinggi. Teknologi ini populer di seluruh aspek deep learning, termasuk visi komputer, pemrosesan bahasa alami, dan transfer learning.

Contoh utama menonjolnya deep neural networks adalah kegunaannya dalam deteksi objek dengan model seperti YOLO (You Only Look Once), tugas penerjemahan bahasa dengan model BERT (Bidirectional Encoder Representations from Transformers), model transfer learning seperti VGG-19, RESNET-50, EfficientNet, dan jaringan serupa lainnya untuk proyek pemrosesan citra.

Untuk memahami konsep deep learning dalam kecerdasan buatan ini secara lebih intuitif, saya merekomendasikan untuk melihat kursus Deep Learning in Python dari DataCamp.

Perangkat dan Pustaka Deep Learning

Membangun neural network dari nol membantu programmer memahami konsep dan menyelesaikan tugas-tugas sederhana dengan memanipulasi jaringan tersebut. Namun, membangun jaringan dari nol memakan waktu dan membutuhkan upaya besar. Untuk mempermudah deep learning, kita memiliki sejumlah alat dan pustaka untuk menghasilkan model deep neural network yang efektif, mampu menyelesaikan masalah kompleks hanya dengan beberapa baris kode.

Pustaka dan alat deep learning paling populer untuk membangun deep neural networks adalah TensorFlow, Keras, dan PyTorch. Pustaka Keras dan TensorFlow telah dikaitkan secara sinonim sejak awal TensorFlow 2.0. Integrasi ini memungkinkan pengguna mengembangkan neural network yang kompleks dengan struktur kode tingkat tinggi menggunakan Keras di dalam ekosistem TensorFlow.

PyTorch

Pustaka PyTorch adalah kerangka machine learning yang sangat populer yang memungkinkan pengguna mengembangkan proyek riset kelas atas.

Meskipun sedikit kurang pada aspek visualisasi, PyTorch menutupinya dengan performa yang ringkas dan cepat serta instalasi GPU yang relatif lebih cepat dan sederhana untuk membangun model deep neural network.

Kursus Introduction to Deep Learning with PyTorch dari DataCamp adalah titik awal terbaik untuk mempelajari lebih jauh tentang PyTorch.

TensorFlow dan Keras

Kerangka TensorFlow memberikan berbagai opsi luar biasa untuk alat visualisasi dalam tugas deep learning. Dasbor grafis TensorBoard merupakan pilihan unggul untuk memvisualisasikan, menganalisis, dan menafsirkan data serta hasil proyek.

Integrasi pustaka Keras memungkinkan pembangunan proyek lebih cepat dengan struktur kode yang sederhana, menjadikannya pilihan populer untuk proyek pengembangan jangka panjang. Introduction to TensorFlow in Python adalah tempat yang bagus bagi pemula untuk memulai dengan TensorFlow.

Cara Membangun Deep Neural Network Dasar

Pada bagian ini, kita akan memahami beberapa konsep fundamental deep neural networks dan cara membangun jaringan semacam itu dari nol.

Mengimpor pustaka yang diperlukan

Langkah pertama adalah memilih pustaka pilihan Anda untuk aplikasi yang dibutuhkan. Kita akan menggunakan kerangka deep learning TensorFlow dan Keras untuk membangun deep neural network.

# Importing the necessary functionality
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Input, Dense, Conv2D
from tensorflow.keras.layers import Flatten, MaxPooling2D

Membuat model tipe sequential

Setelah selesai mengimpor pustaka yang diinginkan untuk tugas ini, kita akan menggunakan pemodelan tipe Sequential untuk membangun model deep learning. Model sequential adalah tumpukan lapisan sederhana dengan satu nilai masukan dan keluaran. Opsi lain yang tersedia adalah kelas functional API atau membangun model kustom. Namun, kelas Sequential memberikan pendekatan yang lugas untuk membangun arsitektur neural network.

# Creating the model
DNN_Model = Sequential()

Membangun arsitektur Deep Neural Network

Kita akan menambahkan bentuk masukan, biasanya setara dengan ukuran tipe gambar yang Anda gunakan dalam proyek. Ukuran tersebut mencakup lebar, tinggi, dan skema warna gambar. Pada contoh kode di bawah, tinggi dan lebar gambar adalah 256 dengan skema warna RGB, direpresentasikan oleh angka 3 (1 digunakan untuk gambar skala abu-abu). Kita kemudian akan membangun lapisan tersembunyi yang diperlukan dengan lapisan konvolusi dan max-pooling dengan ukuran filter yang bervariasi. Terakhir, kita akan menggunakan lapisan flatten untuk meratakan keluaran dan menggunakan dense layer sebagai lapisan keluaran akhir.

Lapisan tersembunyi menambah kompleksitas pada neural network. Convolutional layer melakukan operasi konvolusi pada citra visual untuk menyaring informasi. Setiap ukuran filter pada convolution layer membantu mengekstrak fitur spesifik dari masukan. Max-pooling layer membantu menurunkan sampel (mengurangi) jumlah fitur dengan mempertimbangkan nilai maksimum dari fitur yang diekstrak.

Flatten layer mengurangi dimensi spasial menjadi satu dimensi untuk komputasi yang lebih cepat. Dense layer adalah lapisan paling sederhana yang menerima keluaran dari lapisan sebelumnya dan biasanya digunakan sebagai lapisan keluaran. Konvolusi 2D melakukan perkalian elemen per elemen pada masukan 2D. Fungsi aktivasi ReLU (rectified linear unit) memberikan non-linearitas pada model untuk kinerja komputasi yang lebih baik. Kita akan menggunakan padding "same" untuk mempertahankan bentuk masukan dan keluaran pada convolutional layers.

# Inputting the shape to the model
DNN_Model.add(Input(shape = (256, 256, 3)))

# Creating the deep neural network
DNN_Model.add(Conv2D(256, (3, 3), activation='relu', padding = "same"))
DNN_Model.add(MaxPooling2D(2, 2))
DNN_Model.add(Conv2D(128, (3, 3), activation='relu', padding = "same"))
DNN_Model.add(MaxPooling2D(2, 2))
DNN_Model.add(Conv2D(64, (3, 3), activation='relu', padding = "same"))
DNN_Model.add(MaxPooling2D(2, 2))

# Creating the output layers
DNN_Model.add(Flatten())
DNN_Model.add(Dense(64, activation='relu'))
DNN_Model.add(Dense(10))

Arsitektur model

Struktur model dan diagram plot dari deep neural network yang dibangun disajikan di bawah ini.

Model: "sequential_2"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 conv2d_5 (Conv2D)           (None, 256, 256, 256)     7168      
                                                                 
 max_pooling2d_5 (MaxPooling  (None, 128, 128, 256)    0         
 2D)                                                             
                                                                 
 conv2d_6 (Conv2D)           (None, 128, 128, 128)     295040    
                                                                 
 max_pooling2d_6 (MaxPooling  (None, 64, 64, 128)      0         
 2D)                                                             
                                                                 
 conv2d_7 (Conv2D)           (None, 64, 64, 64)        73792     
                                                                 
 max_pooling2d_7 (MaxPooling  (None, 32, 32, 64)       0         
 2D)                                                             
                                                                 
 flatten_2 (Flatten)         (None, 65536)             0         
                                                                 
 dense_4 (Dense)             (None, 64)                4194368   
                                                                 
 dense_5 (Dense)             (None, 10)                650       
                                                                 
=================================================================
Total params: 4,571,018
Trainable params: 4,571,018
Non-trainable params: 0
_________________________________________________________________

Plotnya sebagai berikut:

tf.keras.utils.plot_model(DNN_Model, to_file='model_big.png', show_shapes=True)

image1.png

Informasi tambahan

Alur Kerja Machine Learning

Alur Kerja Machine Learning - Sumber Gambar

Setelah model dibangun, model perlu dikompilasi untuk mengonfigurasinya. Selama kompilasi model, operasi penting dalam model deep learning mencakup forward propagation dan backpropagation. Dalam forward propagation, seluruh informasi penting diteruskan melalui berbagai node hingga mencapai lapisan keluaran. Pada lapisan keluaran, untuk tugas klasifikasi, nilai prediksi dan nilai benar dihitung sebagaimana mestinya.

Pada tahap pelatihan atau fitting, proses backpropagation terjadi. Bobot disesuaikan ulang pada setiap lapisan dengan memperbaiki bobot hingga nilai prediksi dan nilai benar saling mendekati untuk mencapai hasil yang diinginkan. Untuk penjelasan mendalam terkait topik ini, saya merekomendasikan untuk melihat panduan backpropagation dari kursus Introduction to Deep Learning in Python.

Ada banyak detail yang perlu dijelajahi dalam deep learning. Saya sangat merekomendasikan kursus Deep Learning with Keras untuk lebih memahami cara membangun deep neural networks.

Memahami Model Deep Learning

Menghitung tugas machine learning tertentu membutuhkan deep neural network spesifik untuk menjalankan aksi yang diperlukan. Dua model deep learning yang terutama digunakan adalah convolutional neural networks (CNN) dan Recurrent Neural Networks (RNN). Convolutional neural networks sangat bermanfaat dalam proyek pemrosesan citra dan visi komputer.

Dalam deep neural networks ini, alih-alih melakukan operasi matriks tipikal pada lapisan tersembunyi, kita melakukan operasi konvolusi. Ini memungkinkan jaringan memiliki pendekatan yang lebih skalabel, menghasilkan efisiensi dan akurasi yang lebih tinggi. Pada tugas klasifikasi gambar dan deteksi objek, terdapat banyak data dan gambar yang harus dihitung oleh model. Convolutional neural networks membantu mengatasi masalah tersebut dengan baik.

Untuk pemrosesan bahasa alami dan proyek semantik, recurrent neural networks sering digunakan untuk mengoptimalkan hasil. Varian populer dari RNN ini, long short-term memory (LSTM), biasanya digunakan untuk menjalankan berbagai tugas penerjemahan mesin, klasifikasi teks, pengenalan ucapan, dan tugas serupa lainnya.

Jaringan-jaringan ini membawa informasi penting dari setiap sel sebelumnya dan mengirimkannya ke sel berikutnya sambil menyimpan informasi krusial demi kinerja model yang optimal. Image Modeling with Keras adalah panduan luar biasa untuk mengeksplorasi lebih jauh tentang CNN dan Deep Learning in Python untuk pemahaman deep learning yang menyeluruh.

Tantangan dan Pertimbangan dalam Deep Neural Networks

Kita telah memiliki pemahaman singkat tentang deep neural networks dan pembangunannya dengan kerangka deep learning TensorFlow. Namun, ada tantangan tertentu yang harus dipertimbangkan setiap pengembang sebelum mengembangkan neural network untuk proyek tertentu. Mari kita lihat beberapa tantangan ini.

Kebutuhan data

Salah satu kebutuhan utama dalam deep learning adalah data. Data adalah komponen paling krusial dalam membangun model yang sangat akurat. Dalam banyak kasus, deep neural networks biasanya memerlukan jumlah data yang besar untuk mencegah overfitting dan berkinerja baik. Kebutuhan data untuk tugas deteksi objek mungkin memerlukan lebih banyak data agar model dapat mendeteksi objek yang berbeda dengan akurasi tinggi.

Meskipun teknik augmentasi data berguna sebagai solusi cepat untuk beberapa masalah ini, kebutuhan data tetap harus dipertimbangkan untuk setiap proyek deep learning.

Sumber daya komputasi

Selain jumlah data yang besar, kita juga harus mempertimbangkan biaya komputasi tinggi untuk menghitung deep neural network. Misalnya, model Generative Pre-trained Transformer 3 (GPT-3) memiliki 175 miliar parameter.

Kompilasi dan pelatihan model untuk tugas-tugas kompleks akan membutuhkan GPU yang memadai. Model sering kali dapat dilatih lebih efisien pada GPU atau TPU daripada CPU. Untuk tugas yang sangat kompleks, kebutuhan sistem meningkat, memerlukan lebih banyak sumber daya untuk suatu tugas tertentu.

Masalah pelatihan

Selama pelatihan, model juga dapat mengalami masalah seperti underfitting atau overfitting. Underfitting biasanya terjadi karena kurangnya data, sementara overfitting adalah masalah yang lebih menonjol yang terjadi karena data pelatihan terus membaik sementara data uji tetap konstan. Akibatnya, akurasi pelatihan tinggi, tetapi akurasi validasi rendah, yang mengarah pada model yang sangat tidak stabil dan tidak memberikan hasil terbaik.

Penutup

Dalam artikel ini, kita mengeksplorasi deep neural networks dan memahami konsep intinya. Kita memahami perbedaan antara jaringan saraf ini dan jaringan tradisional serta membangun pemahaman tentang berbagai jenis kerangka deep learning untuk mengerjakan proyek deep learning. Kemudian, kita menggunakan pustaka TensorFlow dan Keras untuk mendemonstrasikan pembuatan deep neural network. Terakhir, kita mempertimbangkan beberapa tantangan krusial dalam deep learning dan beberapa cara untuk mengatasinya.

Deep neural networks adalah sumber daya yang luar biasa untuk menyelesaikan sebagian besar aplikasi dan proyek kecerdasan buatan yang umum. Teknologi ini memungkinkan kita menyelesaikan tugas pemrosesan citra dan pemrosesan bahasa alami dengan akurasi tinggi.

Penting bagi semua pengembang andal untuk tetap mengikuti tren yang muncul karena model yang populer hari ini mungkin tidak lagi populer atau bukan pilihan terbaik di masa mendatang.

Karena itu, penting untuk terus belajar dan menambah pengetahuan, karena dunia kecerdasan buatan adalah petualangan penuh kegembiraan dan perkembangan teknologi baru. Salah satu cara terbaik untuk tetap terbarui adalah dengan melihat Deep Learning in Python Skill track dari DataCamp untuk mencakup topik termasuk TensorFlow dan Keras serta Deep Learning with PyTorch untuk mempelajari lebih lanjut tentang PyTorch. Anda juga dapat melihat kursus AI Fundamentals untuk pengantar yang lebih ringan. Yang pertama membantu membuka potensi besar proyek deep learning, sementara yang kedua membantu memantapkan fondasi.


Bharath K's photo
Author
Bharath K
LinkedIn

Senang mengeksplorasi dan mempelajari konsep baru. Saya sangat tertarik pada kecerdasan buatan, deep learning, robot, dan alam semesta. Saya juga menulis artikel tentang Python, Machine Learning, Deep Learning, NLP, dan AI.

Topik
Deep Learning

Pelajari topik-topik yang disebutkan dalam tutorial ini!

Kursus

Pengantar Deep Learning dengan Python

4 jam
264.8K
Pelajari dasar-dasar jaringan saraf tiruan dan cara membangun model pembelajaran mendalam menggunakan Keras 2.0 dalam Python.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

Lihat SelengkapnyaLihat Selengkapnya