18. Deep Learning dengan TensorFlow/PyTorch

 

18. Deep Learning dengan TensorFlow/PyTorch

📌 Tujuan:

  • Memahami dan menerapkan Convolutional Neural Networks (CNN) untuk Computer Vision.
  • Menggunakan Recurrent Neural Networks (RNN) untuk Natural Language Processing (NLP).
  • Membangun Speech Recognition & Chatbot AI.

📌 Durasi: 2-3 bulan


1️⃣ Convolutional Neural Networks (CNN) – Computer Vision

📌 Apa itu CNN?
CNN adalah jenis deep learning yang sangat efektif untuk pengolahan gambar.

📌 Kegunaan CNN:
Klasifikasi gambar (misalnya mengenali produk dari foto).
Deteksi objek (misalnya mengenali wajah di kamera).
Segmentasi gambar (misalnya mendeteksi bagian tertentu dari foto).


🔹 Instalasi TensorFlow & PyTorch

pip install tensorflow torch torchvision matplotlib

🔹 Contoh CNN untuk Klasifikasi Gambar dengan TensorFlow

import tensorflow as tf
from tensorflow.keras import layers, models
import matplotlib.pyplot as plt
import numpy as np
import tensorflow_datasets as tfds

# Load dataset CIFAR-10 (gambar 32x32)
(train_ds, test_ds), ds_info = tfds.load('cifar10', split=['train', 'test'], as_supervised=True, with_info=True)

# Preprocessing data
def normalize_img(image, label):
    return tf.cast(image, tf.float32) / 255.0, label

train_ds = train_ds.map(normalize_img).batch(32)
test_ds = test_ds.map(normalize_img).batch(32)

# Model CNN
model = models.Sequential([
    layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
    layers.MaxPooling2D((2, 2)),
    layers.Conv2D(64, (3, 3), activation='relu'),
    layers.MaxPooling2D((2, 2)),
    layers.Flatten(),
    layers.Dense(64, activation='relu'),
    layers.Dense(10, activation='softmax')
])

# Compile & Train
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(train_ds, epochs=5, validation_data=test_ds)

📌 Penjelasan:
Conv2D() → Layer untuk mendeteksi fitur gambar (misalnya tepi, pola).
MaxPooling2D() → Mengurangi ukuran gambar agar lebih efisien.
Dense(softmax) → Menghasilkan probabilitas untuk tiap kategori.

🔥 Selanjutnya: Terapkan CNN untuk mendeteksi kategori produk di e-commerce!


2️⃣ Recurrent Neural Networks (RNN) & NLP – Chatbot AI

📌 Apa itu RNN?
RNN adalah model deep learning yang digunakan untuk memproses data berurutan seperti teks dan suara.

📌 Kegunaan RNN dalam NLP:
Speech Recognition → Mengubah suara menjadi teks (misalnya Siri, Google Assistant).
Chatbot AI → Membangun chatbot yang bisa memahami konteks.
Machine Translation → Menerjemahkan bahasa otomatis (misalnya Google Translate).


🔹 Contoh Chatbot AI dengan TensorFlow (RNN)

import tensorflow as tf
from tensorflow.keras.preprocessing.sequence import pad_sequences
from tensorflow.keras.preprocessing.text import Tokenizer
import numpy as np

# Dataset chatbot sederhana
questions = ["Halo", "Apa kabar?", "Siapa namamu?", "Terima kasih"]
answers = ["Halo!", "Saya baik, terima kasih!", "Saya chatbot AI!", "Sama-sama!"]

# Tokenisasi teks
tokenizer = Tokenizer()
tokenizer.fit_on_texts(questions + answers)
vocab_size = len(tokenizer.word_index) + 1

# Konversi teks ke angka
X = tokenizer.texts_to_sequences(questions)
Y = tokenizer.texts_to_sequences(answers)
X = pad_sequences(X, maxlen=5)
Y = pad_sequences(Y, maxlen=5)

# Model RNN sederhana untuk chatbot
model = tf.keras.Sequential([
    tf.keras.layers.Embedding(input_dim=vocab_size, output_dim=8, input_length=5),
    tf.keras.layers.SimpleRNN(16, return_sequences=True),
    tf.keras.layers.Dense(vocab_size, activation='softmax')
])

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(X, np.array(Y), epochs=100)

📌 Penjelasan:
Embedding() → Mengubah teks menjadi representasi numerik.
SimpleRNN() → Layer untuk memproses teks berurutan.
Dense(softmax) → Memprediksi kata berikutnya berdasarkan input.

🔥 Selanjutnya: Gunakan model LSTM atau Transformer untuk chatbot lebih canggih!


3️⃣ Speech Recognition dengan Deep Learning

📌 Apa itu Speech Recognition?
Speech Recognition memungkinkan komputer mengenali dan memahami ucapan manusia.

📌 Kegunaan Speech Recognition:
Asisten Virtual (Alexa, Google Assistant, Siri).
Voice Commands untuk aplikasi AI.
Transkripsi otomatis dari suara ke teks.


🔹 Instalasi Library Speech Recognition

pip install speechrecognition pyaudio

🔹 Contoh Speech Recognition dengan Python

import speech_recognition as sr

# Inisialisasi recognizer
recognizer = sr.Recognizer()

# Gunakan mikrofon untuk mendeteksi suara
with sr.Microphone() as source:
    print("Silakan bicara...")
    audio = recognizer.listen(source)

# Konversi suara ke teks
try:
    text = recognizer.recognize_google(audio, language="id-ID")
    print(f"Anda berkata: {text}")
except sr.UnknownValueError:
    print("Maaf, saya tidak mengerti.")
except sr.RequestError:
    print("Error dalam permintaan ke Google Speech Recognition API.")

📌 Penjelasan:
speech_recognition.Recognizer() → Menggunakan AI untuk mengenali suara.
recognizer.listen() → Merekam suara dari mikrofon.
recognizer.recognize_google() → Menggunakan Google Speech API untuk mengubah suara ke teks.

🔥 Selanjutnya: Gunakan Speech-to-Text AI untuk chatbot suara!


📌 Kesimpulan

CNN → Digunakan untuk klasifikasi & deteksi gambar (misalnya mendeteksi kategori produk).
RNN & NLP → Digunakan untuk chatbot & pemrosesan teks (misalnya AI customer service).
Speech Recognition → Mengubah suara menjadi teks (misalnya voice assistant).

🚀 Selanjutnya: Gunakan AI ini dalam aplikasi e-commerce & marketplace otomatis! 🔥

Tidak ada komentar:

Posting Komentar