এই বিভাগে কোনও আইটেম এম্বেড করার বিভিন্ন উপায় বলা আছে এবং স্ট্যাটিক এম্বেডিংকে প্রাসঙ্গিক এম্বেডিংয়ে পরিবর্তন করার পদ্ধতি উল্লেখ করা আছে।
ডাইমেনশন কমানোর টেকনিক
অধিক ডাইমেনশনের স্পেসের কাঠামো সংক্রান্ত গুরুত্বপূর্ণ তথ্য কম ডাইমেনশনের স্পেসে ধরে রাখার জন্য বহু গাণিতিক টেকনিক আছে। সাধারণত, এইসব টেকনিকের যেকোনওটির মাধ্যমেই মেশিন লার্নিং সিস্টেমে এম্বেডিং তৈরি করা যেতে পারে।
যেমন, প্রিন্সিপাল কম্পোনেন্ট অ্যানালিসিস (PCA) পদ্ধতির সাহায্যে ওয়ার্ড এম্বেডিং তৈরি করা হয়েছে। এক গুচ্ছ ওয়ার্ড ভেক্টরের ইন্সট্যান্স থাকলে, PCA এমন কোরিলেট করা ডাইমেনশন খোঁজার চেষ্টা করে যেগুলি কোল্যাপ্স করে একটি ডাইমেনশনে নিয়ে আসা যায়।
এম্বেড করা আইটেমকে নিউরাল নেটওয়ার্কের অংশ হিসেবে ট্রেন করা
যেকোনও লক্ষ্য পূরণের উদ্দেশ্যে নিউরাল নেটওয়ার্ককে ট্রেন করার সময় আপনি এম্বেডিং তৈরি করতে পারেন। এর মাধ্যমে আপনি নিজের সিস্টেমের জন্য কাস্টমাইজ করা এম্বেডিং পেতে পারেন, তবে এম্বেড করা আইটেমটিকে আলাদাভাবে ট্রেন করতে যত সময় লাগত, তার থেকে বেশি সময় লাগতে পারে।
সাধারণত আপনি নিউরাল নেটওয়ার্কে d সাইজের গোপন লেয়ার তৈরি করতে পারেন এবং এই লেয়ারটিকে এম্বেডিং লেয়ার হিসেবে ব্যবহার করা হয়। গোপন লেয়ারের নোডের সংখ্যা এবং এম্বেডিং স্পেসের ডাইমেনশনের সংখ্যা, দুটিই d-এর মাধ্যমে বোঝানো হয়।. এই এম্বেডিং লেয়ারটিকে অন্য যেকোনও ফিচার ও গোপন লেয়ারের সাথে ব্যবহার করা যায়। যেকোনও ডিপ নিউরাল নেটওয়ার্কে যেমন হয়ে থাকে, সেভাবে নেটওয়ার্কের আউটপুট লেয়ারের নোডে 'লস' কমানোর জন্য ট্রেনিংয়ের সময় সব প্যারামিটার অপ্টিমাইজ করা হয়।
আগে উল্লেখ করা খাবারের সাজেশন সংক্রান্ত উদাহরণে ফিরে গিয়ে বলি, বর্তমানে ব্যবহারকারীর পছন্দের খাবারের ভিত্তিতে তার ভালো লাগতে পারে, এমন নতুন খাবারের সাজেশন দেওয়া হল আমাদের লক্ষ্য। প্রথমে আমরা ব্যবহারকারীর সবথেকে প্রিয় পাঁচটি খাবারের বিষয়ে অতিরিক্ত ডেটা জোগাড় করতে পারি। এরপর, এই কাজটিকে আমরা সুপারভাইজড লার্নিং সংক্রান্ত সমস্যা হিসেবে মডেল করতে পারি। সবথেকে প্রিয় পাঁচটি খাবারের মধ্যে চারটিকে আমরা ফিচার ডেটা হিসেবে সেট করেছি এবং র্যান্ডম পদ্ধতিতে একটিকে পজিটিভ লেবেল হিসেবে বেছে নিয়েছি, যেটি আমাদের মডেল সাজেশন হিসেবে দেখাবে। এর মাধ্যমে আমরা softmax লস ব্যবহার করে মডেলের সাজেশন অপ্টিমাইজ করেছি।
প্রথম গোপন লেয়ার, অর্থাৎ এম্বেডিং লেয়ারের নোডের অপ্টিমাল ওয়েট কতখানি, নিউরাল নেটওয়ার্ক মডেলটি ট্রেনিংয়ের সময় তা শিখে নেবে। যেমন, মডেলের প্রথম গোপন লেয়ারে তিনটি নোড থাকলে মডেলটি খাবারের সবথেকে প্রাসঙ্গিক ডাইমেনশন হিসেবে এগুলি বেছে নিতে পারে: স্যান্ডউইচের মতো কি না, মিষ্টির মতো কি না এবং তরল কি না। 'এগ রোল'-এর ওয়ান-হট এনকোডেড ইনপুট ভ্যালু কীভাবে থ্রি-ডেইমেনশনাল ভেক্টরে পরিবর্তন করা হয়, তা ১২ নম্বর ছবিতে দেখানো হয়েছে।
![ছবি ১২. এগ রোলের ওয়ান-হট এনকোডিংয়ের নিউরাল নেট। প্রথম লেয়ারটি একটি ইনপুট লেয়ার,
যাতে ৫টি নোড আছে এবং প্রতিটি নোডে সেটির সাথে সম্পর্কিত
খাবারের আইকন রয়েছে (বিরিয়ানি, এগ রোল, স্যালাড, ... এবং শোয়ার্মা)। নোডগুলিতে 'এগ রোল'-এর
ওয়ান-হট এনকোডিং অনুযায়ী
[0, 1, 0, ..., 0] ভ্যালু রয়েছে। ইনপুট লেয়ারের সাথে ৩টি নোডের এম্বেডিং লেয়ার কানেক্ট করা আছে,
যার নোডের ভ্যালু যথাক্রমে 2.98, -0.75 এবং 0। এম্বেডিং লেয়ারের সাথে
৫টি নোডের গোপন লেয়ার কানেক্ট করা আছে;
এটির সাথে ৫টি নোডের আউটপুট লেয়ার কানেক্ট করা আছে।](https://developers.google.cn/static/machine-learning/crash-course/embeddings/images/one_hot_hot_dog_embedding.png?authuser=1&hl=bn)
hot dog
-এর ওয়ান-হট এনকোডিং,
যা ডিপ নিউরাল নেটওয়ার্কের ইনপুট হিসেবে দেওয়া হয়েছে। এম্বেডিং লেয়ার এইসব ওয়ান-হট এনকোডিংকে
থ্রি-ডাইমেনশনাল এম্বেডিং ভেক্টরে পরিবর্তন করে, যেমন
[2.98, -0.75, 0]
।
ট্রেনিং চলাকালীন এম্বেডিং লেয়ারের ওয়েট অপ্টিমাইজ করা হয়, যাতে একই ধরনের উদাহরণের এম্বেডিং ভেক্টর মোটামুটি একই ধরনের হয়। আগে যেমন বলা হয়েছে, বাস্তবে কোনও মডেলে এম্বেডিংয়ের জন্য কোন ডাইমেনশন বেছে নেওয়া হবে তা এই উদাহরণের মতো সহজবোধ্য বা স্পষ্ট নয়।
প্রাসঙ্গিক এম্বেডিং
word2vec
স্ট্যাটিক এম্বেডিং ভেক্টরের একটি সীমাবদ্ধতা হল,
প্রতিটি শব্দের অর্থ প্রসঙ্গ অনুযায়ী পালটে যেতে পারে। 'ঠিক' কথাটির অর্থ এক রকম,
কিন্তু 'সেই তো, ঠিক' বলার অর্থ তার বিপরীত। 'পোস্ট' কথাটির অর্থ 'ডাক', 'ডাকের মাধ্যমে কিছু পাঠানো',
'গোলপোস্ট', সোশ্যাল মিডিয়ায় কিছু 'পোস্ট করা' অথবা 'পরে',
এমন অনেক কিছুই হতে পারে।
তবে স্ট্যাটিক এম্বেডিংয়ের ক্ষেত্রে প্রতিটি শব্দের জন্য ভেক্টর স্পেসে একটি নির্দিষ্ট বিন্দু অ্যাসাইন করা হয়, যদিও শব্দটির একাধিক অর্থ থাকতে পারে।
আগের এক্সারসাইজে
আপনি কমলা শব্দটির ক্ষেত্রে স্ট্যাটিক এম্বেডিংয়ের সীমাবদ্ধতা দেখেছেন,
কারণ শব্দটির অর্থ রঙ এবং ফল, দুটিই হতে পারে। শুধুমাত্র একটি স্ট্যাটিক এম্বেডিং থাকলে,
word2vec
ডেটাসেটে ট্রেনিংয়ের পরে কমলা শব্দটি
ফলের রস-এর বদলে রঙ হিসেবেই বেশি পরিচিত হবে।
ঠিক এই সীমাবদ্ধতা কাটানোর জন্যেই প্রাসঙ্গিক এম্বেডিং ডেভেলপ করা হয়েছে। প্রাসঙ্গিক এম্বেডিংয়ের ক্ষেত্রে, একই শব্দের জন্য একাধিক এম্বেডিং থাকে, যেখানে শব্দটি ছাড়াও আগে পরে অন্যান্য কোন শব্দ রয়েছে তার তথ্যও বিবেচনা করা হয়। ডেটাসেটের যতগুলি অনন্য বাক্যে কমলা শব্দটি রয়েছে, তার প্রত্যেকটির জন্য আলাদা এম্বেডিং করা হয়।
প্রাসঙ্গিক এম্বেডিং তৈরির কিছু পদ্ধতিতে,
যেমন ELMo, উদাহরণের স্ট্যাটিক এম্বেডিং নিয়ে
সেটিকে এমন ফাংশনের সাহায্যে পরিবর্তন করা হয় যা আগে পরে থাকা শব্দ বিবেচনা করে।
বাক্যের একটি শব্দের word2vec
ভেক্টরের স্ট্যাটিক এম্বেডিং নিয়ে
এটি করা হয়। এর ফলে প্রাসঙ্গিক এম্বেডিংয়ের সৃষ্টি হয়।
প্রাসঙ্গিক এম্বেডিংয়ের বিবরণ দেখতে এখানে ক্লিক করুন
- কোনও কোনও লেয়ারের এম্বেডিংয়ের ক্ষেত্রে কোনও বাক্য শুরু থেকে শেষ এবং শেষ থেকে শুরু, দুইভাবে এনকোড করা হয়। বিশেষ করে ELMo মডেলের ক্ষেত্রে স্ট্যাটিক এম্বেডিংয়ের সাথে এই ধরনের এনকোডিং একত্রে ব্যবহার করা হয়।
- BERT মডেলের ক্ষেত্রে, মডেলে যে সিকুয়েন্স ইনপুট করা হয় তার একটি অংশ মাস্ক করা হয়।
- ট্রান্সফর্মার মডেলে সেল্ফ-অ্যাটেনশন লেয়ার ব্যবহার করা হয়, যেখানে একটি সিকুয়েন্সের প্রতিটি শব্দের জন্য অন্যান্য শব্দের প্রাসঙ্গিকতা বিচার করে ওয়েট অ্যাসাইন করা হয়। এই ধরনের মডেলে, যেসব টোকেন এম্বেডিং সংক্রান্ত ট্রেনিং আগেই হয়ে গেছে, সেগুলির প্রতিটির ক্ষেত্রে পোজিশনাল এম্বেডিং ম্যাট্রিক্স (পোজিশনাল এনকোডিং দেখুন) থেকে প্রাসঙ্গিক কলাম যোগ করা হয়। এইভাবে প্রতিটি এলিমেন্ট ধরে ধরে ইনপুট এম্বেডিং তৈরি করে অনুমান ভিত্তিক লার্নিংয়ের জন্য মডেলের বাকি অংশে তা ইনপুট করা হয়। প্রতিটি পৃথক টেক্সট সিকুয়েন্সের জন্য অনন্যভাবে তৈরি করা এই ইনপুট এম্বেডিংকে প্রাসঙ্গিক এম্বেডিং বলা হয়।
উপরে শুধু ল্যাঙ্গুয়েজ মডেল উল্লেখ করা হলেও, ছবির মতো অন্যান্য জেনারেটিভ উদ্দেশ্যের জন্যেও প্রাসঙ্গিক এম্বেডিং কাজে লাগে। একটি ঘোড়ার ছবির প্রতিটি পিক্সেলের পোজিশনাল ম্যাট্রিক্সের সাথে আশেপাশের পিক্সেলের এনকোডিং এবং পিক্সেলের RGB ভ্যালুর এম্বেডিং একসাথে ব্যবহার করলে মেশিন লার্নিং মডেল আরও বেশি তথ্য পায়। এর ফলে প্রাসঙ্গিক এম্বেডিংয়ের সৃষ্টি হয়, যা RGB ভ্যালুর মূল স্ট্যাটিক এম্বেডিংয়ের থেকে বেশি কার্যকর।