Skip to toolbar
home Artificial Intelligence, Machine Learning Apa Perbedaan Artificial Intelligence, Machine Learning & Deep Learning? Simak di sini

Apa Perbedaan Artificial Intelligence, Machine Learning & Deep Learning? Simak di sini

Di zaman teknologi sekarang ini, pastilah kita sudah tidak asing dengan istilah tentang ketiga bidang ilmu yaitu Artificial Intelligence, Machine Learning dan Deep Learning. Ketiga ilmu dasar ini memuat banyak sekali algoritma-algoritma yang bisa digunakan dalam banyak kasus loh, contohnya dengan machine learning dan deep learning kita bisa menentukan dan mendeteksi virus corona yang sedang melanda seluruh dunia saat ini loh.

1. Artificial Intelligence (Kecerdasan Buatan)

Kecerdasan buatan adalah studi tentang teori dan pengembangan system komputer agar mampu melakukan tugas-tugas yang dahulu hanya dapat dilakukan oleh manusia. Seperti membedakan berbagai gambar, menjawab pertanyaan, mengenali dan menerjemahkan bahasa dan sebagainya [1].

AI mempelajari bagaimana membuat komputer melakukan sesuatu pada suatu kejadian/peristiwa yang mana orang melakukannya dengan baik [2]. Komputer atau mesin cukup bagus untuk melakukan hal-hal seperti menyelesaikan permasalahan yang cepat dan mengerjakan secara akurat apa-apa yang sudah diprogram oleh programmer.

Secara garis besar, AI terbagi ke dalam dua paham pemikiran yaitu: AI Konvensional dan Kecerdasan Komputasional (CI, Computational Intelligence). AI dalam melakukan aplikasi kecerdasan buatan ada 2 bagian utama yang sangat dibutuhkan, yaitu:

a. Basis Pengetahuan (Knowledge Base), berisi fakta-fakta, teori, pemikiran dan hubungan antara satu dengan lainnya.

b. Motor Inferensi (Inference Engine), yaitu kemampuan menarik kesimpulan berdasarkan pengalaman.

Kecerdasan buatan (AI) telah dikembangkan selama 40 tahun. Hingga saat ini ada banyak aplikasi-aplikasi yang diimplementasikan dari AI . Beberapa implementasi dan apa saja yang dikerjakan dalam bagian-bagian AI berikut ini

· Robotics : Difokuskan pada produksi alat-alat mekanik yang dapat mengendalikan gerak.

· Speech Processing : Bertujuan pada pengenalan dan sintesa pembicaraan manusia.

· Machine Learning : Pembautan program-program bermain permainan.

· Neural Network atau Parallel Distributed : Teknik-teknik terbaik untuk mempresentasikan pengetahuan dan merancang jaringan syaraf tiruan.

Image for post

Input-Output Model untuk Artificial Intelligence

2. Machine Learning

Machine Learning mempelajari bagaimana sebuah mesin atau komputer dapat berjalan dari pengalaman atau bagaimana cara memprogram mesin untuk dapat belajar. Machine learning membutuhkan data untuk belajar sehingga biasa juga diistilahkan dengan learn from data[3]. Machine learning merupakan implementasi dari AI. Machine learning memerlukan sebuah model yang didefinisikan berdasarkan parameter-parameter tertentu. Proses learning adalah eksekusi program komputer untuk mengoptimasi parameter-parameter dari model tersebut, dengan memanfaatkan data training atau past experience.

Saat ini, sudah ada puluhan (mungkin juga ratusan) algoritma machine learning yang dikembangkan oleh peneliti untuk berbagai tujuan. Harus dimaklumi bahwa persoalan riil yang memerlukan dukungan machine learning sangatlah banyak. Sehingga tidak ada sebuah algoritma machine learning yang dapat menjawab seluruh persoalan riil. Sebuah algoritma machine learning mungkin unggul untuk menyelesaikan satu kasus tertentu, namun kurang sesuai dengan kasus yang lain. Secara umum algoritma machine learning dapat dikelompokkan menjadi 2 kategori, yaitu Supervised learning dan Unsupervised learning.

A. Supervised Learning

Image for post

Relationship Machine Learning

Sebagian besar praktik machine learning mengandalkan algoritma supervised learning. Algoritmanya dinamakan seperti ini karena training dataset (sekumpulan data untuk training) akan memandu dan mengajari komputer agar menghasilkan outcome sesuai harapan[1].

Pada supervise learning kita menggunakan sebuah algoritma untuk mempelajari mapping function antara input dengan output. Berbagai kemungkinan output sudah diketahui dan data-data yang digunakan untuk latihan (training) sudah diberi label dengan jawaban yang benar. Supervised learning dapat bermanfaat untuk memprediksi sesuatu dengan bantuan training dataset. Supervise learning menggunakan training data yang sudah diberi label untuk mempelajari mapping function, dari input variabel (x) ke output variabel (y) dimana rumus y = f(x).

Berbagai algoritma yang tergolong dalam kategori linear regression, logistic regression, multi-class classification, support vector machines, dapat dikelompokkan dalam kategori supervised learning. Permasalahan-permasalahan yang terkait dengan supervised learning dapat dikategorikan menjadi dua jenis:

Classification

Classification bertujuan untuk memprediksi outcome dari input (sample yang diberikan), dimana output variable berbentuk kategori-kategori. Contoh : mobil/motor, pria/wanita dll.

Regression

Regression bertujuan untuk memprediksi outcome dari input (sampel yang diberikan), dimana output variabel berbentuk nilai aktual (real values). Contoh: tinggi badan seseorang, curah hujan dsb.

Ada beberapa algoritma yang sudah dikembangkan dan terkait dengan supervised learning, di antaranya Decision tree, Naive Bayes Classifier, Artificial Neural Network, Support Vector Machine, Linear Regression, Logistic Regression, CART, Naive Bayes Classifier, KNN (K-Nearest Neighbor).

B. Unsupervised Learning

Berbeda dengan supervised learning, pada unsupervised learning persoalan diproses hanya mengandalkan data yang belum dilatih sebelumnya. Unsupervised learning menggunakan unlabeled training dataset untuk memodelkan struktur dari data. Sehingga unsupervised learning bersifat lebih subjektif dibandingkan supervised learning. Algoritma ini mempunyai tujuan untuk mempelajari dan mencari pola-pola menarik pada masukan yang diberikan [4].

Unsupervised learning bermanfaat untuk kasus-kasus dimana kita ingin menemukan relasi implisit (implicit relationships) dari unlabeled dataset yang disediakan. Jadi pada unsupervised learning kita tidak memprediksi masa depan. Sebab input variabel (X) tidak memiliki relasi dengan output variabel (Y) dengan rumus f(X). Kondisi non relasi tersebut sering disebut Clustering.

Permasalahan seputar unsupervised learning dapat dikelompokkan menjadi tiga kategori, yaitu :

Association

Association bertujuan untuk menemukan peluang (probabilitas) berdasarkan keterkaitan (co-occurence) dari item-item dalam sebuah kumpulan. Sebagai contoh, jika customer membeli teh celup maka kemungkinan besar (sekitar 80%) customer juga membeli gula pasir. Association banyak digunakan dalam market-basket analysis.

Clustering

Clustering bertujuan untuk mengelompokkan sample dalam cluster yang sama berdasarkan kemiripan (similiarity).

Dimensionallity Reduction

Dimensionallity Reduction berarti mengurangi sejumlah variabels dari dataset namun tetap memastikan informasi yang penting masih tersedia. Dimensionallity Reduction dapat diwujudkan menggunakan metode :

Feature Extraction

Melakukan transformasi data dari dimensi tinggi (a high dimensional space) ke dimensi yang lebih rendah (a low dimensional space).

Feature Selection.

Memilih sebagian saja (subset) dari variabel asal (original variables)

Beberapa algoritma yang dikelompokkan dalam Unsupervised learning antara lain K-Means, Hiearchical Clustering, DBSCAN, Fuzzy C-Means dan Self-Organizing Map

3. Deep Learning

Sejarah deep learning dimulai pada tahun 2006, yaitu setelah Geoffrey Hinton mempublikasikan paper yang memperkenalkan salah satu varian neural network yang disebut deep belief nets. Paper ini merupakan awal kemunculan istilah deep learning, untuk membedakan arsitektur neural network konvensional (single layer) dengan arsitektur neural network multi/banyak layer [1].

Deep Learning adalah salah satu cabang machine learning yang menggunakan Deep Neural Network untuk menyelesaikan permasalahan pada domain machine learning. Sayangnya ide deep learning masih belum populer di waktu itu, disebabkan algoritma deep learning sangat kompleks, sehingga membutuhkan komputer dengan spesifikasi tinggi yang belum dapat dipenuhi saat itu.

Image for post

Arsitektur AI, ML dan Deep Learning

Pada tahun 2009, Andrew memperkenalkan penggunaan GPU untuk deep learning melalui paper yang berjudul Large-scale Deep Unsupervised Learning using Graphics Processors. Dengan menggunakan GPU, algoritma deep learning dapat dijalankan lebih cepat dibanding dengan tanpa GPU (hanya menggunakan GPU). Perkembangaan deep learning maju pesat berkat keberadaan hardware yang memadai. Dan saat ini, deep learning sudah banyak diaplikasikan di berbagai area, seperti pengenal wajah, self-driving car, pengenal suara dll [2].

Bentuk diagram network model deep learning dapat dilihat seperti di bawah ini. Perhatikan bahwa hidden layer hanya digambarkan dua lapis saja. Padahal kenyataannya bisa berjumlah sangat banyak (Misal mencapai ribuan buah).

Image for post

Diagram Network Model Deep Learning

Deep learning sudah dikembangkan ke berbagai model atau arsitektur yang berbeda-beda. Berikut daftar beberapa model atau arsitektur untuk deep learning.

Reccurent Neural Networks (RNN)

Reccurent Neural Network adalah model popular yang sangat menjanjikan untuk mengerjakan tugas sebagai Natural Language Processing (NLP) [3]. Intinya adalah model RNN digunakan agar mesin dapat memahami bahasa manusia. Mulai dari cara berkomunikasi, mendengarkan, mengenali percakapan, hingga memahami tata bahasa dan aksen. RNN dapat diimplementasikan juga untuk mengenali gambar — gambar atau objek.

Image for post

Diagram Reccureent Neural Network

Convolutional Neural Networks (CNN)

Algoritma Convolution Neural Network adalah sebuah MLP (Multi Layer Perceptron) yang didesain secara khusus untuk mengidentifikasi image/gambar dua dimensi. CNN meniru cara kerja otak manusia untuk mengenali objek yang dilihatnya. Dengan bantuan CNN, kini komputer dapat “melihat” dan “membedakan” berbagai objek. Fitur ini disebut Image Recognation.

Secara garis besar CNN tidak jauh berbeda dengan neural network biasa. CNN terdiri dari neuron-neuron yang memiliki weight, bias dan activation function. Sedangkan algoritma CNN secara sederhana dapat dijelaskan sebagai berikut:

1. Membaca dataset berupa gambar (input game)

2. Memecah gambar menjadi beberapa gambar berukuran kecil (exract region)

3. Melakukan perhitungan dengan algoritma CNN (compute CNN feature)

4. Melakukan klasifikasi (class)

Image for post

CNN Architecture

Haar Hascade

Salah satu algoritma yang dapat digunakan dalam mendeteksi wajah adalah Haar Cascade Classifier. Haar Cascade Classifier atau Haar Like Fiture atau algoritma Viola-Jones merupakan suatu algoritma yang biasa digunakan untuk mendeteksi objek pada citra digital, salah satunya adalah wajah. Haar like fiture adalah suatu fitur berbentuk persegi (rectangular fitures) yang memberikan indikasi secara spesifik pada sebuah citra. Nama haar berasal dari suatu fungsi matematika yaitu Haar Wavelet. Pada awalnya, algoritma ini digunakan untuk mengolah citra yang dilihat dari nilai RGB pada setiap pikselnya, namun tidak efektif. Kemudian viola- jones mengembangkannya sehingga terbentuk nama haar like fiture.

Image for post

Haar Like Feature

Haar like fiture dikenal juga dengan istilah haar cascade classifier. Konsep yang digunakan pada algoritma ini adalah mendeteksi objek berdasarkan nilai sederhana dari fitur[4]. Setiap fitur terdiri dari warna hitam. Nilai fitur didapatkan dari hasil operasi pengurangan antara nilai piksel pada area hitam dengan nilai piksel pada area putih ataupun sebaliknya. Didalam fitur tersebut berisi piksel-piksel citra dengan jumlah dan nilai tertentu. Salah satu kelebihan dari pendeteksian dengan menggunakan fitur adalah pemrosesannya lebih cepat dibandingkan dengan penggunaan piksel.

Deep Belief Networks (DBN)

Deep Belief Networks merupakan model deep learning yang memanfaatkan tumpukan/stack Restricted Boltzmann Machines (RBM) atau kadangkala Autoencoders. Autoencoder adalah model neural network yang memiliki input dan output yang sama. Autoencoder mempelajari data input dan berusaha untuk melakukan rekonstruksi terhadap data input tersebut.

DBM terdiri atas multiple layers dari latent variables (hidden units), dimana masing-masing RBM layer saling terhubung, namun node intra RBM layer tidak saling terhubung dengan node intra RBM layer tidak saling terhubung dengan node intra RBM lainnya.

You Only Look Once (YOLO)

YOLO merupakan arsitektur deep learning yang masih dibilang terbaru. YOLO merupakan algoritma object detection yang digunakan pada aplikasi ini. YOLO merupakan algoritma berdasarkan pada regression (regresi) dimana alih-alih memilih bagian interistring pada suatu gambar, algoritma ini memprediksi kelas dan bounding box (kotak pembatas) untuk keseluruhan gambar dalam satu proses running algoritma. YOLO biasa digunakan untuk mendeteksi objek secara real time.

Sumber:

Medium

Leave a Reply

Your email address will not be published. Required fields are marked *

* Kode Akses Komentar:

* Tuliskan kode akses komentar diatas: