diff --git a/Memos/Study-Memo/.keep b/Memos/Students/Study-Memo/.keep similarity index 100% rename from Memos/Study-Memo/.keep rename to Memos/Students/Study-Memo/.keep diff --git a/Memos/Students/Study-Memo/2593-day1AM.md b/Memos/Students/Study-Memo/2593-day1AM.md new file mode 100644 index 0000000000000000000000000000000000000000..990bc441880f6e74903121a1d049556d51434cb7 --- /dev/null +++ b/Memos/Students/Study-Memo/2593-day1AM.md @@ -0,0 +1,24 @@ +## 个人简介 +大家好!我是管安祺,来自未央书院,开学上大三。 + +## 兴趣爱好 +我的兴趣广泛,主要包括: +1. **足球**:锻炼身体 +2. **编程**:解决问题 +3. **音乐**:唱歌听歌 +4. **旅行**:开拓视野 + +## 图片展示 +![我的偶像](https://so1.360tres.com/t017d6555a87fb13623.jpg) + +希望我们能成为好朋友! + +# 课程信息表 + +## 课程详情 + +| 课程名称 | 上课地点 | 上课时间 | 课程学分 | +|----------------|------------|----------------|----------| +| 高等数学 | 六教6A301 | 周一 8:00-9:40 | 4 | +| 大学英语 | 三教3205 | 周三 10:00-11:40 | 2 | +| 计算机编程 | 六教6C102 | 周五 14:00-15:40 | 3 | \ No newline at end of file diff --git a/Memos/Students/Study-Memo/2593-day1PM.md b/Memos/Students/Study-Memo/2593-day1PM.md new file mode 100644 index 0000000000000000000000000000000000000000..e9c0a13dc26af6fbd118d5ead91de5c490313545 --- /dev/null +++ b/Memos/Students/Study-Memo/2593-day1PM.md @@ -0,0 +1,26 @@ +# day1学习小结 +在今天的课程中,我首先了解了机器智能这一概念,机器智能包含了人工智能,机器学习是人工智能的一个领域,又可根据是否有人为监督分为以下三种模式: + +1. **有监督学习**:模型通过标注数据学习预测规律,像老师手把手教解题。 + +2. **无监督学习**:模型自己从无标签数据里挖隐藏规律(如分组、降维),像没人指导的探索者。 + +3. **强化学习**:智能体通过试错和环境反馈(奖励/惩罚)学策略,像打游戏攒经验升级。 + +而最常听到的深度学习其实只是有监督学习的一种方式。 + +随后,我学会了pytorch的配备、大模型API调用,大模型本地部署等技能。 + +最令我印象深刻的是,我了解了Transformer这一经典架构的原理。Transformer是一种基于自注意力机制(Self-Attention)的深度学习架构,其核心思想是通过并行化全局建模序列数据的依赖关系。它由编码器解码器堆叠组成,每层均包含以下核心模块: + +1. **多头自注意力层**:计算输入序列中所有位置的关联权重,动态聚合上下文信息; + +2. **前馈神经网络(FFN)**:对每个位置独立进行非线性变换; + +3. **残差连接与层归一化**:每个子层输出与输入相加后归一化,缓解梯度消失并稳定训练。 + +在其核心的Attention机制中,Q矩阵与K矩阵的转置相乘,经softmax后与V矩阵相乘,得到输出自注意力Z。最后,多头注意力的多个Z矩阵进行拼接,再经过线性变换即可得到最终输出。 +此外,Transformer不能利用单词的顺序信息,因此添加了位置编码(Positional Encoding),为模型提供单词在句子中的相对位置信息,弥补自注意力对时序不敏感的特性。 +Transformer实现了高效的并行计算,为后续BERT、GPT、Deepseek等里程碑模型奠定了基础。 + +在未来的学习中,我希望能使用今天学习到的机器学习方法,解决生活与项目中的实际问题。 \ No newline at end of file diff --git a/Memos/Students/Study-Memo/2593-day2AM.md b/Memos/Students/Study-Memo/2593-day2AM.md new file mode 100644 index 0000000000000000000000000000000000000000..c438c4c37aaf298131b103f66dce1aead8404778 --- /dev/null +++ b/Memos/Students/Study-Memo/2593-day2AM.md @@ -0,0 +1,22 @@ +# Day2上午学习小结 +## 管安祺 2023012593 +### 管安祺 2023012593 +## K230人工智能开发板开发实践 +第二天上午,我在老师的带领下进行了K230人工智能开发板开发实践,步骤如下: +1. **烧录固件**:先使用SDFormatter工具将TF卡格式化,清空旧内容并重建分区和文件系统结构;再用SDFormatter将镜像文件写入,完成烧录。 +2. **开发界面**:安装并打开canmv-ide可视化开发界面,导入模型代码文件并修改相关参数。 +3. **测试运行**:将烧录好的TF卡插回K230,使用两根数据线连接电脑,可以看见右侧有实时图像预览窗口。 +4. **保存部署**:点击左上角的工具,再点击“Save open script to CanMV board”,只要K230通电,就会自动开始运行此模型。 +### 识别效果如下 +![小狗](../../../Picture/%E5%B0%8F%E7%8B%97%E8%AF%86%E5%88%AB.jpg) +## MyOpenGlass智能硬件开发实践 +随后,我们学习了MyOpenGlass工具,使用Seeed Studio XIAO ESP32S3 (Sense) 开发板进行智能化的视觉识别,步骤如下: +1. **Arduino IDE下载**:下载Arduino IDE后填充“Additional Boards Manager url”,安装esp32。 +2. **设备连接**:用USBC线将Xiao与电脑连接,选择XIAO_ESP32S3,即可对Xiao进行开发了。 +3. **大模型部署**:选择合适的版本下载安装Ollama,在Ollama中下载llava多模态大模型。 +4. **MyOpenGlassProj软件安装**:点击exe文件安装即可。 +5. **测试运行**:将Xiao通过USBC线连接到电脑上,选中对应的串口。修改CameraWebServer项目里的ssid和password变量为自己的wifi名称和密码,将ESP32S3与电脑连接至同一局域网,获取ESP32的IP并复制下来,运行Ollama软件和MyOpenGlass客户端软件,即可看到Xiao所拍摄到的画面。在右下角的输入框中提问,点击发送,即可获得大模型关于摄像头拍到的东西的回答。 +### 识别效果如下 +![人物](../../../Picture/%E4%BA%BA%E7%89%A9%E8%AF%86%E5%88%AB.png) +## 最后 +最后,我们尝试了azure kinect dk计算机视觉设备,并学习了人工智能物联网(AIoT),了解了其高效性、准确性、灵活性。 \ No newline at end of file diff --git a/Memos/Students/Study-Memo/2593-day2PM.md b/Memos/Students/Study-Memo/2593-day2PM.md new file mode 100644 index 0000000000000000000000000000000000000000..46cf35f7ab2195045711c80eeac8b0263fc54787 --- /dev/null +++ b/Memos/Students/Study-Memo/2593-day2PM.md @@ -0,0 +1,18 @@ +# Day2下午学习小结 +### 管安祺 2023012593 +## 红绿黄颜色识别 +第二天下午,我们继续开展计算机视觉领域的体验,使用opencv对红、绿、黄色球进行识别,步骤如下: +1. **HSV颜色描述**:H(Hue)色相,红色为0度,绿色为120度,蓝色为240度;S(Saturation)饱和度,从0-100%描述色彩的深浅度;V(Value)色调,从0-100%描述色彩的亮度。 +2. **获取摄像头图像**:下载python的opencv库,通过video = cv2.VideoCapture(0)调用电脑摄像头拍摄。 +3. **截取图像区域**:根据所需要的图像区域设定区域参数x0,x1,y1,y0,再用img = img[y0:y1, x0:x1]即可截取该区域。 +4. **颜色识别**:通过颜色遮罩、锐化、形态学变换、提取边缘识别给定HSV范围的颜色。 +5. **形状识别**:源代码单纯通过二值化、形态学识别物体轮廓,但并不能识别小球,于是我将颜色识别与形状识别相结合,实现了对小球圆形特征的识别。 +### 颜色识别与形状识别效果如下 +![输入图片说明](../../../Picture/%E9%A2%9C%E8%89%B2%E8%AF%86%E5%88%AB.png) +![输入图片说明](../../../Picture/%E5%BD%A2%E7%8A%B6%E8%AF%86%E5%88%AB.png) +## 机械臂遥控 +在这之后,我们使用zide和thonny对机械臂实现了遥控。 +1. **Thonny**:作为一款轻量化python集成开发环境,我们在其中运行开源代码,允许使用遥控器操控机械臂运动。 +2. **Zide**:ZIDE(Zerynth IDE)是一款专为物联网(IoT)开发设计的集成开发环境,我们连接上机械臂接口之后,可以在电脑上用鼠标操作机械臂运动。 +### 机械臂实物图如下 +![输入图片说明](../../../Picture/%E6%9C%BA%E6%A2%B0%E8%87%82.jpg) \ No newline at end of file diff --git a/Memos/Students/Study-Memo/2593-day3AM.md b/Memos/Students/Study-Memo/2593-day3AM.md new file mode 100644 index 0000000000000000000000000000000000000000..49b72dab6c88b2b6f573024c25336cd2516b0dd5 --- /dev/null +++ b/Memos/Students/Study-Memo/2593-day3AM.md @@ -0,0 +1,16 @@ +# Day3上午学习小结 +### 管安祺 2023012593 +## 选题介绍 +今天上午,助教首先对本课程的选题方向进行了介绍: +1. **核心**:发现问题。 +2. **思路1**:改变模型框架(搭积木),例如基于多尺度注意力GRU模型的金融数据预测。 +3. **思路2**:开发模型的特定应用背景(资源/数据受限),例如自适应窗口语音Transformer。 +4. **思路3**:寻找模型的具体应用方向,例如知识图谱增强大语言模型结论生成。 +经过助教的介绍,我们小组针对上述思路分别展开了讨论,小组2位同学对Transformer感兴趣,2位同学对具身智能感兴趣,我们期望寻找二者的交叉领域开展研究。 +## POQD讲座 +随后,来自北大的吴老师介绍了他关于Performance-Oriented Query Decomposer的研究: +1. **研究内容**:Retrieval Augmented Generation(检索增强生成),模型结合用户输入在网络上搜索相关图片、文档,综合后给出最优回答。 +2. **发现问题**:稠密检索无法捕捉图像和输入问题中的细节信息。 +3. **可行方案**:多向量检索,将query和搜索到的image、doc划分为多个块,分别构建小向量,再进行相似性比对。 +4. **核心难点**:语义分割,如"Victoria Hong Kong"应为一个词组,而非三个独立单词,后者会导致检索到错误信息。 +5. **解决方法**:引入prompt optimizer,通过结果Score计算找到最优的prompt,帮助模型做query的语义分割。 diff --git a/Memos/Students/Study-Memo/2593-day3PM.md b/Memos/Students/Study-Memo/2593-day3PM.md new file mode 100644 index 0000000000000000000000000000000000000000..deffe362b1aa5692249adea6e90d45c8eb3ca500 --- /dev/null +++ b/Memos/Students/Study-Memo/2593-day3PM.md @@ -0,0 +1,8 @@ +# Day3下午学习小结 +### 管安祺 2023012593 +## 人工智能辅助编程 +在今天下午的学习中,我了解到了两种国内外的辅助编程工具: +1. **Github Copilot**:GitHub Copilot 是由 GitHub 和 OpenAI 联合开发的智能编程助手,它通过人工智能分析你的代码上下文,实时生成代码建议、函数实现甚至整段逻辑,从而帮助开发者加速编码、减少重复性工作。它支持多种编程语言和主流编辑器,如 VS Code,并能根据注释或已有代码生成可用的代码片段,大幅提高开发效率,同时也适合作为学习新技术和参考最佳实践的工具。 +2. **Fitten Code**:Fitten Code 是由非十科技开发的国产 AI 编程助手,基于自研的代码大模型 Jittor 打造,能够提供代码自动补全、注释生成、Bug 查找、单元测试生成等多种智能功能,支持 80 多种编程语言并兼容 VS Code、JetBrains 系列、Visual Studio、Vim 等主流 IDE。相比 GitHub Copilot,Fitten Code 的优势在于响应速度更快(平均约 300 毫秒)、支持更多语言和本地化优化,同时对个人用户免费,能够在多种开发场景中提供更加高效、流畅的编程体验。 +## 总结 +合理运用 AI 辅助编程,需要把它作为增强工具而非完全替代。可以让 AI 帮助生成模板代码、自动补全函数、查找常见 Bug 或提供优化建议,从而节省重复性工作,但核心逻辑设计、架构决策和业务理解仍需开发者亲自把控。同时,保持对 AI 输出代码的审查与测试,避免错误或不安全的实现;通过与 AI 的互动学习,也能提升自身编程能力,实现效率与质量的平衡。因此,AI时代的我们仍然需要学习编程,最起码能够读懂AI生成的内容。 diff --git a/Memos/Students/Study-Memo/2593-day4AM.md b/Memos/Students/Study-Memo/2593-day4AM.md new file mode 100644 index 0000000000000000000000000000000000000000..025edbd307571d614d9f83d8aa9138c620df806a --- /dev/null +++ b/Memos/Students/Study-Memo/2593-day4AM.md @@ -0,0 +1,30 @@ +# Day4上午学习小结 +### 管安祺 2023012593 +## 深度人工神经网络基础 +1. **人工神经元**:多个分支输入,每个输入分配一个权重并求和,再使用激活函数输出到下一层。 +2. **Logistic Regression**:二元分类问题,如根据个体的身体体征,猜测性别,采用单个人工神经元完成。 +3. **调参方法**:梯度下降,即计算损失函数对权重的导数,并沿着梯度下降的方向调整参数,直到找到局部最优。 +4. **训练流程**:获取数据集、搭建模型、定义损失函数、运行训练数据、计算损失梯度并调参、结果评估。 +## 多层人工神经网络 +1. **批归一化层**:计算一个batch内各个向量的均值、方差,从而进行归一化,使得训练过程更稳定。 +2. **全连接(Dense)**:上一层的每个点都和下一层的每个点相连,称为密集连接,反之为稀疏连接。 +3. **激活函数**:sigmoid, ReLu等,增加非线性内容。 +4. **随机丢弃层**:每个神经元只有keep_prob的概率被保留下来,随机丢弃掉的神经元可以减少过拟合问题。 +5. **Softmax层**:计算输出向量每个分量的e指数权重,保证所有输出的数值是正的,所有分量之和为1。 +![整体结构](../../../Picture/%E5%A4%9A%E5%B1%82%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C.png) +## 多层卷积神经网络 +1. **问题**:图像处理中使用全连接Dense层参数量过大。 +2. **卷积**:使用特定尺寸的卷积核filter(如5×5×3)对图像进行扫描,将特征个数减少。 +3. **池化**:将卷积得到的相邻点进行合并,有峰值池化、均值池化两种方式,加快尺寸减小速度。 +![卷积池化](../../../Picture/%E5%8D%B7%E7%A7%AF%E6%B1%A0%E5%8C%96.png) +## 循环神经网络 +1. **核心机制**:输入x和输出y之间存在中间层h,h(t-1)和x(t)共同决定h(t),h(t)决定y(t),h(t)进一步影响h(t+1)的值,为模型提供“记忆力”。h为隐藏状态,计算公式通常是$h_t = ReLu(W_hh_{t-1}+W_xx_t+b)$。 +![RNN](../../../Picture/RNN.png) +2. **LSTM**:通过Cell层(长期记忆)引入遗忘门、输入门、输出门,模型将通过权重决定考虑多少长期记忆和多少短期记忆。
+2.1 **遗忘门**:决定前一时刻的长期记忆$C_{t-1}$中哪些信息需要保留,哪些需要忘掉。
+2.2 **输入门**:决定当前输入$x_t$和隐藏状态$h_{t-1}$的信息中,有多少加入到Cell状态$C_t$。
+2.3 **输出门**: 决定Cell状态$C_t$对隐藏状态$h_t$和输出节点的贡献。 +![LSTM](../../../Picture/LSTM.png) + + + diff --git a/Memos/Students/Study-Memo/2593-day5AM.md b/Memos/Students/Study-Memo/2593-day5AM.md new file mode 100644 index 0000000000000000000000000000000000000000..a7aa81c3a61ad18cd5e1e286971cc76d050be30e --- /dev/null +++ b/Memos/Students/Study-Memo/2593-day5AM.md @@ -0,0 +1,8 @@ +# Day5上午学习小结 +### 管安祺 2023012593 +## Toward Agentic AI Scientist for Biomedical Discovery 讲座 +1. **研究背景**:基因表达与疾病表型的关联分析是高价值的科研任务,但门槛高、耗时长。大语言模型(LLM)具备领域知识、代码生成和执行能力,有潜力自动化此类任务。 +2. **TAIS 框架(Team of AI-made Scientists)**:多智能体分工:项目经理、数据工程师、领域专家、代码审查员、统计学家。优势:任务模块化、提高专业性、减轻单个 AI 的负担。案例:发现与胰腺癌及维生素D水平相关的关键基因,并分析肥胖与 COVID-19 的遗传通路重叠。 +3. **IMPROVE 系统**:自动化计算机视觉模型开发流程,包括数据预处理、模型构建与迭代优化。能快速提升性能,少量迭代即可接近 SOTA 水平,甚至在 Kaggle 竞赛中取得好成绩。 +4. **Prompter 系统**:解决多智能体系统“泛化性与专用性”的平衡问题。用户仅需一句自然语言命令,即可生成针对任意领域的数据科学多智能体系统。 +5. **学习收获**:多智能体协作是科研自动化的关键趋势。LLM 在科研中不仅能写代码,还能融入领域知识进行全流程辅助。未来需关注系统的可靠性、可解释性和伦理问题。 \ No newline at end of file diff --git a/Picture/.keep b/Picture/.keep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/Picture/LSTM.png b/Picture/LSTM.png new file mode 100644 index 0000000000000000000000000000000000000000..ec7746cfbd6d1cf13cde76d80f4ddceadf8807e5 Binary files /dev/null and b/Picture/LSTM.png differ diff --git a/Picture/RNN.png b/Picture/RNN.png new file mode 100644 index 0000000000000000000000000000000000000000..ac25978d2c53b7db60ba7f164fcebdbf1fdeb2c6 Binary files /dev/null and b/Picture/RNN.png differ diff --git "a/Picture/\344\272\272\347\211\251\350\257\206\345\210\253.png" "b/Picture/\344\272\272\347\211\251\350\257\206\345\210\253.png" new file mode 100644 index 0000000000000000000000000000000000000000..a0811b7fe56ea7a731fd79960fad5cad5060fad1 Binary files /dev/null and "b/Picture/\344\272\272\347\211\251\350\257\206\345\210\253.png" differ diff --git "a/Picture/\345\215\267\347\247\257\346\261\240\345\214\226.png" "b/Picture/\345\215\267\347\247\257\346\261\240\345\214\226.png" new file mode 100644 index 0000000000000000000000000000000000000000..8e0d4d7331e43915cd06ebcfaaf348f735133745 Binary files /dev/null and "b/Picture/\345\215\267\347\247\257\346\261\240\345\214\226.png" differ diff --git "a/Picture/\345\244\232\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234.png" "b/Picture/\345\244\232\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234.png" new file mode 100644 index 0000000000000000000000000000000000000000..c4b89568767f7b9048e5fbfc9549df025434eec7 Binary files /dev/null and "b/Picture/\345\244\232\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234.png" differ diff --git "a/Picture/\345\260\217\347\213\227\350\257\206\345\210\253.jpg" "b/Picture/\345\260\217\347\213\227\350\257\206\345\210\253.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..803f6668e50385c43b94b0b0ee5ae3131531798e Binary files /dev/null and "b/Picture/\345\260\217\347\213\227\350\257\206\345\210\253.jpg" differ diff --git "a/Picture/\345\275\242\347\212\266\350\257\206\345\210\253.png" "b/Picture/\345\275\242\347\212\266\350\257\206\345\210\253.png" new file mode 100644 index 0000000000000000000000000000000000000000..b2bb808309b3a2e06bf031f35f748abbc58813c5 Binary files /dev/null and "b/Picture/\345\275\242\347\212\266\350\257\206\345\210\253.png" differ diff --git "a/Picture/\346\234\272\346\242\260\350\207\202.jpg" "b/Picture/\346\234\272\346\242\260\350\207\202.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..3e9a30328d254430006a6bf26ea7634a486b26fa Binary files /dev/null and "b/Picture/\346\234\272\346\242\260\350\207\202.jpg" differ diff --git "a/Picture/\351\242\234\350\211\262\350\257\206\345\210\253.png" "b/Picture/\351\242\234\350\211\262\350\257\206\345\210\253.png" new file mode 100644 index 0000000000000000000000000000000000000000..aadcf4c4b6d2e5169ef2d35ffb2197ad57a84fa8 Binary files /dev/null and "b/Picture/\351\242\234\350\211\262\350\257\206\345\210\253.png" differ