-
Notifications
You must be signed in to change notification settings - Fork 12
西浦工业人工智能研究与实践项目
以工业场景为模块,学习基础理论知识、关键技术、实际案例。通过案例,从问题描述、数据资源和解决方案三个方面,实践用人工智能理论和技术解决工业问题的方法,包括故障预诊断和设备健康管理PHM、基于计算机视觉的智能质检、基于时序数据分析技术的生产运营优化、排程排产、生产质量分析方法、生产故障缺陷检查与定位、机器人技术、工业知识管理之故障预警知识库等专题。
学习工业大数据分析和人工智能的基本理论和技术,通过实际案例理解相关理论和技术的具体应用,掌握用理论和技术解决工业问题的基本方法。熟悉科学和工程实践过程,培养科学和工程实践能力。
- 运用人工智能理论解决工业制造具体问题的相关模型设计和实现,提交项目报告(Word)和Poster海报。
- 可根据自己的实践目的设定以下不同初、中、高级目标 课程的学习要求
- 注:此专题内容原面向企业工程师。
- CRISP-DM方法论的流程中有哪些需要注意的问题?
- 如何理解CPS的概念?
- 如何从业务、应用、功能、执行等角度写好工业4.0的应用案例?
- 如何使用数据分析调查表?
- 深度学习、表示学习和机器学习的关系是怎样的?
- 计算机视觉和机器视觉的差别是什么?
- 有哪些计算机视觉的模型?
- 计算机视觉面临哪些困难?
- 图像识别有哪四类任务?
- 分类学习的评价指标有哪些?
- Pytorch 教程1 视频链接:https://www.bilibili.com/video/BV1Wv411h7kN?p=6
- Pytorch 教程2 视频链接:https://www.bilibili.com/video/BV1Wv411h7kN?p=7
- 如何用TensorFlow玩转深度学习
- 代码 https://github.com/pytorch/examples/blob/main/mnist/main.py
- 如何用Anaconda建立Python环境?如何安装环境依赖的库?
- 用Pytorch构建和训练神经网络模型的步骤是?
- 如何选择合适的高性能计算环境训练神经网络模型?如何选择GPU?
- 训练神经网络训练模型时,如何设置损失函数,如何选择优化器,如何调整学习率?
- 如何理解分析模型与机理模型的融合?
- 故障预诊断和设备健康管理PHM应用在哪些情境?
- 回归分析、决策树、逻辑回归、随机森林预测的特点是什么,分别适用于哪些情境?
- 设备健康管理需要考虑哪三个方面?
- 剩余寿命预测有哪些无监督方法?
- 设备寿命预测有哪些方法?数据较多和较少的时候分别用什么方法?
- 生存分析与其他多因素分析方法的区别是?
- 数据的经验模态分解方法适合解决怎样的问题?
- 工业大数据分析的适用情境和不适用情境分别是?
- 为什么说数据量大比维度大这个观点不对?
- 什么样的模型是好模型?
- 如何应对传感器偏差、机理复杂、工况复杂和样本严重不均衡的挑战?
- 作业1预测 COVID-19 Cases说明 视频链接:https://www.bilibili.com/video/BV1Wv411h7kN?p=11
- 如何通过调整超参数优化模型?
- 参考代码:
https://github.com/virginiakm1988/ML2022-Spring/blob/main/HW01/HW01.ipynb https://github.com/ga642381/ML2021-Spring/blob/main/HW01/HW01.ipynb https://github.com/bettermorn/IAICourse/tree/main/Code/MLSpringHW01/HW01.ipynb
- 理解基本代码
- 特征选择方法
- 微调模型架构和优化器算法
- 使用L2 regularization避免过拟合 参考:https://github.com/bettermorn/IAICourse/wiki/%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B#l2-regularization%E6%96%B9%E6%B3%95
- 图像分类面临哪些困难?
- 对象检测的步骤是?
- 能否简单描述你对CNN4个方面的理解?
- 如何调节超参数改变模型的能力?
- CNN模型适用和不适用的情境分别是?
- 什么是端到端学习?
- 对象检测常用算法包括哪些?比较AlexNet、VGG、ResNet,SqueezeNet
- FasterRCNN
- 半监督学习的原理是?
- 伪标签方法的4个步骤是?
- 多分类图像识别 视频链接 https://www.bilibili.com/video/BV1Wv411h7kN?p=35
- 参考代码:https://github.com/virginiakm1988/ML2022-Spring/blob/main/HW03/HW03.ipynb
- 多分类模型评价标准mAP:至少两个目标检测挑战中使用了平均精度均值,如PASCAL Visual Object Classes(PascalVOC)和Common Objects in Context(COCO)。对于PascalVOC挑战,也使用0.5,即使用mAP@0.5。对于COCO挑战,使用了一个略有不同的指标mAP@[0.5:0.95]。这意味着要计算mAP@0.5,mAP@0.55,…,mAP@0.95,并取平均值。在IoU上进行平均能让模型更好地实现定位。
- 对象检测的模型评价标准:
- 边界框精度:提供正确的边界框(不要太大或太窄)。IoU,在计算平均精度时,如果两个框的IoU高于某个阈值,就说它们重叠
- 召回率:查找所有目标(不丢失任何目标)。
- 分类精度:为每个目标输出正确的分类(不要误认为猫是狗)。
- 参考https://medium.com/@vijayshankerdubey550/evaluation-metrics-for-object-detection-algorithms-b0d6489879f3
- COCO:https://cocodataset.org/#detection-eval
- https://github.com/rafaelpadilla/Object-Detection-Metrics
- Open Images Challenge:https://storage.googleapis.com/openimages/web/challenge.html
- 大规模分布式模型训练的方法:数据并行和模型并行方法
- 批量标准化适用于哪些场景?
- 用数据增强和调整模型方法来提高性能
- Test Time Augmentation
- 交叉验证方法和集成方法
- 了解如何利用未标记的数据以及它的好处
- 对象检测模型YOLO
- 软测量方法是如何使工业系统中隐性的问题显性化的?
- 时间序列两种分析方法的区别是?
- 时间序列数据分析的经典方法有哪些?
- 具有不同特性的时间序列对应哪些分析算法?
- 时间序列数据挖掘算法有哪些?
- 经典的时序预测方法有哪些?
- 新兴的时间序列预测方法有哪些?
- PCA方法降维的基本原理是什么?
- 隐马尔可夫为何具有丰富的应用场景?
- 注意力机制能解决什么样的问题?为什么需要多头注意力机制?自注意力机制能解决怎样的问题?
- TST为什么具有很强的能力?
- 集成学习有哪些基本技术?集成学习的好处是?何时需要使用集成学习?
- tsai https://timeseriesai.github.io/tsai/
- 参考 https://github.com/bettermorn/IAICourse/wiki/%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B#5-%E4%BD%BF%E7%94%A8inceptiontimeminirocket%E5%92%8Ctransformer%E6%A8%A1%E5%9E%8B%E5%88%86%E7%B1%BB%E5%92%8C%E9%A2%84%E6%B5%8B%E6%97%B6%E5%BA%8F%E6%95%B0%E6%8D%AE
- 参考代码 https://github.com/timeseriesAI/tsai/tree/main/tutorial_nbs/04_Intro_to_Time_Series_Regression.ipynb
- 参考代码 https://github.com/timeseriesAI/tsai/tree/main/tutorial_nbs/10_Time_Series_Classification_and_Regression_with_MiniRocket.ipynb
- 参考代码 https://github.com/timeseriesAI/tsai/tree/main/tutorial_nbs/01_Intro_to_Time_Series_Classification.ipynb
- 熟悉时序数据结构
- 使用InceptionTime、MiniRocket和transformer模型分类和预测时序数据
- 理解Transformer原理
- 排程的目的是什么?
- APS需要满足哪些条件?APS为那些制造模型提供解决方案?APS涉及哪些数学算法?
- 群智优化算法包括哪些?
- 什么时候需要使用运筹方法?
- 如何实现遗传算法?遗传算法的优点和缺点是什么?
- 金融科技面临哪些挑战?
- 为什么需要循环神经网络RNN?为什么训练RNN很困难?LSTM的优点是什么?
- Transformer为什么能力很强?
- 使用遗传算法解决TSP问题 https://github.com/bettermorn/IAICourse/wiki/%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B#6-%E7%94%A8%E9%81%97%E4%BC%A0%E7%AE%97%E6%B3%95%E8%A7%A3%E5%86%B3%E6%97%85%E8%A1%8C%E6%8E%A8%E9%94%80%E5%91%98%E9%97%AE%E9%A2%98tsp
- 使用RNN和Transformer实现机器翻译:https://github.com/bettermorn/IAICourse/wiki/%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B#7-%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86%E4%B9%8B%E6%9C%BA%E5%99%A8%E7%BF%BB%E8%AF%91%E4%BD%BF%E7%94%A8seq2seq%E5%92%8Ctransformer
- 如何定义成本函数?
- 学习率规划与RAdam
- 比较RNN与Transformer的不同
- back translation
- 调整超参数
- 质量数据的分析场景有哪些?
- 现有质量管理体系如何与大数据融合?
- 5类质量分析问题的前提条件和应用模式
- 典型行业的质量分析问题有哪些?
- 如何应用CAPE方法?
- 如何使用不同的特征提取方法?
- 如何应用质量时空模式分析?
- 对比类别变量有哪些方法?
- 质量异常预警有哪些技术路线?
- 优化控制参数需要注意哪些方面?
- 质量根因分析有哪些方法?
- PQM数据模型包括哪些方面?
- PQM系统架构,如何整合数据?
- 相关性分析方法、因子分析方法、多因子分析方法是怎样的?
- 如何使用分值图、碎石图、特征图?
- GAN背后的理论是怎样的?GAN与一般生成模型的区别是怎样的?如何训练GAN?WGAN-GP和Cycle GAN产生的原因是?
- 生成图片说明 视频链接:https://www.bilibili.com/video/BV1Wv411h7kN?p=70
- 代码:https://github.com/virginiakm1988/ML2022-Spring/blob/main/HW06/HW06.ipynb
- DCGAN
- WGAN WGAN-GP
- StyleGAN
- 如何实现异常检测?
- 如何匹配异常模式?
- 如何识别异常趋势?
- 如何消除虚假警报?
- 如何合并同源异常?
- 如何处理非均衡数据?
- 如何使用One-Class SVM、标准差、Boxplots、DBScan Clustering、隔离森林、随机切割森林
- 为什么需要自监督学习?自监督学习可以应用于哪些情境?
- 预训练模型是什么?
- 为什么需要词嵌入?词袋模型的优点是什么?
- Bert的本质是什么?Bert具有怎样的能力?Bert能完成哪些工作?Bert的工作原理是怎样的?Bert如何实现四项下游任务?
- GPT的结构和本质是什么?
- Auto-encoder的本质是什么?为什么与CycleGAN类似?AE可以用来做什么?
- 用Bert回答问题 视频链接:https://www.bilibili.com/video/BV1Wv411h7kN?p=82 参考使用BERT实现问题回答 代码:https://github.com/virginiakm1988/ML2022-Spring/blob/main/HW07/HW07.ipynb
- 异常检测说明 视频链接:https://www.bilibili.com/video/BV1Wv411h7kN?p=95 参考链接:识别异常 代码:https://github.com/virginiakm1988/ML2022-Spring/blob/main/HW08/HW08.ipynb
- 使用Bert回答问题
- 使用Sensor判断数据的异常性
- 应用线性学习衰减 https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate
- Automatic mixed precision:设置为 FP16
- Gradient accumulation:参考https://kozodoi.me/python/deep%20learning/pytorch/tutorial/2021/02/19/gradient-accumulation.html
- ensemble
- 异常检测:AutoEncoder 调整模型结构,Multi-encoder autoencoder多编码器自编码器,增加随机噪声和额外的分类器
2.1 策略迭代法:Policy Gradient策略梯度法 2.2 价值迭代法:SARSA,Q学习 2.3 Actor Critic策略迭代法和价值迭代法的融合 2.4 深度强化学习:DQN,A2C 2.5 扩展:PPO和IRL
- 机器学习的3个步骤是怎样的?
- 机器学习的分类和应用场景是怎样的?
- 强化学习包括哪些概念?用自己的语言解释强化学习的组成部分。强化学习的特点是,适用于哪些场景?强化学习需要解决哪些挑战?如何解释强化学习的形式化框架?
- 强化学习包括哪些学习方法?强化学习各种方法,如PG,MC,TD,QL是怎样的?
- 策略迭代法REINFORCE存在哪些问题?
- 价值迭代法的SARSA和QL的策略有什么不同?
- 策略迭代法和价值迭代法融合(Actor-Critic)的好处是?
- 深度强化学习的优势是?深度Q网络的4个要点是什么?使用Pytorch实现DQN需要注意什么?
- A2C和A3C的精髓是什么?
- On-policy和Off-policy的区别是什么?
- PPO和IRL的特点是什么?GAN和IRL的区别是什么?
- DP、MC、TC的优点和缺点是什么?
- 强化学习无法在工业领域得到广泛应用的原因是什么?
- 机器人技术中,如何定义奖励函数?如何使用DDPG?
- MiniWoB基准是什么?包括哪些基准测试任务?
- OpenAI Universe的架构是怎样的?
- AlphaGo具有哪三招?AlphaGo Master和AlphaGo Zero的基本原理是什么?为什么AlphaGo采用监督、强化、基于策略、价值和模型的学习?如何打败AlphaGo Master和AlphaGo Zero?
- 强化学习适用于哪些情境?
- 实验环境 。https://github.com/openai/gym
- OpenAI互动游戏说明 视频链接:https://www.bilibili.com/video/BV1Wv411h7kN?p=119
- 参考代码:https://github.com/ga642381/ML2021-Spring/blob/main/HW12/HW12_ZH.ipynb
通常最简单的方法是采用Q值最大的动作(这称为贪婪法)。但是,如果在没有求得正确的Q值时采用这种方法,会导致根据随机生成的动作价值的初始值确定动作,其后可能无法很好地学习(例如,从初始的S0位置每次向右移动)。因此,我们将以一定的概率ε随机行动,在剩下的1ε概率下采用动作价值Q最大的行动。这种方法称为ε贪婪法。随着试验次数(回合数或轮数)的增加,ε值会渐渐减小。像这样的价值迭代强化学习中,必须综合地使用当前动作价值函数的最大值来采取确定行动(利用)以及随机行动(探索),这一方法称为“探索和利用的权衡”。
- 定义Observation/State,Action,Reward
- 设计Agent(learn和sample)和Network
- 使用Policy Gradient、Actor-Critic训练Agent
- 控制系统和强化学习。 1. 最优控制:两个最著名的RL算法,TD-和q -学习,都是关于逼近最优控制的核心价值函数。2. 统计和信息理论。参考 https://www.zhuanzhi.ai/vip/5fa53abd19cd729937359d5411ac3a9e https://mp.weixin.qq.com/s/ywngtrSIx4A7gH4ccLJLDw
- 触觉Gym2.0:虚实迁移的深强化学习来比较低成本高分辨率机器人触碰。https://mp.weixin.qq.com/s/P6-8Np6iRyyfhFol9OY-DQ
- 参考 构建领域知识图谱知识要点
- 工业知识的组织和管理为什么很重要?
- 构建知识图谱的流程是怎样的?每个流程中会用到人工智能的哪些理论和技术?有哪些比较好的工具?
- 知识推理为什么难?如何解决?
- 知识问答系统包括哪些模块?需要运用到哪些人工智能技术?
- 知识图谱学习: https://github.com/bettermorn/KGCourse/
- 微信公众号:知识图谱标准化
- 简单的项目 https://github.com/bettermorn/KGCourse/tree/master/Lab/elasticQA
- 用Protégé进行知识建模
- 应用三元组数据库Apache Jena
- 用 DeepKE抽取知识
- 用LIMES做知识融合
- 用Jena和Drools实现知识推理
- 用ElasticSearch实现一个简单实体语义搜索引擎
- 完成用Elasticsearch搭建简单知识问答系统
- 基于模板的方法
- 自然语言问题的类型
- 自然语言转化为逻辑表达式的过程
- 熟悉每个专题的理论知识。
- 能运用每个专题的理论知识完成实验内容。
- 掌握Python的基本语法,熟练使用命令行和可视化界面操作方法使用Anaconda,熟悉用Pytorch完成一个深度学习模型的完整过程。
日期 | 任务 | 学生成果 | 备注 |
---|---|---|---|
6月1日-6月10日 | 导师准备课程资源 | 准备程序设计语言、环境和算力 | 算力参考典型深度神经网络模型训练服务器配置 |
6月11日-6月30日 | 导师授课专题一、二 | 阅读相关论文,熟悉理论知识,训练模型,掌握调试方法 | |
7月1日-7月31日 | 导师授课专题三、四 | 阅读相关论文,熟悉理论知识,训练模型,掌握调试方法 | |
8月1日-8月31日 | 导师授课专题五、六、七 | 阅读相关论文,熟悉理论知识,训练模型,掌握调试方法 | |
9月1日-9月30日 | 导师授课专题八、九 | 阅读相关论文,熟悉理论知识,训练模型,掌握调试方法 | |
10月1日-10月31日 | 学生分组实践和研究 | 方向1.解决具体工业问题,小组协作撰写研究报告 方向2. 研究相关领域理论知识,小组协作撰写论文 |
可提前准备好要研究和实践的问题 模拟问题可参考历届工业大数据竞赛题 1. 全国工业互联网数据创新应用大赛, 2. 工业大数据创新竞赛白皮书2017——风机结冰故障分析指南 3. 工业大数据创新竞赛2018-2019白皮书 4. 工业大数据分析指南 可考虑参加今年的工业互联网数据创新应用大赛(工业互联网产业联盟举办) 5. CCF大数据与计算智能大赛 可参考https://mp.weixin.qq.com/s/zG9XoorlfukfW-cg3wYOag 6.真实问题可寻找相关资源 |
任务 | 形式 | 频度 | 时间安排 |
---|---|---|---|
授课 | 线上视频会议或者录制视频,每个专题3小时 | 每个月2到3次 | 中文授课,一般安排在周末下午或者晚上 |
课后研究 | 阅读相关论文,熟悉理论知识,训练模型,掌握调试方法 | 每个专题1次 | 自由安排,每个专题至少2小时 |
校内辅导 | 见面交流 | 每月尽可能有1到2次 | 一般安排在周末下午 2个小时 |
日常沟通 | 微信群通知必要的消息,在本github项目仓库issue,wiki,Code等讨论和提交成果 | 每周和每个阶段 | 根据具体需要 |
报告为详细内容,需要写完整句子,poster用于汇报展示,写能表明意思的短句就可以。
以下为撰写注意事项。
- 注意大小写, 例如 Python,Mac OSX等
lib name | version | description |
---|---|---|
numpy | X.X.X | math |
次数 | 运行时长 (s) | epochs | batch_size | 运行参数 卷积层filters,全连接层等 | 评价指标:正确率等 | 参数选择 |
---|---|---|---|---|---|---|
1 | 466.58 | 5000 | 200 | cnn1_filters= 64,cnn2_filters=30,dense1=27,lstm1=50,lstm2=50,lstm2=50,dense2=1 | 89.43% | 全参数 |
格式为Word文档。语言:自选,英文中文均可。报告主题可任选工业人工智能九个专题的某一个主题,也可以综合选择主题。
- 学习线路及总结 包括但不限于以下内容:
- 1)为什么用这种方法或者要解决什么问题?
- 2)实现的方法描述
- 3)存在的优点和缺点
- 4)和其他同类方法或者算法的比较
- 5)需要的基础知识
- 6)适用场景或者应用领域
- 7)用于实验的平台或者(一系列)工具
- 8)学习参考文献 注:标识较早及优秀研究者的论文文献及参考资料,尽量不引用知乎文档
- POC(概念验证)案例
- 包括源代码
- 案例描述文档:
- 问题描述
- 建模方法和核心算法
- 实现难点描述
- 代码结构、部署和运行方式
- 代码存储位置,github,gtee,等
- 学习和研究体会
- 语言使用
- 平台选择
- 问题分析、算法模型选择、模型优化方法等
- 。。。。。。
Poster展示项目的主要内容,用于汇报,可参考模板 https://github.com/bettermorn/IAICourse/tree/main/refermaterials/templates, 详细信息可参考https://www.posterpresentations.com/free-poster-templates.html
- 问题陈述:解决的挑战是什么?为什么从技术和商业角度来看都很重要?换句话说,为什么这对工业很重要?
- 我们的解决方案:我们如何解决问题;描述我们在解决方案过程中创建的技术创新领域。
- 解决方案有效的证据:解决方案的最终用户表明您已经有效解决了原始问题,或者其他有说服力的证明该建议证实了自己的优点。
- 竞争性方法:外部文献或其他竞争对手针对相同问题的其他方法,包括您的解决方案与其解决方案之间的比较(同时指出技术和业务方法,优点和优点/缺点)。
- 当前状态:我们将这种解决方案用于我们的业务有多远?
- 后续步骤:在解决实际业务问题或仍需要进一步工作的领域中,有什么有趣的方法可以使用此解决方案?
- 请阅读 【实战技能】软件工程师与AI工程师的区别是什么?
- 请理解人工智能模型训练硬件环境,可参考 典型深度神经网络模型训练服务器配置
- 请查看 学习之前的准备工作和Anaconda常见问题解决方法
- 可查看 工业智能资源汇总
结合以下三个角度锻炼科学和工程实践能力。
- Asking questions (for science) and defining problems (for engineering)
- Developing and using models
- Planning and carrying out investigations
- Analyzing and interpreting data
- Using mathematics and computational thinking
- Constructing explanations (for science) and designing solutions (for engineering)
- Engaging in argument from evidence
- Obtaining, evaluating, and communicating information
- Patterns
- Cause and effect: Mechanism and explanation
- Scale, proportion, and quantity
- Systems and system models
- Energy and matter: Flows, cycles, and conservation
- Structure and function
- Stability and change
- 模型相关概念
- 模型优化概念:欠拟合过拟合
- 模型测试概念: