生成式深度学习:文本与图像生成技术解析
1. 序列数据生成原理
在深度学习中,生成序列数据的通用方法是训练一个网络(通常是循环神经网络RNN或卷积神经网络convnet),以先前的标记作为输入,预测序列中的下一个或接下来几个标记。例如,给定输入“the cat is on the ma”,网络会被训练来预测目标“t”,即下一个字符。在处理文本数据时,标记通常是单词或字符,任何能够根据先前标记对下一个标记的概率进行建模的网络都被称为语言模型。语言模型捕捉了语言的潜在空间,即其统计结构。
一旦有了训练好的语言模型,就可以从中采样(生成新序列)。具体做法是,给模型输入一段初始文本(称为条件数据),要求它生成下一个字符或下一个单词(甚至可以一次生成多个标记),将生成的输出添加回输入数据,然后多次重复这个过程。这样就可以生成任意长度的序列,这些序列反映了模型训练数据的结构,看起来几乎像是人类编写的句子。
2. 采样策略的重要性
在生成文本时,选择下一个字符的方式至关重要。一种简单的方法是贪心采样,即总是选择最可能的下一个字符。但这种方法会导致生成的文本重复、可预测,看起来不像是连贯的语言。
一种更有趣的方法是在采样过程中引入随机性,根据下一个字符的概率分布进行采样,这被称为随机采样。例如,如果根据模型,字符“e”作为下一个字符的概率为0.3,那么在随机采样中,它有30%的概率被选中。贪心采样也可以看作是从一个概率分布中采样,其中某个字符的概率为1,其他所有字符的概率为0。
从模型的softmax输出中进行概率采样有其优点,它允许即使是不太可能的字符也有机会被采样,从而生成更有趣的句子,有时还能创造出训练数据中未出现过的、听起来
超级会员免费看
订阅专栏 解锁全文
4344

被折叠的 条评论
为什么被折叠?



