سلام .
وجود لایه تمام متصل در انتهای شبکه ضروری نیست. اون یه انتخاب از طرف طراحه . در ابتدا به شبکه کانلووشن اینطوری نگاه میکردن که یکسری لایه کانولوشن داریم که کار فیچرلرنینگ و فیچراکسترکشن انجام میشه و نهایتا ما یک شبکه عصبی معمولی قرار میدیم که روی فیچرهای بدست اومده از مرحله قبل بیاد پردازش انجام بده و بعددسته بندی انجام بشه . (یعنی در اصل یک شبکه کانولوشن و یک شبکه عصبی مصنوعی mlp میدیدن (دید جداگانه) )
الان عموما اینطور فکر و عمل نمیشه . شما میتونید خیلی راحت بدون اینکه حتی یک لایه فولی کانکتد داشته باشید شبکه رو طراحی کنید.
معمولا بعد لایه چهارم و پنجم شما دقت کنید میبینید که مفاهیم سطح بالا یادگرفته میشن (البته همونطور که جناب نصیری خوب اشاره کردن این وابسته به مساله اس ) و طی لایه های بعدی ترکیب این ویژگی ها و حتی یادگرفتن دوباره بعضی از این ویژگی هاست که توسعه پیدا میکنه و انجام میشه . برای همین شما میتونید خیلی راحت خروجی لایه کانولوشن رو بدید به یک دسته بند بدون اینکه نیازی به لایه تماما متصل داشته باشید. اگر دوست دارید حتما انتهای شبکه یک فیچر وکتور داشته باشید باز میتونید فیچرمپ نهایی رو (اگر اندازه 1x1 نداره) بیایید با global pooling (average ,max) به یک فیچروکتور تبدیل کنید.
ضمنا یک نکته کوتاه رو اخر بگم اینه که در شبکه های عصبی ما بحث distributed representation رو داریم که جناب نصیری خوب اشاره کردن منتها این مساله هیچ ارتباطی به وجود لایه فولی کانکتد نداره . یعنی اینطوری نیست که اگر لایه فولی کانکتد نباشه خدشه ای به این مساله وارد بشه و یا تو این بحث به مشکل بر بخورن. این مساله بخودی خود در شبکه وجود داره و بصورت پویا در حین اموزش توسعه پیدا میکنه. حالا میخواد لایه تماما متصل باشه اون انتها یا نه .