Zero-shot Relation Classification as Textual Entailment (Abiola Obamuyide, Andreas Vlachos, 2018)阅读笔...

ESIM模型与CIM改进
探讨了ESIM模型在自然语言处理中的应用,特别是其在输入编码和局部推理建模阶段的双向长短期记忆单元使用。并提出通过条件编码进行改进,形成Conditioned Inference Model(CIM),以提升对新关系描述的敏感度。

ESIM (Enhanced Sequential Inference Model):

应用bidirectional Long Short-Term Memory(BiLSTM) units 作为building block,并接受两个sequence of text作为输入。随后对他们进行三步操作:

Input encoding 输入编码;

local inference modeling 局部推理建模;

inference composition 推理组成;

最后返回entailment, contradiction, neutral中得分最高的作为结果

 

对ESIM模型的改进:

主要是对input encoding和local inference modeling两个步骤进行的改造,改为采用conditional encoding.

input encoding 和local inference modeling两个操作类似,都是接受两个向量组成的序列{P_i}{h_j}或者更加复杂的两个矩阵 P /in R^{I*d}, H /in R^{J*d}, 其中P是premise(前提), H是hupothesis(假设),I和J都是两列文字中的单词数量。

‘’‘premise指的是输入的文字序列而Hypothesis指的是模板文字序列。比如

P: Obama was born in a hospital in Hawaii in 1965.

H: X is born in Y. '''

在input encoding层, P 和H是premise和hypothesis分别embedding后的单词

在inference composition层,P和H是premise和hypothesis是模型内部的某种从之前步骤输出的表示。

在进行完之前两个步骤之后,两个输入序列将被送给BiLSTM units,产生P^hat \in R^{I*2d}, H^hat \in R^{J*2d}

P̄ , c->p , c<-p = BiLST M (P )

H̄ , c->h, c<-h = BiLST M (H)

其中的c们是P和H前后续的BiLSTM units cell stages.

 

Conditional encoding for ESIM:

在做zero-shot的relation classification时,ESIM会把输入的句子完全independently于relation description的进行encodes. 这就造成当给定一个新的目标relation description时,需要注意考虑它的representations.

所以我们要把BiLSTM改成conditional BiLSTM(cBiLSTM)

P̄ = cBiLST M (P , c->h ,c<-h )

这个改变的实现需要对input encoding和inference composition两个stage进行改变。

我们将改造后的ESIM叫做Conditioned INference Model(CIM).

转载于:https://www.cnblogs.com/hanani/p/10010638.html

在机器学习领域,**Few-shot Learning(少样本学习)** 和 **Zero-shot Learning(零样本学习)** 是两种针对数据稀缺场景下的学习范式,它们的核心目标都是在有限或无可见样本的情况下实现对新类别的识别能力。 ### Few-shot Learning Few-shot Learning 旨在通过极少量的样本(通常每个类别仅包含几个样本)来训练模型以识别新类别。其核心挑战在于如何从有限的数据中提取足够的信息以支持泛化能力。该方法通常依赖于元学习(Meta-learning)框架,例如基于原型网络(Prototypical Networks)、匹配网络(Matching Networks)或关系网络(Relation Networks)等结构[^2]。 例如,在 C-way K-shot 问题中,C 表示类别数量,K 表示每个类别的样本数量,这意味着模型需要在仅有 K 个样本的情况下区分 C 个类别[^4]。 ```python # 示例:简单的原型网络计算类原型的伪代码片段 def compute_prototypes(support_set): prototypes = {} for cls in support_set: features = [extract_features(sample) for sample in support_set[cls]] prototype = np.mean(features, axis=0) prototypes[cls] = prototype return prototypes ``` ### Zero-shot Learning Zero-shot Learning 则更进一步,它假设在训练阶段完全没有见过目标类别的样本,而是通过辅助信息(如属性描述、文本嵌入等)来建立视觉特征空间与语义描述之间的映射。这种学习方式常用于图像识别、自然语言处理等领域,尤其是在新类别不断出现的动态环境中[^3]。 例如,若模型已经能够识别马、老虎和熊猫,并希望它也能识别斑马,那么可以通过提供关于“斑马是像马一样但有黑白条纹的动物”的描述信息来实现识别功能,而无需实际展示斑马的图像。 ```python # 示例:构建视觉-语义映射的伪代码片段 class ZeroShotClassifier: def __init__(self, semantic_embeddings): self.semantic_embeddings = semantic_embeddings # 类别语义向量 def predict(self, image_feature): similarities = [cosine_similarity(image_feature, emb) for emb in self.semantic_embeddings.values()] predicted_class = list(self.semantic_embeddings.keys())[np.argmax(similarities)] return predicted_class ``` ### 区别总结 | 特性 | Few-shot Learning | Zero-shot Learning | |------|-------------------|--------------------| | 样本需求 | 每类有少量样本(如1~5个) | 完全没有目标类样本 | | 依赖信息 | 实例样本 + 标签 | 语义描述 / 属性信息 | | 应用场景 | 新类别数据有限但仍可获取少量样本 | 新类别样本完全不可得,仅能通过语义定义 | ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值