- 博客(29)
- 收藏
- 关注
原创 MOE-1 基本认识
MoE(Mixture of Experts)是一种深度学习架构,其核心思想是通过**多个专家网络(Experts)和一个门控网络(Gate Network)**来动态地选择和组合不同的专家,从而提高计算效率和模型能力。MoE 的核心组成专家网络(Experts)MoE 由多个**子神经网络(Experts)**组成,每个专家都是一个独立的子模型(通常是 MLP 或 Transformer 层)。每个专家专注于学习不同的数据模式或特定任务的一部分。门控网络(Gate Network)这是一个。
2025-03-31 21:27:10
905
原创 Leetcode-100 二叉树引发的递归思考
最近公共祖先的定义是:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。在掌握了二叉树递归的基本思想后,我们通过几道经典例题来深入理解递归的应用方式。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。,这个路径可能经过根节点,也可能不经过根节点。给定一个二叉树,找出其最大深度。给定一个二叉树,找出其最大深度。
2025-03-31 13:45:30
668
原创 DPO vs PPO
DPO(Direct Preference Optimization)是一种基于人类反馈(Human Feedback, HF)直接优化大语言模型策略的强化学习方法。与传统的强化学习方法不同,DPO并不依赖于复杂的奖励函数,而是通过人类对模型输出的偏好评分,直接对模型进行微调。具体来说,DPO的核心目标是通过对比多个候选答案或策略,并基于人类的偏好反馈来优化生成模型。这一方法的优势在于,能够更直观地利用人类反馈来引导模型的学习,而不需要构建复杂的外部奖励机制。
2025-03-30 15:29:29
662
原创 Leetcode-100 回溯法-单词搜索
核心思想是从网格的每个位置开始,递归地检查是否能拼出目标单词。每次搜索时,我们可以从当前位置往上下左右四个方向扩展,查找下一个字符。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。最坏情况下,我们需要对每个单元格进行 DFS 搜索,每个单元格最多可以向四个方向扩展。数组的空间复杂度为 O(m * n),递归深度最大为单词的长度。:O(m * n * 4^L),其中。:O(m * n),由于。
2025-03-30 14:35:41
374
原创 Leetcode-100 回溯法-组合总数
给定一个的正整数数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。本题可以使用或进行求解。核心思想是递归地选择数组中的元素,并且允许重复选择,直到找到所有符合条件的组合。path。
2025-03-28 23:14:54
509
原创 Leetcode-100 贪心算法
贪心策略具体做法典型问题贪心选择性质选择当前最优的局部解,希望通过局部最优解合成全局最优解。跳跃游戏I、活动选择问题无回溯性每做出选择后,不会回溯到之前的选择,直接向下一个阶段推进。霍夫曼编码问题、最小生成树最优子结构问题的解可以由其子问题的解构成,且子问题的解必须是最优的。贪心算法在最短路径问题(如Dijkstra算法)中的应用局部最优选择每次选择当前阶段的最优解,在问题的整体最优解中,局部最优解能够推动全局最优解的产生。跳跃游戏II、最短路径问题(如Dijkstra算法)按重量选择。
2025-03-24 11:43:44
948
原创 Leetcode-100 回溯法-全排列
给定一个不含重复数字的整数数组nums,返回其所有可能的全排列。本解法采用,通过生成排列,而不是使用额外的空间存储路径。这种方法的核心思想是。
2025-03-19 16:38:54
465
原创 动态规划中的自底向上与自顶向下
动态规划(Dynamic Programming,DP)是一种解决复杂问题的方法,它将问题分解为更小的子问题,通过解决这些子问题并存储其解,避免重复计算,从而高效地解决原问题。动态规划的核心思想是利用重叠子问题(overlapping subproblems)和最优子结构(optimal substructure)的性质。
2025-03-12 22:30:17
577
原创 Leetcode-100乘积最大子数组
给定一个整数数组nums,找出数组中乘积最大的非空连续子数组(至少包含一个数字),返回其对应乘积。要求结果在 32 位整数范围内。输入:nums = [2,3,-2,4]输出:6解释:子数组 [2,3] 的乘积是 6,其余子数组乘积均小于 6。
2025-03-05 15:55:07
927
原创 Leetcode-100 最长递增子序列
通过二分查找定位替换位置,贪心策略在每一步都选择当前最优的末尾元素,最终通过维护一个严格递增的tail数组,高效求得最长递增子序列的长度。此方法将时间复杂度从 O(n²) 优化至 O(n log n),适用于大规模数据场景。通过维护一个单调递增的tail数组,并结合二分查找快速定位插入位置,该方案在保证正确性的前提下大幅提升了效率。此优化体现了贪心选择性质与高效搜索的结合,是处理最长递增子序列问题的标准优化方案。
2025-03-05 15:46:35
974
原创 Leetcode-100 单词拆分
给定一个非空字符串 和一个包含非空单词的列表 ,判断是否可以利用字典中的单词(可重复使用)拼接出完整的字符串 。无需使用字典中所有单词,只要存在一种拆分方式即可返回 ,否则返回 。示例:输入:s = “leetcode”, wordDict = [“leet”, “code”]输出:True解释:“leetcode” 可拆分为 “leet” + “code”。本问题采用动态规划(DP)结合记忆化搜索的方法解决。核心思想是将原问题分解为子问题:判断字符串的前缀是否可拆分,并利用已计算的子问题结果避免重
2025-03-05 15:22:31
918
原创 Leetcode-100 零钱兑换
本问题采用**记忆化搜索(Memoized DFS)**的方法解决,核心思想是将问题分解为子问题:对于每个硬币面额,选择使用或不使用该硬币,递归求解剩余金额的最小硬币数。通过缓存中间结果避免重复计算。
2025-03-03 14:57:59
738
原创 Leetcode-100 完全平方数
本问题可以采用**记忆化搜索(DFS + Memoization)**的方法解决,核心思路是通过递归遍历所有可能的平方数组合,利用缓存避免重复计算。关键点在于将问题分解为子问题:对于每个可能的平方数i²,选择或不选择该数,并递归求解剩余部分。
2025-03-03 11:10:32
897
原创 Leetcode-100 动态规划-打家劫舍
prev_max:表示截止到前前个房屋时的最大金额(对应dp[i-2]curr_max:表示截止到前个房屋时的最大金额(对应dp[i-1]
2025-03-03 10:19:11
561
原创 Leetcode-100 普通数组
在未排序的整数数组中找到缺失的最小正整数(要求时间复杂度 O(n),空间复杂度 O(1))输入:intervals = [[1,3],[2,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].输入:nums = [-2,1,-3,4,-1,2,1,-5,4]解释:连续子数组 [4,-1,2,1] 的和最大,为 6。合并所有重叠的区间,返回能覆盖所有原始区间且不重叠的区间数组。输出:[[1,6],[8,10],[15,18]]三次反转操作总次数为。
2025-02-28 11:12:35
682
原创 Leetcode-100 子串
特征 \ 题目560. 和为k子数组239. 滑动窗口最大值76. 最小覆盖子串核心算法前缀和 + 哈希表单调队列滑动窗口 + 双哈希移动方式单指针遍历固定窗口滑动动态窗口调整难点负数处理维护队列单调性字符频次匹配优化关键哈希查询 O(1)及时淘汰无效元素快速判断窗口有效性。
2025-02-26 15:09:08
727
原创 PPO to GRPO-3
GRPO(Group Relative Policy Optimization)是PPO算法在大模型时代由DeepSeek提出的革新版本,专门针对语言模型、代码生成等离散动作空间的强化学习场景优化。其核心突破在于,通过实现更稳定的策略更新。
2025-02-25 19:48:47
1078
原创 Leetcode-100 滑动窗口
滑动窗口是解决数组/字符串子区间问题的核心技巧,通过维护动态变化的窗口区间,将暴力解法的O(n²)时间复杂度优化至O(n)。适用于寻找无重复字符子串、字母异位词、最小覆盖子串等连续区间问题。
2025-02-25 14:35:25
650
原创 Leetcode-100 双指针
同向指针(快慢指针)相向指针(左右指针)滑动窗口(特殊双指针)适用于处理有序数组、子数组问题,时间复杂度通常为O(n)题型特征指针类型元素移动保持顺序,原地操作快慢指针有序数组组合需要避免暴力枚举相向指针容器类问题面积/容量计算相向指针多条件约束问题需要同时满足多个条件多指针组合。
2025-02-24 16:29:56
668
原创 PPO to GRPO-2
PPO 在 LLM 训练中的 RLHF 实现,核心在于通过策略网络生成基于用户反馈的高质量输出,并通过优化代理目标函数来提升生成能力。PPO 的和优势函数的引入有效地确保了模型训练的稳定性,避免了训练过程中的剧烈波动。RLHF 提供了一种灵活的训练方式,使得 LLM 能够不断优化与人类的互动,最终提高模型的生成能力,使其更符合用户需求。
2025-02-24 10:58:56
566
原创 PPO to GRPO - 1
考虑一个网格迷宫游戏,智能体(Agent)初始位于网格中的一个随机位置,可以执行上下左右的移动动作。网格中存在障碍物、宝藏以及陷阱。智能体的目标是通过探索网格,获得最大得分。PPO(Proximal Policy Optimization)算法通过限制策略更新幅度,提供了一种更加稳定和高效的强化学习方法。在网格迷宫游戏中,智能体可以利用PPO算法平衡探索和利用,从而逐步学习到优化的行动策略。通过结合价值网络和策略网络,PPO 能够有效地处理复杂的状态空间和动作空间,提高智能体在环境中的表现。
2025-02-20 16:43:25
1006
原创 leetcode-100 哈希
哈希表在处理这些问题时,核心在于如何根据题目条件设计键值对,以及如何利用其高效查询特性来优化时间复杂度。在面对需要快速查找、统计或分组的问题时,考虑使用哈希表能带来更高效的解决方案。
2025-02-19 16:09:54
413
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人