✅ 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