- 单纯的利用Generation(RNN)来产生句子那可能是不足的,因为它虽然可以给你胡乱产生合乎文法的句子,但有时这些句子并不是我们需要的;
- 我们希望模型可以根据某些条件来产生句子,也许给一张照片由机器来描述照片,或是像聊天机器人,给一个句子,机器回一个句子。
- Automatic Speech Recognition(自动语音识别技术):是一种将人的语音转换为文本的技术。
- Image Caption Generation:作法上,将照片通过一个CNN产生一个Vector,在每一个RNN时步中都将该Vector当做输入,这样子每次产生的Word都会被该照片的Vector给影响,自然就不会是乱数产生句子了。
- Machine translation/Chat-bot:相同作法也可以应用在机器翻译与聊天机器人上。『机器学习』这个句子先通过另一个RNN,将抽出最后一个Hiddey Layer的Output做为翻译模型中每一个时步的输入。前段的部份就可以视为是『Encoder』,后段的部份可以视为是『Decoder』,而且两边是可以结合一起训练学习参数,这种方式称为『Sequence-to-Sequence Learning』 ,资料量大的时候可以两边学习不同参数,资料量小的时候也可以使用共同参数。注:图中Encoder的权重参数颜色与Decoder的权重参数颜色不同(左绿右蓝),代表两个权重是分开学习,但实务上是可以使用相同权重共同学习。
- 在聊天机器人中状况比较复杂,举例来说,机器人说了Hello之后,人类说了Hi,这时候机器人再说一次Hi就显的奇怪。因此机器必需要可以考虑比较长的资讯,它必需知道之前已经问过什么,或使用者说过什么。作法上,我们可以再加入一个RNN来记忆对话,也就是双层的Encoder。首先,机器说的Hello跟人类回覆的Hi都先变成一个Encoder,接着第二层RNN再将第一层的Encoder读一遍(过去所有互动记录),变成一个Code,再将这个Code做为后面Decoder的输入。
深度学习-生成模型:Conditional Generation(Generation based on another Embedding)
于 2020-12-24 23:50:19 首次发布