شناختِ مناسب از شبکه به صورت کلی در تمامی پروژه های هوش مصنوعی، چه دانشگاهی چه تجاری، اهمیت دارد. شناخت ویژگی هر شبکه یکی از مواردی است که لازم است بسیار به آن توجه کنیم. خیلی اصرار داریم که سعی کنید مدل های base را خودتان از اول تا انتها نود به نود پیاده سازی کنید تا با تمامی جزییات شبکه های پایه آشنا باشید. جدا از شناخت bottleneck های احتمالی و گاها رسیدن به ایده های نوآورانه، با ریز عملیات آشنا می شوید و متوجه می شوید که هر قسمت دقیقا به چه کار می آید. با این حال دقت کنید که این کافی نیست؛ یعنی فقط به پیاده سازی شبکه های base بسنده نکنید و مدام جست و جو کنید که سازنده هر شبکه، دقیقا چه فرضیات، نیازها و پاسخ هایی را با شبکه اش ارایه کرده است. این موارد اهمیت بسیار بالایی دارند؛ مثال خیلی مهمی را می زنیم. شبکه های کپسول در لایه های ابتدایی می توانند لایه کانولوشنی عادی داشته باشند. در بسیاری از مقالات که در جاهای بسیار خوبی هم چاپ شده اند می بینید که برخی بلوک کانولوشنی را n بار تکرار کرده اند و بعد لایه های کپسولی را قرار داده اند. این که این کار صورت می گیرد بد است و اینکه جواب هم می دهد فاجعه است! کسی که فقط مقاله را خوانده باشد و آن را پیاده سازی کرده باشد شاید خیلی به نکته ای که ذکر خواهیم کرد توجه نکرده باشد ولی اگر کمی در اینترنت جست و جو می کرد و ارایه هینتون برای کپسولهای 2017 و 2018 را می دید، می فهمید که هینتون بارها در ارایه ذکر می کرد که لایه های کپسولی اولیه، مورد part به whole مد نظرمان است، وظیفه توصیف feature های low-level را دارند؛ بنابراین با یک استدلال ساده می توان گفت که خروجی های لایه های عمیق کانولوشنی به هیچ وجه نباید به لایه های کپسولی داده شوند زیرا خروجی لایه های عمیق کانولوشنی low-level نیستند. با این حال می بینیم که این اشتباه بارها صورت گرفته است. درست است که شاید کمی درصد یادگیری بهتر شود ولی دقت کنید که کاری که می کنید با منطق مناسبی صورت گرفته یا نه. به عنوان مثالی دیگر به ترنزفرمرِ ViT اشاره می کنیم. یکی از عجایب است که این اشتباه بارها صورت می گیرد با اینکه نویسندگان در خود مقاله صراحتا اعلام کرده اند که روششان برای transfer learning خیلی خوب است، حتما خود مقاله را هم به دقت بخوانید. مشاهده می شود در میان کسانی که فقط کد مقاله را دیده اند که به صورت مستقیم وقتی دادگانشان سایز معمولی دارد از این معماری برای تصویر استفاده و یادگیری را از ابتدا شروع می کنند در حالی که این معماری برای دادگانی با اندازه شاید 200 میلیون دیتا مناسب است تا یادگیری یا پیش یادگیری مناسبی داشته باشد.
نوشته شده بوسیله:
کامران پناهی
کارشناسی ارشد هوش مصنوعی
علاقه مند به یادگیری عمیق