ATTENTION, LEARN TO SOLVE ROUTING PROBLEMS! 使用强化学习解决tsp问题(二)强化学习背景知识

本文探讨了如何利用强化学习解决旅行商问题(TSP)。引用了Google Brain团队和Hanjun Dai等人的研究,介绍了神经组合优化的框架和在TSP中的应用。文章指出,传统启发式方法对问题变化敏感,而强化学习能自适应地学习优化策略。指出了使用pointer network架构和actor-critic方法,并提及了Q-learning在图问题中的应用。

本文主要结合两篇文献,第一篇是2017年Google brain团队Irwan Bello∗, Hieu Pham∗, Quoc V. Le, Mohammad Norouzi, Samy Bengio在ICLR上发表的NEURAL COMBINATORIAL OPTIMIZATION WITH REINFORCEMENT LEARNING一文。第二篇是Hanjun Dai∗, Elias B. Khalil∗, Yuyu Zhang†, Bistra Dilkina, Le Song在2018年发表的Learning Combinatorial Optimization Algorithms over Graphs一文。

  • NEURAL COMBINATORIAL OPTIMIZATION WITH REINFORCEMENT LEARNING

  • 这篇文章开篇提到了TSP的一个难题,即在实际应用中,TSP solvers大多使用人为的启发式去知道搜索过程,尽管这些启发式可以在TSP问题上表现的很好,但是一旦problem statement有轻微改变,之前定义的启发式就不好使了。这篇文章运用了机器学习的算法去开发了一个通用框架(neural combinatorial optimization),通过在训练集上自适应寻找启发式去解决多个优化问题,在TSP问题上最多100个点。
  • 因为传统的监督学习不适用于组合优化的问题,团队采用了强化学习的算法,可以把强化学习中基于特定action对应的reward当作监督学习中的标签。
  • 使用pointer network的架构
  • 深度学习中的actor critic
  • Learning Combinatorial Optimization Algorithms over Graphs

  • 介绍Q-learning
  • 要解决的问题:In this paper, we address the challenge of learning algorithms for graph problems using a unique combination of reinforcement learning and graph embedding.

  • 完成的:We presented an end-to-end machine learning framework for automatically designing greedy heuris- tics for hard combinatorial optimization problems on graphs.

时间问题,这两篇论文没有进行详细的精读,以后有时间会补充。

未完待续。。。下一篇博文会详细分析ATTENTION, LEARN TO SOLVE ROUTING PROBLEMS! 这篇文章。

 

 

在路径规划问题中,注意力机制被广泛应用于提高算法的效率和适应性。路径规划通常涉及从起点到终点选择最优路径,尤其是在复杂环境中(如交通网络、机器人导航等),需要动态调整策略以应对变化的环境条件。 ### 路径规划中的注意力机制应用 1. **上下文感知路径选择** 注意力机制可以用于计算不同节点或边的重要性权重,从而帮助模型关注与当前任务最相关的部分。例如,在图神经网络(GNN)中结合注意力机制,可以通过计算每个相邻节点对当前节点的影响权重,实现更精确的路径预测。这种基于注意力的权重分配方式能够有效处理大规模图结构数据,并提升模型对复杂环境的适应能力 [^3]。 2. **Pointer 网络与解码器设计** 在序列生成任务中,如路径规划,Pointer 网络是一种常用的注意力机制。它通过计算当前解码状态与编码器输出之间的注意力得分,决定下一个要访问的节点。具体来说,在解码时间步 $t$,模型会根据 GRU 的隐状态 $z_t$ 和图嵌入信息 $f(S, u; \theta_e)$ 计算每个节点的注意力得分,并通过 softmax 归一化为概率分布,最终选择概率最高的节点作为下一步路径的一部分 [^3]。 3. **多头注意力与 Transformer 架构** Transformer 中的多头注意力机制也被引入路径规划研究中。通过并行计算多个注意力头,模型可以从不同角度捕捉图结构的全局信息。例如,在城市交通路径规划中,Transformer 可以同时考虑道路拥堵情况、历史通行时间等多种因素,从而生成更优路径 [^2]。 4. **混合注意力机制** 为了进一步提升模型性能,研究人员尝试将通道注意力机制与空间注意力机制结合使用。通道注意力机制关注特征维度上的重要性,而空间注意力机制则聚焦于图结构中节点的空间关系。这种混合注意力机制可以在路径规划中更好地捕捉局部细节与全局趋势 [^1]。 5. **强化学习与注意力机制结合** 强化学习(RL)框架中也常使用注意力机制来优化路径决策过程。智能体在每一步决策时,通过注意力机制评估周围环境的状态价值,并选择最优动作。这种方法尤其适用于动态环境下的路径规划,如自动驾驶车辆的实时路径调整 。 ### 示例代码:基于注意力机制的路径规划简化实现 以下是一个简化的注意力机制在路径规划中的 Python 实现示例,假设我们有一个图结构,并希望基于注意力机制选择路径: ```python import torch import torch.nn.functional as F # 假设图结构有 5 个节点,每个节点的 embedding 维度为 64 num_nodes = 5 embedding_dim = 64 # 随机生成节点 embedding node_embeddings = torch.randn(num_nodes, embedding_dim) # 假设当前解码状态 z_t z_t = torch.randn(1, embedding_dim) # 计算注意力得分(点积方式) scores = torch.matmul(z_t, node_embeddings.T) # (1, num_nodes) # 归一化得分 scores = scores / torch.sqrt(torch.tensor(embedding_dim)) # 应用 softmax 得到概率分布 attention_weights = F.softmax(scores, dim=-1) # 根据注意力权重选择下一个节点 next_node = torch.argmax(attention_weights).item() print(f"Attention weights: {attention_weights}") print(f"Next node to visit: {next_node}") ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值