视觉场景理解论文阅读笔记2:Hierarchically Structured Reinforcement Learning for Topically Coherent Visual Story

本文介绍了一种基于层次解码网络的方法,该方法利用Manager-Worker框架来生成连续图像的故事描述。Manager部分采用LSTM捕捉序列图像的主题,而Worker部分则通过SCN生成具体的描述。此外,还探讨了增强学习在累积奖励方面的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、文章相关资料

论文地址:点击打开链接

二、阅读笔记

1.论文思想

       针对序列图像生成故事描述的需求,使用层次结构的网络进行解码学习。高级网络用于学习序列中每幅图像的语义信息,所属主题;低级网络用于根据学到的主题与语义属性逐词逐句生成句子描述。

2.结构

(1)Manager-Worker 框架图

       Manager:通过LSTM实现,这个网络以图像学习到的特征向量作为LSTM的输入。如同所有的LSTM网络一样,在每一时间步LSTM的输入由先前编码输出状态s和来自于worker网络的最后一个隐藏状态组成。

       Worker:通过语义组合网络(SCN)实现,这个网络通过上下文向量c和Manager阶段获得的topic(subgoal)g生成句子。

      g为每一步LSTM生成的topic,ai,j为在某一主题下对某一图像生成的描述中的词。

3.增强学习干了啥?

      在描述生成中,使用最多的损失函数的计算依据为最大似然估计(MLE),但是本研究所针对的不仅仅是一张图像,而是通过一系列的图像生成一段故事描述,不仅需要描述每幅图像,更需要获得图像之间的关系,以此生成故事。

       因此,这将涉及长短时记忆问题,因此可以考虑使用LSTM或者增强学习来做,而在worker阶段使用的是SCN网络,所以使用增强学习的累积奖励可以用于模型学习。

       文中对学习策略进行讨论,并提出三种方案与实验结果。

     (1)级联训练;(2)迭代训练(wake-sleep模式);(3)联合训练

3.描述效果


注:本人因理解角度和学习方法的不同,对文章内容理解可能存在偏差,如有错误,请指出。

<think>好的,用户现在遇到了一个错误信息:“Error: design is not yet hierarchically flattened”,需要帮助解决。我之前已经介绍过Spyglass中的hier_flat设置,所以这次需要结合之前的回答,给出具体的解决方案。 首先,这个错误通常出现在Spyglass工具中,当用户选择平坦化(flat)模式,但设计还没有被正确展平。可能的原因有几个: 1. **未正确设置hier_flat模式**:用户可能在约束文件(.sgdc)中没有正确设置hier_flat为flat或者hybrid,或者设置的位置不对,导致Spyglass没有执行展平操作。 2. **设计结构问题**:设计中的某些模块可能有复杂的层次结构,例如参数化的模块、生成语句(generate)或者VHDL的配置,这些可能导致工具无法自动展平。 3. **工具版本或配置问题**:可能用户使用的Spyglass版本有bug,或者某些其他设置冲突,比如其他选项影响了展平过程。 接下来需要分步骤引导用户解决这个问题。根据之前的回答,用户已经知道如何设置hier_flat,所以需要更具体的排错步骤。 首先,确认用户是否正确设置了hier_flat。可能需要检查.sgdc文件中的set_option命令是否正确,是否在正确的位置。例如,是否在读取设计之前设置,或者在之后,这可能会影响是否生效。 然后,检查设计是否有不支持展平的结构。例如,VHDL的配置或Verilog的参数化模块,这些可能需要特殊处理。可能需要用户简化设计或手动展平部分模块。 另外,建议用户运行report_hier_flat_compatibility命令来查看哪些模块不支持展平,这样可以帮助定位问题所在。如果工具报告某些模块无法展平,用户需要针对这些模块进行调整。 如果问题依旧存在,可能需要检查工具版本是否有更新,或者联系技术支持。同时,使用-debug选项运行Spyglass,获取更详细的日志,有助于进一步诊断问题。 还需要考虑用户的设计读取步骤是否正确。例如,是否在读取所有必要文件后才设置hier_flat,或者是否有多个sgdc文件冲突导致设置被覆盖。 最后,提供一个示例的sgdc文件,帮助用户正确配置,并给出分步骤的解决方法,确保用户能一步步检查和排除问题。</think>在Spyglass工具中遇到"Error: design is not yet hierarchically flattened"错误时,通常与设计层次处理模式设置相关。以下是结构化解决方案: 一、错误本质分析 $$ \text{设计未展平} \Rightarrow \text{当前模式要求平坦化视图但未完成转换} $$ 主要发生在以下场景: 1. 使用`flat`模式但存在不可展平结构 2. 混合模式(hybrid)配置冲突 3. 工具版本与设计结构不兼容 二、分步解决方法 1. **模式验证** ```tcl # 在SGShell中检查当前模式 sg_shell> get_option hier_flat ``` - 若返回`hier`,需切换模式: ```tcl set_option -set hier_flat flat ``` 2. **兼容性检查(Spyglass 2021+)** ```tcl report_hier_flat_compatibility -output flat_check.rpt ``` 查看报告中的三类问题: - 🚫 绝对不可展平结构(如VHDL配置声明) - ⚠️ 有条件展平结构(如SystemVerilog接口) - ✅ 已成功展平模块 3. **典型问题修复** | 问题类型 | 解决方法 | 示例代码修改 | |----------------|----------------------------------|--------------------------| | VHDL配置块 | 添加`keep_hierarchy`保留指令 | `-- spyglass keep_hierarchy` | | 参数化生成结构 | 添加展平约束 | `set_parameter -module TOP WIDTH=32` | | 接口包裹(Wrapper)| 使用`-autoinst`扩展 | `read_file -top top_wrapper -autoinst` | 4. **强制展平操作**(慎用) ```tcl flatten_hierarchy -force -module <module_name> preserve_hierarchy -off # 关闭保留标记 ``` 三、验证流程 ```mermaid graph TD A[启动Spyglass] --> B{模式检查} B -->|hier模式| C[错误不会触发] B -->|flat模式| D[执行展平验证] D --> E{存在不可展平结构?} E -->|是| F[修改设计/添加约束] E -->|否| G[正常执行分析] F --> G ``` 四、高级调试技巧 1. 层次结构可视化: ```tcl write_hierarchy -format pdf -output design_hier.pdf ``` 2. 增量展平调试: ```tcl set_debug_option flat_debug 3 # 开启三级调试模式 run_flat_check -phase pre_elab ``` 五、新版改进方案(Spyglass 2023.09+) 1. 智能自动展平: ```tcl set_option hier_flat auto_advanced ``` 2. 动态错误跳过: ```tcl set_error_rule -id LINT-311 -action continue ``` **注意事项**: - 展平操作会使调试路径信息丢失,建议在最终签核阶段使用 - 混合模式配置时需确保至少有一个模块被显式展平: ```tcl set_option hier_flat hybrid -module {TOP/A TOP/B} -auto_flatten_child ``` - 内存控制参数推荐值: $$ \text{flat模式内存} = 1.3 \times \text{hier模式内存} $$ 建议设置: ```tcl set_option max_memory 16G # 根据实际调整 ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值