در این پست وبلاگ، به پیادهسازی یک شبکه عصبی ساده در TensorFlow در پایتون خواهیم پرداخت. TensorFlow یک کتابخانه محاسباتی و یادگیری عمیق متنباز است که توسط گوگل توسعه داده شده است و به کمک آن میتوان شبکههای عصبی را پیادهسازی و آموزش داد.
در ابتدا، دادههای ورودی و خروجی شبکه عصبی را تعریف میکنیم. سپس، مدل شبکه عصبی را با استفاده از کلاس Sequential در TensorFlow تعریف میکنیم. در این مدل، یک لایه ورودی با 3 نورون، یک لایه مخفی با 4 نورون و یک لایه خروجی با 1 نورون تعریف میشود.
import tensorflow as tf import numpy as np # Input data X = np.array([ [0, 0, 1], [0, 1, 1], [1, 0, 1], [1, 1, 1]]) # Output data y = np.array([[0, 1, 1, 0]]).T # Define model model = tf.keras.Sequential([ tf.keras.layers.Dense(4, input_dim=3, activation='sigmoid'), tf.keras.layers.Dense(1, activation='sigmoid') ])
سپس، پارامترهای آموزش شبکه عصبی را تعریف میکنیم. در اینجا، تابع هزینهی binary cross-entropy برای محاسبه خطای شبکه و الگوریتم بهینهساز Adam برای بهروزرسانی وزنها استفاده میشود.
# Define training parameters model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # Train the model model.fit(X, y, epochs=60000, batch_size=4, verbose=0)
در نهایت، با استفاده از مدل آموزش دیده، خروجی شبکه برای ورودیهای جدید پیشبینی میشود.
# Make predictions predictions = model.predict(X)
با این کار، یک شبکه عصبی ساده با استفاده از TensorFlow پیادهسازی شد. TensorFlow بسیاری از ابزارهای مفید برای تحلیل و بهینهسازی شبکهای عصبی دارد و میتواند در پروژههای مختلف از جمله تشخیص تصویر، پردازش زبان طبیعی و تشخیص گفتار استفاده شود.