diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..f6c26977bbb993b180afd759658dcf5ea6619cd0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,194 @@ +木兰宽松许可证,第2版 + +木兰宽松许可证,第2版 + +2020年1月 http://license.coscl.org.cn/MulanPSL2 + +您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: + +0. 定义 + +“软件” 是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 + +“贡献” 是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 + +“贡献者” 是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 + +“法人实体” 是指提交贡献的机构及其“关联实体”。 + +“关联实体” 是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是 +指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 + +1. 授予版权许可 + +每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可 +以复制、使用、修改、分发其“贡献”,不论修改与否。 + +2. 授予专利许可 + +每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定 +撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡 +献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软 +件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“ +关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或 +其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权 +行动之日终止。 + +3. 无商标许可 + +“本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定 +的声明义务而必须使用除外。 + +4. 分发限制 + +您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“ +本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 + +5. 免责声明与责任限制 + +“软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对 +任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于 +何种法律理论,即使其曾被建议有此种损失的可能性。 + +6. 语言 + +“本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文 +版为准。 + +条款结束 + +如何将木兰宽松许可证,第2版,应用到您的软件 + +如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: + +1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; + +2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; + +3, 请将如下声明文本放入每个源文件的头部注释中。 + +Copyright (c) [Year] [name of copyright holder] +[Software Name] is licensed under Mulan PSL v2. +You can use this software according to the terms and conditions of the Mulan +PSL v2. +You may obtain a copy of Mulan PSL v2 at: + http://license.coscl.org.cn/MulanPSL2 +THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +See the Mulan PSL v2 for more details. + +Mulan Permissive Software License,Version 2 + +Mulan Permissive Software License,Version 2 (Mulan PSL v2) + +January 2020 http://license.coscl.org.cn/MulanPSL2 + +Your reproduction, use, modification and distribution of the Software shall +be subject to Mulan PSL v2 (this License) with the following terms and +conditions: + +0. Definition + +Software means the program and related documents which are licensed under +this License and comprise all Contribution(s). + +Contribution means the copyrightable work licensed by a particular +Contributor under this License. + +Contributor means the Individual or Legal Entity who licenses its +copyrightable work under this License. + +Legal Entity means the entity making a Contribution and all its +Affiliates. + +Affiliates means entities that control, are controlled by, or are under +common control with the acting entity under this License, ‘control’ means +direct or indirect ownership of at least fifty percent (50%) of the voting +power, capital or other securities of controlled or commonly controlled +entity. + +1. Grant of Copyright License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to you a perpetual, worldwide, royalty-free, non-exclusive, +irrevocable copyright license to reproduce, use, modify, or distribute its +Contribution, with modification or not. + +2. Grant of Patent License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to you a perpetual, worldwide, royalty-free, non-exclusive, +irrevocable (except for revocation under this Section) patent license to +make, have made, use, offer for sale, sell, import or otherwise transfer its +Contribution, where such patent license is only limited to the patent claims +owned or controlled by such Contributor now or in future which will be +necessarily infringed by its Contribution alone, or by combination of the +Contribution with the Software to which the Contribution was contributed. +The patent license shall not apply to any modification of the Contribution, +and any other combination which includes the Contribution. If you or your +Affiliates directly or indirectly institute patent litigation (including a +cross claim or counterclaim in a litigation) or other patent enforcement +activities against any individual or entity by alleging that the Software or +any Contribution in it infringes patents, then any patent license granted to +you under this License for the Software shall terminate as of the date such +litigation or activity is filed or taken. + +3. No Trademark License + +No trademark license is granted to use the trade names, trademarks, service +marks, or product names of Contributor, except as required to fulfill notice +requirements in section 4. + +4. Distribution Restriction + +You may distribute the Software in any medium with or without modification, +whether in source or executable forms, provided that you provide recipients +with a copy of this License and retain copyright, patent, trademark and +disclaimer statements in the Software. + +5. Disclaimer of Warranty and Limitation of Liability + +THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY +KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR +COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT +LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING +FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO +MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES. + +6. Language + +THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION +AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF +DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION +SHALL PREVAIL. + +END OF THE TERMS AND CONDITIONS + +How to Apply the Mulan Permissive Software License,Version 2 +(Mulan PSL v2) to Your Software + +To apply the Mulan PSL v2 to your work, for easy identification by +recipients, you are suggested to complete following three steps: + +i. Fill in the blanks in following statement, including insert your software +name, the year of the first publication of your software, and your name +identified as the copyright owner; + +ii. Create a file named "LICENSE" which contains the whole context of this +License in the first directory of your software package; + +iii. Attach the statement to the appropriate annotated syntax at the +beginning of each source file. + +Copyright (c) [Year] [name of copyright holder] +[Software Name] is licensed under Mulan PSL v2. +You can use this software according to the terms and conditions of the Mulan +PSL v2. +You may obtain a copy of Mulan PSL v2 at: + http://license.coscl.org.cn/MulanPSL2 +THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +See the Mulan PSL v2 for more details. diff --git a/Memos/Study-Memo/2312-Day1.md b/Memos/Study-Memo/2312-Day1.md new file mode 100644 index 0000000000000000000000000000000000000000..2515a15ce008f761d58e37ddb30c2475f1a4e985 --- /dev/null +++ b/Memos/Study-Memo/2312-Day1.md @@ -0,0 +1,129 @@ +# 自我介绍 + +## 姓名:邹文杰 + + +## 爱好:1. 电影 2. 数独 + +![](picyg02.png) + +# 学习日志 + +**日期:** 2025年8月11日 +----- + +## 一、 Python 基础 + +### 1\. 核心语法 + + - **数据类型 (Data Types):** + + - **基本类型:** `int`, `float`, `str`, `bool` 。 + - **字符串操作:** 字符串是不可变的。常用方法包括 `.strip()` (去除首尾空格), `.split(',')` (按分隔符切片), `.join()` (连接字符串列表), 以及使用 f-string (`f"Hello, {name}"`) 进行格式化。 + + - **控制流 (Control Flow):** + + - **条件语句:** 使用 `if`, `elif`, `else` 结构进行逻辑判断。 + **循环语句:** + - `for` 循环: 主要用于遍历可迭代对象 (如列表、字符串)。`range(n)` 是其常用搭档。 + - `while` 循环: 在满足特定条件时持续执行。需要注意避免死循环。 + +### 2\. 数据结构 + + - **List (列表):** + + - **定义:** `my_list = [1, "hello", 3.14]` + - **特性:** 动态、有序、可变序列。是Python中最灵活的数据容器。 + - **核心操作:** `.append(item)` (末尾添加), `.insert(index, item)` (指定位置插入), `.pop(index)` (弹出元素), `my_list[i]` (索引访问)。 + - **应用:** 存储需要动态增删改查的数据集合,如用户列表、任务队列。 + + - **Tuple (元组):** + + - **定义:** `my_tuple = (1, "hello", 3.14)` + - **特性:** 有序、不可变序列。一旦创建,其元素无法被修改、添加或删除。 + - **核心优势:** 安全性高,通常比列表有更快的处理速度。 + - **应用:** 函数返回多个值 (`return x, y`);用作字典的键 (因为键必须是不可变的);存储不应被程序修改的配置信息。 + + - **Dictionary (字典):** + + - **定义:** `my_dict = {"name": "Alice", "age": 25}` + - **特性:** 键值对 (`key: value`) 的集合,通过唯一的键来快速存取值。键必须是不可变类型。 + - **核心操作:** `my_dict['key']` (访问), `my_dict['key'] = value` (赋值/修改), `my_dict.keys()` (获取所有键), `my_dict.values()` (获取所有值)。 + - **应用:** 表示结构化数据,如JSON对象;构建快速查找表/哈希表。 + + - **Set (集合):** + + - **定义:** `my_set = {1, 2, 3, 3}` 结果为 `{1, 2, 3}` + - **特性:** 无序、不重复的元素集合。 + - **核心操作:** 数学上的集合运算,如 `&` (交集), `|` (并集), `-` (差集)。 + - **应用:** 数据去重;成员资格测试 (判断一个元素是否在集合中,速度极快)。 + +## 二、 开发工具与环境 + +### 1\. Markdown 语法 + + - **目的:** 一种轻量级标记语言,旨在实现“易读易写”。 + - **语法扩展:** + - **引用:** `> 这是一段引用。` + - **分割线:** `---` 或 `***` + - **图片:** `![]()` + - **任务列表:** `- [x] 已完成的任务` 和 `- [ ] 未完成的任务` + +### 2\. Gitee (代码托管平台) + + - **核心概念:** Git是一个分布式版本控制系统,Gitee是托管Git仓库的云平台。 + - **详细工作流:** + 1. **`git pull`**: 在开始工作前,先从远程仓库拉取最新版本,避免冲突。 + 2. **本地修改**: 在本地进行代码编写和文件修改。 + 3. **`git add .`**: 将所有修改过的文件添加到暂存区 (Staging Area)。 + 4. **`git commit -m "详细的提交信息"`**: 将暂存区的内容正式提交到本地仓库,形成一个版本快照。提交信息应清晰描述本次修改的内容。 + 5. **`git push`**: 将本地仓库的提交推送到Gitee远程仓库。 + - **分支 (Branch):** `git branch` 和 `git checkout` 是关键命令。通常在 `dev` 等开发分支上工作,完成后再合并 (`merge`) 到 `main` 主分支,这是一种规范的团队协作模式。 + + +## 三、 人工智能 (AI) + +### 1\. 机器学习 (Machine Learning) 概述 + + - **通用流程:** 数据收集 -\> **数据预处理** (清洗、标准化、特征工程) -\> **模型训练** (选择算法并用数据拟合) -\> **模型评估** (使用测试数据检验性能) -\> **部署与监控**。 + - **三大范式:** + - **监督学习:** 提供有标签的“问题-答案”对 (`X`, `y`),模型学习从`X`到`y`的映射。 + - **无监督学习:** 只提供数据`X`,模型自行发现数据中的内在结构或模式,如用户分群。 + - **强化学习 (Reinforcement Learning):** 模型 (Agent) 在一个环境 (Environment) 中通过“试错”来学习。它会执行动作 (Action),获得奖励或惩罚 (Reward/Penalty),并以此优化其行为策略 (Policy),目标是最大化长期累积奖励。类似训练宠物。 + +### 2\. Transformer 模型架构梳理 + + - **基础: 自注意力机制 (Self-Attention)** + + - 允许模型在处理一个词时,同时计算这个词与句子中所有其他词的关联强度(“注意力分数”),从而动态地捕捉上下文信息。这是其并行处理能力和捕捉长距离依赖的关键。 + + - **各大模型详解:** + + - **GPT (Generative Pre-trained Transformer) 系列** + + - **架构:** Decoder-Only。 + - **工作原理:** 严格的自回归模型。在生成第 `N` 个词时,它只能看到并利用第 `1` 到第 `N-1` 个词的信息。这是通过“Causal Attention Mask” (因果注意力掩码) 实现的,它会屏蔽掉未来的信息,防止模型“作弊”。 + - **本质:** 一个强大的文本概率续写引擎。 + + - **BERT (Bidirectional Encoder Representations from Transformers)** + + - **架构:** Encoder-Only。 + - **预训练任务详解:** + 1. **Masked Language Model (MLM):** 随机遮盖 (mask) 掉输入句子中15%的词,然后让模型去预测这些被遮盖的词是什么。例如,输入`[CLS] a [MASK] is a domestic animal [SEP]`,模型需要预测`[MASK]`是`cat`或`dog`。这迫使模型深度理解双向上下文。 + 2. **Next Sentence Prediction (NSP):** 给模型一对句子A和B,让它判断B是否是A的下一句。这旨在教会模型理解句子间的逻辑关系。 + - **输出:** 它不直接生成文本,而是为输入的每个词生成一个富含上下文信息的向量(Embedding),这个向量可以被下游任务直接使用。 + + - **BART (Bidirectional and Auto-Regressive Transformers)** + + - **架构:** 标准的Encoder-Decoder。 + - **预训练任务详解:** 一种更高级的“去噪自编码器”。它学习如何从一个被严重破坏的输入中恢复出原始的、干净的文本。破坏手段包括:文本段遮盖、句子顺序打乱、删除词语等。这个过程比BERT的MLM更具挑战性,使得编码器必须对源文本有更强的概括和理解能力,解码器也因此能生成更连贯、更忠于原文的文本。 + + - **T5 (Text-to-Text Transfer Transformer)** + + - **架构:** 标准的Encoder-Decoder。 + - **核心框架详解:** T5的创新在于其“统一范式”。任何NLP任务都被转换成一个“文本到文本”的格式。 + - **示例:** + - **翻译:** 输入 `translate English to German: That is good.` -\> 输出 `Das ist gut.` + - **摘要:** 输入 `summarize: <一篇长文章>...` -\> 输出 `<文章摘要>` + - **情感分类:** 输入 `cola sentence: This is a great movie.` -\> 输出 `acceptable` + \ No newline at end of file diff --git a/Memos/Study-Memo/2312-Day2.md b/Memos/Study-Memo/2312-Day2.md new file mode 100644 index 0000000000000000000000000000000000000000..b88f84f507eb0198e398850560bb782443d42552 --- /dev/null +++ b/Memos/Study-Memo/2312-Day2.md @@ -0,0 +1,33 @@ +## 学习日志 + +**日期:** 2025年8月12日 + + +#### **一、 K230开发板** + +**技术栈:** Canaan K230、CanMV-IDE、YOLO模型。 +**核心流程:** + 1. **固件烧录:** 标准化TF卡并烧录K230固件。 + 2. **模型部署:** 通过CanMV-IDE将预训练的YOLO模型加载至开发板。 + 3. **运行验证:** 接入摄像头,捕获实时视频流并进行目标检测。 +**结果:** 成功在K230上实现了对`person`、`horse`等预设类别的实时检测,验证了该边缘AI平台运行主流CNN模型的能力。 + + +#### **二、 MyOpenGlass** +构建一个基于ESP32S3微控制器与本地大型语言模型(LLM)的穿戴式视觉问答(VQA)系统原型。 +**系统架构:** + 1. **感知端:** `Seeed Studio XIAO ESP32S3 (Sense)` 模组,负责低功耗的图像采集任务。 + 2. **推理端:** 本地主机通过`Ollama`框架运行`Llama`大语言模型,作为系统的认知核心。 + 3. **通信链路与控制:** `MyOpenGlassProj`项目代码负责通过无线网络(Wi-Fi)协调感知端与推理端的数据流,封装图像数据并调用LLM API。 +**实现机制:** ESP32S3捕获的图像被传输至本地主机,主机上的Llama模型对图像内容进行分析并生成文本描述或回答,从而实现视觉问答功能。系统初步实现了功能闭环,证明了该架构的技术可行性。 + + +#### **三、 基于OpenCV的颜色识别** + +掌握利用OpenCV进行基于颜色特征的图像分割与目标定位。 +**流程:** `BGR → HSV色彩空间转换` → `颜色阈值设定与掩码生成` → `轮廓提取与几何分析` → `目标筛选与坐标输出`。 +**核心发现:** 实验的挑战在于 **参数的敏感性**。HSV阈值、形态学核尺寸及轮廓面积阈值的选择,对光照条件和背景复杂性高度敏感,是影响系统鲁棒性的决定性因素。 + +#### **四、 机器人控制入门:六轴机械臂运动** + +通过图形化界面进行了示教再现,并通过Python脚本进行了编程控制,以实现预定路径的精确执行。 diff --git a/Memos/Study-Memo/2312-Day3.md b/Memos/Study-Memo/2312-Day3.md new file mode 100644 index 0000000000000000000000000000000000000000..9823feadf3709ae4f64093b34389180e7b2da321 --- /dev/null +++ b/Memos/Study-Memo/2312-Day3.md @@ -0,0 +1,55 @@ +**日期:** 2025年8月3日 + +科研创新核心在于“发现问题”,具体而言,有三种行之有效的创新路径: + +**一:搭积木式创新** +根据实际数据的特点,对现有模型结构进行修改或重构。 + +* **案例:水下机器人故障诊断** + 旨在解决其在复杂环境下故障检测的挑战。创新在于构建了一个多分支并行的卷积网络,各分支采用不同尺寸的卷积核(如3,5,7)来捕捉不同尺度的时间序列特征。通过这种方式,模型能够准确区分五种运行状态:正常、异常负载、深度传感器故障、螺旋桨严重损坏、螺旋桨轻微损坏。 + +**二:定义模型的特定应用背景** +专注于解决模型在资源受限或数据受限等特定场景下的部署和应用难题。 + +* **案例:边缘优化语音控制** + 该研究针对工业和校园等场景中大型语音模型难以在边缘设备上部署的问题。首先构建了一个强大的自适应窗口音频,然后通过**知识蒸馏**技术,将庞大参数量压缩,得到一个轻量级学生模型。 + +**三:寻找大模型的具体应用方向** +解决方案是构建一个包含实体、关系和三元组的HZOP知识图谱(HZOPKG),为LLM提供结构化的系统信息(如设备偏差、连接关系等)。整个系统由两部分构成:`Phxo`负责从知识图谱中提取可解释的推理路径,`HZOPGno`(一个经过Lo微调的Qwn2.5-3B模型)则结合这些路径生成准确的HZOP结论。 + +* **案例:基于知识图谱的可解释HZOP结论生成** + 针对第三代HZOP(危险与可操作性分析)系统严重依赖人工输入、难以分析新工艺的瓶颈。 + +**四:前沿案例深潜——POQD论文剖析** + +* **研究背景与问题:** + 检索增强是LLM应用的核心技术之一。但其检索阶段存在瓶颈:传统的单向量密集检索无法捕捉查询的细粒度信息,而现有的多向量检索方法,如按词元分解,虽能捕捉细节,却常因“过度细分”而破坏原始语义。例如,将查询“VictoriaHongKonghasmanywhattypeofbulidings?”机械地分解为“Victoria”、“Hong”、“Kong”等词元,可能导致“Kong”一词与电影《金刚》(KongKong)的图片产生更高的相似度,从而污染检索结果。 + +* **POQD的核心方案与创新:** + POQD提出,查询分解的目标不应是分解本身,而应是最大化下游G系统的最终问答性能。它旨在通过学习,找到如`["HongKong","buildng"]`这样更符合语义逻辑的分解方式。 + 然而,这一优化目标是非可微分的,且每次评估都需要高昂的微调成本,构成了巨大的技术挑战。 + POQD的精髓在于借鉴了大语言模型即优化器的思想,构建了一个创新的训练框架: + 1. 一个“优化器LLM”接收历史的(指令,性能得分)样本对。 + 2. 基于这些样本,它生成一条新的、有望提升性能的自然语言指令(即pomppfx)。 + 3. 这条指令被交给一个“分解器LLM”,用于指导其如何分解查询。 + 4. 系统执行完整的G流程并得到最终的Q分数。 + 5. 这个新的(指令,分数)对被添加回优化器的样本池中,用于下一轮迭代。 + +**五:AI辅助编程** + +人工智能编程是人工智能相关项目落地最为成熟的技术之一。通常基于人工智能编码助手或拓展插件集成到开发环境中。 + +其作用有: +* 自动生成代码和智能代码建议 +* 代码重构和改进建议 +* 辅助生成注释和解读代码含义 +* 文档和代码可读性增强辅助 +* 错误检测和协助调试 +* 帮助学习和跟进新技术 +* 代码效率和性能优化 + +**Fitten Code 的优势:** +* 比Github Copilot快两倍的同时准确率还提高了20% +* 完全免费 +* 支持多种编程语言 +* 智能解释代码 diff --git a/Memos/Study-Memo/2312-Day4.md b/Memos/Study-Memo/2312-Day4.md new file mode 100644 index 0000000000000000000000000000000000000000..e4dc4149cdf4e38160514056d2759e947ad78e67 --- /dev/null +++ b/Memos/Study-Memo/2312-Day4.md @@ -0,0 +1,83 @@ +日期: 2025-08-14 + +## 一、 Deep Neural Networks基础 + +### 1. 神经网络基本单元:神经元 (Neuron) +- **结构**: 接收多个输入,每个输入都有一个关联的权重 (weight)。将所有输入的加权和加上一个偏置 (bias),然后通过一个非线性的激活函数 (activation function) 得到输出。 +- **数学表示**: + $$ y = f(\sum_{i=1}^{n} w_i x_i + b) $$ + 其中,$w$ 是权重,$x$ 是输入,$b$ 是偏置,$f(.)$ 是激活函数。 +- **常见激活函数**: + - **Sigmoid**: $ \sigma(z) = \frac{1}{1 + e^{-z}} $。常用于二分类问题的输出层。 + - **ReLU (Rectified Linear Unit)**: $ f(z) = \max(0, z) $。是目前最常用、最有效的激活函数,能有效缓解梯度消失问题。 + - **Softmax**: 用于多分类问题输出层,将输出转换为概率分布。 + +### 2. Multilayer Perceptron, MLP +- **结构**: 由一个输入层、一个或多个隐藏层和一个输出层组成。当隐藏层数量大于等于2时,通常被称为深度神经网络。 +- **前向传播 (Forward Propagation)**: 数据从输入层开始,逐层计算,直到输出层得到预测结果。 +- **反向传播 (Backpropagation)**: + 1. 计算预测值与真实值之间的损失 (Loss),通过损失函数 (Loss Function)来衡量,例如均方误差 (MSE)或交叉熵 (Cross-Entropy)。 + 2. 根据损失,利用链式法则从输出层反向逐层计算每个参数(权重和偏置)的梯度。 + +--- + +## 二、 神经网络优化方法 (Optimization Methods) + +为了让模型学习,我们需要使用反向传播计算出的梯度来更新参数,目标是最小化损失函数。 + +- **梯度下降 (Gradient Descent, GD)**: 使用整个训练集的梯度来更新一次参数。计算成本高,速度慢。 + $$ \theta = \theta - \eta \cdot \nabla_{\theta}J(\theta) $$ + 其中 $\eta$ 是学习率 (learning rate)。 + +- **随机梯度下降 (Stochastic Gradient Descent, SGD)**: 每次只用一个样本来计算梯度并更新参数。速度快,但不稳定。 + +- **小批量梯度下降 (Mini-batch GD)**: GD和SGD的折中,每次使用一小批数据(mini-batch)来更新参数。这是目前最主流的方法。 + +- **高级优化算法**: + - **Momentum**: 引入动量,模拟物理惯性,帮助梯度下降冲出局部最优解,并加速收敛。 + - **Adam (Adaptive Moment Estimation)**: 结合了Momentum和RMSprop的优点,能为每个参数自适应地计算学习率。是目前最常用、效果最稳健的优化器之一。 + +--- + +## 三、 卷积神经网络 (Convolutional Neural Networks, CNN) + +CNN是处理网格状数据(如图像)的专家。 + +- **核心组件**: + 1. **卷积层 (Convolutional Layer)**: + - 使用卷积核 (Kernel/Filter)在输入数据(如图像)上滑动,通过点积运算来提取局部特征(如边缘、纹理)。使用局部连接和权重共享,这大大减少了模型参数,使其对图像的平移具有一定的不变性。 + 2. **池化层 (Pooling Layer)**: + - 对特征图进行下采样(Downsampling),以减小其尺寸,降低计算复杂度,并提取最显著的特征。 + - **常用方法**: 最大池化 (Max Pooling) 和 平均池化 (Average Pooling)。 +- **典型结构**: `输入 -> [卷积 -> 激活 -> 池化] * N -> 全连接层 -> 输出` + +--- + +## 四、 循环神经网络 (Recurrent Neural Networks, RNN) + +RNN专门用于处理序列数据,如文本、时间序列信号等。 + +- **核心思想**: 网络中的神经元不仅接收当前时刻的输入,还接收上一时刻的隐藏状态,从而实现了对序列历史信息的“记忆”。 +- **公式**: + $$ h_t = f(W_{hh}h_{t-1} + W_{xh}x_t + b_h) $$ +- **问题**: + - **梯度消失/爆炸**: 由于信息在时间序列上反复传递,在长序列中,梯度可能变得极小或极大,导致模型难以学习长期依赖关系。 +- **解决方案**: + - **LSTM (Long Short-Term Memory)**: 引入了“门控机制”(输入门、遗忘门、输出门),有选择性地让信息通过,从而有效地捕捉长期依赖。 + - **GRU (Gated Recurrent Unit)**: LSTM的简化版本,将输入门和遗忘门合并为“更新门”,参数更少,计算效率更高。 + +--- + +## 五、 Transformer + +Transformer是继CNN和RNN之后又一革命性的模型,完全基于 **注意力机制 (Attention Mechanism)**。 + +- **核心组件: 自注意力机制 (Self-Attention)** + - **理念**: 序列中的每个元素都可以直接关注(attend to)序列中的所有其他元素,并根据相关性计算权重,从而直接捕捉长距离依赖关系。 + - **计算**: + $$ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V $$ + 其中 $Q$ (Query), $K$ (Key), $V$ (Value) 是从同一个输入序列线性变换而来的三个向量。 +- **优势**: + - **并行计算**: 彻底摆脱了RNN的顺序依赖,可以大规模并行计算,训练速度极快。 + - **长距离依赖捕捉**: 注意力机制使得任意两个位置之间的距离都为1,解决了RNN难以处理长序列的问题。 +- **结构**: 主要由 编码器 (Encoder) 和 解码器 (Decoder) 堆叠而成,广泛应用于机器翻译、文本生成等自然语言处理任务。 diff --git a/Memos/Study-Memo/2312-Day5.md b/Memos/Study-Memo/2312-Day5.md new file mode 100644 index 0000000000000000000000000000000000000000..dccfe9259c29bf1ca4fa4bd35c0523b2d6e6f605 --- /dev/null +++ b/Memos/Study-Memo/2312-Day5.md @@ -0,0 +1,31 @@ +## 2025年8月15日 + + +## AI Scientist + +TAIS: 一个由多个专门化的AI智能体组成的“团队”概念。这个团队模仿人类科研团队的协作模式,包含不同角色: + - Project Manager: 负责任务分解与协调。 + - Data Engineer: 负责数据预处理。 + - Domain Expert: 提供专业知识支持。 + - Code Reviewer: 确保代码质量。 + - Statistician: 进行核心的分析。 +应用: 用于基因表达数据发现的 GenoAgent,用于自动化计算机视觉流程的 IMPROVE,能为任何领域任务自动生成数据科学智能体的 Prompter。 + +## project + +### 1. 问题 + +我们的研究聚焦于如何利用空间转录组学(ST)产生的2D切片重构3D生物网络。该领域的核心挑战: +- 生物组织处理中发生的非刚性变形。 +- 不同技术平台导致的空间分辨率差异。 +- 不同实验产生的批次效应。 + +### 2. 算法 + +重点分析了两种前沿的图神经网络(GNNs)对齐算法: +- STAligner: 该算法通过图注意力自动编码器来学习数据的嵌入表示,并使用Triplet Loss来校正批次效应,最终结合重构损失进行迭代训练。 +- SLAT: SLAT的突出优势在于能处理多技术、多模态的异构数据整合,且运行速度快。 + +### 3. 未来计划 + +通过对现有工作的梳理,我们计划的未来工作流程为:数据预处理 -> 构建图结构 -> 应用图神经网络 -> 跨图对齐。 \ No newline at end of file diff --git a/Memos/Study-Memo/picyg02.png b/Memos/Study-Memo/picyg02.png new file mode 100644 index 0000000000000000000000000000000000000000..6094f70eeadf47e5883c7e2a833689361bef3142 Binary files /dev/null and b/Memos/Study-Memo/picyg02.png differ