查找表(LUT,Look-up Table)的简单理解

查找表(LUT,Look-up Table)的简单理解

引入:假设有一个 4 输入(a,b,c,d) 1 输出(o) 的逻辑单元,想要了解其内部结构。

输入按照 0000-1111 去遍历,记录输出。得到真值表,运用卡诺图对其化简,得到最简 pos/sop 表达式,用门电路把结构画出来。

真值表的变化反映电路的结构变化,门/线越多,延迟越大,频率越低。也就是表格变化时,电路工作速度不确定,导致严重的时序问题(竞争冒险,亚稳定状态)。

总结:表格的不确定会引起延迟的不确定性和设计复杂的不确定性。

扩展:如果不把 a,b,c,d 当作逻辑输入量,而是作为只读存储器的地址输入,输入输出的对应关系保存到只读存储器的对应单元里去。这样无需考虑数字电路的内部门电路,而是关注于查找表结果。这就是 FPGA 的核心原理,FPGA 中没有门电路,只有查找表。

查找表的功能:实现组合逻辑电路的功能。

img

目前 FPGA 中多使用 4 输入的 LUT,所以每一个 LUT 可以看成一个有 4 位地址线的 RAM。当用户通过原理图或 HDL 语言描述了一个逻辑电路以后,PLD/FPGA 开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入 RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

初始向量就是输出不知道忘了多少次。。。


PS:参考文章 http://m.elecfans.com/article/772038.html

### Embedding Look-up Table 的概念 在机器学习和自然语言处理中,嵌入查找表(Embedding Look-up Table)是一种用于将离散的输入特征映射到连续向量空间的技术。这种技术特别适用于处理文本数据中的词语或字符序列。通过这种方式,模型可以捕捉词义之间的关系,并有效地表示语料库中的词汇[^1]。 具体来说,在神经网络架构下,嵌入层通常被初始化为随机矩阵;随着训练过程推进,该矩阵会逐渐调整以更好地反映实际的语言结构特性。对于每一个可能出现在输入中的单词索引 i ,都对应着一个 d 维度的向量 e_i ∈ R^d 。当给定一个新的句子时,就可以依据其内部各位置上的 token 来访问相应的 embedding 向量[^3]。 ### 实现方式 以下是 Python 中使用 PyTorch 库创建并应用 Embedding 查找表的一个简单例子: ```python import torch from torch import nn vocab_size = 1000 # 假设字典大小为1000 embed_dim = 50 # 设定每个token对应的embedding维度为50 # 创建一个具有指定参数规模的Embedding Layer embedding_layer = nn.Embedding(vocab_size, embed_dim) input_tensor = torch.LongTensor([12]) # 输入是一个整数形式的index列表 output_embedding = embedding_layer(input_tensor) # 获取对应的embedding vector print(output_embedding.shape) # 输出形状应为torch.Size([1, 50]) ``` 这段代码展示了如何定义一个 `nn.Embedding` 层来作为我们的查找表,并且演示了怎样利用它把单个词汇 ID 转换成相应维数的 dense representation。 ### 应用场景 - **预训练语言模型**:像 BERT 这样的大型预训练模型依赖于精心设计好的 embedding 表格来进行下游任务微调前的基础理解构建工作。 - **推荐系统**:除了文字外,商品ID也可以视为一种特殊的 "word" ,因此可以用相似的方式对其进行编码以便后续分析用户行为模式等操作[^2]. - **情感分类/主题建模** :通过对评论文章里的关键词赋予恰当意义的空间坐标系从而帮助算法更精准地区分正面负面情绪倾向或是识别不同话题类别.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值