编辑
2025-01-10
技术
00

协方差和皮尔逊相关系数


协方差(Covariance)分析实例

编辑
2025-11-18
自动化方案
00

简单方案

提示词:

我们初期可以从规则开始,那么是否可以通过yolo输出的各个目标类型和位置预测信息,作为模型的输入,并将当前从人的角度应该进行的方式比如攻击、防御、移动作为输出标签,进行模型搭建进行训练

回复:

您提出的这个思路非常棒!这确实是实现游戏AI智能决策的一个非常经典且高效的入门方法,在学术上被称为行为克隆模仿学习。您已经抓住了从“感知”到“决策”的关键:将YOLO的检测结果作为状态特征,将人类专家的操作作为学习目标

下面,我用一个清晰的流程和代码示例,为您展示如何将这一想法落地。

🧠 核心思想:模仿学习

您的想法本质是让AI模仿人类专家的行为。整个过程可以分解为以下几个关键步骤,其核心流程如下:

flowchart TD
A[人类专家演示] --> B[数据采集<br>记录画面与对应操作]
B --> C[特征提取<br>使用YOLO解析画面生成状态特征]
C --> D[标签生成<br>将人类操作编码为动作标签]
D --> E{模型训练<br>训练决策模型拟合专家行为}
E --> F[智能体部署<br>新画面由YOLO+决策模型自动决策]
F --> G[执行动作]
G --> H[游戏环境]
H -- 新画面 --> A
H -- 新画面 --> F
编辑
2025-09-08
python
00

📉 一、回归任务(Regression)损失函数

1. 均方误差 / L2 损失 (Mean Squared Error, MSE)

LMSE=1Ni=1N(yiy^i)2L_{\text{MSE}} = \frac{1}{N} \sum_{i=1}^{N} (y_i - \hat{y}_i)^2

2. 平均绝对误差 / L1 损失 (Mean Absolute Error, MAE)

LMAE=1Ni=1Nyiy^iL_{\text{MAE}} = \frac{1}{N} \sum_{i=1}^{N} |y_i - \hat{y}_i|

3. 平滑 L1 损失 (Smooth L1 Loss)

Lsmooth L1(x)={12x2,if x<1x12,otherwise其中 x=yiy^iL_{\text{smooth } L1}(x) = \begin{cases} \frac{1}{2} x^2, & \text{if } |x| < 1 \\ |x| - \frac{1}{2}, & \text{otherwise} \end{cases} \quad \text{其中 } x = y_i - \hat{y}_i

4. 胡贝尔损失 (Huber Loss)

LHuber(x)={12x2,for xδδx12δ2,otherwise其中 x=yiy^iL_{\text{Huber}}(x) = \begin{cases} \frac{1}{2} x^2, & \text{for } |x| \leq \delta \\ \delta |x| - \frac{1}{2} \delta^2, & \text{otherwise} \end{cases} \quad \text{其中 } x = y_i - \hat{y}_i

🎯 二、分类任务(Classification)损失函数

1. 交叉熵损失 (Cross-Entropy Loss)

• 二分类 (Binary Cross-Entropy, BCE):
LBCE=1Ni=1N[yilog(y^i)+(1yi)log(1y^i)]L_{\text{BCE}} = -\frac{1}{N} \sum_{i=1}^{N} \left[ y_i \cdot \log(\hat{y}_i) + (1 - y_i) \cdot \log(1 - \hat{y}_i) \right]
• 多分类 (Categorical Cross-Entropy, CCE):
LCCE=1Ni=1Nc=1Cyi,clog(y^i,c)L_{\text{CCE}} = -\frac{1}{N} \sum_{i=1}^{N} \sum_{c=1}^{C} y_{i,c} \cdot \log(\hat{y}_{i,c})

其中 yi,c{0,1}y_{i,c} \in \{0,1\} 是 one-hot 编码的真实标签(样本 ii 属于类别 cc 时为 1,否则为 0)。

2. 焦点损失 (Focal Loss)

LFocal=1Ni=1Nαt(1y^i)γlog(y^i)L_{\text{Focal}} = -\frac{1}{N} \sum_{i=1}^{N} \alpha_t (1 - \hat{y}_i)^{\gamma} \cdot \log(\hat{y}_i)

🖼️ 三、计算机视觉(CV)特定损失函数

1. 交并比损失 (IoU Loss)

LIoU=1IoU=1ABABL_{\text{IoU}} = 1 - \text{IoU} = 1 - \frac{|A \cap B|}{|A \cup B|}

其中 AA 是预测框,BB 是真实标注框。

2. 广义交并比损失 (Generalized IoU Loss, GIoU)

LGIoU=1GIoU=1(IoUC(AB)C)L_{\text{GIoU}} = 1 - \text{GIoU} = 1 - \left( \text{IoU} - \frac{|C \setminus (A \cup B)|}{|C|} \right)

⚖️ 四、复合损失函数(以 YOLO 为例)

现代目标检测器(如 YOLOv3/v4/v5/v7/v8)通常采用加权组合损失:

LYOLO=λcoordLcoord+λobjLobj+λnoobjLnoobj+λclassLclassL_{\text{YOLO}} = \lambda_{\text{coord}} L_{\text{coord}} + \lambda_{\text{obj}} L_{\text{obj}} + \lambda_{\text{noobj}} L_{\text{noobj}} + \lambda_{\text{class}} L_{\text{class}}

其中各项含义如下:

  • LcoordL_{\text{coord}}:边界框坐标回归损失(常用 CIoU、DIoU、GIoU 或 Smooth L1);
  • LobjL_{\text{obj}}:含有目标的置信度损失(通常用 BCE 或 Focal Loss);
  • LnoobjL_{\text{noobj}}:不含目标的置信度损失(BCE,常加负样本权重);
  • LclassL_{\text{class}}:类别预测损失(Cross-Entropy 或 Focal Loss);
  • λ\lambda_{\cdot}:各子损失的超参数权重,用于平衡训练过程。

编辑
2025-09-03
技术
00

小米6 刷机方案评估

前提条件

  1. 已解锁 Bootloader(BL):您已成功申请并解锁小米6的Bootloader(知识库[1]、[6])。
  2. 已安装 TWRP Recovery:您已通过USB刷入TWRP Recovery(知识库[1]、[3])。
  3. 已启用 USB 调试:您已通过USB连接电脑并开启开发者选项和USB调试(知识库[1]、[3])。

当前目标

  • 无需修复USB-C接口,通过 SD卡卡刷ADB over Wi-Fi 刷入 LineageOS 17.0(安卓10)。

可行性方案

方案一:通过 SD 卡卡刷 LineageOS 17.0(推荐)

适用场景:已解锁BL并安装TWRP Recovery,但USB接口损坏。
操作步骤

  1. 下载 LineageOS 17.0 刷机包

    • 知识库[2]提供了小米6的 LineageOS 17.0 卡刷包(基于安卓10),直接下载 ZIP 文件。
  2. 将刷机包复制到 SD 卡

    • 通过蓝牙、邮件或云存储将 ZIP 文件传输到另一台设备,再复制到小米6的 SD 卡中。
  3. 进入 TWRP Recovery

    • 关机后按 音量键+电源键 进入 Recovery 模式(无需USB)。
  4. 卡刷 LineageOS 17.0

    • 在 TWRP 中选择:
      • Wipe > Advanced Wipe > 选择 Dalvik/Cache/Data > Swipe to Wipe(清空数据)。
      • Install > 选择 SD 卡中的 LineageOS ZIP 文件 > Swipe to Confirm Flash
      • Reboot > System 完成刷机。

优点

  • 无需USB连接,完全通过SD卡操作。
  • 知识库[2]明确提到 LineageOS 17.0 支持小米6,且提供详细卡刷流程。

风险提示

  • 刷机前需备份数据(通过蓝牙或云存储)。
  • 若刷机失败,需重新通过USB刷入官方ROM(需修复USB接口)。

方案二:通过 ADB over Wi-Fi 刷机(需提前启用)

适用场景:已通过USB连接电脑并启用 ADB 调试(知识库[1]、[3])。
操作步骤

  1. 启用 ADB over Wi-Fi

    • 通过USB连接电脑,执行以下命令:
      bash
      adb tcpip 5555 adb connect <设备IP>:5555
  2. 强制重启进入 TWRP Recovery

    bash
    adb reboot recovery
  3. 通过 ADB sideload 刷机

    • 将 LineageOS ZIP 文件放在电脑上,执行:
      bash
      adb sideload lineageos-17.0.zip

优点

  • 无需物理接触USB接口。

限制

  • 需提前通过USB启用 ADB 调试(若未完成,此方案不可行)。
  • 若USB接口损坏且未提前启用 ADB,需先修复USB接口。

方案三:通过 OTA 升级(不推荐)

适用场景:小米官方提供安卓10 OTA 升级包(知识库[2]未提及)。
操作

  • 在小米6设置中查找“系统更新”,若存在 OTA 包可直接升级。

限制

  • 小米官方未为小米6提供安卓10 OTA(知识库[2]显示 LineageOS 17.0 为第三方ROM)。

最终建议

方案可行性操作难度风险
SD卡卡刷 LineageOS 17.0✅ 推荐★★★☆★★★(需清空数据)
ADB over Wi-Fi 刷机✅ 需提前启用 ADB★★☆★★★(依赖USB初始配置)
OTA 升级❌ 不适用--

关键注意事项

  1. 备份数据
    • 使用 TWRP 的 Backup 功能(知识库[1])或通过蓝牙/云存储备份重要文件。
  2. 兼容性验证
    • LineageOS 17.0(安卓10)已适配小米6(知识库[2]),但需注意部分功能(如相机、Wi-Fi)可能不稳定。
  3. 恢复官方系统
    • 若需恢复官方MIUI,需通过USB刷入官方ROM(需修复USB接口)。

总结

  • 若您已解锁BL并安装TWRP RecoverySD卡卡刷 LineageOS 17.0 是最可行方案,无需依赖USB接口。
  • 若未提前启用 ADB 调试,建议先通过其他方式(如临时修复USB接口)完成初始配置。

操作前请仔细阅读知识库[1]、[2]的详细教程,确保每一步操作正确无误! 🚀

编辑
2025-08-29
python
00

一个自动化方案

✅ 方案可行性评估

优势:

  1. 完整闭环系统:可