تصور کنید به کودک آموزش می دهید که انواع مختلف میوه ها را تشخیص دهد. شما به آنها یک سیب نشان می دهید و می گویید: “این یک سیب است.” کودک به رنگ، شکل و اندازه آن نگاه می کند تا به یاد بیاورد که سیب چه شکلی است. دفعه بعد که میوه مشابهی را می بینند، از آنچه یاد گرفته اند استفاده می کنند تا آن را به عنوان یک سیب شناسایی کنند. در اصل، این نحوه یادگیری یک شبکه عصبی است.

شبکه عصبی چیست؟

یک شبکه عصبی مجموعه ای از الگوریتم ها است که سعی می کند روابط اساسی را در مجموعه ای از داده ها از طریق فرآیندی که عملکرد مغز انسان را تقلید می کند، تشخیص دهد. به این ترتیب، شبکه های عصبی به سیستمهای نورونها، چه ارگانیک و چه مصنوعی در طبیعت اشاره میکنند.

لایه ها

بلوک های ساختمان یک شبکه عصبی از لایه ها تشکیل شده است:

1. لایه ورودی: این جایی است که شبکه ورودی خود را از دنیای خارجی دریافت می کند، شبیه به کودکی که به میوه نگاه می کند.

2. لایه های پنهان: اینها لایه هایی از توابع ریاضی هستند که هر کدام برای تولید یک خروجی خاص برای یک نتیجه در نظر گرفته شده طراحی شده اند. مثل این است که مغز کودک ویژگی های میوه را پردازش می کند.

3. لایه خروجی: این جایی است که تصمیم یا پیش بینی نهایی انجام می شود، مانند کودک که می گوید: “این یک سیب است.

نورون ها: واحدهای پردازش

هر لایه از واحدهای اساسی به نام نورون یا گره تشکیل شده است، شبیه به نورون های مغز انسان. هر نورون در یک لایه به نورونهای لایه بعدی متصل میشود. قدرت اتصال بین نورونها با وزنها تعریف میشود.

پرسپترون

در مقابل نورون اصطلاحات «پسرون» و «نورون» در زمینه یادگیری ماشین و شبکه های عصبی مصنوعی اغلب باعث سردرگمی میشوند، اما به مفاهیم مرتبط و در عین حال متمایز اشاره میکنند. درک تفاوت بین یک پرسپترون و یک نورون (یا دقیق تر، یک نورون مصنوعی) در درک اصول شبکه های عصبی و تکامل آنها ضروری است.

پرسپترون

  1. زمینه تاریخی: پرسپترون یکی از اولین و ساده ترین انواع مدل های شبکه عصبی مصنوعی است. این توسط فرانک روزنبلات در دهه 1950 به عنوان مدلی برای وظایف طبقه بندی باینری توسعه یافت.
  2. ساختار: پرسپترون یک شبکه عصبی تک لایه است. این شامل مقادیر ورودی، وزن ها، یک سوگیری (یا آستانه) و یک تابع فعال سازی است. ورودی ها در وزن مربوطه ضرب می شوند، با هم جمع می شوند و سپس بایاس اضافه می شود. نتیجه از طریق یک تابع فعال سازی منتقل می شود، که در مورد Perceptron معمولاً یک تابع مرحله ای است. این تابع خروجی 1 می دهد اگر مجموع بالاتر از یک آستانه خاص باشد و 0 در غیر این صورت.
  3. یادگیری: Perceptron از طریق فرآیندی یاد می گیرد که در آن وزن ها را بر اساس خطای خروجی در مقایسه با نتیجه مورد انتظار تنظیم می کند. این فرآیند به طور مکرر در مجموعه داده آموزشی تکرار می شود تا زمانی که پارامترهای مدل (وزن ها) بهینه شوند.
  4. محدودیت ها: Perceptron فقط می تواند مسائل قابل جداسازی خطی را حل کند (که در آن یک خط می تواند کلاس ها را از هم جدا کند). نمی تواند مسائل غیر خطی را حل کند (مانند مسئله XOR)، که یک محدودیت قابل توجه است.
نورون (نرون مصنوعی)
  1. مبانی مفهومی: یک نورون مصنوعی یک تابع ریاضی است که به عنوان مدلی از نورون های بیولوژیکی تصور می شود. نورون های مصنوعی واحدهای اساسی در یک شبکه عصبی مصنوعی هستند.
  2. ساختار: مشابه پرسپترون، یک نورون مصنوعی ورودی ها را دریافت می کند، دارای وزن، سوگیری است و از یک تابع فعال سازی استفاده می کند. با این حال، انتخاب توابع فعال سازی متنوع تر است (به عنوان مثال، سیگموئید، tanh، ReLU) و به نورون اجازه می دهد تا روابط غیر خطی را مدل کند.
  3. بخشی از شبکه های بزرگتر: برخلاف پرسپترون، که معمولاً به یک شبکه تک لایه اشاره می کند، نورون های مصنوعی به عنوان بلوک های ساختمانی برای شبکه های چند لایه (همچنین به عنوان پرسپترون های چند لایه نیز شناخته می شوند، علیرغم اینکه از نورون ساخته شده اند، نه پرسپترون در شبکه) استفاده می شود. حس اصلی). این شبکه‌ها می‌توانند لایه‌های پنهانی بین لایه‌های ورودی و خروجی داشته باشند که به آنها اجازه می‌دهد الگوهای پیچیده را ثبت کنند و مسائل غیر خطی را حل کنند.
  4. یادگیری و پیچیدگی: در شبکه‌هایی که از نورون‌های مصنوعی تشکیل شده‌اند، الگوریتم‌های یادگیری (مانند انتشار پس‌باز همراه با نزول گرادیان) وزن‌ها و بایاس‌های نورون‌ها را در همه لایه‌ها تنظیم می‌کنند، نه فقط لایه خروجی، مانند مورد Perceptron. این مدل را قادر می سازد تا از مجموعه داده های بسیار پیچیده تری بیاموزد.

به طور خلاصه، پرسپترون یک شبکه عصبی تک لایه است و می تواند به عنوان یک نوع خاص از نورون مصنوعی با یک تابع مرحله به عنوان تابع فعال سازی آن دیده شود. در مقابل، یک نورون مصنوعی یک مفهوم کلی تر است و می تواند بخشی از شبکه های عصبی پیچیده تر و چند لایه ای باشد که قادر به حل مسائل غیر خطی هستند. تکامل از ایده Perceptron به شبکه های عصبی مصنوعی نشان دهنده پیشرفت قابل توجهی در زمینه شبکه های عصبی و یادگیری ماشین است.

وزن: استحکام اتصالات

وزن ها در یک شبکه عصبی اجزای اصلی یادگیری هستند. آنها تأثیر یک نورون بر دیگری را تعیین می کنند. در مثال میوه ما، وزن می تواند این باشد که کودک برای تصمیم گیری در مورد سیب بودن یا نبودن یک شی چقدر رنگ یا شکل یک شی را در نظر می گیرد.

در ابتدا این وزن ها به صورت تصادفی تنظیم می شوند. از طریق فرآیند یادگیری، شبکه این وزن ها را بر اساس نتیجه پیش بینی های خود تنظیم می کند.

تعصب: تصمیم گیرنده

سوگیری مانند نظر شخصی یک نورون است. این به نورون اجازه می دهد تا با تنظیم سطحی که در آن فعال می شود تصمیم بگیرد. این مانند ترجیح شخصی کودک برای ویژگی های خاص یک میوه است (مثلا ترجیح دادن قرمز به سیب سبز).

توابع فعال سازی: تصمیم گیری

توابع فعال سازی در یک نورون تعیین می کند که آیا باید فعال شود یا خیر، تصمیم گیری را بر اساس مجموع وزنی ورودی ها و بایاس انجام می دهد. این مانند فرآیند فکری کودک است که نتیجه می گیرد: “اگر این میوه قرمز، گرد و دارای ساقه است، پس احتمالا یک سیب است.”

آموزش: فرآیند یادگیری

در طول فرآیند آموزش، شبکه پیش‌بینی می‌کند، آن‌ها را با پاسخ‌های صحیح مقایسه می‌کند و وزن‌ها و سوگیری‌های خود را تنظیم می‌کند تا پیش‌بینی‌هایش دقیق‌تر شود. این کار از طریق فرآیندی به نام پس انتشار انجام می شود .

  1. انتشار رو به جلو : داده ها از ورودی به لایه خروجی جریان می یابد و شبکه پیش بینی می کند.
  2. پس انتشار : شبکه پیش‌بینی خود را با نتیجه واقعی مقایسه می‌کند و وزن‌ها و سوگیری‌ها را تنظیم می‌کند تا پیش‌بینی دقیق‌تر شود.
توابع هزینه: سنجش موفقیت

تابع هزینه روشی برای اندازه‌گیری عملکرد شبکه عصبی در پیش‌بینی است. مثل این است که کودک فهمید، “من اسمش را گذاشتم موز، اما سیب بود، بنابراین خیلی دور بودم.” سپس شبکه از این اطلاعات برای تنظیم وزن‌ها و سوگیری‌های خود استفاده می‌کند و هدف آن کاهش هزینه (یا خطا در پیش‌بینی‌هایش) تا حد امکان است.

یادگیری عمیق: عمیق تر رفتن

یادگیری عمیق شامل شبکه های عصبی با لایه های پنهان بسیاری است که به آنها امکان می دهد الگوها و نمایش های بسیار پیچیده ای را بیاموزند. مثل این است که کودک در حال بزرگ شدن به یک متخصص میوه تبدیل شود که می تواند صدها میوه مختلف را تشخیص دهد، نه فقط سیب و موز.

یک مثال واقعی دیگر

قبل از رفتن به پایتون، بیایید این مفهوم را با مقایسه یک شبکه عصبی با سرآشپزی که دستور پخت عالی لیموناد را می‌آموزد، ساده کنیم.

عناصر:
  • ورودی ها : مانند مواد تشکیل دهنده (لیمو، شکر، آب) هستند.
  • وزن ها : این ها را به عنوان نسبت هر عنصر تصور کنید. در ابتدا، سرآشپز بهترین نسبت را نمی‌داند، بنابراین با یک حدس شروع می‌کند (این مقدار اولیه‌سازی تصادفی وزن‌ها است).
  • سوگیری ها : اینها تنظیمات یا ترفندهایی هستند که ممکن است سرآشپز ترجیح دهد، مانند افزودن مقداری شکر بیشتر زیرا شیرین تر آن را دوست دارد (این سوگیری در یک نورون است).
فرآیند دستور غذا:
  • نورون : هر مرحله از دستور العمل مانند یک نورون است که ورودی ها را پردازش می کند. به عنوان مثال، لیمو را فشار دهید، سپس شکر و سپس آب اضافه کنید.
  • عملکرد فعال سازی : این تابع تصمیم می گیرد که آیا سرآشپز باید به مرحله بعدی دستور غذا برود یا خیر. اگر لیمو به اندازه کافی فشرده نشود (ورودی به اندازه کافی قوی نباشد)، نورون “فعال” نمی شود و سرآشپز به افزودن شکر ادامه نمی دهد.
جلسه چشایی (فرآیند یادگیری):
  • انتشار به جلو : سرآشپز با حدس اولیه خود یک دسته لیموناد درست می کند و آن را می چشد.
  • تابع هزینه : این مانند جوانه های چشایی سرآشپز است که به او می گویند لیموناد چقدر با کامل فاصله دارد (این نشان دهنده اشتباه در پیش بینی ها است).
  • تکثیر پشت سر : بر اساس ذائقه، سرآشپز به عقب برمی گردد و نسبت ها (وزن ها) و ترفندهای شخصی خود (سوگیری ها) را تنظیم می کند. شاید آب کمتر یا شکر بیشتری اضافه کند.
آموزش:
  • دوره ها : هر دسته از لیموناد مانند یک “دوران” است. سرآشپز یک دسته درست می کند، آن را می چشد (هزینه را محاسبه می کند)، و دستور غذا را تنظیم می کند. با هر دسته جدید، او بیشتر می آموزد که چه چیزی کار می کند و چه چیزی کار نمی کند.
  • میزان یادگیری : تصور کنید سرآشپز مراقب است که دستور غذا را به شدت بین دسته ها تغییر ندهد. او هر بار مقدار مواد تشکیل دهنده را تغییر می دهد. این میزان یادگیری است – میزان تنظیم وزن ها/سوگیری ها در طول تمرین را کنترل می کند.
کامل کردن لیموناد (همگرایی):
  • پس از چند دوره (دوران)، تنظیمات کوچکتر و کوچکتر می شوند زیرا لیموناد شروع به طعم بهتر و بهتر می کند. در نهایت، سرآشپز دستور پخت کامل را پیدا می کند و وزن ها و سوگیری ها دیگر نیازی به تغییر ندارند. شبکه عصبی ” همگرا ” شده است.

به طور خلاصه، همانطور که سرآشپز ما دستور العمل خود را برای یافتن طعم عالی تنظیم می کند، یک شبکه عصبی وزن و سوگیری های خود را تنظیم می کند تا خطا در پیش بینی های خود را به حداقل برساند. تابع فعال سازی داده ها را از طریق شبکه جابه جا می کند و تابع هزینه به آن می گوید که “دستور العمل” فعلی آن چقدر خوب است. از طریق تکرارهای زیاد، بهترین “دستور العمل” را برای پیش بینی ها پیدا می کند.

مثال ساده شبکه عصبی

در آموزش زیر، یک شبکه عصبی ساده با یک لایه ورودی، یک لایه پنهان و یک لایه خروجی را مرور خواهیم کرد. ما از تابع فعال سازی ReLU برای لایه پنهان استفاده می کنیم و هر مرحله را با اعداد و محاسبات نشان می دهیم.

مثال پایتون

TensorFlow و Keras ایجاد و آموزش شبکه های عصبی را کاملاً ساده می کنند. در زیر یک مثال ساده پایتون با استفاده از TensorFlow 2 و Keras برای ایجاد یک شبکه عصبی است که یاد می گیرد نقاط را به عنوان داخل یا خارج از یک دایره طبقه بندی کند – یک مشکل طبقه بندی باینری.

فرض کنید نقاطی در یک صفحه دوبعدی داریم، و می‌خواهیم شبکه‌مان یاد بگیرد که اگر نقطه‌ای در داخل دایره واحد با مرکز مبدأ (0,0) و 0اگر بیرون باشد، بازگردد.

ابتدا باید TensorFlow را نصب کنیم. شما می توانید این کار را با استفاده از pip:

pip install tensorflow

حالا، بیایید شبکه عصبی خود را ایجاد کنیم:

import numpy as np
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.optimizers import SGD

# Generate random data points
np.random.seed(0)
points = np.random.normal(0, 1, (5000, 2))
labels = np.where(np.linalg.norm(points, axis=1) < 1, 1, 0)  # 1 inside the circle, 0 outside

# Define a simple Sequential model
model = Sequential([
    Dense(4, input_dim=2, activation='relu'),  # Input layer with 2 inputs, hidden layer with 4 neurons
    Dense(1, activation='sigmoid')  # Output layer with 1 neuron
])

# Compile the model - binary crossentropy is used since it's a binary classification problem
model.compile(loss='binary_crossentropy', optimizer=SGD(lr=0.1), metrics=['accuracy'])

# Train the model
model.fit(points, labels, epochs=10, batch_size=10)

# Evaluate the model
loss, accuracy = model.evaluate(points, labels)
print(f'Loss: {loss}, Accuracy: {accuracy}')

در این مثال: ما یک مجموعه داده از نقاط تصادفی ایجاد می کنیم و آنها را بر اساس اینکه آیا آنها در داخل یا خارج از دایره واحد هستند، برچسب گذاری می کنیم.

# Generate random data points
np.random.seed(0)
points = np.random.normal(0, 1, (5000, 2))
labels = np.where(np.linalg.norm(points, axis=1) < 1, 1, 0)  # 1 inside the circle, 0 outside
  • ما یک مدل متوالی با یک لایه پنهان حاوی 4 نورون و یک لایه خروجی با 1 نورون تعریف می کنیم.
# Define a simple Sequential model
model = Sequential([
    Dense(4, input_dim=2, activation='relu'),  # Input layer with 2 inputs, hidden layer with 4 neurons
    Dense(1, activation='sigmoid')  # Output layer with 1 neuron
])
  • تابع فعال سازی relu برای لایه پنهان استفاده می شود و سیگموئید برای لایه خروجی از زمانی که ما طبقه بندی باینری را انجام می دهیم استفاده می شود.
  • ما مدل را با یک تابع از دست دادن binary_crossentropy (مناسب برای طبقه بندی باینری) کامپایل می کنیم و از Stochastic Gradient Descent (SGD) به عنوان بهینه ساز ما استفاده می کنیم.
  • سپس مدل عادت شده بر روی داده های ما برای 10 دوره آموزش داده می شود.
  • در نهایت، مدل را ارزیابی می کنیم تا از دست دادن و دقت را ببینیم.

تصویر بالا یک نمایش شماتیک از معماری شبکه عصبی است که توسط تابع plut_model از Keras تولید شده است. ساختار و جریان لایه به لایه مدل را ترسیم میکند. در اینجا چیزی است که هر بخش از شماتیک نشان می دهد:

dense_input (InputLayer):
  • ورودی: این شکل ورودی مورد انتظار برای مدل را نشان می دهد، به استثنای اندازه دسته ای. ([None، 2]) به این معنی است که مدل انتظار دارد داده های ورودی با 2 ویژگی (مانند مختصات x و y یک نقطه).
  • خروجی: شکل خروجی لایه ورودی همان ورودی است زیرا این لایه دادهها را تغییر نمیدهد. فقط ورودی را به لایه بعدی منتقل میکند.
dense (Dense):
  • ورودی: شکل ورودی دریافت شده از لایه قبلی، که 2 ویژگی است که توسط لایه ورودی مشخص شده است.
  • خروجی: این لایه دارای 4 نورون است، همانطور که توسط out نشان داده شده است. The None یک نگهدارنده برای اندازه دسته ای است که می تواند هر تعداد نمونه باشد. هر نورون یک مقدار را خروجی می دهد، بنابراین با 4 نورون، ما یک شکل (None، 4).
dense_1 (Dense):
  • ورودی: شکل ورودی در اینجا از خروجی لایه متراکم قبلی است که 4 (خروجی از 4 نورون) است.
  • خروجی: این لایه خروجی شبکه با یک نورون واحد است، بنابراین شکل خروجی (None، 1). از آنجا که این یک مدل طبقه بندی باینری است، این نورون تنها یک مقدار بین 0 و 1 را خروجی می دهد، که نشان دهنده احتمال وجود یک نقطه داده در داخل دایره واحد است.
In summary, the model consists of:
  • یک لایه ورودی است که ورودی 2 بعدی را می گیرد.
  • یک لایه پنهان با 4 نورون (به طور کامل به لایه ورودی متصل می شود).
  • یک لایه خروجی با 1 نورون (به طور کامل به لایه پنهان متصل می شود) که برای پیش بینی نتیجه باینری استفاده می شود.

بیایید مراحل را با اعداد مثال خاص برای وزنها، بایاسها و توابع فعالسازی طی کنیم. توجه داشته باشید که در یک سناریوی واقعی، این مقادیر در طول آموزش آموخته می شوند، اما ما فقط برخی از اعداد را برای نشان دادن روند تشکیل می دهیم.

راه اندازی یک نمونه مثال:

  • Inputs: The point (0.5, 0.5).
  • Weights: Let’s assume the four neurons in the hidden layer have the following weights:
  • Neuron 1 weights: [0.2, -0.4] with a bias of 0.1
  • Neuron 2 weights: [0.7, 0.3] with a bias of -0.1
  • Neuron 3 weights: [-0.6, 0.6] with a bias of 0.2
  • Neuron 4 weights: [-0.3, 0.8] with a bias of 0.05
  • Output Neuron Weight and Bias: Let’s assume the output neuron has weights [0.5, -0.5, 0.3, -0.2] with a bias of -0.4

محاسبه گام به گام:

اولین محاسبات لایه پنهان:

  • Neuron 1 calculates: (0.5×0.2)+(0.5×−0.4)+0.1=−0.1(0.5×0.2)+(0.5×−0.4)+0.1=−0.1
  • Neuron 2 calculates: (0.5×0.7)+(0.5×0.3)−0.1=0.45(0.5×0.7)+(0.5×0.3)−0.1=0.45
  • Neuron 3 calculates: (0.5×−0.6)+(0.5×0.6)+0.2=0.2(0.5×−0.6)+(0.5×0.6)+0.2=0.2
  • Neuron 4 calculates: (0.5×−0.3)+(0.5×0.8)+0.05=0.35(0.5×−0.3)+(0.5×0.8)+0.05=0.35

تابع فعال سازی RELU:

  • Neuron 1’s output after ReLU:

max⁡(0,−0.1)=0

max(0,−0.1)=0 (since ReLU outputs zero for negative inputs)

  • Neuron 2’s output after ReLU: max⁡(0,0.45)=0.45max(0,0.45)=0.45
  • Neuron 3’s output after ReLU: max⁡(0,0.2)=0.2max(0,0.2)=0.2
  • Neuron 4’s output after ReLU: max⁡(0,0.35)=0.35max(0,0.35)=0.35

محاسبه لایه خروجی:

The inputs to the output neuron are the outputs from the hidden layer after applying the ReLU activation function.

  • The output neuron calculates: (0×0.5)+(0.45×−0.5)+(0.2×0.3)+(0.35×−0.2)−0.4(0×0.5)+(0.45×−0.5)+(0.2×0.3)+(0.35×−0.2)−0.4

تابع فعال سازی Sigmoid:

بیایید ابتدا مقدار وزنی برای نورون خروجی را محاسبه کنیم:

  • Weighted sum = 0−0.225+0.06−0.07−0.4=−0.6350−0.225+0.06−0.07−0.4=−0.635
  • The sigmoid function is applied to this sum:

اکنون، ما فعال سازی سیگموئید را برای دریافت خروجی نهایی محاسبه می کنیم:

import numpy as np

# Calculating the sigmoid activation for the output neuron
weighted_sum = -0.635
output = 1 / (1 + np.exp(-weighted_sum))
output

بیایید این کد را اجرا کنیم تا مقدار خروجی نهایی را پیدا کنیم.

پس از محاسبه فعال سازی سیگموئید برای نورون خروجی، خروجی نهایی تقریباً 0.346 است. این مقدار نشان دهنده احتمال وجود نقطه (0.5 ، 0.5) در داخل دایره با توجه به مدل شبکه عصبی ما است. از آنجا که مقدار کمتر از 0.5 است، مدل این نقطه را به عنوان خارج از دایره طبقه بندی می کند.
لطفا توجه داشته باشید که این یک مثال ساده است و در عمل، شما می توانید داده های خود را به مجموعه های آموزش و اعتبار سنجی تقسیم کنید و احتمالا در یک مجموعه داده جداگانه آزمایش کنید. علاوه بر این، شما ممکن است از تکنیک های مختلف برای بهبود مدل خود مانند اضافه کردن لایه های بیشتر، نورون ها یا استفاده از توابع فعال سازی مختلف استفاده کنید.
انتخاب مدل:
برای وظیفه طبقه بندی نقاط در رابطه با یک دایره، ما با یک مسئله طبقه بندی باینری سر و کار داریم (یک نقطه یا داخل دایره است یا نه). یک شبکه عصبی ساده (همچنین به عنوان یک پرسپترون چند لایه شناخته می شود) قادر به یادگیری این کار طبقه بندی است.
تعداد نورون ها و لایه های پنهان:
انتخاب تعداد نورون ها و لایه های پنهان بیشتر از علم هنر است و اغلب به آزمون و خطا می رسد. با این حال، دستورالعمل های زیر می تواند کمک کند:
• نورون های ورودی: تعداد نورون های ورودی به طور معمول توسط شکل داده های ورودی شما تعیین می شود. در مورد ما، هر نقطه دارای دو مختصات (x, y) است، بنابراین ما دو نورون ورودی داریم.
• نورون های خروجی: از آنجا که این یک مشکل طبقه بندی باینری است، ما از یک نورون خروجی واحد استفاده می کنیم. یک مقدار نزدیک به 1 نشان دهنده داخل دایره است و یک مقدار نزدیک به 0 نشان دهنده خارج است.
• لایه های پنهان و نورون ها: هیچ قانون سختگیرانه ای برای تعداد لایه های پنهان یا نورون ها برای استفاده وجود ندارد. برای مشکلات ساده، یک یا دو لایه پنهان کافی است. تعداد نورونها در یک لایه پنهان اغلب بین اندازه لایه ورودی و لایه خروجی است. تعداد کمی از نورون ها می توانند منجر به کمبود شوند، در حالی که تعداد زیادی از آنها می توانند منجر به بیش برازش شوند. برای این مثال، من از یک لایه مخفی با چهار نورون به عنوان نقطه شروع استفاده کردم.
تابع فعال سازی:
ReLU (واحد خطی اصلاح شده):
• استفاده از تابع فعال سازی ReLU برای لایه های پنهان یک روش معمول است زیرا از نظر محاسباتی کارآمد است و احتمال ناپدید شدن گرادیان ها را در مقایسه با توابع سیگموئید یا تان کاهش می دهد.
• Sigmoid: برای مشکلات طبقه بندی باینری، تابع sigmoid یک انتخاب طبیعی برای لایه خروجی است، زیرا خروجی بین 0 تا 1 را می کشد که می تواند به عنوان یک احتمال تفسیر شود.
آموزش مدل:
  1. مقداردهی اولیه: وزنها به صورت تصادفی نزدیک به صفر مقداردهی اولیه میشوند و بایاس میتواند مقداردهی اولیه به صفر یا مقدار مثبت کوچک شود.
  2. انتشار رو به جلو: داده های ورودی از طریق شبکه منتقل می شوند. هر نورون یک جمع وزنی از ورودی های خود را محاسبه می کند، تعصب را اضافه می کند و تابع فعال سازی را اعمال می کند. برای لایه پنهان با ReLU، این بدان معنی است که اگر جمع وزنی منفی باشد، صفر خروجی خواهد داشت؛ در غیر این صورت، مجموع وزنی خود را خروجی میدهد. لایه خروجی با عملکرد سیگموئید مقداری بین 0 تا 1 خروجی خواهد داد.
  3. محاسبه زیان: تابع از دست دادن binary_crossentropy اندازه گیری می کند که مقادیر پیش بینی شده از برچسب های باینری واقعی چقدر است. این یک انتخاب رایج برای مسائل طبقه بندی باینری است.
  4. پسپرش: شبکه وزنها و بایاسها را در جهت مخالف شیبهای تابع زیان با توجه به وزنها و بایاسها تنظیم میکند. این کار با استفاده از الگوریتم بهینهسازی انجام میشود که در این حالت SGD است.
  5. Epochs: فرایند انتشار رو به جلو، محاسبه تلفات و انتشار برگشتی برای تعداد ثابتی از تکرارها تکرار میشود که به عنوان دورهای شناخته میشوند. پس از هر دوره، مدل باید بهطور ایدهآل وزنها و بایاسهای بهتری را یاد بگیرد تا تلفات به حداقل برسد.
  6. نرخ یادگیری: اندازه گام را در هر تکرار تعیین میکند در حالی که به سمت حداقل تابع زیان حرکت میکند. نرخ یادگیری بیش از حد بالا ممکن است حداقل را بیش از حد نشان دهد، در حالی که نرخ یادگیری بسیار پایین باعث می شود روند یادگیری کندتر شود و احتمالا در حداقل محلی گیر کند.
ساختار و چارچوب های داده های یادگیری عمیق

یادگیری عمیق اساسا در مورد ساخت و آموزش شبکه های عصبی با عمق قابل توجهی از لایه ها برای یادگیری نمایش سلسله مراتبی داده ها است، که امکان حل وظایف پیچیده در ادراک، زبان را فراهم می کند, و بسیاری از دامنههای دیگر. یادگیری عمیق نشان دهنده پیشرفت قابل توجهی در توانایی رایانه ها برای یادگیری از داده ها است و یک فناوری کلیدی در پشت بسیاری از سیستم های هوش مصنوعی است که توسط عموم مردم به عنوان هوشمند درک می شوند.

تنسورها(Tensors)

در یادگیری عمیق، از تانسورها برای نشان دادن داده هایی استفاده می شود که به شبکه های عصبی تغذیه می شوند, و عملیاتی که شبکههای عصبی بر روی این تانسورها انجام میدهند مانند توابع ریاضی هستند که تانسورها را به تانسورهای جدید تبدیل میکنند. شکل و اندازه این تانسورها میتواند بسیار بزرگ باشد، به ویژه هنگام برخورد با مجموعه دادههای پیچیده مانند تصاویر با وضوح بالا یا مدلهای زبانی بزرگ.

 

شبکه عصبی بازگشتی (Recurrent Neural Network) دسته‌ای دیگر از شبکه های عصبی است. به‌صورت خلاصه به این خانواده از شبکه‌ها، شبکه RNN نیز گفته می‌شود. شبکه عصبی بازگشتی برای پردازش داده سری زمانی (Time Series) و داده ترتیبی (Sequential) مناسب است. سهام در بورس و داده‌های متنی (جمله و پاراگراف) به‌ترتیب مثال‌هایی از داده سری زمانی و ترتیبی هستند (شکل 1 و 2). برای شبکه بازگشتی مولفه زمان اهمیت زیادی دارد. درحالی‌که در شبکه MLP و شبکه CNN توجه به مولفه زمانی دیده نمی‌شود.

مثالی از یک داده سری زمانی
شکل 1: مثالی از داده سری زمانی برای شبکه عصبی بازگشتی (نمودار ارزش سهام شرکت تسلا)

 

شکل 2: مثالی از داده ترتیبی در شبکه بازگشتی (پردازش متن NLP)

ساختار شبکه بازگشتی بسیار به شبکه عصبی MLP شبیه هست. بهتر بگویم RNN توسعه یافته MLP است. شبکه RNN، شبکه LSTM و شبکه GRU سه سلبریتی از خانواده شبکه بازگشتی هستند. در این پست می‌خواهم به تشریح عملکرد ساده‌ترین آنها، شبکه RNN بپردازم. درک کارآیی شبکه RNN به شما کمک می‌کند که بهتر LSTM و GRU را بفهمید.

پس درمورد شبکه عصبی بازگشتی دو نکته مهم زیر را به یاد داشته باشید:

  • شبکه بازگشتی به مولفه زمانی اهمیت می‌دهد و مناسب داده‌های مبتنی بر زمان هست.
  • سه شبکه RNN LSTM GRU گل سرسبد خانواده شبکه های بازگشتی هستند.

خب تا اینجا دیدید rnn چیست. در بخش بعدی چند مثال آوردم که با کارکرد rnn آشنا خواهید شد…

آشنایی با شبکه عصبی بازگشتی

در این بخش می‌خواهم با چند مثال ساده شما را با کارکرد شبکه عصبی بازگشتی آشنا کنم. این مثال از من نیست، اما بعد از کلی جستجو و بررسی منابع مختلف این مثال خوب را پیدا کردم (لینک). همان‌طور که در بخش‌های قبل گفتم، RNN توسعه‌یافته‌ای از MLP است. پس با مثال MLP شروع می‌کنم و به RNN می‌رسم. برویم سراغ مثال‌ها…

مثال 1- شبکه عصبی MLP: انتخاب نوع غذا براساس نوع هوا

شکل 3: مثال 1: انتخاب نوع غذا براساس نوع هوا

یک آشپز داریم سه نوع غذا درست می‌کند. در هر روز نوع غذا را بسته به هوای همان روز تعیین می‌کند. روزهای آفتابی مرغ درست می‌کند و روزهای ابری پیتزا می‌پزد. غذای سوم ساندویچ است که فعلا در برنامه نیست! پس خروجیِ ما نوع غذا و ورودی هم نوع هوا است. به‌نظر می‌رسد مساله ساده‌ای است. با یک تابع یا شبکه عصبی MLP ساده می‌توان تعیین کرد که هر روز چه غذایی خواهیم داشت. به شکل زیر نگاه کنید؛ مشاهده می‌کنید که به یک شبکه عصبی ورودی هوا را داده‌ام و در خروجی انتظار دارم که نوع غذا را بدهد. این مساله برای شبکه MLP شوخی هست!

شکل 4: حل مثال 1 با استفاده از شبکه MLP

این شبکه ساده باید وزن‌های نشان داده شده در شکل زیر را داشته باشد. حالا کافی است ورودی را در ماتریس وزن ضرب کنیم تا خروجی نوع غذا را نشان دهد. سه نوع غذا داشتیم و من یک بردار به طول 3 برای غذاها درنظر می‌گیرم. برای نوع هوا هم چون دو نوع هوا داریم یک بردار به طول 2 تعریف کردم. این بردارها را به‌صورت بردار one-hot نشان داده‌ام. حالا هر بردار هوا در ماتریس MLP ضرب می‌شود و به‌راحتی خروجی نوع غذا را مطابق قانون آشپز تعیین می‌کند. خب این مثال چه ربطی به شبکه عصبی بازگشتی دارد؟! در مثال بعدی خواهید دید…

شکل 5: ماتریس وزن معادل با شبکه عصبی MLP

مثال 2- شبکه عصبی بازگشتی: انتخاب نوع غذا براساس غذای دیروز

چرا شبکه عصبی بازگشتی
شکل 6: مثال 2: انتخاب نوع غذا براساس غذای دیروز

حالا، آشپز تصمیم می‌گیرد قوانین را تغییر دهد! آشپز می‌گوید از این به بعد من ترتیبی غذا درست می‌کنم. یک روز پیتزا، یک روز مرغ و یک روز هم ساندویچ و این روند همین‌طور ادامه می‌یابد… نکته اینجاست که غذای امروز به غذای دیروز وابسته است. یعنی اگر دیروز پیتزا داشتیم، امروز حتما مرغ داریم. بنابراین، باید شبکه‌ای داشته باشیم که غذای دیروز را به‌عنوان ورودی بگیرد و در خروجی غذای امروز را بدهد. پس شبکه‌ای خواهیم داشت که خروجی به ورودی وصل است. شکل زیر را ببینید.

شبکه عصبی RNN
شکل 7: تاثیر خروجی بر ورودی در مثال دوم (رگه‌هایی از اهمیت مولفه زمان)

حالا مشابه مثال 1، این مثال را هم می‌خواهم به‌صورت عددی حل کنم. بردار غذاها را مشابه مثال 1 درنظر گرفته‌ام. حالا بجای شبکه عصبی R در شکل بالا، یک ماتریس به‌صورت زیر قرار می‌دهم. به‌راحتی انتخاب غذای هر روز، براساس غذای دیروز انجام می‌شود. در هر مرحله خروجی برمی‌گردد و وارد شبکه R می‌شود و درنهایت غذای خروجی پیش‌بینی می‌گردد. دراینجا اهمیت مولفه زمانی کاملا مشهود است (تاثیر غذای دیروز در انتخاب غذای امروز). به شبکه عصبی بازگشتی نزدیک و نزدیک‌تر می‌شویم! برویم مثال سوم…

شبکه بازگشتی recurrent neural network
شکل 8: یک ماتریس وزن شامل اعداد 0 و 1 معادل با شبکه R

مثال 3- شبکه عصبی بازگشتی: انتخاب نوع غذا براساس غذای دیروز و هوای امروز

مثال شبکه عصبی بازگشتی
شکل 9: مثال 3: انتخاب نوع غذا براساس غذای دیروز و هوای امروز

خب نشانه‌هایی از اهمیت شبکه بازگشتی در مثال 2 مشهود است. اما می‌خواهم مثال را کمی پیچیده‌تر کنم. آشپز بازهم قوانین را تغییر می‌دهد. می‌خواهد هم براساس نوع غذای و هم هوای امروز عمل کند. یعنی ترکیبی از دو مثال قبل… به‌صورت خلاصه قوانین آشپز این‌گونه است:

  • اگر هوا آفتابی باشد، همان غذای دیروز را درست می‌کند.
  • اگر هوا بارانی باشد، براساس همان روند ترتیبی عمل می‌کند که در مثال دوم دیدیم.

در انیمیشن بالا نحوه انتخاب غذای امروز را نشان داده‌ام. به دو نکته مهم دقت کنید. نکته اول اینکه، بازهم باید خروجی را به ورودی وصل کنیم، چون باید بدانیم غذای دیروز چه بوده است. نکته دوم، علاوه‌بر اتصال خروجی به ورودی، باید یک ورودی به‌نام نوع هوا داشته باشیم. براساس این ورودی مشخص می‌شود که غذای امروز چیست. شکل زیر نمایی از شبکه معادل با این مثال را نشان می‌دهد.

شبکه عصبی بازگشتی RNN
شکل 10: نمایی از شبکه پیشنهادی برای حل مثال سوم

شکل بالا، یک شماتیک ساده از شبکه عصبی بازگشتی است. دراینجا ما داده سری زمانی نداریم، اما داده ترتیبی داریم که هربار خروجی حاضر به خروجی قبلی خود وابسته است. پس به‌صورت کلی، شبکه عصبی بازگشتی، خروجی مرحله قبل (t-1) را به‌عنوان ورودی مرحله (t) اثر می‌دهد.

نکته در این مثال دیدید که غذای دیروز و نوع هوا با استفاده از شبکه بازگشتی، غذای امروز را مشخص می‌کند. اما یک سوال؛ موافقید که وقتی صحبت از نام غذای دیروز می‌کنیم، در واقع درحال استفاده از حافظه‌مان هستیم؟ بله، واقعا اینطور است که شبکه بازگشتی حافظه دارد. شبکه عصبی بازگشتی سینه به سینه یک‌سری اطلاعات را در طول زمان انتقال می‌دهد!

در دل شبکه عصبی RNN چه خبر است؟

طبق مثال 3، غذای خروجی باید براساس نوع هوا و غذای دیروز تعیین می‌شود. اما سوال اینجاست که داخل این شبکه RNN چه می‌گذرد؟ این دو ورودی در داخل چه کاری می‌کنند که خروجی نهایی تولید می‌شود؟ خیلی ساده بخواهیم فکر کنیم، طبیعتا خروجی مرحله قبل (غذای دیروز) و ورودی جدید در داخل شبکه RNN باید باهم فعل و انفعالاتی داشته باشند. بریم ببینیم زیرکاپوت چه خبر است…

جزئیات شبکه عصبی بازگشتی

طبیعی است که ما دو ورودی شبکه بازگشتی را به شکلی باید باهم ترکیب کنیم. اما مساله اینجاست که این ورودی‌ها اندازه‌هایشان باهم برابر نیست. غذاها یک بردار به طول 3 و هوا یک بردار به طول 2 است. راه مناسب قرار دادن لایه فولی کانکتد یا همان لایه MLP بر سر راه دو ورودی حافظه و اصلی هست. یعنی یک لایه برای ورودی حافظه و یک لایه برای ورودی اصلی درنظر گرفته شود. حالا اگر این دو لایه تعداد نورون مساوی داشته باشند، خروجی این دو لایه باهم برابر می‌شود. مثلا بیایید برای لایه‌های‌مان 3 نورون درنظر بگیریم. پس خروجی هرکدام برابر با یک بردار به طول 3 خواهد بود. حالا علاوه بر نگاشت به یک فضای جدید، ابعاد این دو بردار باهم برابر شده است. حالا می‌توانیم این دو بردار را باهم جمع کنیم.

تشریح اجزای داخل شبکه عصبی بازگشتی
شکل 11: قرار دادن لایه فولی کانکتد بر سر راه ورودی حافظه و ورودی اصلی

باید دو بردار به طول 3 را با هم درایه به درایه جمع کنیم. یعنی، خروجی جمع باید یک بردار به طول 3 باشد. پس از جمع کردن، طبق روال معمول در شبکه MLP از تابع فعالساز غیرخطی استفاده می‌کنیم. خروجی یک بردار به طول 3 است. در شکل زیر، نحوه جمع و عبور از تابع غیرخطی نشان داده شده است.

تشریح اجزای داخل شبکه بازگشتی
شکل 12: اعمال تابع تحریم غیرخطی بر مجموعه دو خروجی غذا و هوا

خروجی یک بردار به‌طول 3 است. اما به یک نکته  باید دقت داشته باشید، این خروجی، فقط غذای امروز را مشخص نمی‌کند. بلکه، ورودی غذای فردا هم هست. شکل زیر، یک فیدبک را نشان می‌دهد که از خروجی به ورودی نوع غذا متصل شده است.

تشریح اجزای داخل شبکه RNN
شکل 13: شبکه عصبی بازگشتی با اضافه کردن مولفه زمانی (فیدبک)

شما ساختار داخلی شبکه عصبی بازگشتی RNN را در شکل بالا می‌بینید.

کمی ریاضیات چاشنی پست شبکه عصبی بازگشتی کنیم!

من سعی کردم که با چند مثال ساده کارکرد شبکه بازگشتی را به شما توضیح دهم. شبکه‌ای که در شکل 13 دیدید، ساختار شبکه RNN است. ساده‌ترین مدل از خانواده شبکه بازگشتی… حالا در بخش بعدی کمی علمی‌تر و برمبنای ریاضیات به توضیح شبکه عصبی بازگشتی RNN می‌پردازم.

تمرین من در مثال 1 و 2، با قرار دادن ماتریس‌هایی، به‌صورت عددی کارکرد شبکه ها را به شما نشان دادم. آیا می‌توانید بجای دو لایه 3 نورونی بالا، ماتریس اعداد قرار دهید و خروجی مطلوب را تولید کنید؟ بجای دو لایه، دو ماتریس 2×3 و 3×3 قرار دهید. دو ماتریس را در کامنت بنویسید…

شبکه عصبی بازگشتی RNN

در این قسمت می‌خواهم روابط ریاضی یک شبکه عصبی بازگشتی را برای شما بیان کنم. انتظار دارم، باتوجه به مثال‌های بخش قبل، این بخش را به آسانی متوجه شوید. شبکه عصبی بازگشتی شامل دو ورودی حافظه و ورودی اصلی است. به ورودی حافظه hidden state گفته می‌شود و معمولا با نماد h نشان داده می‌شود. ورودی اصلی هم با x… در شکل زیر نمایی از شبکه RNN نشان داده شده است.

در مثال 3 دیدیم که هریک از دو ورودی به یک لایه MLP متصل شده است. دو لایه whh و wxh را به‌ترتیب برای ورودی h و x درنظر گرفتم. حالا باید ht-1 و xt به‌عنوان ورودی وارد RNN شده و در دو ماتریس وزن whh و wxh ضرب شوند. طبق رابطه زیر، پس از ضرب‌ها، جمع انجام می‌شود. یک بایاس هم گذاشته‌ام. درنهایت، خروجی از تابع تحریک غیرخطی مانند tanh عبور داده می‌شود. خروجی تابع تحریک، همان ht است. در رابطه و شکل زیر ساختار RNN نشان داده شده است. در شکل سمت راست، جزئیات شبکه بازگشتی نشان داده شده است.

ساختار شبکه عصبی بازگشتی RNN
شکل 13: ساختار شبکه عصبی بازگشتی RNN (جزئیات در شکل سمت راست)

خروجی بالا معادل Hidden state بعدی (ht) و خروجی شبکه RNN در زمان t است. حالا از اتصال زنجیره‌ای این یک شبکه به‌هم، شکل زیر به‌وجود می‌آید.

شبکه RNN
شکل 14: نمایش زنجیره‌ای از شبکه عصبی بازگشتی در طول زمان

شبکه عصبی بازگشتی با دو نمایش مختلف

ممکن است برای شما این سوال پیش بیاید که چرا برای شبکه بازگشتی گاهی شکل 14 و گاهی هم شکل 15 را می‌بینیم. تفاوت این دو چیست؟ جواب کوتاه این است که هیچ تفاوتی ندارند. نمایش شکل 14 بازشده (unfold) نمایش شکل 15 است. اگر بخواهیم شبکه شکل 15 را در راستای زمان باز کنیم، یک ساختار زنجیره‌ای از شبکه‌ها حاصل می‌شود. اما نکته‌ای را که باید به آن دقت کنید، این است که ما چندین و چند شبکه نداریم، بلکه فقط یک شبکه داریم. من فقط در راستای زمان این شبکه را باز کرده‌ام.

پس ممکن است در مقالات و کتاب‌ها ببینید که شبکه بازگشتی به شکل 15 نشان داده شده است. حواستان باشد که این نوع نمایش صرفا برای انتقال بهتر مطالب به شماست. چون می‌خواهند نشان دهند که شبکه در راستای زمان ورودی می‌گیرد و حرکت می‌کند. همه این شبکه‌های RNN یکی هستند و تمام پارامترهای آنها یکی است. بازهم تاکید می‌کنم که صرفا نمایش آن به اینصورت است و نه چیز اضافه‌ای…

نمایش شبکه عصبی بازگشتی
شکل 15: نمایشی دیگر از شبکه عصبی بازگشتی

چند مثال ساده با شبکه RNN

سلام دوباره! 😀 در تاریخ 21 شهریور 1401 این پست آپدیت شد و مطالب این بخش را به آن اضافه کردم! می‌خواهم با چند مثال ساده به شما نشان دهم که شبکه RNN چگونه با داده‌های متنی یا سری زمانی کار می‌کند.

شبکه RNN و داده متنی

تصور کنید من یک دیتاست متنی دارم. در این دیتاست یک عالمه جمله وجود دارد و هر جمله‌ای هم یک برچسب دارد. مثلا یک نمونه داده‌اش این است:

خب به این نوع داده‌ها، داده‌های ترتیبی می‌گوییم. یعنی این کلمات به ترتیب و پشت سر هم آمده‌اند. البته داده دنباله‌ای یا Sequential Data هم گفته می‌شود. همانطور که در این جلسه گفته شد، شبکه بازگشتی مخصوص این نوع داده‌هاست. حالا چطور این جمله را باید به شبکه بدهم؟ کافی است به انیمیشن زیر نگاه کنید…

شکل 16: نحوه پردازش متن در شبکه عصبی RNN

تذکر: شاید برای شما این سوال پیش آمده باشد که شبکه بازگشتی ورودی متن می‌گیرد؟ متن که صرفا استرینگ هست. درحالیکه در شبکه بازگشتی هرچه داشتیم لایه فولی کانکتد و حساب کتاب ریاضیاتی بود! چطور متن می‌تواند داخل چنین شبکه‌ای پردازش شود؟ ببینید، من به صورت کلی و ساده نحوه دادن داده متنی به شبکه بازگشتی را نشان دادم. در پردازش متن، روش‌های متعددی برای تبدیل متن به بردار وجود دارد که اینجا جایش نیست مطرح کنم. شما تصور کنید هریک از این کلمات بردارهایی معنی‌دار در عالم جبرخطی و ریاضیات هستند.

حالا اینجا نگفتم به متن بودن اعداد توجه نکنید؟ یکسری‌ها تو کلاس‌ها دقیقا همین جا شروع میکنن به سوال پرسیدن! مثلا این: یعنی این بردار چطور ساخته شده؟ بعد آخرش مجبور میشم اون روش تبدیل متن به بردار رو بهشون بگم. به نظرم حین یاد گرفتن یک مطلبی، باید یکسری از قسمت‌های کم اهمیت رو نادیده بگیریم و به هسته مطلب توجه کنیم. وقتی هسته مطلب رو یاد گرفتیم، می‌تونیم به اون قسمت‌های فرعی فکر کنیم. اینجا تبدیل متن به بردار یک مساله فرعی هست و می‌تونیم بگیم خب این مهم نیست. هر کلمه یه برداره دیگه. حالا بعدا میفهمم این بردار چطوری ساخته شده…

شبکه RNN و سری زمانی

سری زمانی هم یک داده ترتیبی یا دنباله‌ای است. دنباله‌ای از اعداد که همینطور پشت هم با نظم و ترتیب که یک سری زمانی ساخته‌اند. مثلا در شکل زیر یک سری زمانی کوتاه آورده‌ایم:

سری زمانی time series
شکل 17: یک نمونه داده سری زمانی خیلی خیلی کوتاه

این داده فقط یک بردار است. همین! برداری به شکل زیر:

شکل 18: سری زمانی همان بردار خودمان

خب، طبیعتا ترتیب در این داده بسیار مهم است. من نمی‌توانم جای اینها را عوض کنم. همچنین، همیشه هر لحظه به داده‌های قبلی وابسته است. بورس را تصور کنید؛ برای پیش‌بینی آینده، همیشه به روزها و ماه‌های گذشته نگاه می‌کنیم. الان یکسری از دوستان میگن: آخ آخ گفتی بورس، کردی کبابم!

حالا اگر بخواهم بازهم این داده را به شبکه RNN بدهم باید چه کار کنم؟ فکر کنم دیگر برای شما جا افتاده و اصل مطلب را گرفتید. به انیمیشن زیر نگاه کنید:

سری زمانی و شبکه بازگشتی
شکل 19: سری زمانی و شبکه بازگشتی

شبکه عصبی LSTM اولین بار توسط Hochreiter و Schmidhuber در سال 1997 معرفی شد. البته، در سال‌های بعد این کار توسط بسیاری از افراد بهبود داده شد. شبکه LSTM یک شبکه نسبتا قدیمی است. اما در طیف وسیعی از مسائل استفاده می‌شود و هنوز از محبوبیت بالایی برخودار است. به این نمودار که از سایت paperswithcode برداشتم، نگاه کنید؛ می‌بینید که با گذشت زمان، میزان استفاده از LSTM به‌شدت رشد داشته است.

شبکه LSTM
شکل 1: میزان رشد شبکه LSTM در گذر زمان.
  • میزان استفاده از شبکه LSTM در تسک‌های مختلف

همچنین، بازهم از سایت paperswithcode، نمودار زیر را آوردم که به میزان استفاده LSTM در کاربردهای مختلف اشاره دارد. Other اشاره به تسک‌های مختلف و کمتر شناخته‌شده دارد. Other را کنار بگذاریم، می‌بینیم که بیشترین میزان استفاده از LSTM در داده‌های سری زمانی است.

شبکه LSTM در سری زمانی
شکل 2: میزان استفاده از شبکه عصبی LSTM در تسک‌های مختلف.
  • ساختار کلی شبکه عصبی LSTM

شبکه عصبی LSTM هم مانند شبکه RNN به صورت زنجیره‌ای پشت سرهم قرار می‌گیرد. شکل زیر این ساختار زنجیره‌ای را نشان می‌دهد. درادامه این ساختار را بیشتر بررسی می‌کنیم.

شبکه عصبی LSTM
شکل 3: ساختار زنجیره‌ای در شبکه LSTM.
  • یک داستان جالب از شبکه عصبی LSTM

شبکه LSTM در سال 1995 توسط آقای Schmidhuber و همکارش برای کنفرانس NIPS ارسال شد. اما مقاله ریجکت شد. مقاله جلوتر از زمان خودش بود! یک شبکه پیچیده که به راحتی نمی‌شود به عملکرد آن پی برد. در زیر، توئیتی از آقای Schmidhuber مشاهده می‌کنید که گفته 25 سال از ریجکت مقاله LSTM در کنفرانس NIPS می‌گذرد. نگران ریجکت شدن مقالات نباشید…

شبکه LSTM در مقاله NeurIPS 1995
شکل 4: جشن تولد 25 سالگی ریجکت شدن مقاله LSTM!

چند نکته ساده هم بگویم:

  • کنفرانس NIPS همچنان یکی از معتبرترین کنفرانس‌های هوش مصنوعی دنیاست. چند سال پیش نامش اندکی تغییر پیدا کرد و الان با NeuroIPS شناخته می‌شود. بخوانید نوریپس…
  • داستان ردن شدن مقاله LSTM، برای بسیاری از افراد الهام‌بخش هست. چون به این فکر می‌کنند که ریجکت شدن مقاله پایان راه نیست و نباید ناامید شد. البته، به‌نظرم بعضی‌ها زیاده‌روی می‌کنند. بعد از اینکه نتیجه داوری مقالات در یک کنفرانس می‌آید، باید نگاهی به توئیتر بیندازید!
  • طبق این صفحه، آقای Schmidhuber چندان میانه خوبی با LBH (Lecun Bengio Hinton) ندارد! او می‌گوید این افراد جامعه هوش مصنوعی را گمراه کرده‌اند! توضیحات کامل را خودتان بخوانید…

اهمیت شبکه عصبی LSTM

در جلسه قبل درباره شبکه عصبی بازگشتی RNN صحبت کردیم. لزوم وجود شبکه بازگشتی را توضیح دادیم و سپس شبکه RNN ساده را بررسی کردیم. آیا شبکه عصبی LSTM نقطه قوتی نسبت به شبکه RNN دارد یا اینکه صرفا یک نوع شبکه بازگشتی است؟ واقعیت این است که شبکه RNN ضعف‌هایی دارد و LSTM برای حل ضعف RNN پیشنهاد شده است. ضعف‌های قابل توجهی که نمی‌توان آنها را نادیده گرفت. بیایید یک مورد از این ضعف‌ها را بررسی کنیم.

  • شبکه عصبی RNN و وابستگی بلندمدت

شبکه عصبی RNN مشکل وابستگی بلندمدت یا Long Term Dependency دارد. یعنی اینکه، نمی‌تواند در جمله‌ها، پاراگراف‌ها و تمامی دنباله‌های طولانی از داده‌ها عملکرد خوبی از خود نشان دهد. بگذارید یک مثال برای شما بزنم. به این جمله دقت کنید:

من در ایران به دنیا آمدم، کم و بیش بلد هستم که … صحبت کنم.

در چنین جمله‌ای اگر به ما بگویند جای خالی را پر کن، چه می‌کنیم؟ طبیعتا، نیازی نداریم که همه داده‌های قبل از جای خالی را بررسی کنیم. به کلمه “ایران” و “صحبت” نگاه می‌کنیم و سپس می‌گوییم جای خالی کلمه “فارسی” است. برای پی بردن به کلمه جای خالی نیازی نبود که به کلمات همسایه قبل از جاخالی نگاه کنیم. کلماتی مثل: که، هستم، کم و بیش، آمدم و غیره. اتفاقا نگاه کردیم فایده‌ای هم نداشت! پس آنقدر عقب رفتیم تا به مقصود رسیدیم. این مساله چندان عجیب نیست که در یک جمله، فاصله زیادی بین کلمات مرتبط وجود داشته باشد.

متاسفانه، شبکه RNN ساده نمی‌تواند چنین ارتباط فاصله‌داری را یاد بگیرد. این یک نقطه ضعف بزرگ است. اگرچه به ساختار شبکه RNN که نگاه می‌کنیم، به نظر می‌رسد که می‌تواند حتی اطلاعات اولین کلمات را هم به آخرین کلمات انتقال دهد. اما در عمل چنین اتفاقی نمی‌افتد و شبکه RNN ضعف وابستگی بلندمدت دارد.

آیا درست است بگوییم که شبکه RNN حافظه بلندمدتش خوب کار نمی‌کند؟ بله، ای‌کاش شبکه RNN یک سبد حافظه داشت. همین‌طور که کلمه به کلمه در متن جلو می‌رویم، بعضی از کلمات خیلی مهم و کلیدی را در آن سبد بگذاریم. بعدا، هرجایی که خواستیم از آنها استفاده می‌کنیم. مثلا، شبیه شکل زیر، ایران و دنیا را درون سبد حافظه بلندمدت می‌گذاشتیم تا در قسمت ? استفاده کنیم.

شکل 5: یک شبکه RNN با یک سبد حافظه بلندمدت

شبکه LSTM آن سبد بالا را دارد. یعنی می‌تواند یکسری از اطلاعات مهم در هرلحظه در را حافظه بلندمدتش بریزد. برویم بیشتر با LSTM آشنا شویم…

  • شبکه عصبی LSTM و وابستگی بلندمدت

شبکه LSTM مخفف عبارت Long Short Term Memory است. احتمالا حالا برای شما معنی Long Term Memory مشخص شده است. یعنی حافظه بلندمدت دارد و دقیقا نقطه مقابل شبکه RNN است که از این مشکل رنج می‌برد.

شبکه LSTM قادر به یادگیری وابستگی بلندمدت هست.

اما چگونه وابستگی بلندمدت را یاد می‌گیرد؟ باید وارد معماری و جزئیات شبکه عصبی LSTM شویم تا بتوانیم به جواب این سوال برسیم. پس دیگر مقدمات کافی است، برویم سراغ بحث اصلی یعنی، معماری شبکه عصبی LSTM…

معماری شبکه LSTM

شبکه عصبی RNN را به یاد دارید؟ این شبکه یک ورودی و خروجی داشت (شکل زیر سمت چپ). درواقع یک مسیر بین ورودی و خروجی شبکه RNN شکل می‌گیرد. اما شبکه LSTM متفاوت است. این شبکه دو ورودی و خروجی دارد (شکل زیر سمت راست).

شکل 6: مقایسه تعداد ورودی و خروجی در شبکه RNN و LSTM

بین این ورودی و خروجی‌ها، یکی از ورودی‌ها مستقیم به خروجی متصل شده است! به شکل زیر نگاه کنید؛ ورودی Ct-1 مستقیما به خروجی Ct متصل شده است. این اتصال همین‌طور ساده از اول تا آخر دنباله ادامه دارد. C مخفف Cell State هست و یک مولفه کلیدی در LSTM است. به Cell State، حافظه بلندمدت یا Long Term Memory هم گفته می‌شود. بله، عملکردی شبیه همان سبد شکل 5 دارد.

شبکه عصبی LSTM و گیت فراموشی
شکل 7: نگاهی به خط Cell State. به المان و بخش‌های کم‌رنگ توجه نکنید. رفته‌رفته در طول آموزش درموردشون توضیح میدم و در شکل روشنشون ‌میکنم.

این خط ورودی-خروجی از ازل تا ابد، همه بلوک‌های LSTM در استپ‌های زمانی مختلف را به‌هم متصل می‌کند. در گذر زمان، در این حافظه بلندمدت ما (C) اطلاعاتی ذخیره یا از آن حذف می‌شود. این حافظه بلندمدت دو خاصیت مهم و جالب دارد:

  • می‌توانیم اطلاعات در آن را پاک کنیم. یعنی، همان فراموش کردن.
  • می‌توانیم به آن اطلاعاتی اضافه کنیم. یعنی، همان به‌خاطر سپردن.

آن علامت‌های x و + را روی خط Ct-1Ct می‌بینید؟ آنها به ترتیب مربوط به فراموش کردن و به‌خاطرسپردن هستند. درادامه، می‌خواهم در دو بخش جداگانه به شما بگویم که چگونه این فراموشی/به‌خاطرسپردن اتفاق می‌افتد.

  • فراموشی در شبکه LSTM

به علامت × روی خط حافظه بلندمدت در شکل زیر نگاه کنید. این عملگر دو ورودی دارد که یکی همان Ct-1 است. دومی هم یک ورودی است که نمی‌دانیم از کجا آمده است. ولی طبق شکل زیر ورودی قبل از اعمال از یک تابع سیگموید می‌گذرد. این تابع سیگموید باعث می‌شود که خروجی عددی بین 0 تا 1 شود.

تابع سیگموید در شبکه عصبی
شکل 8: ضرب بین دو بردار ft و Ct-1. دقت کنید که هردو ورودی بردار هست و ضرب بین این دو هم درایه به درایه هست. سعی کردیم رنگ‌ها رو معنی‌دار بگذاریم که بتونید ورودی و خروجی رو مقایسه کنید.

توجه توجه داشته باشید که هر دو ورودی از جنس بردار با طول یکسان هستند که به‌صورت درایه به درایه درهم ضرب می‌شوند و به عنوان خروجی یک بردار ایجاد می‌کنند.

حالا به نظر شما خروجی عملگر x چه خاصیتی دارد؟ قبول دارید خروجی همان Ct-1 است با اندک تغییراتی که ورودی ft روی آن ایجاد می‌کند؟ این تغییرات ممکن است به شکل زیر باشد:

  • هر درایه‌ای از fاگر 0 باشد، یعنی به درایه متناظرش در Ct-1 اجازه نمی‌دهد به خروجی برود. یعنی می‌گوید بریز دور!
  • هر درایه‌ای از fاگر 1 باشد، یعنی تمام ورودی Ct-1 به خروجی می‌رود و دست‌نخورده باقی می‌ماند.
  • اگر هم عددی بین 0 تا 1 باشد، طبیعتا تا حدی روی ورودی تاثیر می‌گذارد. پس این‌گونه می‌توانیم اطلاعاتی را از داخل Ct-1 حذف کنیم!

اما ورودی fچگونه تشکیل می‌شود؟ مطابق شکل زیر، این ورودی را یک شبکه عصبی کوچک با دو ورودی xt و ht-1 تشکیل می‌دهد. این شبکه عصبی کوچک، وظیفه فراموشی بخشی از اطلاعات موجود در حافظه بلندمدت را دارد. به این شبکه عصبی گیت فراموشی (forget gate) گفته می‌شود.

شبکه عصبی RNN
شکل 9: گیت فراموشی یک شبکه عصبی کوچک هست که کمی جلوتر ساختار داخلیش رو توضیح میدم. فعلا همین اندازه بگم که شبیه به شبکه عصبی RNN هست.

احتمالا با کلمه فراموشی مشکلی ندارید، چون وظیفه‌اش همین است. اما چرا گفته شده گیت؟ منظور از گیت، یک دریچه یا پیچ قابل تنظیم هست که به ما امکان کنترل می‌دهد. به شکل زیر نگاه کنید؛ این شکل، یک ورودی و خروجی دارد. اما یک پیچ یا تنظیم‌کننده هم وجود دارد که میزان جریان ورودی به خروجی را می‌تواند کنترل کند (کم/زیاد کند). منظور ما از گیت فراموشی هم همین است؛ گیتی که به شبکه LSTM این قابلیت را می‌دهد که بعضی از مولفه‌های موجود در Ct-1 فراموش شوند.

شبکه LSTM و گیت فراموشی
شکل 10: گیت فراموشی شبیه به یک شیر کنترل‌کننده جربان آب هست. با گیت فراموشی، شبکه LSTM میتونه تنظیم کنه که چه چیزی رو فراموش کنه. البته، چه چیزی رو هم همچنان در حافظه نگه داره.

گیت فراموشی یکی از ارکان مهم شبکه LSTM هست. بیایید دقیق‌تر آنرا بررسی کنیم.

  • گیت فراموشی در شبکه LSTM

ساختار گیت فراموشی به ساختار داخلی شبکه عصبی بازگشتی خیلی شبیه هست. آنهایی که پست آموزش شبکه عصبی بازگشتی را خوانده‌اند، درادامه این تشابه را خواهند دید. این شبکه دو ورودی xt و ht-1 دارد. این دو ورودی با هم ترکیب می‌شوند و سپس از یک لایه سیگموید می‌گذرند. لایه سیگموید عددی بین 0 تا 1 ایجاد می‌کند که در بردار ورودی Ct-1 ضرب درایه به درایه می‌شود. تکرار می‌کنم، ft یک بردار است نه یک عدد اسکالر تنها. این بردار به اندازه Ct-1 است. تعیین می‌کند که هر درایه Ct-1 باید در چه عددی از 0 تا 1 ضرب شود. هر درایه از ft اگر به عدد 1 نزدیک باشد، معنایش اینست که این درایه از Ct-1 باید حفظ شود. اگر به 0 نزدیک باشد، یعنی این درایه از Ct-1 را دور بریز.

اما دو بردار ورودی xt و ht-1 چگونه باهم ترکیب می‌شوند؟ بسیار ساده و با بهره گیری از شبکه عصبی mlp. همان‌طور که در شبکه بازگشتی گفتم، کافی است این دو بردار را به دو لایه فولی‌کانکتد بدهیم. سپس این دو را باهم جمع کنیم. فرمول و شکل گیت فراموشی به صورت زیر هست:

شبکه عصبی بازگشتی
شکل 11: فرمول و شکل گیت فراموشی.

در شکل بالا، دو لایه فولی‌کانکتد با وزن‌های whf و wif داریم. این دولایه به‌ترتیب برای ورودی ht-1 و xt هستند. اندیس hf مخفف عبارت hidden و forget هست. اندیس if مخفف عبارت input و forget هست. چرا درباره اندیس‌ها توضیح می‌دهم؟ جلوتر این اندیس‌ها زیاد می‌شوند. این را یادتان باشد که دومین اندیس به نام گیت اشاره می‌کند.

بسیارخب؛ بیایید بخش مربوط به فراموشی را در شبکه LSTM روشن کنیم:

گیت فراموشی در شبکه LSTM
شکل 12: گیت فراموشی در شبکه عصبی LSTM. دو وزن wh و wi وزن‌های مربوط به مسیر ht-1 و xt هستند. اندیس f را در دو وزن حذف کردم. کمی جلوتر دلیلش را متوجه می‌شوید.

در شکل بالا، دو ورودی ft و Ct-1 به‌صورت زیر باهم ترکیب شده‌اند. علامت بین دو متغیر در شکل زیر، اشاره به ضرب درایه به درایه دو بردار ورودی دارد.

گیت فراموشی در کارش بسیار سخت‌گیر است و به درایه‌های Ct-1 به‌راحتی اجازه عبور نمی‌دهد. گیت فراموشی، یک نگهبان امنیتی ویژه است!

شکل 13: تصویری کمتر دیده‌شده از گیت فراموشی اندکی قبل از بازنشستگی!

درمورد گیت فراموشی و وظیفه آن در حفظ یا پاک کردن اطلاعات موجود در Ct-1 صحبت کردیم. احتمالا انتظار دارید که درمورد نحوه ذخیره اطلاعات در Ct-1 (همان به خاطر سپردن) صحبت کنیم.

  • به خاطر سپردن در شبکه عصبی LSTM

بعد از گذر از عملگر x، به عملگر + روی مسیر Ct-1Ct می‌رسیم (شکل 7). اینجا قرار است با ورودی C چیزی جمع شود. یعنی اطلاعات جدیدی به آن اضافه خواهد شد. همان به خاطر سپردن اتفاق می‌افتد. دو ورودی داریم که یکی Ct است. ورودی دوم را فعلا نمی‌دانیم چیست. اما هرچه هست، برداری هم‌اندازه ورودی C است. ببینید، در استپ زمانی جاری (t) پردازش‌هایی انجام داده‌ایم و حالا می‌خواهیم اینها را به سلول حافظه بسپاریم که برای ما نگه دارد.

می‌خواهیم چه اطلاعاتی از حال حاضر (t) را در حافظه بلندمدت ذخیره کنیم؟ به شکل زیر نگاه کنید؛ این اطلاعات با استفاده از یک شبکه عصبی محاسبه می‌شود. این شبکه عصبی همانند گیت ورودی شامل دو ورودی xt و ht-1 است. بازهم این ورودی‌ها باید از دو لایه فولی‌کانکتد (wig و whg) عبور کنند و بعد باهم جمع شوند. حالا این ورودی از یک تابع تانژانت هایپربولیک باید عبور داده شود. خروجی gبین 1- تا 1 خواهد بود. چرا بین 1- تا 1 نیاز داریم؟ ساده هست، برای اینکه ممکن است بخواهیم اثر تعدادی از درایه‌ها یا مولفه‌های موجود در C را کاهش دهیم. یعنی با مقادیر بین 1- تا 1 می‌توانیم اثر بعضی مولفه‌ها را زیاد یا کم کنیم. این هم فرمول تشکیل خروجی:

شبکه عصبی RNN
شکل 14: خروجی gt که اطلاعات استپ زمانی جاری را در دارد. این خروجی هم با یک شبکه عصبی بدست آمده است.

توجه دقت کنید، وزن‌های شبکه جدید wig و whg را در شکل بالا نشان نداده‌ام. دلیلش این هست که می‌خواستم شکل را مثل بقیه شکل‌های موجود از LSTM در اینترنت خلاصه کنم! تا اینجا فهمیدیم که هم گیت فراموشی و هم این شبکه جدید (پردازش اطلاعات فریم جاری)، هردو ساختار مشابهی تا قبل از اعمال تابع تحریک دارند. یعنی هردو شبکه، دو ورودی دارند. هریک از این دو ورودی، به‌صورت جداگانه یک فولی‌کانکتد دارند. درنهایت هم باهم جمع می‌شوند. پس بجای اینکه مدام از ورودی سیم به لایه‌های فولی‌کانکتد متعدد بکشم و شلوغ کنم، آن بخش مشترک را خلاصه کرده‌ام و یک بار کشیده‌ام. اما اصلا منظورم این نیست که وزن‌های این دو شبکه یکی است. نه اصلا! دو شبکه با پارامترهای کاملا جدا هستند. تنها در شکل خلاصه کرده‌ام. دوباره به تصویر نگاه کنید؛ بیرون باکس LSTM دو پارامتر wi و wh را نوشتم. مشخص کرده‌ام که هرنماد تا الان شامل دو لایه فولی‌کانکتد هست. البته تا الان!

اما یک مشکل وجود دارد؛ ما در خروجی gt یک مقداری اطلاعات داریم. اما شاید این ورودی آنقدر ارزش نداشته باشد که بخواهیم Ct-1 را آپدیت کنیم. بله، می‌دانیم که این ورودی هم شامل اطلاعاتی است، اما شاید آنقدر ارزش نداشته باشد که بخواهیم به حافظه بلندمدت بسپاریم! فرض کنید الان در لحظه t در موقعیت کلمه “را” در جمله زیر هستیم:

دو تیم رئال مادرید و بارسلونا برای جلوگیری از همه‌گیری کرونا، درخواست تعویق بازی را دارند.

این کلمه هم برای خودش اطلاعاتی دارد و یک خروجی برای gt تولید کرده است. اما واقعا به خاطر سپردن این کلمه چقدر برای کلمات بعدی مفید است؟ بسیار کم! پس بهتر است همین جا در لحظه قیدش را بزنیم و به حافظه بلندمدت انتقال ندهیم. ما انسان‌ها هم در لحظه گاهی اتفاقی برایمان می‌افتد که تلاش زیادی می‌کنیم که آنرا فراموش کنیم. ارزشش را ندارد بایت‌های ذهن‌مان را اشغال کنیم!

بسیار خب، چطور می‌توانیم این خروجی را بررسی کنیم که ارزش دارد یا نه؟ کافی است نگاهی به گیت فراموشی بیندازیم. اگر از یک گیتی مشابه با ساختار گیت فراموشی استفاده کنیم و آنرا بر سر راه خروجی gt قرار دهیم، می‌توانیم به راحتی تنظیم کنیم که این خروجی چقدر ارزش دارد. پس بازهم یک گیت یا دریچه مشابه شکل 11 نیاز داریم. به این گیت جدید، گیت ورودی (input gate) گفته می‌شود. برویم با گیت ورودی بیشتر آشنا شویم.

  • گیت ورودی در شبکه عصبی LSTM

گیت ورودی، ارزیاب میزان ارزش اطلاعات موجود در gاست. ساده بگویم، گیت ورودی، ورود یکسری اطلاعات جدید به حافظه بلندمدت را بررسی می‌کند. به‌همین خاطر نامش را گیت ورودی گذاشته‌اند. مشابه گیت فراموشی، ممکن است مقادیر موجود در بردار it نزدیک به صفر باشد، بنابراین اثر gt را کم می‌کند. برعکس، ممکن است مقادیر بردار it نزدیک به 1 باشد، دراین‌صورت gt می‌رود تا در حافظه بلندمدت ذخیره شود. اما ساختار این گیت به شکلی است؟ دقیقا مشابه با گیت فراموشی… به شکل زیر دقت کنید؛ گیت ورودی، دو ورودی xt و ht-1 را وارد دو لایه فولی‌کانکتد می‌کند و سپس اینها را باهم جمع می‌کند و درنهایت از تابع سیگموید عبور می‌دهد. این هم رابطه گیت ورودی، رابطه نحوه تشکیل خروجی نهایی (g’t) و البته آپدیت Ct:

گیت ورودی در شبکه LSTM
شکل 15: اضافه شدن گیت ورودی به ساختار داخلی شبکه LSTM. دقت کنید، بازهم چون بخشی از فرآیند این گیت مشابه قبل بوده، در شکل خلاصه شده.

یک فرآیند موثر به‌نام گیت با ساختاری کاملا شبیه به RNN بارها در LSTM تکرار شده است. 

این هم از بخش ذخیره اطلاعات که با استفاده از گیت ورودی انجام شد. تا الان به این پرداختیم که چگونه اطلاعاتی از گذشته را فراموش کنیم و چگونه اطلاعاتی در Ct-1 ذخیره کنیم. اما هنوز کار داریم! هنوز هیچ مسیری بین ht-1 و ht نساخته‌ایم. بالاخره چه اطلاعاتی را به عنوان خروجی این استپ زمانی خواهیم داشت؟ برویم سراغ ادامه کار… خسته شدید؟ طاقت بیار رفیق ما داریم می‌رسیم!

  • ساخت خروجی ht در شبکه LSTM

شبکه بازگشتی LSTM برای ساختن خروجی ht به چه چیزی نیاز دارد؟ چطور است که همان Ct که تازه آپدیت شده را به خروجی متصل کنیم؟ چه چیزی بهتر از حافظه بلندمدت با اینهمه زحمتی که برایش کشیدیم! پس خروجی Ct را از یک تانژانت هایپربولیک عبور می‌دهیم، سپس آماده می‌شویم که آنرا به خروجی ht متصل کنیم. در شکل زیر نشان داده شده است.

شکل 16: گرفتن یک انشعاب از حافظه بلندمدت Ct برای اتصال به ht.

اما یک سوال! تصور کنید، از فردی می‌پرسید تا حالا دو تیم استقلال و پرسپولیس چندبار باهم بازی کردند؟ بعد مخاطب بگوید: “سلام، دو تیم استقلال و پرسپولیس اولین بار در سال فلان باهم بازی کردند که حاصل آن مساوی بود. در بازی دوم، … در بازی سوم و …” همین‌طور بگوید و بگوید تا اینکه برسد به آخرین بازی و درنهایت بگوید بنابراین، تابحال 80 بار باهم بازی کرده‌اند. درحالی‌که، جواب این سوال یک کلمه بود، آن‌هم 80! حالا اگر ما اینهمه اطلاعات موجود در Ct را به ht منتقل کنیم، دقیقا مشابه با همان جواب طولانی است. بهتر است آنقدری که نیاز است را برداریم و به خروجی ht منتقل کنیم. این کار چگونه انجام می‌شود؟ ساده هست، حدس بزنید! یک گیت دیگر به‌نام گیت خروجی (output gate).

  • گیت خروجی در شبکه LSTM

گیت خروجی تعیین می‌کند چقدر از حافظه بلندمدت باید به خروجی منتقل شود. در دل گیت خروجی چه می‌گذرد؟ ساده هست و تکراری، همه باهم یک‌صدا:

گیت خروجی، دو ورودی xt و ht-1 را وارد دو لایه فولی‌کانکتد می‌کند(1)

و اینها را باهم جمع می‌کند(2)

و درنهایت از تابع سیگموید عبور می‌دهد(3).

درنهایت، خروجی تولیدشده از گیت خروجی ot باید در خروجی تابع سیگموید ضرب می‌شود تا آنقدری که نیاز است به خروجی ht منتقل شود. این هم از فرمول‌ها و شکل‌های این بخش:

گیت خروجی در شبکه LSTM
شکل 17: اضافه شدن گیت خروجی به شبکه LSTM

اما، این پایان کار نیست، دو گیت دیگر هم داریم! نه شوخی کردم 😃 معماری شبکه LSTM تمام شد. در شکل زیر، یک نسخه کامل از شبکه عصبی LSTM همراه با تمامی فرمول‌ها را گذاشتم:

lstm
شکل 18: شبکه عصبی LSTM.

بسیارخب،  بیایید مروری کنیم که چه المان‌هایی دیدیم.

شبکه LSTM در یک نگاه

دیدید که شبکه LSTM با این ظاهر پیچیده، شامل چند ایده جذاب و ساده هست. بیایید مباحث این جلسه را مرور کنیم:

  • حافظه بلندمدت داریم و هم اطلاعاتی را فراموش می‌کنیم و هم به خاطر می‌سپاریم.
  • گیت‌هایی داریم که شبیه شیر قابل تنظیم، جریان ورودی به خروجی را کنترل می‌کنند.
  • سه گیت با نام‌های گیت فراموشی، گیت ورودی و گیت خروجی داشتیم.
  • گیت فراموشی برای این بود که اطلاعات غیرضروری گذشته را فراموش کنیم.
  • گیت ورودی برای این بود که بررسی کنیم اطلاعات به‌دست آمده از لحظه جاری (t) ارزش ذخیره در حافظه بلندمدت را دارند یا خیر.
  • گیت خروجی برای این بود که همه اطلاعات موجود در Ct را به خروجی ht منتقل نکنیم. آنقدری را که نیاز داریم به خروجی ht ببریم.
  • گیت‌ها همواره خروجی‌شان بین 0 و 1 هست.
  • گیت‌ها همیشه در یک ورودی دیگر درایه به درایه ضرب می‌شوند.
  • هر گیت دو ورودی دارد: xt و ht-1. دو ورودی در دو لایه فولی‌کانکتد ضرب می‌شوند و بعد باهم جمع می‌شوند و درنهایت از تابع سیگموید عبور می‌کنند.
  • با استفاده از تانژانت هایپربولیک، اطلاعات همواره بین بازه 1- و 1 قرار دارند.
  • شبکه LSTM، چهار برابر شبکه RNN پارامتر و هزینه محاسبات دارد. سه تا گیت دارد و یک شبکه هم برای محاسبه ورودی حافظه (Ct) دارد.
  • شبکه LSTM یک شبکه بازگشتی مبتنی بر گیت هست.
  • نسخه‌های مختلفی از شبکه LSTM در بازار وجود دارد! 😃 حواستان باشد که با شکل‌ها و فرمول‌های مختلف گمراه نشوید. همه آنها شامل ایده گیت‌های (فراموشی، ورودی و خروجی) می‌شوند.
  • یک شکل معروف برای شبکه LSTM وجود دارد که در زیر نشان دادم. این شکل خلاصه نشان داده شده و هیچ‌یک از لایه‌های فولی‌کانکتد را نشان نداده. همان شکل خودمان هست، فقط خلاصه‌اش کردند.
نمایش رایج شبکه LSTM
شکل 19: نمایش رایج شبکه LSTM.

بودن در سمت مدیر، به تنهایی کافی نیست. هر لیدر یا رهبر خوب نیازمند یکسری از مهارت‌های نرم برای برقراری ارتباطات مثبت با کارمندان و یا اعضای تیم می‌باشد. با رعایت تکنیک‌های رهبری یا لیدرشیپ در سازمان می‌توان باعث شد تا افراد با اشتیاق و انگیزه فراوان به سمت هدف مشخص شده حرکت کنند.

زمانی که سازمانها درصدد استخدام فردی به عنوان رهبر یا لیدر هستند، در جستجوی فردی هستند که توانایی برقراری ارتباط‌های موفق و با کیفیت با همکاران و افراد دیگر در محل کار و یا خارج از آن را داشته باشند. افرادی که در سمت رهبری ایفای نقش می‌کنند باید توانایی در اولویت قرار دادن افراد را داشته باشند. کارفرمایان افرادی را که دارای درجه هوش هیجانی بالا، صبر و تحمل بالا و همچنین دانش منابع انسانی باشند را برای این سمت  ترجیح می‌دهند.

تکنیک های رهبری یا لیدرشیپ

کلمه ی « لیدرشیپ یا رهبری » ممکن است معانی مختلفی را در ذهن تداعی می‌کند. به عنوان مثال :

  • رهبران سیاسی، به همراه دنباله رو‌های پر شور و هیجان
  • یک گردشگر، مسیری را برای حرکت و استراحت برای افرادی که او را دنبال می‌کنند؛ مشخص می‌کند.
  • مدیر اجرایی، در حال توسعه ی استراتژی‌های شرکت خود برای برنده شدن در رقابت هست. مفهوم اصلی رسالت سازمانی در این این جمله خلاصه می‌شود.
  • یک رهبر خارق العاده باید الهام بخش اعضای سازمان خود باشد.
  • در ایجاد انگیزه روی کارکنان مهارت کافی داشته باشد.
  • از تعارضات و بروز نارضایتی در میان پرسنل خود جلوگیری کند.
  • شنونده خوبی باشد.

لیدر ها و رهبران به خودشان و دیگران کمک می‌کنند تا بهترین خود را اجرا کنند. آنها جهت را مشخص می‌کنند. چشم انداز و ویژنی الهام بخش مشخص می‌کنند.

رهبری درباره ی برنامه ریزی و تهیه نقشه ی راه برای رسیدن به هدف و برنده شدن صحبت می کنه و این موضوع بسیار هیجان انگیز، پویا و الهام بخش است.

بعد از اینکه آنها مسیر و جهت را مشخص کردند باید از مهارت های مدیریتی خود برای راهنمایی پیروان خود به سمت جهت درست، از یک راه هموار و مناسب، استفاده کنند.

در این مقاله بر روی فرآیند رهبری تمرکز شده است. بر روی مدل « متحول سازی رهبری » که برای اولین بار توسط جیمز مک گرگور برنز(James MacGregor Burn) ارائه شد و توسط برنارد باس (Bernard Bass)  توسعه پیدا کرد؛ بحث خواهم کرد. این مدل براساس تفکر استراتژیک، الهام بخش و ایجاد تغییرات ایجاد شده و بجای فرآیندهای سنتی مدیریت که براساس حفظ منابع و بهبود عملکرد فعلی بنا شده اند، مورد استفاده قرار می گیرد.

 

رهبری هنر به کار گرفتن تخصص و توانایی شخصی دیگر برای انجام دادن کارهایی ست که شما می‌خواهید و خود فرد هم علاقه مند به انجام آنهاست.”

دوایت دی آیزونهاور (Dwight D.Eisenhower)

اصول و تکنیک های رهبری یا لیدرشیپ در سازمان

با توجه به مدل تحول سازی رهبری، یک رهبر ایده آل و تاثیرگذار کسی ست که موراد زیر را انجام می‌دهد:

  • چشم اندازی الهام بخش برای آینده دارد.
  • الهام بخش و مشوق افراد برای برقراری ارتباط با این چشم انداز است.
  • مدیریت تغییرات در چشم انداز
  • مربی و تشکیل تیمی که او را در رسیدن به آن چشم انداز همراهی می‌کنند.

رهبری مهارت‌های لازم برای انجام این موارد را با هم جمع می‌کند.

چگونه می‌توان مهارت های رهبری را یاد گرفت؟

رهبران و لیدر های تاثیر گذار در هر سازمانی ضروری هستند. آنها می‌توانند در ایجاد یک تیم قدرتمند به یک کسب و کار کمک کنند و پروژه‌ها و کارها را با موفقیت به سرانجام برسانند. مهارت کلیدی رهبری مهارتی آموختنی هست و هر کسی می‌تواند این مهارت را در خود تقویت نماید.

بیشتر مردم نتایج و دستاورد‌های رهبران موثر را در جامعه دیده‌اند رهبران خوب مشارکت کارمندان را بیشتر می‌کنند یک محیط مثبت را ایجاد می‌کنند و به حذف موانع از راه تیم کمک می‌کنند. رهبر خوب، رفتارهایش مسری هست و برای همکاران الهام بخش است که آنها نیز این مهارت‌های مثبت را در کارشان اجرا کنند.

10 مرحله برای بالا بردن مهارت های رهبری

1- ارتباطات

به عنوان یک لیدر شما باید توانایی بیان و توضیح تمام اهداف سازمان و وظایف افراد را به صورت واضح و شفاف را داشته باشید. لیدر‌ها باید در زمینه برقراری ارتباط، در انواع آن چه به صورت تلفنی، نوشتاری و یا رو در رو، استاد و ماهر باشند.

یکی از مهم ترین بخش‌های برقراری ارتباط، بهبود مهارت گوش دادن است. بنابراین رهبران باید یک جریان مداوم ارتباط بین خود و کارکنان و یا اعضای تیم خود ایجاد کنند و همواره برای بحث در مورد مسائل و نگرانی‌های کارکنان در دسترس باشند .

سایر مهارت‌های مربوط به ارتباطات شامل:

  • گوش کردن فعالانه
  • توانایی شرح و توضیح
  • بیان داستان‌های کسب و کار
  • واضح و شفاف بودن
  • نتیجه گیری
  • ویرایش و تصحیح کردن
  • راحت کردن مکالمات گروهی
  • فن بیان خوب
  • داشتن مهارت‌های سخنرانی
  • شناخت زبان بدن‌های افراد از طریق ارتباطات غیر کلامی
  • ارتباطات نوشتاری

2- انگیزه

رهبران باید توانایی انگیزه دادن به کارمندان خود را برای پیشرفت شرکت داشته باشند؛ تنها پرداخت حقوق منصفانه به کارمندان کافی نیست. اگر چه لازم است اما کافی نیست. روش‌های زیادی برای انگیره دادن به کارمندان وجود دارد؛ شما می‌توانید با پیدا کردن شناخت افراد سازمان و براساس ویژگی‌های شخصیتی آنها، براساس این شناخت به افراد پاداش و یا مسئولیت ACCOUNTABILITY بدهید که این موضوع هم برای کارمندان خوشایند است و اعتماد بنفس آنها را افزایش می‌دهد هم باعث پیشرفت سازمان می‌شود.

  • اجازه استقلال به کارمندان دادن
  • برای استخدام نیرو از کارمندان درخواست نیرو کنید.
  • ارزیابی علایق کارکنان
  • توانایی متقاعد کردن کارمند
  • ارائه ی کارهای مولد و چالش برانگیز
  • ارائه پاداش
  • تعیین هدف‌های تاثیرگذار
  • تشکیل تیم سازنده
  • درک تفاوت‌های میان کارمندان

3- محول کردن کارها به دیگران (تفویض)

رهبرانی که سعی می‌کنند کارهای بیش از حد توان انجام دهند سردرگم می‌شوند و کارها همیشه خوب پیش نمی‌رود. آنها فکر می‌کنند واگذار کردن کارها به دیگران نشانه ضعف یک رهبر است در حالی که یکی از نشانه‌های رهبر قوی قدرت محول کردن کارها به افراد است.

بنابراین بایستی شناختی دقیق از توانایی‌های هر یک از کارکنان داشته باشیم تا براساس این ویژگی‌ها و توانایی‌ها به آنها وظایفی را محول نمود. یکی از ویژگی‌هایی که برای کسب این مهارت در خود دارید عبارتند از:

  • استقبال از بازخوردهای کارکنان در موارد مختلف
  • سهیم کردن کارمندها در نوآوری‌ها و ابتکار عمل‌ها (دادن اجازه داشتن ابتکار عمل به کارمندان )
  • تشریح و توضیح انتظارات از افراد
  • ارزیابی عملکرد کارمندان
  • اولویت بندی نتایج
  • کار گروهی
  • مدیریت زمان
  • آموزش
  • اعتماد به کارکنان

4-مثبت بودن

نگرش مثبت می‌تواند در محیط کار مسری شود یک رهبر باید در مواردی که کارها طبق برنامه ریزی جلو نمی‌رود به همان اندازه ی زمان‌هایی که عملکرد موفقیت‌آمیز بوده است؛ بتواند بخند و انرژی مثبت داشته باشد حتی در موقعیت‌های شلوغ و استرس زا تا محیط کاری سالم و شاد را ایجاد نماید. در نتیجه روحیه کارمندان افزایش می‌یابد و اگر کارمندان احساس کنند که محیط کاری مثبت و شادی دارند حس بهتری برای ماندن در شرکت و ادامه کار دارند و زمان‌های بیشتری را برای کارشان صرف می‌کنند.

برخی از مهارت‌هایی که باعث ایجاد یک فضای مثبت در محل کار می‌شود عبارتند از:

  • مراقبت
  • مدیریت اختلافات
  • ایجاد ارتباط
  • دیپلماسی
  • تشویق
  • تقویت انرژی مثبت
  • قدرت اجتماعی

5- قابل اعتماد و اطمینان

کارمندان باید برای مطرح کردن سوالات و نگرانی‌های خود با رهبران احساس راحتی کنند مهم است که شما بتوانید یکپارچگی خود را نشان دهید کارمندان تنها به رهبران آنها احترام می‌گذارند. کارمندان به لیدرهایی که به آنها احترام می‌گذارد اعتماد می‌کنند. صادق و درست بودن می‌توان این ویژگی را در کارمندان تقویت نمود. در ادامه برخی از مهارت‌ها بیان شده است که با داشتن آنها می‌توانید رهبر قابل اعتمادی باشید:

  • داشتن جرات معذرت خواهی و پذیرش اشتباه
  • مسئولیت پذیر
  • اخلاق کسب و کار
  • رازداری
  • دارای وجدان
  • درجه‌ی هوش هیجانی بالا
  • صادق و راستگو

6- خلاقیت

یک رهبر باید تصمیم‌هایی بگیرد که جواب یا نتیجه واضحی ندارد بنابراین یک رهبر باید بتواند خارج از چارچوب فکر کند و تصمیم بگیرد.

یاد بگیرید که راه‌ها و روش‌های غیر معمول را امتحان کنید کارمندان از رهبرانی الهام گرفته و انگیزه می‌گیرند که همیشه راه‌های معمولی و امن را انتخاب نمی‌کنند. تعدادی از ویژگی‌های لازم برای بهبود این مهارت در زیر بیان شده است:

  • داشتن قدرت تجزیه و تحلیل بالا
  • داشتن قدرت انعطاف پذیری بالا
  • داشتن تفکر انتقادی
  • کنجکاوی
  • آینده نگری
  • داشتن قدرت تخیل بالا و تصویرسازی ذهنی
  • گوش دادن به ایده‌های دیگران
  • ایجاد ارتباطات انتزاعی بین مسائل
  • قدرت حل مسئله
  • داشتن چشم انداز واضح
  • داوری منصفانه و دقیق

7- بازخوردها و نتایج

رهبران باید به طور مداوم به دنبال فرصتی برای ارائه اطلاعات مفید در ارتباط با عملکرد تیم به آنها باشد. با آموزش به کارمندان که چگونه عملکرد خود را بهبود بخشند و تصمیمات بهتری بگیرند احساس مسئولیت در برابر کارمندان را به آنها نشان می‌دهید. برخی از ویژگی‌ها برای داشتن این مهارت در زیر بیان شده است:

  • گوش دادن به پاسخ‌های کارمندان
  • ایجاد اعتماد بنفس در کارکنان
  • ارائه ی مشاوره مخصوص
  • احترام

8- مسئولیت

رهبر مسئول موفقیت و شکست تیمش است. بنابراین اگر چیزی به درستی انجام نگرفته است می بایستی متعهد باشیم. اگر کارکنان ببینند که رهبرشان انگشت اشاره به سمت دیگران دراز می‌کند و دیگران را سرزنش می‌کند و دیگران را مقصر شکست می‌داند؛ این لیدر یا رهبر دیگر احترامی در بین تیمش ندارد. اشتباهات و شکست‌ها را قبول کنید و سپس برای آنها راه حل پیدا کنید.

9- تعهد یا مسئولیت پذیری

این موضوع برای رهبران مهم است که آنچه با آن موافقند انجام گیرد بنابراین برای اینکه دیگران بتوانند در زمان‌های اضافه بر ساعت کاری با کمال میل کار کنند لزوما یک شرایط ویژه تعیین شود تا کارکنان بتوانند با اشتیاق کار کنند.

همان طور که کارمندان باید نسبت به کارشان تعهد و هنر پاسخگویی داشته باشند یک رهبر نیز، بیشتر از همه به وعده‌های خود برای پاداش به کارکنان متعهد باشد یک رهبر نمی‌تواند دیگران را  به انجام کارها و وظایف خود تکلیف کند در صورتی که خودش تعهد و مهارت مسئولیت پذیری نداشته باشد.

10- انعطاف پذیری

گاهی به عنوان یک رهبر، باید مثل یک درخت باشید. انعطاف‌پذیری یکی از مهم‌ترین مهارت‌هایی است که می‌توانید داشته باشید، مخصوصاً در زمان‌های تغییر و اختلال دائمی در عملکرد تیم و سازمان.

به منظور شناخت موانع احتمالی موفقیت، باید از شرایط خود آگاه باشید و تشخیص دهید چه زمانی باید خم شوید و چه زمانی باید ثابت بمانید. انعطاف‌پذیری بیشتر در نحوه سازمان‌دهی و اجرای حول اولویت‌هایتان، در پاسخ به نیازها و درخواست‌های مشتری، زمانی که فرصت‌ها یا تهدیدهای جدید به وجود می‌آیند، و در روابطتان همگی زمان‌های بسیار خوبی برای تمرین مهارت انعطاف‌پذیری هستند.

اشتباهات و تغییرات در لحظه‌های آخر، در محل کار پیش می‌آید رهبران باید قدرت انعطاف پذیری بالایی داشته باشند و هر تغییری را بپذیرند و برای آن راه حل ارائه کنند.

نتیجه گیری

برای تبدیل شدن به یک رهبر خوب، باید تمام ویژگی‌های یک رهبر را در خود ایجاد نمود چراکه با فقدان این ویژگی‌ها، افراد از شما پیروی نمی‌کنند. شما باید یک مثال خوب برای افراد برای پیروی کردن باشید. این همان جایی که مهارت‌های تعهد، انگیزه بخشی، صداقت و همدلی شما بازی خود را به نمایش گذاشته است. مهارت‌های ارتباطی خوب و قابلیت‌های تصمیم‌گیری نیز نقش مهم و حیاتی در موفقیت و شکست یک رهبر بازی می‌کند و در نهایت، نوآوری و تفکر خلاق و داشتن چشم اندازی برای آینده، ویژگی‌هایی است که باعث برجسته تر شدن یک رهبر می‌شود.

نرم‌افزارهای ERP یا برنامه‌ریزی منابع سازمانی این روزها برای مدیریت هزاران کسب و کار در هر اندازه و در هر صنعتی مورد استفاده قرار می‌گیرند. محبوبیت این نرم‌افزارها بخاطر این است که تمامی فرآیندهای تجاری یک کسب و کار را به هم متصل کرده و به صورت یکپارچه مدیریت می‌کنند. اما آیا یک سیستم برنامه‌ریزی منابع سازمان برای کسب و کار شما نیز مناسب است؟ برای پاسخ به این سوال، در این مقاله ضمن تعریف ERP به مزایا، معایب و کاربردهای آن می‌پردازیم.

نرم‌افزار ERP چیست؟

نرم افزار ERP یا برنامه‌ریزی منابع سازمانی (Enterprise resource planning)، نوعی سیستم نرم‌افزاری است که سازمان‌ها از آن برای خودکارسازی، یکپارچه‌سازی و مدیریت قسمت‌های مهم کسب و کار خود با هدف بهبود عملکرد آنها استفاده می‌کنند. این قسمت‌ها می‌تواند شامل فعالیت‌های برنامه‌ریزی، خرید، مدیریت موجودی، فروش، بازاریابی، مالی، منابع انسانی و … در سازمان باشد.

علت نام‌گذاری نرم‌افزارهای ERP نیز این است که با یکپارچه‌سازی فرآیندهای عملیاتی به کسب و کارها کمک می‌کنند تا مدیریت و برنامه‌ریزی منابع سازمانی را بهبود ببخشند. این نرم‌افزارها با متصل کردن بخش‌های مختلف سیستم به یکدیگر، به مدیران امکان می‌دهند تا عملکرد آنها را در ارتباط با یکدیگر بهینه کنند. به این ترتیب، شما می‌توانید از ERP برای بهبود فعالیت‌های تجاری مانند مدیریت تدارکات، مدیریت پروژه، مدیریت ریسک، مدیریت زنجیره تامین، مدیریت مالی شرکت و … استفاده کنید. به همین ترتیب، می‌توانید با ایجاد هماهنگی میان عملیات‌های مختلف سازمان، آنها را در جهت چابکی و رشد هر چه بیشتر کسب و کار تنظیم کنید.

نرم‌افزارهای ERP همچنین، با جمع‌آوری و یکپارچه‌سازی داده‌های مربوط به فعالیت‌های سازمان منبع واحدی از داده‌‌ها ایجاد می‌کنند که دسترسی به آن را برای تمامی بخش‌های سازمان تسهیل می‌کند. البته سیستم‌های ERP این روزها بسیار پیشرفته‌تر شده‌اند و علاوه بر اینکه به صورت ابری ارائه می‌شوند، از جدیدترین فناوری‌ها مانند هوش مصنوعی (AI) و یادگیری ماشینی نیز برای افزایش کارایی سازمان، هوشمند کردن خودکارسازی آن و بهبود بینش‌های بدست آمده از داده‌ها کمک می‌کند.

چرا باید در سازمان خود ERP داشته باشیم؟

سیستم برنامه‌ریزی منابع سازمان یا ERP، راهکاریست که تمامی فرآیندهای سازمان را پوشش داده و یکپارچه می‌کند و در بهبود سرعت و انعطاف‌پذیری سازمان نیز موثر است. از این منظر، ERP ابزاری کامل و مهم برای افزایش بهره‌وری محسوب می‌شود و به خاطر جامعیت و فوایدی که دارد، استفاده از آن در هر کسب و کاری ضرورت دارد.

دلیل دیگر اهمیت بکارگیری ERP این است که بسیاری از عملیات‌های تجاری در کسب و کارها وابسته به داده‌ها یا فعالیت‌های سایر واحدهای سازمان است. نرم‌افزارهای ERP با یکپارچه و متمرکز کردن کردن داده‌ها و خودکارسازی فرآیندهای سازمان برای موفقیت و تسریع این عملیات‌ها ضرورت دارند. به عنوان نمونه، واحد مالی یا حسابداری سازمان برای تجمیع حساب‌ها و دفاتر شرکت نیاز به دسترسی دقیق و سریع به داده‌های مالی و هزینه‌کردهای سایر واحدها دارد. به همین ترتیب واحد فروش برای مدیریت سفارشات مشتریان باید به داده‌های انبارداری دسترسی داشته باشد. نمونه‌های این موارد در سازمان زیاد است که استفاده از نرم‌افزار جامعی مانند ERP را ضروری می‌کنند.

از سوی دیگر، سیستم برنامه‌ریزی منابع سازمان ابزاری ضروری برای کسب و کارهاییست که رشد سریعی دارند و به آنها کمک می‌کند تا ضمن بهینه‌سازی سیستم‌های خود، مقیاس فعالیت‌هایشان را نیز مطابق با تقاضای بازار تنظیم کنند. بنابراین، علاوه بر افزایش بهره‌وری، تسریع کارها، افزایش چابکی سازمان و مزایای دیگر این نرم‌افزارها، دلایل متعددی وجود دارد که باعث اهمیت بکارگیری ERP در سازمان و واحدهای مختلف آن می‎‌شود.

مزایای ERP کدام است؟

راهکارهای برنامه‌ریزی منابع سازمانی (ERP) مزایای متعددی (مثل تسریع رشد، کاهش هزینه‌ها و افزایش بهره‌وری) دارند که در سازمان‌های مختلف ممکن است متفاوت باشد. در ادامه به برخی از مهم‌ترین و رایج‌ترین موارد این مزایا می‌پردازیم.

  • افزایش بهره‌وری

یکپارچه‌سازی و خودکارسازی فرآیندها و عملیات‌های کسب و کار، باعث ساده‌تر شدن آنها و حذف کارهای تکراری می‌شود که در نتیجه دقت و بهره وری را بهبود می‌بخشد. علاوه بر این، سازمان‌هایی که واحدهای آنها برای انجام فرآیندها با هم مشارکت دارند، می توانند کارها را سریعتر و بهتر هماهنگ کرده و به نتایج مورد نظر دست پید کنند.

  • چابکی سازمان

ERP با بهبود کارایی فرآیندها و ایجاد دسترسی به داده‌ها در هر لحظه، به سازمان شما امکان می‌دهد تا به سرعت فرصت‌های جدید را شناسایی کرده و نسبت به آنها واکنش نشان دهید.

  • بهبود گزارشات و تجزیه و تحلیل‌ها

ERP با داشتن قابلیت گزارش‌دهی دقیق، جامع و در لحظه از داده‌های سازمان، باعث می‌شود تا پیش‌بینی‌ها و برنامه‌ریزی‌های سازمان به مراتب بهتر انجام شود. این راهکارها همچنین با حذف سیلوهای اطلاعاتی و یکپارچه‌کردن داده‌ها به بهبود تجزیه و تحلیل‌های آنها و دستیابی به بینش‌های بهتر کمک می‌کند.

  • کاهش ریسک

مزیت دیگر ERP این است که با افزایش چابکی سازمان، یکپارچه‌سازی داده‌ها و بهبود قابلیت پیش‌بینی اوضاع، به کسب و کارها کمک می‌کند تا ریسک‌های خود را کاهش دهند و بتوانند بهتر و دقیق‌تر از مقررات پیروی کنند.

  • جذب بهتر استعدادها

استعدادها برتر جذب کسب و کارهایی می‌شوند که کارایی بالاتری داشته و بهتر از فناوری‌های روز برای رقابت در بازار استفاده می‌کند. چنین سازمانی آینده روشن‌تری دارد و فرهنگ کاری آن نیز برای جذب نیروهای جوانی که با تکنولوژی بزرگ شده‌اند، مناسب‌تر است.

نرم‌افزار ERP چه کاربردهایی دارد؟

کاربردهای ERP بسیار متنوع است و بستگی به کسب و کاری دارد که به دنبال بهره‌برداری از آن است. اما برخی از این کاربردها مانند مدیریت زنجیره تامین، مدیریت تدارکات و مدیریت مالی در بیشتر شرکت‌ها قابل بهره‌برداری هستند. در ادامه تعدادی از کاربردهای رایج ERP را برای شما آورده‌ایم:

  • مدیریت انبارداری

کسب و کاری که برای مدیریت انبارداری و پیگیری آمار موجودی خود به شمارش فیزیکی متکی و استفاده از اکسل متکی باشد، نمی‌تواند به این اطلاعات اعتماد کند و مدام با نبود اقلام در انبار روبرو خواهد شد. زیرا شرکت برداشت دقیقی از موجودی و میزان نیاز برای تهیه اقلام مورد نیاز خود نخواهد داشت. در مقابل، سیستم‌های ERP یک زیرسیستم مدیریت انبارداری اراده می‌دهند که سطوح موجودی و به‌روزرسانی‌های آن را به‌طور لحظه‌ای نمایش می‌دهد. وجود این زیرسیستم در کنار سایر ماژول‌های ERP به مدیران عملیاتی امکان می‌دهد تا هر روز بتوانند موجودی را با داده‌های فروش مقایسه کرده و مشخص کنند آیا کسب‌وکار باید سفارش‌های خرید جدیدی بدهد یا خیر. به این ترتیب، یکی از کاربردهای اصلی ERP بهبود مدیریت انبارداری است.

  • فروش و بازاریابی

یک تیم فروش سنتی باید حجم زیادی کار برای دادن قیمت و پردازش سفارشات هر مشتری انجام دهد. در بسیاری از موارد مسئولیت بازاریابی به مشتریان بالقوه نیز بر عهده همین تیم قرار می‌گیرد. اما برای اینکار نیاز به مدیریت ایمیل‌های بازاریابی و تبلیغات دیجیتال دارد. با استفاده از یک نرم افزار ERP، تیم فروش می‌تواند ضمن هماهنگی با داده‌‎های تیم بازاریابی ببینند هر مشتری در چرخه فروش کجاست تا بهترین رویکرد را برای فروش به آنها انتخاب کنند. در این حالت این تیم می‌تواند در عرض چند دقیقه قیمت‌ها را به سفارش‌های فروش تبدیل کند و سپس فاکتورهای تولید شده توسط سیستم را برای مشتریان ارسال کند.

  • مدیریت مالی

کسب و کارهای B2C معمولاً به صورت یکجانبه بر خدمات عالی به مشتریان تمرکز دارند و برای اینکار از پلتفرم‌های مدیریت ارتباط با مشتری (CRM) و اتوماسیون بازاریابی استفاده می‌کنند. اما این کسب و کارها همچنان به ابزارهای بانکداری آنلاین و نرم‌افزارهایی مجزا برای ذخیره داده‌ها و مدیریت حسابداری متکی هستند. ردیابی داده‌های تمام سفارش‌های خرید (حساب‌های پرداختنی) و سفارش‌های مشتری (حساب‌های دریافتنی) در سایر نرم‌افزارها، زمان‌بر و ناکارآمد است. این در حالیست که با داشتن یک ERP چنین کسب و کارهایی می‌توانند از ماژول مدیریت مالی آنها استفاده کرده و که به طور خودکار تمام تراکنش‌های مالی‌شان را ثبت و مدیریت کنند. به این ترتیب، یکی از کاربردهای دیگر راهکارهای ERP برای کنترل بهتر حساب‌ها، جریان نقدی و مخارج سازمان است.

  • مدیریت زنجیره تامین (SCM)

کسب و کارهایی که رو به رشد هستند، معمولاً برای تامین سفارش‌های رو به افزایش خود با چالش مواجه می‌شوند. زیرا پیش‌بینی، پیگیری و هماهنگی برای تامین حجم بالای سفارشات به صورت دستی کاری بسیار دشوار است. یکی از کاربردهای ERP بهینه‌سازی این فرآیند با استفاده از یک ماژول مدیریت زنجیره تامین (SCM) در کنار سایر ماژول‌های آن است که به کسب و کارها کمک می‌کند تا سفارشات خرید خود را بهتر سازماندهی کنند؛ بر میزان تولید فعلی خود نظارت بهتری داشته باشند، آن را با تقاضا مقایسه کنند و سفارشات را بر اساس میزان موجودی انبار اولویت‌بندی کنند. با استفاده از ERP، کسب و کارها در موقعیت بسیار بهتری برای رشد و توسعه خواهند بود.

  • مدیریت پروژه

مدیریت موفق هر پروژه در مراحل مختلف آن (اعم از برنامه‌ریزی تا اجرا) نیازمند درنظر گرفتن فاکتورها و عوامل متعددی است. اما جمع‌آوری و بهره‌برداری از داده‌های مربوط به پروژه‌ها به صورت دستی کاری زمان‌بر و ناکارآمد است. یکی از موارد رایج از کاربردهای ERP این است که با استفاده از ماژول مدیریت پروژه در کنار سایر ماژول‌های آن تمام اطلاعات لازم برای پروژه را به صورت خودکار ردیابی کنید. ERP می‌تواند علاوه بر نمایش وضعیت پروژه‌ها، وضعیت پیشرفت آنها، میزان کار صورت گرفته، هزینه‌ها و ارتباطات مربوطه را ردیابی کند. همچنین می‌‎تواند هنگامی که پروژه به نقطه عطف خاصی رسید، به طور خودکار تخمینی از هزینه‌های صورت گرفته بر روی آن انجام دهد و یک صورتحساب ایجاد کرده و به مدیران مربوطه تحویل دهد.

راهکار جایگزین ERP کدام است؟

عملکرد بهینه سیستم‌های ERP مبتنی بر استفاده از ماژول‌های مختلف نرم‌افزاری موجود در آن (اعم از فروش، دستمزد، CRM و …) و ردیابی، یکپارچه‌سازی و به اشتراک‌گذاری داده‌های آنهاست. بنابراین کسب و کارهایی که می‌خواهند به عنوان نمونه برای مدیریت مالی و حسابداری خود از راهکارهای خاص و متفاوتی استفاده کنند، نمی‌توانند به بهترین وجه از ERP بهره ببرند. اینجاست که باید به دنبال یک راهکار جایگزین بود.

چنین جایگزینی را می‌توان در نرم‌افزارهای اتوماسیون کسب و کار جستجو کرد. این نرم‌افزارها، ابزارهایی هستد که تمامی واحدهای سازمانی شما می‌توانند به صورت یک سیستم مکمل از آن استفاده کنند و می‌توانید با استفاده از آن به نرم افزارهای مختلف متصل شده و داده‌های مورد نیاز خود را بین واحدها جابجا کنید و به اشتراک بگذارید. از این منظر بیشتر فواید ERP در نرم افزارهای اتوماسیون اداری نیز وجود دارد، اما محدودیتی برای استفاده از ماژول‌هایی خاص برای انجام فعالیت‌های خاص هر واحد سازمانی نخواهید داشت و شروع بکارگیری آن نیز ساده‌تر از راهکارهای ERP خواهد بود.

مراحل تحلیل یک فرآیند

برای شروع باید بدانید که با استفاده از استاندارد APQC و با تعریف سطوح فرایند می‌توان اولین قدم تحلیل فرآیند که شناسایی فرایندها می‌باشد را انجام داد. بنابراین یک سازمان می‌تواند با توجه به اهداف آن سازمان سیاست‌های اجرایی خود را تدوین کرده و با توجه به آن زنجیره ارزش سازمان خود و شناسایی فرآیندهای طبقاتی را انجام دهد.

سپس به تحلیل هرکدام از حلقه‌های زنجیره و نقاط ارتباطی با یکدیگر بپردازد و گروه‌های فرآیندی را شناسایی کند. با توجه به گروه‌های فرایندی دسته‌های فرآیندی مختلف سازمانی (فرآیندهای اداری، بازرگانی و …) را شناسایی کرده و نقاط تاثیر آن‌ها بر زنجیره ارزش را بدست آورد. با توجه به این تحلیل در گام بعدی می‌توان روش‌های اجرایی را فرایندهای مختلف تدوین نماید. در انتها در آخرین سطح فرآیندی که شامل سطح وظیفه است، جزئی ترین فعالیت‌ها و ایستگاه‌های کاری را به همراه تمامی دستورالعمل‌های اجرایی در مدل فرآیندی تاثیر دهد و فرایندها را تحلیل نماید. به این شناخت، شناخت بالا به پایین می‌گویند و با استفاده از این شناخت می‌توان نقاط ارتباط فرآیندها را به خوبی مشخص نمود.

آن چیزی که ما در سیستم BPMS با آن سر و کار داریم، تحلیل فرایندها در سطح پنجم با تمامی قوانین تجاری می‌باشد. بنابراین با انجام معماری فرآیندهای سازمانی مطابق با چارچوب APQC نام فرآیندهای سازمانی استخراج می‌شوند که به عنوان اولین قدم در تحلیل فرآیندها می‌باشد. به عنوان مثال برای دسته فرآیندهای اداری فرآیندهای مرخصی، ماموریت، اضافه‌کاری و … شناسایی می‌شوند. حال ما با تعدادی اسم سرو کار داریم و در گام بعد به تحلیل این موضوع می‌پردازیم که به عنوان مثال فرآیند مرخصی چگونه انجام می‌شود، آیا انجام می‌شود و یا قرار است چگونه انجام شود، می‌پردازیم.

روش‌های مختلفی برای تحلیل مدل‌های فرآیندی وجود دارد که از جمله آن‌ها می‌توان به موارد ذیل اشاره نمود:

  • مصاحبه با یکی از افراد کلیدی سازمان
  • مصاحبه با افراد درگیر در اجرای فرآیند و یا مصاحبه با ذینفعان فرآیند
  • مشاهده میدانی
  • تحلیل فرم‌ها و تهیه ماتریس گردش فرم‌ها و ماتریس مسئولیت‌ها
  • برگزاری جلسات مابین مدیران فرآیند و طوفان مغزی
  • استفاده از استانداردهای فرآیندی

روش پایین به بالا در تحلیل فرآیندها

روش دیگر تحلیل فرآیندها که به روش پایین به بالا مشهور است، وضعیت موجود را برای فرآیندهای سازمانی تحلیل می‌کنیم. این روش برای سازمان‌هایی مفید می‌باشد که وضعیت ساختار یافته‌ای از لحاظ معماری سازمانی ندارند و می‌خواهند تحلیلی از وضعیت موجود را انجام دهند و سپس به سمت بهبود آن حرکت کنند. در این نوع تحلیل ابتدا چند فرآیند جزء شناسایی می‌شود و تحلیل مدل فرآیندی انجام می‌پذیرد. به همین شکل مجموعه‌ای از مستندات فرآیندی شکل می‌گیرند و سپس ارتباطات بین فرایندها و شناسایی فرآیندهای بالادستی انجام می‌پذیرد.

هرکدام از روش‌های فوق می‌توانند به عنوان روش‌های کلیدی در تحلیل فرآیند به حساب بیایند، اما به کار بستن روش‌های فوق با ترتیبی که ارایه می‌شود می‌تواند به تحلیل بهتر فرآیند کمک کند. دقت شود که در این گام سعی بر این داریم که با تحلیل فرآیند به مجموعه‌ای از جملات و عبارات دست پیدا کنیم که نحوه اجرای فرآیند را به طور کامل تشریح نماید.

فاز اول تحلیل فرآیند:

برای شروع تحلیل فرآیند می‌توان کار را با مصاحبه با یکی از افراد کلیدی سازمان که به فرآیند احاطه کامل دارد آغاز نمود. با مصاحبه با این فرد می‌توان نحوه کلی اجرای فرآیند، افراد درگیر در اجرای فرآیند و نام فرم‌های مربوطه را اخذ نمود. در هنگام مصاحبه سوالاتی طرح شود که شامل شناسایی نقاط آغازین و پایانی فرآیند و ۵W باشد. به عبارت دیگر سوالاتی طرح شوند که مشخص نمایند فرآیند در چه نقطه‌ای آغاز می‌شود و در چه نقطه‌ای خاتمه پیدا می‌کند. همچنین مشخص شود که چه کسی چه کاری را در چه زمانی و به چه نحوی و با استفاده از چه ابزارهایی انجام می‌دهد. این مصاحبه می‌تواند ما را در شکل‌گیری زنجیره کلی فرآیند و شناسایی حلقه‌های گم‌شده آن راهنمایی کند.

فاز دوم تحلیل فرآیند:

در فاز بعد، مصاحبه با هرکدام از افراد درگیر در اجرای فرآیند و یا به عبارت دیگر ذینفعان فرآیند انجام می‌شود. نحوه اولویت‌بندی مصاحبه‌ها هم الزامی نمی‌باشد، اما بهتر آن است که مصاحبه را با فردی آغاز کنیم که اولین کار را در طول اجرای فرآیند انجام می‌دهد. خروجی این فاز از مصاحبه می‌تواند حلقه‌های زنجیره فرآیند را تکمیل نماید و به شناسایی قوانین اجرایی در فرآیند کمک نماید.

فاز سوم تحلیل فرآیند:

مشاهده میدانی از محیط انجام کار هم می‌تواند به درک بهتر چگونگی انجام کار مخصوصا در محیط‌های تولیدی کمک کند. مشاهده گردش فرم‌ها در یک فرآیند می‌تواند کمک اساسی را در درک بهتر نحوه گردش فرآیند، نوع اطلاعات و گردش آن‌ها را در اختیار تحلیل‌گر فرآیند بگذارد. تهیه ماتریس CRUD و RASCI هم به درک پیش‌نیازها و تقدم و تاخرها و مسئولین انجام کار کمک می‌کند.

فاز چهارم تحلیل فرآیند:در گام‌های انتهایی تحلیل فرآیند هم الگوبرداری آن از استانداردها و سازمان‌های مختلف می‌تواند در تحلیل فرآیند، یک تحلیلگر را راهنمایی کند.

معمولا در تحلیل فرآیندها پس از تهیه پیش‌نویس سناریوی فرآیند، تحلیلگران جلساتی را مابین مدیران ذینفع فرآیند برگزار می‌کنند و نکات اختلافی و جدیدی را که می‌بایست در تحلیل فرآیند مدنظر قرار گیرند، گوشزد می‌نمایند. در این جلسات با توجه به فنی بودن مدیران اجرایی فرآیند، نکات به تحلیلگران انتقال داده می‌شوند تا درفت نهایی تحلیل بدست آید.

هر کسب و کاری دارای فرآیندهای مختلفی است، که برخی از آن‌ها به طور روزانه بارها صورت می‌گیرند و برخی دیگر استفاده کمتری دارند؛ در هر صورت، کسب و کارهای برای پیشرفت و توسعه، باید فرآیندهای خود را شناسایی و مدیریت کنند.

به طور کلی، فرآیند کسب و کار (Business Process) مجموعه‌ای از فعالیت‌ها و اقدامات محسوب می‌شود، که در راستای شناسایی فرآیندهای موجود در یک کسب و کار و سپس مدیریت یا خودکارسازی آن‌ها صورت می‌گیرند.

فرآیند کسب و کار یعنی چه؟

کسب و کارها برای پیشرفت و افزایش بهره‌وری خود، باید فرآیندهای مختلفی که مورد استفاده قرار می‌دهند را، شناسایی و مدیریت کنند؛ فرآیند کسب و کار، مجموعه‌ای از اقدامات و کارهای مختلفی است که در کسب و کار صورت می‌گیرند. شاید برای شما هم سوال پیش آمده که چرا کسب و کارها به فرآیندهای مشخص نیاز دارند؟

چرا به فرآیندهای کسب و کار نیاز داریم؟

مدیران برای این که مدیریت درست و اصولی بر کسب و کار خود داشته باشند، باید دید کاملی نسبت به فرآیندهای کسب و کار خود داشته باشند؛ دلایل دیگری نیز برای مشخص کردن فرآیندهای کسب و کار وجود دارند، که برخی از آن‌ها عبارت‌اند از:

  • مشخص نبودن وظایف
  • بهره‌وری پایین کسب و کار
  • ارتباط ضعیف افراد سازمان با یکدیگر
  • وجود بی‌نظمی در فعالیت‌های کسب و کار
  • هدر رفت منابع مالی و انسانی
  • و…

انواع فرآیندهای کسب و کار چیست؟

انواع مختلفی از فرآیندهای کسب و کار یا همان Business Process وجود دارند، که می‌توان آ‌ن‌ها را به ۳ دسته کلی تقسیم کرد:

فرآیندهای عملیاتی

فرآیندهای عملیاتی به فرآیندهایی گفته می‌شوند که برای فعالیت کسب و کار و ارائه محصولات یا خدمات به مشتریان ضروری هستند؛ برخی از فرآیندهای عملیاتی عبارت‌اند از:

  • فرآیندهای تولید محصولات
  • فرآیندهای تدارکات و خرید
  • فرآیندهای فروش و بازاریابی
  • فرآیندهای تحویل محصول
  • فرآیندهای ارائه خدمات
  • و…

فرآیندهای پشتیبانی

فرآیندهای پشتیبانی، به مجموعه فرآیندهایی گفته می‌شوند که جزو فرآیندهای اصلی (عملیاتی) محسوب نمی‌شوند، اما همچنان تاثیر و کاربرد مهمی در کسب و کارها و همچنین هموار‌سازی فرآیندهای اصلی دارند. برخی از فرآیندهای پشتیبانی عبارت‌اند از:

  • فرآیندهای پشتیبانی فنی
  • فرآیندهای پشتیبانی نرم‌افزاری
  • فرآیندهای مرتبط با مرکز تماس
  • فرآیندهای منابع انسانی
  • و…

فرآیندهای مدیریتی

مجموعه فرآیندهایی که مرتبط با مدیران و تعیین استراتژی‌های کسب و کار می‌باشند را، فرآیندهای مدیریتی می‌گویند؛ برخی از این فرآیندها عبارت‌اند از:

  • فرآیندهای تعیین بودجه
  • فرآیندهای تعیین قوانین و خط مشی کسب و کار
  • فرآیندهای آماده‌سازی زیرساخت‌های کسب و کار
  • و…

چرخه حیات فرآیند کسب و کار چیست؟

هر فرآیند دارای چرخه حیات می‌باشد؛ چرخه حیات فرآیندهای کسب و کار دارای ۶ مرحله است، که این مراحل به ترتیب عبارت‌اند از:

  1. شناخت فرآیندها (Identification)
  2. توصیف و تعریف فرآیندها (Documentation)
  3. تجزیه و تحلیل فرآیندها (Analysis)
  4. بهینه‌سازی فرآیندها (Optimization)
  5. پیاده سازی فرآیندها (Implementation)
  6. نظارت و کنترل فرآیندها (Control)

اولین قدم برای مدیریت فرآیندهای کسب و کار، فرآیند کاوی و شناسایی فرآیندها و مراحل مختلف آن می‌باشد؛ با گذارندن مراحل بالا، دید کاملی از فرآیندهای کسب و کار به دست می‌آید و به کمک آن می‌توان به مدیریت فرآیندهای کسب و کار پرداخت.

مزایای استفاده از روش فرآیند کسب و کار چیست؟

استفاده از روش فرآیند کسب و کار و شناسایی و تعریف فرآیندها، مزایای مختلفی برای کسب و کارها دارد، که برخی از آن‌ها عبارت‌اند از:

افزایش انعطاف پذیری کسب و کار

با شناسایی و تعریف فرآیندهای کسب و کار، مدیران می‌توانند در کمترین زمان ممکن، فرآیندهای کسب و کار خود را متناسب با شرایط جدید و نیاز مشتریان و بازار، تغییر دهند و اصلاح نمایند؛ این امر موجب افزایش چابکی سازمان و وفق‌پذیری آن می‌گردد.

بهبود مدیریت ریسک

یکی از مراحل شناسایی و مدیریت فرآیندهای کسب و کار، تحلیل، بررسی و بهبود فرآیندها می‌باشد؛ با تحلیل درست و اصولی فرآیندها، مدیران می‌توانند استراتژی‌ها و راهبرد‌های موثرتری برای پیشرفت و توسعه کسب و کار خود در پیش بگیرند و مدیریت ریسک بهتری داشته باشند.

افزایش شفافیت و ارتباطات

با مشخص شدن مراحل مختلف یک فرآیند و تخصیص وظایف به افراد، شفافیت در فرآیندهای کسب و کار افزایش می‌یابد و این امر موجب افزایش روحیه همکاری و کارتیمی در کسب و کار و کاهش سوتفاهم‌ها می‌گردد؛ شایان ذکر است که علاوه بر افزایش شفافیت، شناخت و تعریف فرآیندهای کسب و کار، موجب بهبود ارتباطات درون سازمانی نیز می‌گرد.

بهبود مدیریت منابع مالی و انسانی

شناسایی و بهینه‌سازی فرآیندهای کسب و کار، موجب حذف مراحجل اضافی از فرآیندها و در نتیجه کاهش هزینه‌های سازمان و بهبود مدیریت منابع مالی می‌گردد؛ از طرفی با تعریف فرآیندهای کسب و کار و تقسیم وظایف، مدیریت منابع انسانی نیز بهبود می‌یابد.

امکان خودکارسازی فرآیندها

شناسایی و بهینه‌سازی فرآیندها اولین قدم برای خودکارسازی فرآیندها می‌باشد؛ خودکارسازی فرآیندها به کمک نرم‌افزارهای مختلف (مانند BPMS)، موجب افزایش سرعت فرآیندها، کاهش هزینه‌ها، کاهش خطای انسانی، افزایش دقت فرآیندها و… می‌گردد.

چطور فرآیندهای کسب و کار (Business Process) را مدیریت کنیم؟

روش‌ها و ابزارهای مختلفی برای مدیریت فرآیندهای کسب و کار یا همان BPM وجود دارد؛ BPM مخفف عبارت Business Process Management می‌باشد و شامل روش‌ها و نرم‌افزارهای مختلفی برای مدیریت فرآیندهای کسب و کار است. برخی از پرکاربردترین روش‌ها و ابزارهای مدیریت فرآیندهای کسب و کار عبارت‌اند از:

مدل سازی فرآیند کسب و کار

مدل سازی فرآیند کسب و کار یا همان Business Process Modeling، روشی است که در آن به کمک نمودارها، چارت‌ها و المان‌های گرافیکی مختلف، فرآیندها و مراحل آن‌ها را مدل‌سازی می‌کنند؛ از پرکاربردترین نمونه‌های این روش، می‌توانیم به نمودارهای جریان کار (Workflow Diagrams) کنیم.

مدیریت فرآیند تجاری

در روش مدیریت فرآیندهای تجاری با Business Process Management که تحت عنوان BPM هم شناخته می‌شود، کلیه فرآیندهای تجاری یک کسب و کار را شناسایی، طراحی و کنترل می‌کند و همچنین به بهینه‌سازی آن‌ها می‌پردازد.

 

مقدمه

مدیریت فرآیند کسب و کار (BPM) روشی برای سازماندهی و مدیریت فرآیندهای مختلف یک کسب و کار می‌باشد. در هر سازمان و کسب و کاری، فرآیندهای مختلفی وجود دارد، که هر کدام از آن‌ها از مراحل متفاوتی برخوردار هستند؛ حال بسیاری از این فرآیندها مراحل اضافی دارند، که با مدیریت آن‌ها و اصلاح فرآیندها، می‌توان علاوه بر صرفه‌جویی در زمان و هزینه‌ها، موجب افزایش بهره‌وری کسب و کار نیز گردید. اینجاست که مفهوم مدیریت فرایند کسب و کار یا BPM به کار می آید.

مدیریت فرآیند کسب و کار چیست؟

مدیریت فرآیند کسب و کار یا همان BPM (Business Process Management) شیوه‌ای سازماندهی‌شده برای بهبود فرآیندهای موجود در کسب و کارها و بهبود کیفیت آن‌ها می‌باشد. به بیان دیگر، BPM نوعی روش مدیریتی است، که در آن بر روی بهینه‌سازی فرآیندها به منظور کاهش هزینه‌ها و افزایش بهره‌وری و به طور کلی بهبود و پیشرفت یک کسب و کار مورد استفاده قرار می‌گیرد.

شایان ذکر است که مدیریت فرآیند انواع مختلفی دارد، که در ادامه به معرفی و بررسی آن‌ها می‌پردازیم.

انواع مدیریت فرآیند کسب و کار BPM کدامند؟

در طول سال‌های گذشته با توسعه کسب و کارها و به وجود آمدن کسب و کارهای جدید، روش‌های جدیدی نیز برای مدیریت فرآیندهای کسب و کار شکل گرفت؛ به طور کلی، BPM به دو نوع کلی مدل‌های توصیفی و مدل‌های اجرایی تقسیم می‌شود.

مدل های توصیفی مدیریت فرآیند کسب و کار

(Business Process Model & Notation) BPMN -1

استانداردی برای توصیف فرآیندهای کسب و کار، که در آن فرآیندها در غالب یک نمودار جریان کاری (Flowchart) توصیف و طراحی می‌شوند.

  (Event-Driven Process Chain) ECP -2

در این مدل فرآیندها در قالب یک دیاگرام جریان کاری توصیف و طراحی می‌گردند.

  (Unified Modeling LanguageUML -3

یک سیستم و زبان توصیفی برای طراحی و تعریف فرآیندها ی کسب و کار و سیستم‌های اطلاعاتی در کسب و کار است.

مدل های اجرایی مدیریت فرآیند کسب و کار

 (Business Process Management System) BPMS -1

‌BPMS نرم‌افزار و سامانه‌ای کامپیوتری برای تعریف، طراحی، اجرا و مدیریت فرآیندها به صورت الکترونیکی و خودکار است.

 (Business Process Reengineering) BPR -2

رویکردی عملی برای بهبود فرآیندهای کسب و کار، که در آن فرآیندها از نو تعریف می‌شوند و در روند آن‌ها تجدید نظر و اصلاحات صورت می‌گیرد.

شایان ذکر است که مدیریت فرآیند BPM از وفق پذیری بالایی برخوردار است و بسیاری از سازمان‌ها و کسب و کارها از روش‌های سفارشی‌سازی شده BPM برای مدیریت فرآیندها و افزایش بهره‌وری استفاده می‌کنند؛ این روش‌های سفارشی‌سازی شده، با توجه به نیازهای کسب و کارها طراحی و اجرا می‌شوند.

مرحله اول: شناسایی فرآیندها

اولین قدم برای بهینه‌سازی و بهبود فرآیندها، شناسایی آن‌ها است؛ در این مرحله از روش‌های مختلفی – مانند مصاحبه با کارکنان و مدیران، مشاهده فرآیندهای دستی، تحلیل مستندات و گزارشات عملکردی و… فرآیندهای مختلف یک کسب و کار شناسایی می‌شوند.

مرحله دوم: تحلیل فرآیندها

در مرحله دوم، فرآیندهای شناسایی شده مورد تحلیل و بررسی قرار می‌گیرند؛ طی این بررسی‌ها، مراحل مختلف فرآیند، عملکرد و خروجی فرآیند و دیگر فاکتورهای مرتبط برای بهینه‌سازی فرآیندها تحلیل می‌شوند. مزایای تحلیل فرآیندهای کسب و کار عبارت‌اند از:

  • شناسایی گلوگاه‌های کاری
  • تهیه مدل داده
  • استانداردسازی فرآیندها
  • شناسایی منابع مورد نیاز اجرای فرآیند
  • تلاش سیستماتیک در جهت رفع موانع اجرای فرآیند
  • کاهش تعارضات سازمانی

مرحله سوم: طراحی فرآیندها

در این مرحله با توجه به تحلیل‌های صورت گرفته بر روی فرآیندها، هر فرآیند بهینه‌سازی و طراحی می‌شود؛ برای طراحی فرآیندها، متد‌های مختلفی مانند طراحی فرآیند، تعیین گردش کار و طراحی ساختار سازمانی مورد استفاده قرار می‌گیرند.

مرحله چهارم: پیاده سازی و بهبود فرآیندها

اجرا و پیاده‌سازی فرآیندهای طراحی شده و بهبود آن‌ها، آخرین مرحله از مدیریت فرآیند می‌باشد؛ در این مرحله فرآیندها با استفاده از روش‌های مختلفی اجرا می‌شوند و عملکرد آن‌ها مورد بررس قرار می‌گیرد، تا در صورت نیاز اصلاحات و بهبودهایی بر روی آن اعمال شود.

مزایای استفاده از BPM چیست؟

به طور کلی با مدیریت فرآیند BPM، بهره‌وری و کیفیت و کارایی فرآیندها در کسب و کارهای مختلف، بهبود می‌یابد، که این امر موجب پیشرفت و بهبود کسب و کار نیز می‌گردد؛ اما اگر بخواهیم بررسی دقیقتری بر روی مزایای استفاده از BPM داشته باشیم، می‌توانیم به موارد زیر اشاره کنیم:

بهبود کیفیت و کارایی فرآیندها

با شناسایی فرآیندها و تحلیل آن‌ها، شناخت درستی از مراحل آن‌ها و بهره‌وری و عملکردی که دارند، به دست می‌آید؛ پس از آن با بهینه‌سازی فرآیندها، حذف مراحل اضافی آن‌ها و اجرای فرآیندهای طراحی و تعریف شده به شکل درست، کیفیت و کارایی فرآیندها بهبود می‌یابد.

افزایش سرعت فرآیندها

حذف مراحل اضافی از فرآیندها، موجب کاهش هزینه‌ها و همچنین افزایش سرعت فرآیندها می‌گردد؛ با افزایش سرعت فرآیندها، بهره‌وری آن‌ها نیز افزایش می‌یابد.

افزایش چالاکی و انعطاف پذیری

یکی از مزیت‌های بسیار بزرگ استفاده از مدیریت فرآیند کسب و کار، افزایش چالاکی سازمان در تصمیم‌گیری و تعیین استراتژی و همچنین انعطاف‌پذیری آن در برابر تغییر شرایط محیط و بازار می‌باشد؛ با کمک BPM سازمان‌ها و کسب و کارها می‌توانند در کمترین زمان ممکن، فرآیندها را با توجه به شرایط و نیازهای جدیدی که شکل گرفته‌اند، اصلاح نمایند و بهبود ببخشند.

افزایش شفافیت فرآیندها

در BPM، تمامی مراحل فرآیندهایی که طراحی و یا بهینه‌سازی می‌شوند، به صورت شفاف در دسترس هستند و ذی‌نفعان می‌توانند مراحل مختلف یک فرآیند را مشاهده و پیگیری کنند؛ افزایش شفافیت در فرآیندها موجب افزایش اعتماد مشتریان، کارمندان و ذی‌نفعان به کسب و کار می‌گردد.

مدیریت بهینه منابع انسانی و مالی

کسب و کارها با بهینه‌سازی فرآیندهای خود به کمک BPM و با حذف مراحل اضافی از فرآیندها، قادر به کاهش هزینه‌های سازمان و همچنین مدیریت بهتر منابع انسانی خود هستند.

مدیریت فرآیند کسب و کار در چه حوزه هایی کاربرد دارد؟

کسب و کارهای مختلفی در حوزه‌های گوناگون وجود دارند، که هر کدام از آن‌ها دارای فرآیندهای خاصی می‌باشند؛ کسب و کارها برای پیشرفت و بهبود عملکرد و بهره‌وری خود در هر حوزه‌ای که فعالیت دارند، باید از مدیریت فرآیند کسب و کار BPM استفاده کنند.

توجه داشته باشید که BPM یک روش مدیریت کسب و کار از طریق شناسایی، بهبود و مدیریت فرآیندهای آن کسب و کار می‌باشد؛ در همین راستا، هر کسب و کاری در هر حوزه‌ای که وجود دارد، می‌تواند به کمک BPM، فرآیندهای موجود را شناسایی، بهینه‌سازی، طراحی و پیاده‌سازی کند.

برخی از حوزه‌ها و بخش‌هایی که مدیریت فرآیند BPM در آن‌ها کاربرد دارد، عبارت‌اند از:

  • مدیریت پروژه: اصلاح مراحل پروژه، تعریف فرآیندهای پروژه، بهینه‌سازی فرآیندها و کاهش زمان اجرای پروژه.
  • مدیریت منابع انسانی: بهبود فرآیندهای جذب، مصاحبه، استخدام و آموزش نیروی انسانی و ارزیابی عملکرد آن‌ها در سازمان یا کسب و کار.
  • مدیریت مشتریان: بهبود فرآیندهای ارتباطی، ثبت تیکت، پشتیبانی و بهبود کیفیت خدمات.
  • مدیریت مالی: بهبود فرآیندهای حسابداری، صدور فاکتور، ثبت سفارش، بهینه‌سازی مخارج و… .
  • مدیریت تولید: بهینه‌سازی فرآیندهای تولیدی، کاهش زمان تولید محصولات، مدیریت مواد و قطعات اولیه و… .
  • بانکداری و خدمات مالی: بهبود فرآیندهای مالی مانند بررسی اعتبار مشتریان، ثبت درخواست وام، صدور وام، ارائه خدمات بانکی و… .
  • پزشکی و درمانی: مدیریت پرونده بیماران، ثبت نوبت ویزیت، نسخه‌نویسی، ثبت سوابق پزشکی و… .

BPM و BPA چه تفاوتی دارند؟

بسیاری از افراد مفاهیم BPM و BPA را با هم یکسان می‌دانند، در حالی که دو مفهوم متفاوت از هم در حوزه مدیریت کسب و کارها هستند؛ همان‌طور که می‌دانیم، BPM روشی برای طراحی، اجرا، مدیریت و بهبود بهره‌وری فرآیندهای یک کسب و کار است، در حالی که BPA روشی برای تحلیل، مدل‌سازی و بهینه‌سازی فرآیندها محسوب می‌شود.

به بیان دیگر، BPM روشی برای مدیریت فرآیندهای یک کسب و کار و BPA روشی برای تحلیل و بهینه‌سازی این فرآیندها می‌باشد؛ شایان ذکر است که BPA یکی از مراحل مدیریت فرآیند کسب و کار BPM – مرحله دوم: تحلیل فرآیندها – است، اما پس از اتمام طراحی و پیاده‌سازی فرآیندها، در جهت تحلیل عملکرد فرآیندها و بهبود آن‌ها نیز مورد استفاده قرار می‌گیرد.

تفاوت BPM، BPMN و BPMS چیست؟

BPM، BPMN و BPMS همگی مفاهیمی مرتبط با مدیریت فرایندهای کسب و کار هستند، اما تفاوت‌هایی نیز باهم دارند؛ برای درک بهتر تفاوت‌های این ۳ مفهوم، بهتر است تعریف هر کدام از آن‌ها را در کنار هم مرور کنیم.

تعریف BPM

مجموعه‌ای از روش‌ها، ابزارها و نرم‌افزارهای مختلف، برای طراحی، مدل‌سازی و بهینه‌سازی فرایندهای کسب و کار.

تعریف BPMN

استانداردی برای مدل‌سازی و طراحی فرایندهای کسب و کار به کمک نمودار جریان کاری؛ در BPMN با استفاده از نمادهای گرافیکی استاندارد، فرایندهای مختلف را طراحی و مدل‌سازی می‌کنند. به عبارت دیگر، BPMN نوعی زبان استاندارد برای توصیف فرایندهای کسب و کار  محسوب می‌گردد و موجب درک آسان‌تر فرایندها و جریان اطلاعات و کار در آن‌ها می‌باشد.

تعریف BPMS

نرم افزارهای مدیریت فرایندهای کسب و کار، BPMS نام دارند؛ نرم افزارهای BPMS با هدف مدل‌سازی، طراحی، بهبود و خودکارسازی فرایندهای کسب و کار توسعه یافته‌اند؛ به کمک نرم افزارهای BPMS می‌توانید فرایندهایی که طراحی و بهینه‌سازی نموده‌اید را، به راحتی طراحی و در سامانه‌های سازمان خود پیاده‌سازی کنید.

سیستم مدیریت فرایند کسب و کار BPMS چیست؟

سیستم مدیریت فرایند کسب و کار یا همان BPMS، ابزار تخصصی برای مدیریت صفر تا صد فرایندها (اعم از طراحی، مدل‌سازی، بهینه‌سازی، ویرایش، پیاده‌سازی و اجرای فرایندها ) می‌باشد؛ انواع مختلفی از نرم‌افزارهای BPMS در بازار وجود دارند، که هر کدام آن‌ها از قابلیت‌ها و امکانات مختص به خود برخوردارند.

 

با توجه به تاثیر مستقیم تصمیمات مدیران روی کارمندان یک سازمان و گاه افراد یک جامعه ممکن است باعث به وجود آمدن نگرش مثبت یا منفی برای آن سازمان شود. تمام این تاثیرات بر اساس سه عامل ضریب هوشی IQ ، هوش هیجانی EQ و هوش شرافت DQ به وجود می آید. مدیری در یک سازمان موفق خواهد بود که بتواند مفهوم این سه تاثیر را درک کرده و به روشی خلاقانه و ترکیبی به اهداف خود در سازمان برسد.

مدیران لازم دارند با دستکاری روی عواطف، احساسات و آگاهی کارمندان خود به یک همدلی ایده‌آل و الگو محور برای فعالیت سازمان برسند. اما هیچوقت نباید این مهارت صرفا توسط مدیر برای فریب یا سرکوب اعتماد به نفس مورد استفاده قرار بگیرد. در این مقاله قصد دارم مفهوم «ضریب شرافت» را توضیح داده و بیان کنم از چه روشی می توان آن را شناخت و نسبت به تقویت آن اقدام کرد.

برای رهبران، شرافت به اندازه هوش مهم است.

رهبران سازمانی هر روز تصمیماتی می‌گیرند: بزرگ و کوچک، مثبت و منفی. همه این تصمیمات کارکنان، ذینفعان، جوامع  سازمانی همراستا و حتی کل جامعه را تحت تأثیر قرار می‌دهند. من معتقدم برای اینکه این تصمیمات به شیوه‌های معنوی و اخلاقی اتخاذ شوند، ما باید ویژگی‌های اساسی یک رهبر را سازگار کنیم. رهبران موفق چه در امروز و چه در دهه‌های آینده باید دارای مهارت‌های سه گانه باشند: IQ+EQ+DQ. به عبارت دیگر، آنها باید ترکیبی از دو ویژگی آشنای عقل و هوش هیجانی را دارا باشند. مؤلفه دیگری که به اعتقاد من باید شناخته شود و ارتقاء یابد: شرافت است.
غیر از وجود شایستگی اخلاقی و علمی که در مدیران و رهبران سازمان ضروری هستند، موضوع اثرگذار دیگیری نیز وجود دارد که من در اینجا از آن به عنوان هوش شرافت یاد می‌کنم. این عنوان، بیشتر به رهبر موفق سازمانی مرتبط است.

رهبر یک سازمان در طول هر روز کاری با افراد زیادی در ارتباط است و لازم است مهارت و تمرکز لازم برای مدیریت و هدایت آنها را داشته باشد. خواسته ها و تمایلات آنها درک کرده و با آنها همراه باشد. اجرای درست ضریب شرافت باعث می شود با ایجاد حس مسئولیت پذیری در کارمندان به نتیجه مطلوب در سازمان و کسب و کار رسید. در ادامه به بررسی مفهوم ضریب شرافت چیست خواهم پرداخت.

مفهوم EQ از دیدگاه رهبران

اکثر رهبران باسواد و متخصص با مفاهیمی نطیر  EQ آشنا هستند، یعنی خودآگاهی از احساسات در کنار هوش احساسی و قدرت تحلیل رفتار که هم در مورد دیگران و هم در مورد خود شخص مهم و ضروریست. برخورداری از EQ بالا به این معنی است که یک مدیر می‌تواند احساسات شخصی را درک کند، افکار دیگران را بخواند و بر اساس آن اطلاعات عمل کند. با این حال، EQ به این معنی نیست که یک شخص همیشه قبل از اقدام به هر کاری آنچه را که برای دیگران بهتر است در نظر می‌گیرد. دانش احساسی و همدلی، با دلسوزی و صداقت برابر نیست. افراد می‌توانند EQ داشته باشند اما از آن برای اداره کردن افراد در راستای منافع شخصی استفاده کنند. EQ همیشه به معنای انجام کار درست نیست.

چگونه در سازمان شرافت در رهبری را اجرا کنیم؟

  • قبل ورود به سازمان با خود تکرار کنید: رهبری مربوط به شما نیست رهبری در مورد تیم شما و کارهایی است که می توانید برای کمک به موفقیت هر یک از اعضا انجام دهید.
  •  از گفتار، اعمال و رفتار خود برای ایجاد فرهنگی استفاده کنید که رفتار متعالی و صحیح را ارتقا دهد. همیشه بیاد داشته باشید که دیگران (چه درون، چه بیرون سازمان) شما را تماشا خواهند کرد و رفتارهای شما را منعکس خواهند کرد.
  • به همه افراد سازمان (خواه آنها قدردان شما باشند یا نه)، احترام بگذارید.
  •  تصمیماتی بگیرید که به نفع سازمان باشد، نه لزوماً به نفع شما.
  • محیطی را ایجاد کنید که هرکس بتواند استعدادهای خود را به اشتراک بگذارد.
  • به افکار و احساسات اعضای تیم خود توجه کنید. انسان ها موجوداتی عاطفی هستند و یک رهبر موثر به دنبال درک انگیزه ها، محدودیت ها، نقاط قوت و ضعف اعضای تیم خود است. تنها در این صورت است که او می تواند به طور موثر مدیریت کند.
  • اگر میخواهید موفق باشید حتما قبل از یک مدیر خوب، یک مربی و آموزگار خوب باشید، دانش و تجربه خود را به اشتراک بگذارید.
  • از اشتباهات و خطاهای کارکنان به عنوان لحظات آموزشی مثبت استفاده کنید(و نه بعنوان تله های مچ گیری و تنبیه).
  • نقش دانش، تخصص و تجربه خود و دلایلی که افتخار، امتیاز و مسئولیت رهبری و مدیریت یک سازمان را به شما داده اند را به خاطر بسپارید!
  • ابتدا با خود و سپس با کارکنان حود صادق و روراست باشید.

ضریب شرافت یا DQ مخفف چیست ؟

ضریب شرافت یا DQ (Decency Quotient) یک قدم فراتر از EQ هوش هیجانی حرکت می کند. DQ نشان می‌دهد که شخص نه تنها با کارکنان و همکاران خود همدلی دارد، بلکه دارای تمایل واقعی برای مراقبت، نگهداری و حمایت از آنها نیز می‌باشد.

  • DQ به معنای خواستن چیزهای مثبت برای همه در محل کار و اطمینان از این است که همه احساس کنند مورد احترام و ارزشمند هستند.
  • DQ در تعاملات روزانه با دیگران مشهود است.
  • DQ به معنای تمرکز بر تحقق درستکاری توسط دیگران است.

IQ و EQ در مقابل DQ

آجی بانگا (Ajay Banga)، مدیر عامل Mastercard، اولین فردی بود که در مورد DQ، در سخنرانی در جمع دانشجویان در دانشکده بازرگانی Fuqua دانشگاه دوک، صحبت کرد. او گفت: “IQ واقعا مهم است. EQ واقعا مهم است. آنچه واقعاً اهمیت دارد، DQ است.

اگر بتوانید هر روز ضریب شرافت خود را با خود به سر کار بیاورید، سازمان را برای کارکنان بسیار امدبخش و مفرح خواهید کرد و آنها از حضور در آنجا و انجام کارهای درست لذت خواهند برد. متأسفانه، ما نمونه‌های بسیار زیادی از شکست پنهان مدیران در سازمان های خود داریم که نتیجه مستقیم و غیر مستقیم بکارگیری DQ در سازمان است.

رابطه اعتماد عمومی با شرافت رهبری

شرافت رهبری مهارتی است که اهمیت بالایی در مدیریت سازمان دارد. به خصوص زمانی که مدیران قصد دارند نیروهای سازمانی خود را کاهش داده یا از هزینه های مالی خود کم کند. در این صورت چنانچه بخواهند از دید بالا به پایین نسبت به تقلیل نیرو و اخراج آنها عمل کنند در اصل به اعتماد عمومی سازمان خود ضربه زده‌اند.

تاثیر DQ در افزایش بهره‌وری انسانی

شرافت رهبری کمک می کند مدیران از روی صداقت و صراحت در ابعاد مدیریتی زیر به بهبود خوبی در سازمان برسند:

  • انجام روابط و فعالیت های حرفه ای منصفانه، صادقانه، اخلاقی و مطابق با منشور اخلاقی سازمان
  • انجام امور رسمی و شخصی که از شفافیت بالایی برخوردار باشد.
  • پرورش رفتار اخلاقی در سراسر سازمان از طریق آموزش کارکنان در مورد اخلاق اداری
  • پاسخگو نگه داشتن کارکنان و القای مسئولیت پذیری در فرآیندهای سازمانی.
  • ابلاغ استانداردها و دستورالعمل های اخلاقی به دیگران.

نتیجه گیری :

ما وارد دوره ای شده ایم که بدلایل بسیاری احتمال بی اعتمادی بین کارکنان و مدیران افزایش یافته است. استفاده از ابزارهای فناوری اطلاعات، راهبردهای نوآورانه و… ماهیت کارها را تغییر داده اند. در این زمان می‌توانیم از شرافت رهبری برای یافتن راه‌هایی در راستای حرکت رو به جلو، بدون پشت سر گذاشتن دیگران استفاده کنیم. زمانی که رهبرانی که تحت هدایت شرافت هستند نوآوری می‌کنند، آنها فقط به آنچه ایجاد می‌شود توجه نمی‌کنند، آنها آنچه را که ممکن است نابود کنند نیز در نظر می‌گیرند.

نوآوری نه تنها در مورد راه حل‌های جدید بلکه در مورد کمک به سایر افراد سازمان هم هست. رهبران دارای DQ می‌دانند که تصمیمات آنها صرفاً حول توسعه فردی و رشد سازمانی باقی نمی‌ماند. تصمیمات آنها (چه مستقیم و چه غیرمستقیم) بر زندگی صدها، هزاران یا حتی میلیون‌ها نفر تأثیر می‌گذارد.

اگر رهبری سازمان بتواند از شرافت ” decency quotient ” بعنوان یک ابزار قدرتمند رهبری بهره بگیرد، من باور دارم که به نیروی بی بدیلی تبدیل می‌شود که سازمان های موجود در کشور ما به شدت به آن نیاز دارند. این کار وضعیت سازمان هایی که با کاهش اعتماد عمومی کارکنان خود را به دلایل گوناگون مواجه شدند، را بهبود خواهد داد.

همچنین شرافت رهبری می‌تواند با متحد کردن کارکنان برای یافتن راه چاره به حل برخی از سخت ترین مشکلات سازمان کمک کند. اما برای پیروزی شرافت، DQ باید به عنوان یک ویژگی اساسی در رهبری شناخته شود. عقل و هوش هیجانی حیاتی هستند، اما این شرافت است که تضمین می‌کند بهره هوشی و هوش هیجانی به نفع کارکنان و سازمان باشند، نه اینکه آن را از بین ببرند. لذا شرافت باعث ایجاد حس وفاداری به همراه همکاری عمیق و نوآوری در سازمان می شود که هر سازمانی برای بقای خود به آن وابسته است.

بودن در سمت مدیر شرکت یا مدیر پروژه تنها کافی نیست. هر لیدر یا رهبر خوب نیازمند یکسری از مهارت‌های ظریف برای برقراری ارتباطات مثبت با کارمندان و یا اعضای تیم می‌باشد. با رعایت تکنیک‌های رهبری یا لیدرشیپ در سازمان می‌توان باعث شد تا افراد با اشتیاق و انگیزه فراوان به سمت هدف مشخص شده حرکت کنند.

زمانی که شرکت‍‌ها درصدد استخدام فردی به عنوان رهبر یا لیدر هستند، در جستجوی فردی هستند که توانایی برقراری ارتباط‌های موفق و با کیفیت با همکاران، مشتریان و افراد دیگر در محل کار و یا خارج از آن را داشته باشند. افرادی که در سمت رهبری ایفای نقش می‌کنند باید توانایی در اولویت قرار دادن افراد را داشته باشند. کارفرمایان افرادی با درجه هوش هیجانی بالا، صبر و تحمل بالا و همچنین با دانش منابع انسانی باشد؛ برای این این سمت را ترجیح می‌دهند.

تکنیک های رهبری یا لیدرشیپ در سازمان ( Leadership ) چیست؟

کلمه ی « لیدرشیپ یا رهبری » ممکن است معانی مختلفی را در ذهن تداعی می‌کند. به عنوان مثال :

  • رهبران سیاسی، به همراه دنباله رو‌های پر شور و هیجان
  • یک گردشگر، مسیری را برای حرکت و استراحت برای افرادی که او را دنبال می‌کنند؛ مشخص می‌کند.
  • مدیر اجرایی، در حال توسعه ی استراتژی‌های شرکت خود برای برنده شدن در رقابت هست. مفهوم اصلی رسالت سازمانی در این این جمله خلاصه می‌شود.
  • یک رهبر خارقالعاده باید الهام بخش اعضای سازمان خود باشد.
  • در ایجاد انگیزه روی کارکنان مهارت کافی داشته باشد.
  • ار تعارضات و بروز نارضایتی در میان پرسنل خود جلوگیری کند.
  • شنونده خوبی باشد.

لیدر ها و رهبران به خودشان و دیگران کمک می‌کنند تا بهترین خود را اجرا کنند. آنها جهت را مشخص می‌کنند. چشم انداز و ویژنی الهام بخش مشخص می‌کنند. چیزهای جدید ایجاد می‌کنند.

رهبری درباره ی برنامه ریزی و تهیه نقشه ی راه برای جایی که باید برای برنده شدن به عنوان یک تیم یا یک سازمان، باید رفت ، می‌باشد که این موضوع بسیار هیجان انگیز، پویا و الهام بخش می‌باشد.

بعد از اینکه آنها مسیر و جهت را مشخص کردند آنها باید از مهارت های مدیریتی خود برای راهنمایی پیروان خود به سمت جهت درست، از یک راه هموار و مناسب، استفاده کنند.

در این مقاله بر روی فرآیند رهبری تمرکز شده است. بر روی مدل « متحول سازی رهبری » که برای اولین بار توسط جیمز مک گرگور برنز(James MacGregor Burn) ارائه شد و توسط برنارد باس (Bernard Bass)  توسعه پیدا کرد؛ بحث خواهیم کرد. این مدل براساس تفکر استراتژیک ، الهام بخش و ایجاد تغییرات است به جای فرآیندهای مدیریتی که براساس حفظ منابع و بهبود عملکرد فعلی هست؛ می‌‎باشد.

نکته!

لیدر شیپ به معنای موارد متفاوت برای افراد متفاوت تمام دنیا و در موقعیت‌های متفاوت است. برای مثال این امر می‌تواند به رهبری جامعه، رهبری مذهبی، رهبری سیاسی و رهبری گروه‌های مبارزاتی مرتبط شود.

در این نوشتار تلاش گردید بر روی مدل رهبری فردی و سازمانی براساس مدل‌های استاندارد علمی به جای سایر زمینه‌های رهبری، تمرکز گردد.

رهبری یعنی؛ هنر به کار گرفتن تخصص و توانایی های دیگران در راستای انجام اموری تخصصی، بنحوی که مورد رضایت و علاقه خود افراد باشد.”

دکتر محمد برادران (Dr. Mohammad Baradaran)

 

اصول و تکنیک های رهبری یا لیدرشیپ در سازمان

با توجه به مدل تحول سازی رهبری، یک رهبر ایده آل و تاثیر گذار کسی هست که موراد زیر را انجام می‌دهد:

  • چشم اندازی الهام بخش برای آینده دارد.
  • الهام بخش و مشوق افراد برای برقراری ارتباط با این چشم انداز است.
  • مدیریت تغییرات در چشم انداز
  • مربی و تشکیل تیمی که او را در رسیدن به آن چشم انداز همراهی می‌کنند.

رهبری مهارت‌های لازم برای انجام این موارد را با هم جمع می‌کند.

چگونه می‌توان مهارت های رهبری را یاد گرفت؟

رهبران و لیدر های تاثیر گذار در هر سازمانی ضروری هستند. آنها می‌توانند در ایجاد یک تیم قدرتمند به یک کسب و کار کمک کنند و پروژه‌ها و کارها را با موفقیت به سرانجام برسانند. مهارت کلیدی رهبری مهارتی آموختنی هست و هر کسی می‌تواند این مهارت را در خود تقویت نماید. برای دریافت اطلاعات بیشتر در مورد مهارت‌های مهم رهبری مقاله شرافت رهبری DQ را مطالعه کنید.

بیشتر مردم نتایج و دستاورد‌های رهبران موثر را در جامعه دیده‌اند رهبران خوب مشارکت کارمندان را بیشتر می‌کنند یک محیط مثبت را ایجاد می‌کنند و به حذف موانع از راه تیم کمک می‌کنند. رهبر خوب، رفتارهایش مسری هست و برای همکاران الهام بخش است که آنها نیز این مهارت‌های مثبت را در کارشان اجرا کنند.

10 مرحله برای بالا بردن مهارت های رهبری

1- ارتباطات

به عنوان یک لیدر، شما باید توانایی بیان و توضیح تمام اهداف سازمان و وظایف افراد را به صورت واضح و شفاف را داشته باشید. لیدر‌ها باید در زمینه برقراری ارتباط ، در انواع آن چه به صورت تلفنی ، نوشتاری و یا رو در رو ، استاد و ماهر باشند. یکی از مهم ترین بخش‌های برقراری ارتباط، بهبود مهارت گوش دادن است. بنابراین رهبران باید یک جریان مداوم ارتباط بین خود و کارکنان و یا اعضای تیم خود ایجاد کنند و همواره برای بحث در مورد مسائل و نگرانی‌های کارکنان در دسترس باشند.

سایر مهارت‌های مربوط به ارتباطات شامل :

  • گوش کردن فعالانه
  • توانایی شرح و توضیح
  • بیان داستان‌های کسب و کار
  • واضح و شفاف بودن
  • نتیجه گیری
  • ویرایش و تصحیح کردن
  • راحت کردن مکالمات گروهی
  • فن بیان خوب
  • داشتن مهارت‌های سخنرانی
  • شناخت زبان بدن‌های افراد از طریق ارتباطات غیر کلامی
  • ارتباطات نوشتاری

2- انگیزه

رهبران باید توانایی انگیزه دادن به کارمندان خود را برای پیشرفت شرکت داشته باشند؛ تنها پرداخت حقوق منصفانه به کارمندان کافی نیست. اگر چه لازم است اما کافی نیست. روش‌های زیادی برای انگیره دادن به کارمندان وجود دارد : شما می‌توانید با پیدا کردن شناخت افراد سازمان و براساس ویژگی‌های شخصیتی آنها، براساس این شناخت به افراد پاداش و یا مسئولیت ACCOUNTABILITI  بدهید که این موضوع هم برای کارمندان خوشایند است و اعتماد بنفس آنها را افزایش می‌دهد هم باعث پیشرفت سازمان می‌شود.

  • اجازه استقلال به کارمندان دادن
  • برای استخدام نیرو از کارمندان درخواست نیرو کنید.
  • ارزیابی علایق کارکنان
  • توانایی متقاعد کردن کارمند
  • ارائه ی کارهای مولد و چالش برانگیز
  • ارائه پاداش
  • تعیین هدف‌های تاثیرگذار
  • تشکیل تیم سازنده
  • درک تفاوت‌های میان کارمندان

3- محول کردن کارها به دیگران

رهبرانی که سعی می‌کنند کارهای بیش از حد توان انجام دهند سردرگم می‌شوند و کارها همیشه خوب پیش می‌رود. آنها فکر می‌کنند واگذار کردن کارها به دیگران نشانه ضعف یک رهبر است در حالی که یکی از نشانه‌های رهبر قوی قدرت محول کردن کارها به افراد است.

بنابراین بایستی شناختی دقیق از توانایی‌های هر یک از کارکنان داشته باشیم تا براساس این ویژگی‌ها و توانایی‌ها به آنها وظایفی را محول نمود. یکی از ویژگی‌هایی که برای کسب این مهارت در خود دارید عبارتند از:

  • استقبال از بازخوردهای کارکنان در موارد مختلف
  • سهیم کردن کارمندها در نوآوری‌ها و ابتکار عمل‌ها (دادن اجازه داشتن ابتکار عمل به کارمندان )
  • تشریح و توضیح انتظارات از افراد
  • ارزیابی عملکرد کارمندان
  • اولویت بندی نتایج
  • کار گروهی
  • مدیریت زمان
  • آموزش
  • اعتماد به کارکنان

4-مثبت بودن

نگرش مثبت می‌تواند در محیط کار مسری شود یک رهبر باید در مواردی که کارها طبق برنامه ریزی جلو نمی‌رود به همان اندازه ی زمان‌هایی که عملکرد موفقیت‌آمیز بوده است؛ بتواند بخند و انرژی مثبت داشته باشد حتی در موقعیت‌های شلوغ و استرس زا ” پیشنهاد ما برای مطالعه : اضطراب چیست؟ را مطالعه کنید. تا محیط کاری سالم و شاد را ایجاد نماید. در نتیجه روحیه کارمندان افزایش می‌یابد و اگر کارمندان احساس کنند که محیط کاری مثبت و شادی دارند حس بهتری برای ماندن در شرکت و ادامه کار دارند و زمان‌های بیشتری را برای کارشان صرف می‌کنند.

برخی از مهارت‌هایی که باعث ایجاد یک فضای مثبت در محل کار می‌شود عبارتند از:

  • مراقبت
  • مدیریت اختلافات
  • ایجاد ارتباط
  • دیپلماسی
  • تشویق
  • تقویت انرژی مثبت
  • قدرت اجتماعی

5- قابل اعتماد و اطمینان

کارمندان باید برای مطرح کردن سوالات و نگرانی‌های خود با رهبران احساس راحتی کنند مهم است که شما بتوانید یکپارچگی خود را نشان دهید کارمندان تنها به رهبران آنها احترام می‌گذارند. کارمندان به لیدرهایی که به آنها احترام می‌گذارد اعتماد می‌کنند.  مقاله هوش هیجانی کارمندان را مطالعه کنید.

با صادق و درست بودن می‌توان این ویژگی را در کارمندان تقویت نمود. در ادامه برخی از مهارت‌ها بیان شده است که با داشتن آنها می‌توانید رهبر قابل اعتمادی باشید:

  • داشتن جرات معذرت خواهی و پذیرش اشتباه
  • مسئولیت پذیر
  • اخلاق کسب و کار
  • رازداری
  • دارای وجدان
  • درجه‌ی هوش هیجانی بالا
  • صادق و راستگو

6- خلاقیت

یک رهبر باید تصمیم‌هایی بگیرد که ج.اب یا نتیجه واضحی ندارد بنابراین یک رهبر باید بتواند خارج از چارچوب فکر کند و تصمیم بگیرد.

یاد بگیرید که راه‌ها و روش‌های غیر معمول را امتحان کنید کارمندان از رهبرانی الهام گرفته و انگیزه می‌گیرند که همیشه راه‌های معمولی و امن را انتخاب نمی‌کنند. تعدادی از ویژگی‌های لازم برای بهبود این مهارت در زیر بیان شده است:

  • داشتن قدرت تجزیه و تحلیل بالا
  • داشتن قدرت انعطاف پذیری بالا
  • داشتن تفکر انتقادی
  • کنجکاوی
  • آینده نگری
  • داشتن قدرت تخیل بالا و تصویرسازی ذهنی
  • گوش دادن به ایده‌های دیگران
  • ایجاد ارتباطات انتزاعی بین مسائل
  • قدرت حل مسئله
  • داشتن چشم انداز واضح
  • داوری منصفانه و دقیق

7- بازخوردها و نتایج

رهبران باید به طور مداوم به دنبال فرصتی برای ارائه اطلاعات مفید در ارتباط با عملکرد تیم به آنها باشد. با آموزش به کارمندان که چگونه عملکرد خود را بهبود بخشند و تصمیمات بهتری بگیرند احساس مسئولیت در برابر کارمندان را به آنها نشان می‌دهید. برخی از ویژگی‌ها برای داشتن این مهارت در زیر بیان شده است:

  • گوش دادن به پاسخ‌های کارمندان
  • ایجاد اعتماد بنفس در کارکنان
  • ارائه ی مشاوره مخصوص
  • احترام

8- مسئولیت

رهبر مسئول موفقیت و شکست تیمش است. بنابراین اگر چیزی به درستی انجام نگرفته است می بایستی متعهد باشیم.

اگر کارکنان ببینند که رهبرشان انگشت اشاره به سمت دیگران دراز می‌کند و دیگران را سرزنش می‌کند و دیگران را مقصر شکست می‌داند؛ این لیدر یا رهبر دیگر احترامی در بین تیمش ندارد. اشتباهات و شکست‌ها را قبول کنید و سپس برای آنها راه حل پیدا کنید .

9- تعهد یا مسئولیت پذیری

این موضوع برای رهبران مهم است که آنچه با آن موافقند انجام گیرد بنابراین برای اینکه دیگران بتوانند در زمان‌های اضافه بر ساعت کاری با کمال میل کار کنند لزوما یک شرایط ویژه تعیین شود تا کارکنان بتوانند با اشتیاق کار کنند .

همان طور که کارمندان باید نسبت به کارشان تعهد و هنر پاسخگویی داشته باشند یک رهبر نیز، بیشتر از همه به وعده‌های خود برای پاداش به کارکنان متعهد باشد یک رهبر نمی‌تواند دیگران را  به انجام کارها و وظایف خود تکلیف کند در صورتی که خودش تعهد و مهارت مسئولیت پذیری نداشته باشد.

10- انعطاف پذیری

گاهی به عنوان یک رهبر، باید مثل یک درخت باشید. انعطاف‌پذیری یکی از مهم‌ترین مهارت‌هایی است که می‌توانید داشته باشید، مخصوصاً در زمان‌های تغییر و اختلال دائمی در عملکرد تیم و سازمان.

به منظور شناخت موانع احتمالی موفقیت، باید از شرایط خود آگاه باشید و تشخیص دهید چه زمانی باید خم شوید و چه زمانی باید ثابت بمانید. انعطاف‌پذیری بیشتر در نحوه سازمان‌دهی و اجرای حول اولویت‌هایتان، در پاسخ به نیازها و درخواست‌های مشتری، زمانی که فرصت‌ها یا تهدیدهای جدید به وجود می‌آیند، و در روابطتان، همگی زمان‌های بسیار خوبی برای تمرین مهارت انعطاف‌پذیری هستند.

اشتباهات و تغییرات در لحظه‌های آخر، در محل کار پیش می‌آید رهبران باید قدرت انعطاف پذیری بالایی داشته باشند و هر تغییری را بپذیرند و برای آن راه حل ارائه کنند. پیشنهاد می‌کنیم برای تقویت انعطاف خود مقاله تله وابستگی و بی کفایتی را مطالعه کنید.

نتیجه گیری

برای تبدیل شدن به یک رهبر خوب، باید تمام ویژگی‌های یک رهبر را در خود ایجاد نمود اما با فقدان این ویژگی‌ها ،افراد از شما پیروی نمی‌کنند . شما باید یک مثال خوب برای افراد برای پیروی کردن باشید. این همان جایی که مهارت‌های تعهد، انگیزه بخشی، صداقت و همدلی شما بازی خود را به نمایش گذاشته است. مهارت‌های ارتباطی خوب و قابلیت‌های تصمیم‌گیری نیز نقش مهم و حیاتی در موفقیت و شکست یک رهبر بازی می‌کند و در نهایت ، نوآوری و تفکر خلاق و داشتن چشم اندازی برای آینده، ویژگی‌هایی است که باعث برجسته تر شدن یک رهبر می‌شود.