جستجو برای:
  • دوره‌های آموزشی
  • وبلاگ
  • آموزش‌های رایگان
    • آموزش پایتون رایگان
    • آموزش یادگیری ماشین رایگان
    • آموزش یادگیری عمیق رایگان
    • آموزش pytorch رایگان
    • آموزش رایگان matplotlib
    • آموزش گوگل کولب
  • نقشه راه AI
  • کلاس خصوصی
  • همکاری با ما💚
  • حساب کاربری
  • اساتید
  • درباره ما
     
    • 0902-546-9248
    • howsam.mail@gmail.com
    آکادمی هوش مصنوعی هوسم
    • دوره‌های آموزشی
    • آموزش‌های رایگان
      • آموزش پایتون
      • آموزش یادگیری ماشین رایگان
      • آموزش یادگیری عمیق رایگان
      • آموزش pytorch رایگان
      • آموزش گوگل کولب
    • نقشه راه AI
    • وبلاگ
    • درباره ما
      • اساتید
      • پشتیبانی
    0
    ورود / عضویت

    بلاگ

    آکادمی هوش مصنوعی هوسم وبلاگ یادگیری عمیق شبکه عصبی موبایل نت

    شبکه عصبی موبایل نت

    2021/01/16
    ارسال شده توسط سید سجاد اشرفی
    یادگیری عمیق
    5.8k بازدید

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

    فهرست مطالب نمایش
    1. مقدمه‌ای بر شبکه عصبی موبایل نت
    2. معرفی یک نوع کانولوشن جدید در شبکه عصبی موبایل نت
    3. کانولوشن استاندارد
    4. کانولوشن depth-wise separable
    4.1. مرحله اول: کانولوشن depth-wise
    4.2. مرحله دوم: کانولوشن point-wise
    4.3. کانولوشن نقطه‌ای در نقش نورون
    4.4. مقایسه لایه کانولوشن dws و استاندارد در موبایل نت
    5. معماری شبکه عصبی موبایل نت
    6. ارزیابی شبکه موبایل نت

    مقدمه‌ای بر شبکه عصبی موبایل نت

    از زمان پیدایش شبکه کانولوشنی AlexNet در بینایی کامپیوتر و برنده شدن مسابقه ILSVRC 2012 (همان ImageNet معروف)، شبکه عصبی کانولوشن بسیار محبوب شده است. در بسیاری از زمینه‌های بینایی کامپیوتر تحول ایجاد کرده است. در سال‌های بعد از شبکه الکس نت، شبکه‌های عمیق‌تر، پهن‌تر و البته پیچیده‌تر مانند GoogleNet ResNet ResNext و غیره برای رسیدن به دقت بالاتر مطرح شد. باوجود پیچیدگی شبکه‌ها، تلاش بر این بوده که تعداد پارامترهای کل شبکه کمتر شود و انصافا همواره طراحی کارآمدتری را شاهد بودیم. اما تمرکز اصلی در طراحی این شبکه‌ها دقت بود. به شکل زیر نگاه کنید؛ نقطه‌های فیروزه‌ای اشاره به بهترین دقت‌ها در هرسال روی دیتاست ImageNet دارد. درحال حاضر، EffiecientNet بهترین است.

    شبکه عصبی موبایل نت
    شکل 1: نمودار مقایسه بهترین مدل‌های کانولوشنی روی دیتاست ImageNet.

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

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

    بسیار خب، مقدمه کافی است و برویم سراغ اصل مطلب…

    معرفی یک نوع کانولوشن جدید در شبکه عصبی موبایل نت

    در شبکه عصبی موبایل نت یک نوع کانولوشن جدید به‌نام depth-wise separable convolution معرفی شد. درواقع، عنصر اصلی در شبکه موبایل نت این لایه کانولوشنی (depth-wise separable convolution) هست. نمی‌دانم به فارسی چه اسمی برای این لایه مناسب هست! مثلا کانولوشن عمقی، عمق-جداپذیر یا گوگل ترنسلیت می‌گوید: “کانولوشن از عمق قابل جدا شدن است!”. کانولوشن عمق-جداپذیر بد نیست، اما علاقه ندارم عبارات مهم را به فارسی تبدیل کنم. من فعلا نامش را مخفف کردم و می‌خواهم از عبارت “کانولوشن dws” استفاده کنم. اگر پیشنهاد بهتری دارید، لطفا کامنت کنید…

    اما برای فهمیدن کانولوشن dws، نیاز است که مروری بر کانولوشن استاندارد داشته باشیم. منظورم از استاندارد، همان کانولوشنی است که می‌شناسید و در شبکه کانولوشنی وجود دارد. اگر با کانولوشن و شبکه کانولوشنی آشنا نیستید، این پست را بخوانید. برهمین اساس، ابتدا کانولوشن استاندارد را مروری می‌کنیم و سپس کانولوشن depth-wise separable (یا همان کانولوشن dws) را توضیح می‌دهم.

    کانولوشن استاندارد

    در یک کانولوشن استاندارد دو مرحله فیلتر و ادغام وجود دارد. اما این دو مرحله در کانولوشن استاندارد تنها در یک گام انجام می‌شود. به‌گونه‌ای که شاید تابه‌حال به این مساله پی نبرده بودید که کانولوشن شامل دو مرحله فیلتر و ادغام هست. به شکل زیر نگاه کنید. در این شکل یک فیچرمپ F به‌ابعاد 112×112×4 و یک کرنل K به‌ابعاد 3×3×4 نشان داده شده که قرار است در هم کانوالو شوند. در این شکل واضح است که دو مرحله زیر انجام می‌شود:

    • در مرحله اول یعنی فیلترکردن، هرصفحه از فیلتر K در صفحه متناطرش در فیچرمپ F کانوالو می‌شود.
    • درمرحله دوم یعنی ادغام‌کردن، صفحات باهم جمع می‌شوند. با جمع شدن صفحات، در خروجی یک صفحه به‌دست می‌آید که خروجی کانولوشن استاندارد است.
    شبکه عصبی موبایل نت
    شکل 3: کانولوشن استاندارد شامل دو مرحله فیلتر و ادغام. مرحله ادغام: کانولوشن فیلتر با تصویر (صفحه به صفحه)، مرحله ادغام: جمع صفحات (نقطه به نقظه).

    حال اگر M کرنل به ابعاد 3×3×4 داشته باشیم، طبیعتا از کانوالو هریک از این کرنل‌ها با فیچرمپ یک صفحه به‌دست می‌آید. درنتیجه، فیچرمپ خروجی برابر با M صفحه (112×112×M) خواهد بود.

    شکل 4: کانولوشن استاندارد با M کرنل 3×3.

    همین اندازه از کانولوشن استاندارد کافی است، برویم سراغ کانولوشن dws…

    کانولوشن depth-wise separable

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

    • مرحله اول، فیلتر: کانولوشن depth-wise (کانولوشن عمقی)
    • مرحله دوم، ادغام: کانولوشن point-wise (کانولوشن نقطه‌ای)

    در کانولوشن dws ابتدا کانولوشن عمقی اعمال می‌شود و سپس کانولوشن نقطه‌ای… کانولوشن عمقی و نقطه‌ای در کانولوشن dws به‌ترتیب نقش مراحل فیلتر و ادغام در کانولوشن استاندارد را دارند. بسیارخب، درادامه در دو بخش جداگانه به شما درمورد دو مرحله depth-wise و point-wise توضیح می‌دهم.

    • مرحله اول: کانولوشن depth-wise

    همان‌طور که گفتم، کانولوشن عمقی (depth-wise) معادل همان فیلترکردن در کانولوشن استاندارد است. اما با یک تفاوت مهم:

    در کانولوشن استاندارد M کرنل k×k داشتیم. اما در اینجا تنها یک کرنل k×k داریم!

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

    شبکه عصبی کانولوشن
    شکل 5: مرحله فیلتر در کانولوشن dws که همواره تنها شامل یک کرنل kxk است.

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

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

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

    بسیارخب، بجز سوال آخر، در بخش بعدی به جوابِ سوالاتتان می‌رسید.

    • مرحله دوم: کانولوشن point-wise

    مرحله دوم، کانولوشن نقطه‌ای (point-wise) هست. این مرحله معادل با مرحله ادغام در کانولوشن استاندارد است. اما بازهم یک تفاوت اساسی بین مرحله ادغام در کانولوشن استاندارد و کانولوشن dws وجود دارد:

    مرحله ادغام در کانولوشن استاندارد، یک جمع ساده هست، اما مرحله ادغام در کانولوشن dws شامل یک کانولوشن 1×1 است.

    کانولوشن نقطه‌ای همان کانولوشن استاندارد یا رایجی هست که می‌شناسیم و در بسیاری از شبکه‌های کانولوشنی استفاده می‌شود. این کانولوشن 1×1 وظیفه مهمی دارد؛ کانولوشن نقطه‌ای 1×1 خروجی‌های کانولوشن عمقی (مرحله اول) را با هم ادغام می‌کند. در مرحله قبل بجای تعریف M کرنل، تنها یک کرنل تعریف کردیم. اما در این مرحله، M کرنل 1×1 تعریف می‌کنیم. حالا M کرنل 1×1×4 و یک فیچرمپ 112×112×4 داریم. تک‌تک کرنل‌های 1×1×4 را در فیچرمپ کانوالو می‌کنیم. هر کرنل 1×1 شامل 4 وزن هست و در واقع قرار است به هر صفحه از فیچرمپ ورودی یک وزن بدهد و آنها را باهم جمع کند. یعنی جمع وزن‌دار صفحات؟ دقیقا…

    mobilenet
    شکل 6: مرحله ادغام با یک لایه کانولوشن 1×1 در لایه کانولوشن dws.

    پس ما یک فیچرمپ به ابعاد 112×112×4 داریم که قراراست با کرنل‌های مختلف 1×1 جمع وزن‌دار شود. این مساله شما را یاد چه می‌اندازد؟ نورون

    شبکه موبایل نت
    شکل 7: کانولوشن 1×1 همچون یک نورون. با وزن‌دهی به صفحات مختلف آنها را باهم جمع می‌کند. یک جمع وزن‌دهی‌شده…
    • کانولوشن نقطه‌ای در نقش نورون

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

    شبکه mobilenet
    شکل 8: M فیلتر 1×1 در نقش یک لایه فولی کانکتد. هر نورون معادل با یک فیلتر 1×1.
    • مقایسه لایه کانولوشن dws و استاندارد در موبایل نت

    خلاصه کانولوشن استاندارد این شد که:

    در کانولوشن استاندارد، M کرنل به ابعاد k×k تعریف کردیم.

    و البته، خلاصه کانولوشن dws این شد که:

    در کانولوشن depth-wise separable convolution، تنها 1 کرنل k×k (فیلتر) داریم، اما M کرنل 1×1 (ادغام) تعریف کرده‌ایم.

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

    شکل 9: کانولوشن dws در یک نگاه؛ فیچرمپ را CxHxW درنظر بگیرید. ابتدا، یک کرنل به ابعاد CxKxK در فیچرمپ کانوالو می‌شود (مرحله 1: فیلتر). خروجی مرحله 1، یک فیچرمپ به ابعاد CxHxW خواهد بود. سپس، یک لایه کانولوشن MxCx1x1 در خروجی مرحله ضرب می‌شود (مرحله 2: ادغلم). خروجی نهایی، یک فیچرمپ به ابعاد MxHxW است.

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

    موبایل نت
    شکل 10: کانولوشن استاندارد (سمت چپ). کانولوشن dws که شامل دو کانولوشن depth-wise و point-wise هست (سمت راست). به محل قرارگیری بچ نرم و رلو هم دقت کنید.

    بسیارخب، حالا برویم معماری را بررسی کنیم.

    معماری شبکه عصبی موبایل نت

    در شکل زیر می‌توانید معماری شبکه موبایل نت را ببینید. در بخش قبل (شکل 10) گفتیم که هر لایه، بچ‌نرم و تابع تحریک رلو دارد. برای سادگی بیشتر، BatchNorm و ReLU در شکل زیر نیامده است. همان‌طور که در بخش‌های قبلی گفته شد، شبکه عصبی موبایل نت از لایه کانولوشنی dws تشکیل شده است. البته، در اولین لایه از یک کانولوشن استاندارد استفاده شده است.

    معماری شبکه عصبی موبایل نت mobilenet
    شکل 11: معماری شبکه عصبی موبایل نت mobilenet

    بسیار خب، کمی معماری را بررسی کنیم:

    • در اولین لایه، یک لایه کانولوشن استاندارد به اندازه 3×3 با 32 فیلتر و استراید 2 درنظر گرفته شده.
    • از لایه دوم به بعد تمام لایه‌ها کانولوشن dws هستند. گفتیم که لایه dws شامل دو بخش کانولوشن عمقی و نقطه‌ای است. این دو لایه در شکل به‌صورت جدا نشان داده شده‌اند. لایه کانولوشن عمقی با علامت Conv dw و نقطه‌ای با علامت Conv و سایز 1×1 نشان داده شده است.
    • سایز فیلتر تمامی لایه‌های کانولوشن عمقی 3×3 هست.
    • در دومین سطر، یک لایه Conv dw به‌کار رفته است.
    • در سومین سطر، Conv 1×1 گذاشته شده است.  همان کانولوشن نقطه‌ای که صحبت کردیم. ادامه همان سطر قبلی است و بخش دوم کانولوشن dws ماست.
    • نکته قابل توجه در این معماری، عدم استفاده از ماکس پولینگ هست. هرجایی به کاهش ابعاد نیاز بوده، استراید کانولوشن 2 درنظر گرفته شده.
    • یک لایه کانولوشن با 64 فیلتر داریم. پس از آن 2 لایه با 128 و سپس 2 لایه با 256 فیلتر درنظر گرفته شده. هر 2 لایه یک استراید داریم: یکی در لایه دوم 128 و یکی در لایه دوم 256.
    • 6 لایه 512 فیلتری داریم.
    • تا اینجا رفته رفته که در شبکه جلو آمدیم، سه اتفاق مهم افتاد:
      • ابعاد تصویر کاهش بعد پیدا کرد.
      • تعداد فیلترها رفته رفته زیاد شد.
      • تعداد لایه‌های با فیلتر یکسان افزایش پیدا کرد، یعنی: 1 لایه 32، 1 لایه 64، 2 لایه 128 و 2 لایه 256 و 6 لایه 512.
    • سپس، 2 لایه 1024 فیلتری داریم. انتظار داشتید که تعداد لایه‌ها در اینجا بیشتر از 6 باشد؟ من فکر می‌کنم دلیلش این هست که:
      • با همین تعداد لایه می‌توانیم به جواب قابل قبول برسیم.
      • همچنین، تعداد پارامترهای شبکه زیاد می‌شد. درحالی‌که دغدغه در این مقاله این هست که تعداد پارامترها کم باشد.
    • درنهایت هم، یک لایه پولینگ میانگین، فولی‌کانکتد و تمام.
    • اگر لایه‌های Conv dw و Conv 1×1 را جدا درنظر بگیریم، 28 لایه داریم.

    شبکه عصبی موبایل نت 4.2 میلیون پارامتر دارد. وقتی تعداد پارامترهای این شبکه را با شبکه محبوب ResNet-18 با 11 میلیون پارامتر مقایسه کنیم، متوجه می‌شوید که چقدر میزان پارامترها کمتر است. اما بیایید ببینیم از 4.2 میلیون پارامتر، چند درصدش مربوط به لایه کانولوشن dws می‌شود. به شکل زیر نگاه کنید؛ 74.59% پارامترها مربوط به همان لایه‌های کانولوشن 1×1 است. عجب! درحالی‌که تعداد پارامترهای دو لایه Conv dw و Conv 3×3 مجموعا 1.08% کل پارامترهاست. خب، تعداد پارامترهای کلاسیفایر هم طبیعتا زیاد هست.

    شکل 12: مقایسه تعداد پارامترها و جمع-ضرب‌ها در شبکه موبایل‌نت

    کل کانولوشن تشکیل‌شده از ضرب و جمع هست. ستون دوم که Mult-Adds هست، می‌گوید که 94.86% حجم محاسبات در همان لایه Conv 1×1 هست. نکته مهم این است که با یک ایده جالب حجم محاسبات و تعداد پارامترها تا چه اندازه در لایه‌های Conv 3×3 کاهش یافته است. اگر لایه کانولوشن dws را برداریم و بجایش کانولوشن استاندارد با همان تعداد فیلتر قرار دهیم، تعداد پارامترها از 4.2 میلیون به 29.3 میلیون افزایش می‌یابد! ببینید یک لایه ساده‌شده چه می‌کند. در بخش ارزیابی، بیشتر درباره این موضوع صحبت خواهم کرد.

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

    ارزیابی شبکه موبایل نت

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

    • موبایل نت با لایه های استاندارد، حدود 29 میلیون پارامتر دارد، اما موبایل نت فقط 4.2 میلیون پارامتر!
    • دقت‌ها را ببینید. این همه پارامتر اضافه تنها برای 1.1درصد؟!
    • میزان محاسبات هم از حدود 4.9 میلیارد جمع-ضرب به 596 میلیون جمع-ضرب کاهش یافته…
    شکل 13: مقایسه تعداد پارامترها و دقت شبکه موبایل نت با کانولوشن استاندارد و dws

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

    • شبکه VGG، حدود 140 میلیون پارامتر دارد. اما فقط 1% بهتر از شبکه موبایل نت با 4.2 میلیون پارامتر است.
    • درمورد تعداد عملیات که نگویم برایتان! 1/3 محاسبات نسبت به گوگل نت.
    • در دقت، باوجود تعداد پارامتر و عملیات کمتر، دقت بهتری نسبت به گوگل نت دارد.
    شکل 14: مقایسه شبکه عصبی موبایل نت با گوگل نت و VGG.

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

    اشتراک گذاری:

    مطالب زیر را حتما مطالعه کنید

    LLM Research یا LLM Engineering؟ راهنمای یادگیری مدل‌های زبانی بزرگ
    در چند سال اخیر، اصطلاح LLM یا Large Language Model به یکی از پرتکرارترین واژه‌ها...
    یادگیری انتقالی
    یادگیری انتقالی یا Transfer Learning به معنای استفاده از یک مدل از پیش آموزش‌دیده در...
    شبکه VGG
    شبکه VGG یکی از معماری‌های موفق و معروف در حوزه یادگیری عمیق است که در...
    مهندسی پرامپت
    امروزه، با ظهور ChatGPT و سایر ابزارهای هوش مصنوعی، طیف گسترده‌ای از افراد، از کاربران...
    مدل nanoGPT
    در سال ۲۰۱۹، OpenAI مدل GPT-2 را معرفی کرد. OpenAI، برخلاف مدل‌های بعدی (GPT-3 و...
    شگفت‌انگیزترین ایده هوش مصنوعی از نظر Andrej Karpathy
    هوش مصنوعی به سرعت در حال پیشرفت هست. به‌گونه‌ای که باید زمان و انرژی زیادی...

    22 دیدگاه

    به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

    • فرزانه گفت:
      2023/10/23 در 9:49 ق.ظ

      باسلام و خداقوت برای آموزش بسیار خوب و کاربردی شما
      ببخشید ممکن هست من ایمیل نویسنده ی پست را داشته باشم برای پروژه ی خودم نیاز به مشاوره دارم.
      باتشکر

      پاسخ
      • هوسم گفت:
        2023/10/23 در 10:27 ق.ظ

        سلام
        نویسنده این آموزش دکتر اشرفی هستند که برای دریافت مشاوره میتونین به آدرس howsam.mail@gmail.com ایمیل بزنین.

        پاسخ
    • SA گفت:
      2023/05/17 در 3:36 ب.ظ

      با سلام
      کامل و عالی بود.
      یک سوال داشتم اگر در شبکه ای مثل resnet بخواهیم لایه کانولوشن استاندارد رو با با depthwise عوض کنیم دیگه از وزن های از پیش اموزش دیده شده که روی imagenet اموزش دیده نمیشه استفاده کرد؟

      پاسخ
    • بابک گفت:
      2023/04/26 در 1:07 ق.ظ

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

      پاسخ
      • هوسم گفت:
        2023/04/30 در 9:56 ق.ظ

        سلام 🌹
        ممنون از محبت شما😊

        پاسخ
    • m_yousefi گفت:
      2022/11/20 در 11:16 ب.ظ

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

      پاسخ
      • میثم گفت:
        2023/03/30 در 5:18 ب.ظ

        سلام
        واقعا خدا قوت،
        خیلی خوب بود،
        ممنون که ذکات علمتون رو دادین، اونهم خیلی خوب و با حصله و با دقت، خدا خیرتون بده
        یاعلی…

        پاسخ
    • آرمان کریمی گفت:
      2022/10/25 در 11:25 ب.ظ

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

      پاسخ
    • زهرا شریفی گفت:
      2022/08/17 در 12:37 ب.ظ

      خیلی ممنون
      مثل همیشه مفید و روان بود

      پاسخ
    • Wreza گفت:
      2022/01/08 در 2:29 ب.ظ

      با سلام
      دستتون درد نکنه، خیلی زحمت کشیدین و مطالب خوب و آموزنده بود
      آیا این مبحث ادامه داره؟

      پاسخ
      • تیم هوسم گفت:
        2022/01/08 در 3:40 ب.ظ

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

        پاسخ
    • atra joudaki گفت:
      2021/08/21 در 7:45 ب.ظ

      سللم خسته نباشید
      من دارم طبقه بندی تومور های مغزی انجام میدم خود مقاله اصلیم از شبکه resnet34 استفاده کرده به نظر شما من از چه شبکه هایی میتونم استفاده کنم

      پاسخ
      • تیم هوسم گفت:
        2021/08/22 در 11:03 ق.ظ

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

        پاسخ
    • ابوالفضل گفت:
      2021/07/15 در 5:03 ب.ظ

      بسیار روان و قابل فهم و عالی

      پاسخ
      • تیم هوسم گفت:
        2021/07/16 در 12:24 ب.ظ

        سلام
        سپاس 🙏🌹

        پاسخ
    • mahdi گفت:
      2021/07/08 در 5:40 ب.ظ

      خیلی ممنون از آموزش بسیار روان و مفیدتون

      پاسخ
      • تیم هوسم گفت:
        2021/07/09 در 10:18 ق.ظ

        سلام
        سپاس 🌹🙏

        پاسخ
    • سید گفت:
      2021/03/06 در 11:32 ب.ظ

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

      پاسخ
      • تیم هوسم گفت:
        2021/03/07 در 10:48 ق.ظ

        سلام
        ممنون سید عزیز 🌹🙏
        ما هدف‌دار از عبارت‌های کلیدی به زبان اصلی در آموزش استفاده می‌کنیم. به دو دلیل:
        * معتقدیم نباید ترجمه نعل به نعل انجام داد. درغیراینصورت، بعضی کلمات نامانوس میشن.
        * معتقدیم بهتر هست از عبارت‌های کلیدی با نام انگلیسی استفاده کنیم. چون افراد با خوندن مقاله و مطالب انگلیسی کمتر به مشکل میخورن.
        سعی کردیم این رویه رو در همه آموزش‌ها مثل شبکه عصبی کانولوشن یا شبکه عصبی LSTM رعایت کنیم.

        پاسخ
        • راحیل گفت:
          2021/09/18 در 11:18 ق.ظ

          موافقم باید همینطور باشه

          پاسخ
    • shahrzad گفت:
      2021/02/01 در 10:24 ق.ظ

      خیلی عالی و مفید. تشکر

      پاسخ
      • تیم هوسم گفت:
        2021/02/01 در 10:26 ق.ظ

        سلام
        سپاس 🙏🌹

        پاسخ

    دیدگاهتان را بنویسید لغو پاسخ

    جستجو برای:
    دوره‌های جامع هوسم
    • مسابقه Kaggle: تحلیل و پیش‌بینی رفتار با داده‌های چندحسگری سری زمانی
    • پیاده‌سازی ChatGPT از صفر با پایتورچ
    • آموزش OpenCV: از پردازش تا بینایی
    • دیپ کاتالیست: دوره افزایش مهارت
    • پایتون برای هوش مصنوعی 🤖
    • یادگیری ماشین جامع: از مفاهیم تا پیاده‌سازی🔥
    • یادگیری عمیق جامع: از مفاهیم تا پیاده‌سازی
    درباره هوسم

    آکادمی هوش مصنوعی هوسم با آموزش‌های تخصصی در حوزه هوش مصنوعی در خدمت شماست. روی کمک هوسم حساب کنید…

    • گیلان- شهرستان رودسر- شهرک انصاری- کوچه لاله 9
    • 09025469248
    • howsam.mail@gmail.com
    دسترسی سریع
    • صفحه اصلی
    • وبلاگ
    • حساب کاربری
    • سبد خرید
    شبکه‌های اجتماعی

     

    logo-samandehi
    تمامی حقوق برای آکادمی هوسم محفوظ است.
      کد تخفیف شما هست و فقط
      فرصت داری ازش استفاده کنی!
      کد تخفیف شما هست و فقط
      فرصت داری ازش استفاده کنی!
      کد تخفیف شما هست و فقط
      فرصت داری ازش استفاده کنی!
      کد تخفیف شما هست و فقط
      فرصت داری ازش استفاده کنی!
      کد تخفیف شما هست و فقط
      فرصت داری ازش استفاده کنی!
      ورود
      استفاده از موبایل
      استفاده از آدرس ایمیل
      آیا هنوز عضو نیستید؟ اکنون عضو شوید
      بازنشانی رمز عبور
      استفاده از موبایل
      استفاده از آدرس ایمیل
      عضویت
      استفاده از موبایل
      استفاده از ایمیل
      قبلا عضو شدید؟ اکنون وارد شوید

      ورود

      رمز عبور را فراموش کرده اید؟

      هنوز عضو نشده اید؟ عضویت در سایت