یادگیری ماشین با پایتون: پروژه تشخیص تصویر برای مبتدیها 🤖👁️
وقتی به هوش مصنوعی (AI) فکر میکنیم، اغلب تصاویری از خودروهای خودران تسلا یا سیستمهای تشخیص چهره در فیلمهای علمی-تخیلی به ذهنمان میآید. اما قلب تپنده تمام این تکنولوژیها، مفهومی به نام تشخیص تصویر (Image Recognition) است. شاید تصور کنید که ساختن برنامهای که بتواند “ببیند”، نیازمند سالها تجربه و ابرکامپیوترهای قدرتمند است. اما به لطف پایتون (Python) و کتابخانههای قدرتمند یادگیری ماشین آن، شما میتوانید اولین پروژه تشخیص تصویر خود را در کمتر از یک ساعت و روی لپتاپ شخصیتان اجرا کنید. در این راهنما، ما پروژه کلاسیک “سلام دنیا” (Hello World) در بینایی ماشین را پیادهسازی میکنیم: تشخیص دستخط اعداد.
کامپیوترها چگونه میبینند؟ (راز پیکسلها) 🔢
برای ما انسانها، عدد “7” نوشته شده روی کاغذ، یک شکل هندسی است. اما برای کامپیوتر، تصویر چیزی جز یک شبکه از اعداد نیست.
هر تصویر دیجیتال از نقاط ریزی به نام پیکسل تشکیل شده است. در یک تصویر سیاه و سفید، هر پیکسل با یک عدد بین ۰ (کاملاً سیاه) تا ۲۵۵ (کاملاً سفید) نمایش داده میشود.
وظیفه یادگیری ماشین: ما به کامپیوتر هزاران نمونه از عکس عدد “7” (به صورت شبکه اعداد) را نشان میدهیم و میگوییم “این یک 7 است”. الگوریتم به مرور زمان الگوهای ریاضی مشترک بین تمام این شبکههای عددی را پیدا میکند و یاد میگیرد که “7” چه شکلی است.
ابزارهای مورد نیاز: TensorFlow و Keras 🛠️
برای این پروژه، ما از کتابخانه محبوب گوگل یعنی TensorFlow و رابط کاربری ساده آن یعنی Keras استفاده میکنیم. این ابزارها تمام ریاضیات پیچیده (مانند ضرب ماتریسها و مشتقگیری) را در پشت صحنه انجام میدهند تا شما بتوانید روی معماری مدل تمرکز کنید.
مجموعه داده MNIST چیست؟
پروژه ما روی دیتاست معروف MNIST اجرا میشود. این مجموعه شامل ۷۰,۰۰۰ تصویر کوچک (۲۸x۲۸ پیکسل) از اعداد دستنویس (۰ تا ۹) است که توسط دانشآموزان و کارمندان نوشته شدهاند. این دیتاست آنقدر استاندارد است که مستقیماً در داخل کتابخانه Keras وجود دارد و نیازی به دانلود فایل جداگانه نیست.
گامبهگام: ساخت مدل هوش مصنوعی 🚀
۱. بارگذاری و آمادهسازی دادهها
ابتدا دادهها را لود کرده و آنها را “نرمالسازی” میکنیم (اعداد ۰ تا ۲۵۵ را به ۰ تا ۱ تبدیل میکنیم تا سرعت یادگیری مدل بیشتر شود).
import tensorflow as tf
from tensorflow.keras.datasets import mnist
# 1. Load Data
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 2. Normalize (Scale pixel values to be between 0 and 1)
x_train, x_test = x_train / 255.0, x_test / 255.0
print(f"Training data shape: {x_train.shape}")
# Output: (60000, 28, 28) -> 60,000 images of 28x28 pixels
۲. ساخت مغز مصنوعی (Neural Network)
حالا یک مدل ساده میسازیم.
• `Flatten`: تصویر ۲بعدی (۲۸x۲۸) را به یک خط صاف (۷۸۴ عدد) تبدیل میکند.
• `Dense (128)`: یک لایه با ۱۲۸ نورون برای یادگیری الگوها.
• `Dense (10)`: لایه خروجی با ۱۰ نورون (چون ۱۰ عدد از ۰ تا ۹ داریم).
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
۳. آموزش مدل (Training)
با دستور `fit`، مدل شروع به دیدن تصاویر و یادگیری میکند. `epochs=5` یعنی ۵ بار کل کتاب (۶۰ هزار عکس) را مرور کن.
# Train the model
model.fit(x_train, y_train, epochs=5)
# Evaluate accuracy
model.evaluate(x_test, y_test, verbose=2)
تبریک میگوییم! با اجرای کد بالا، شما مدلی خواهید داشت که احتمالاً با دقت بالای ۹۷٪ میتواند دستخط اعداد را تشخیص دهد.
جمعبندی: از اینجا به کجا برویم؟ ✅
این پروژه ساده، دروازه ورود به دنیای بیکران یادگیری ماشین است. همان اصولی که برای تشخیص عدد “7” استفاده کردید (آمادهسازی داده، ساخت لایهها، آموزش)، دقیقاً همان اصولی هستند که برای تشخیص تومورهای سرطانی در تصاویر پزشکی یا تشخیص عابران پیاده در خودروهای خودران استفاده میشوند. تفاوت تنها در پیچیدگی مدل و حجم دادههاست. یادگیری عمیق پایتون و کتابخانههایی مانند TensorFlow، مهارتی است که آینده شغلی شما را تضمین میکند و در دورههای پیشرفته آموزش پایتون و هوش مصنوعی در آموزشگاه البرز به صورت تخصصی تدریس میشود.
آینده را با دستان خود کدنویسی کنید! 💻
هوش مصنوعی دیگر یک رویا نیست. با یادگیری پایتون و اصول یادگیری ماشین، میتوانید مدلهایی بسازید که میبینند، میشنوند و تصمیم میگیرند.
- ✅ آموزش پایتون از مقدماتی تا پیشرفته
- ✅ کار عملی با کتابخانههای هوش مصنوعی (TensorFlow, Keras)
- ✅ انجام پروژههای واقعی تشخیص تصویر و پردازش داده
ثبتنام در دوره پایتون و یادگیری ماشین













