معماری لی نت-۵ (LeNet-5) چگونه است؟ در حوزه‌ی یادگیری عمیق (Deep Learning) شبکه‌های عصبی کانولوشنی (CNN)، نوعی شبکه‌ی عصبی مصنوعی هستند که اغلب در شناسایی تصاویر به کار می‌روند؛ به‌عبارت دیگر، شبکه‌های عصبی کانولوشنی پایه‌واساس بینایی ماشین (Computer Vision)، مبتنی بر یادگیری عمیق (Deep Learning)، فعلی هستند. شبکه‌های عصبی کانولوشنی در محبوبیت و توسعه‌ی یادگیری عمیق (Deep Learning) و شبکه‌های عصبی (Neural Networks) نقش بسیار مهمی داشته‌اند.
زمانی‌که از شبکه‌های عصبی کانولوشنی (CNN) حرف به میان می‌آید، قطعاً از اولین معماری کانولوشنی که از فرایند انتشار روبه‌عقب استفاده کرده است، یعنی معماری لی‌نت-۵ (LeNet-5)، یاد می‌شود؛ درواقع می‌توان گفت شبکه‌ی عصبی کانولوشنی و یادگیری عمیق با معرفی معماری لی نت-۵ (LeNet-5) شروع شده است.
در این مطلب این معماری را بررسی می‌کنیم و با ساختار این معماری و لایه‌های مختلف آن آشنا می‌شویم.

معماری لی نت-۵ (LeNet-5)

معماری لی‌نت-۵ (LeNet-5) یک شبکه‌ی عصبی کانولوشنی است که برای طبقه‌بندی اعداد دست‌نویس روی چک‌ها در امریکا استفاده شد. این معماری را Yann LeCun، Leon Botto، Yosuha Bengio و Patrick Haffner در سال ۱۹۹۸ ارائه کردند.

قبل از ظهور معماری لی‌نت-۵ (LeNet-5)  شناسایی کاراکتر با استفاده از مهندسی ویژگی دستی (Feature engineering by hand) و مدل‌های یادگیری ماشین (Machine Learning) برای یادگیری طبقه‌بندی این ویژگی‌ها انجام می‌شد. معماری لی‌نت-۵ (LeNet-5) کار مهندسی ویژگی دستی را حذف کرد؛ زیرا خود شبکه به‌طور خودکار بهترین ویژگی‌ها را از تصاویر خام ورودی استخراج می‌کند.

ساختار معماری لی نت-۵ (LeNet-5)

تا اینجا با معماری لی‌نت-۵ (LeNet-5)، به‌طور کلی، آشنا شدیم. در بخش بعد ساختار این معماری را با جزئیات بررسی خواهیم کرد.

برای آشنایی با یادگیری عمیق این مطلب را مطالعه کنید:

یادگیری عمیق (Deep Learning) چیست؟

جزئیات ساختار معماری لی‌نت-۵ (LeNet-5)

لی نت-۵ (LeNet-5) شبکه‌ی کوچکی است که لایه‌های کانولوشنی (Convolution Layers)، لایه ادغام (Pooling layer) و لایه کاملاً متصل (Fully connected layer) را دربرمی‌گیرد. معماری لی‌نت-۵ اساس دیگر مدل‌های یادگیری عمیق (Deep Learning) محسوب می‌شود. همان‌طور که در شکل بالا می‌بینیم، این معماری به‌طور کلی هفت لایه دارد که در ادامه آن‌ها را گام‌به‌گام با هم بررسی می‌کنیم.

برای آشنایی با لایه ادغام این مطلب را مطالعه کنید:

لایه ادغام (Pooling Layer) در شبکه عصبی کانولوشنی (CNN) چیست؟

لایه‌ی ورودی

ورودی شبکه لی نت-۵ (LeNet-5) یک عکس سیاه‌وسفید با اندازه‌ی ۳۲×۳۲ است.

لایه‌ی اول در معماری لی نت-۵

لایه‌ی اول

در لایه‌ی اول یک لایه‌ی کانولوشن است که ۶ فیلتر با اندازه‌ی ۵×۵ با مقدار گام (Stride) ۱ دارد. این لایه روی عکس ورودی اعمال می‌شود که ۶ نوع ویژگی موجود در عکس را استخراج می‌کند. نهایتاً در خروجی اندازه‌ی عکس از ۳۲×۳۲ به ۲۸×۲۸ تبدیل می‌شود.

لایه‌ی دوم در معماری لی نت-۵

لایه‌ی دوم

در این مرحله یک لایه‌ی ادغام (Average pooling) با فیلتر ۲×۲ و مقدار گام (Stride) ۲ روی هر ۶ نقشه‌ی ویژگی (Feature Map)  که در مرحله‌ی قبل به دست آمده است اعمال می‌شود. هدف استفاده از این لایه این است که ویژگی‌های غالب (مهم‌تر) را استخراج کنیم. در اینجا اندازه‌ی عکس به ۱۴×۱۴ کاهش می‌یابد.

لایه‌ی سوم معماری لی نت-۵

لایه‌ی سوم

در این مرحله یک لایه‌ی کانولوشن دیگر داریم که ۱۶ فیلتر با اندازه‌ی ۵×۵ و مقدار گام (Stride) ۱ دارد؛ درواقع می‌توان گفت در این مرحله ما به دنبال استخراج ویژگی از نقشه‌ی ویژگی (Feature Map) مراحل قبل هستیم.

لایه‌ی چهارم معماری لی نت-۵

لایه‌ی چهارم

در این لایه دوباره یک لایه‌ی ادغام روی هر ۱۶ نقشه‌ی ویژگی به‌دست‌آمده از مرحله‌ی قبل اعمال می‌شود. لایه‌ی ادغام در اینجا فیلتر ۲×۲ و مقدار گام ۲ است. خروجی این لایه ۱۶ نقشه‌ی ویژگی (Feature Map) با اندازه‌ی ۵×۵ است.

لایه‌ی پنجم معماری لی نت-۵

لایه‌ی پنجم

در این مرحله یک لایه‌ی کانولوشنی داریم که ۱۲۰ فیلتر با اندازه‌ی ۱×۱ دارد. این لایه‌ی کانولوشنی روی نقشه‌ی ویژگی مرحله‌ی قبل اعمال می‌شود و در خروجی ۱۲۰ نقشه‌ی ویژگی با اندازه‌ی ۱×۱ به ما می‌دهد. این به‌معنای آن است که این لایه ۱۲۰ ویژگی متفاوت از خروجی مرحله‌ی قبل را به ما می‌دهد.

لایه‌ی ششم معماری لی نت-۵

لایه‌ی ششم

در این مرحله یک لایه‌ی کاملاً متصل (Fully Connected Layer) ۸۴ واحدی داریم، به‌این معنا که شبکه‌ی عصبی در اینجا ۸۴ ورودی دارد.

لایه‌ی خروجی معماری لی نت-۵

لایه‌ی خروجی

در لایه‌ی خروجی ۱۰ کلاس داریم؛ زیرا معماری لی نت-۵ (LeNet-5) برای شناسایی اعداد (۹-۰) ارائه شد. در این مرحله یک تابع فعالساز سافت‌مکس (Softmax) اعمال می‌شود که در خروجی ۱۰ احتمال برای هر کلاس به ما می‌دهد.

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

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

توابع فعالساز (Activation Functions) چیست و چه کاربردهایی دارد؟

خلاصه‌ی مطالب درباره‌ی ساختار معماری لی نت-۵ (LeNet-5)

در این مطلب با معماری لی نت-۵، موارد استفاده‌، ساختار و ۷ لایه‌ی موجود در آن آشنا شدیم. با استفاده از شکل‌های ارائه‌شده در این مطلب می‌توانید خلاصه‌ای از تمامی لایه‌های موجود در معماری لی نت-۵ را به دست آورید.

برای آشنایی با شبکه‌های عصبی کانولوشنی این مطلب را مطالعه کنید:

شبکه‌ی عصبی کانولوشنی (CNN) چیست؟

هفت‌خوان: مطالعه کن، نظر بده، جایزه بگیر!

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

جوایز هفت‌خوان

  • ۱,۵۰۰,۰۰۰ تومان جایزه نقدی
  • ۳ کلاس رایگان ۵۰۰,۰۰۰ تومانی

پرسش‌های مسابقه

برای شرکت در هفت‌خوان کافه‌تدریس در کامنت همین مطلب به این پرسش‌ها پاسخ دهید:

  • لی نت-۵ دارای چند لایه است و نام لایه‌ی خروجی آن چیست؟
  • لایه‌ی دوم در معماری لی نت-۵ چه ویژگی‌هایی دارد و چگونه به لایه‌های دیگر مرتبط می‌شود؟
  • چه تفاوت‌های اصلی‌ای بین لایه‌ی چهارم و لایه‌ی پنجم در معماری لی نت-۵ وجود دارد؟

هفت‌خوان‌پلاس

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

قدرت شبکه عصبی کانولوشنال چقدر است؟