Softmax: picking the next word

Temperature
Pick the word
Try
Each word's probability at every temperature, for the scores above. The dashed line is the current temperature. Far to the right every word heads for an even share; far to the left the top word takes everything.

মূল ধারণা।
একটি language model একবারে একটি করে শব্দ লেখে। পরের শব্দের জন্য সে তার জানা প্রতিটি শব্দকে একটি score দেয়। softmax দুই ধাপে score-গুলোকে সম্ভাবনায় পরিণত করে: প্রতিটি score-এর ঘাতে e তুলুন, তারপর প্রতিটিকে মোট দিয়ে ভাগ করুন, যাতে সব মিলে 100% হয়। এটি CNN পাতায় ছবির শ্রেণিগুলোর জন্য ব্যবহৃত সেই একই softmax।
তারপর model-কে একটি শব্দ বেছে নিতে হয়। Greedy সবসময় সবার ওপরের শব্দটি নেয়। Sampling সম্ভাবনাগুলোকে দান হিসেবে ধরে এলোমেলোভাবে একটি শব্দ তোলে, তাই একই বাক্য প্রতিবার ভিন্নভাবে শেষ হতে পারে। Temperature softmax-এর আগে প্রতিটি score-কে ভাগ করে: 1-এর নিচে ওপরের শব্দটি আরও বেশি সম্ভাব্য হয়, 1-এর ওপরে কম সম্ভাব্য শব্দগুলোও সত্যিকারের সুযোগ পায়।

যা চেষ্টা করে দেখার মতো:
1. Greedy বেছে নিয়ে Write 10 endings চাপুন: দশবারই “mat”, যেকোনো temperature-এ। কোন শব্দটি সবার ওপরে থাকবে, temperature তা কখনো বদলায় না।

2. temperature 1-এ Sample বেছে নিন। “mat” 51.2%, তাই 10টি সমাপ্তির মোটামুটি 5টিতে থাকে “mat”, আর বাকিগুলো অন্য শব্দে ছড়িয়ে থাকে।

3. temperature নামিয়ে 0.2 করুন: “mat” হয় 99.2%, আর প্রায় প্রতিটি সমাপ্তি একই। বাড়িয়ে 5 করুন: “moon” 0.6% থেকে 8.3%-এ যায়, তাই মোটামুটি প্রতি 12টি সমাপ্তির 1টিতে এটি আসে।

4. “moon”-কে টেনে 3.5-এ তুলুন, “mat”-এর ওপরে। এখন “moon” 45.9% নিয়ে সবার ওপরের শব্দ, আর greedy প্রতিবার লেখে “The cat sat on the moon”। softmax শুধু score জানে, কোনটা অর্থবহ তা জানে না।