多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
**softmax 温度:** 采样过程中控制随机性的大小,我们引入一个叫作**softmax 温度**(softmax temperature)的参数,用于表示采样概率分布的熵,即表示所选择的下一个字符会有多么出人意料或多么可预测。 ![](https://img.kancloud.cn/ef/4b/ef4b3358d85125dac585b0cbafbda882_647x412.png) **训练语言模型并从中采样:** 1. 给定目前已生成的文本,从模型中得到下一个字符的概率分布。 2. 根据某个温度对分布进行重新加权。 3. 根据重新加权后的分布对下一个字符进行随机采样。 4. 将新字符添加到文本末尾。 **采样函数**(sampling function): ~~~ def sample(preds, temperature=1.0): preds = np.asarray(preds).astype('float64') preds = np.log(preds) / temperature exp_preds = np.exp(preds) preds = exp_preds / np.sum(exp_preds) probas = np.random.multinomial(1, preds, 1) return np.argmax(probas) ~~~