شبکههای کانولوشنی در NLP
در این پست میخواهیم نحوه استفاده از شبکههای کانولوشنی در NLP یا پردازش زبان طبیعی به طور خلاصه، شرح دهیم. با ما همراه باشید.
ورودی NLP در اکثر کاربردها به جای پیکسلهای یک تصویر، جملهها یا اسنادی است که به صورت یک ماتریس نشان داده میشوند. هر سطر از ماتریس، متناظر با یک نشانه (token) است. این نشانه معمولا یک کلمه است، اما میتواند یک کاراکتر نیز باشد. یعنی هر سطر، برداری است که نشاندهنده یک کلمه است. معمولا این بردارها نمایشی با بعد پایینتر از کلمه مورد نظر هستند که به آن word embedding گفته میشود (مانند، word2vec یا GloVe). اما این بردارها میتوانند بردارهای one-hot نیز باشند و اندیس کلمه در یک مجموعه لغات (vocabulary) را نمایش دهند. برای یک جمله 10 کلمهای و با استفاده از embedding صد بٌعدی، به عنوان ورودی، یک ماتریس 100×10 خواهیم داشت. این، همان «تصویر» است. این تصویر را میتوان به عنوان ورودی به یک شبکه کانولوشنی اعمال کرد. از این رو، میتوان کارآیی شبکههای کانولوشنی در NLP را مورد بررسی و ارزیابی قرار داد.
در بینایی، فیلترهای چشم روی patchهای محلی تصویر میلغزد (slide)، اما در NLP معمولا از فیلترهایی استفاده میشود که روی کل سطرهای ماتریس (کلمهها) میلغزند. بنابراین «پهنای» فیلتر معمولا با پهنای ماتریس ورودی یکسان است. طول فیلتر (Region Size) ممکن است تغییر کند، اما معمولا پنجره طوری انتخاب میشود که هر بار روی 2 تا 5 کلمه بلغزد. به عنوان جمعبندی مباحث بالا، یک شبکه کانولوشنی در NLP به شکل زیر خواهد بود:

تصویربالا معماری یک شبکه عصبی کانولوشنی برای کلاسبندی جملات را نشان میدهد. در این تصویر سه طولِ 2، 3 و 4 برای فیلترها در نظر گرفته شده که از هر طول دو فیلتر وجود دارد (مجموعا 6 فیلتر). هر فیلتر در ماتریسِ جملات، کانوالو میشود و یک feature map (با طول متفاوت) تولید میکند. سپس روی هر map عملیات 1maxpooling انجام میشود. به عبارت دیگر بزرگترین عدد از هر feature map انتخاب میشود. بنابراین یک بردار ویژگی از هر map ساخته میشود. سپس این بردارهای ویژگی برای داشتن یک بردار ویژگی واحد، در لایه ماقبل آخر، پشت هم (concatenate) قرار داده میشوند. در آخر، لایه softmax این بردار ویژگی را به عنوان ورودی دریافت کرده و از آن برای کلاسبندی جمله استفاده میکند. در اینجا فرض بر کلاسبندی باینری بوده و بنابراین دو خروجی برای کلاسبندی در نظر گرفته شده است.
دیدگاهتان را بنویسید