目 录
赛题一 瑞金医院MMC人工智能辅助构建知识图谱
0 技术背景 3
0.1 技术现状 3
0.2 实验室介绍 3
1 赛题解读 7
1.1 赛题背景 7
1.2 知识图谱 7
1.2.1 知识图谱的发展历史 7
1.2.2 如何表达知识 9
1.2.3 如何构建知识图谱 11
1.2.4 如何进行知识推理 13
1.3 数据介绍 15
1.3.1 初赛数据 16
1.3.2 复赛数据 17
1.4 评测指标 18
2 数据处理 19
2.1 自然语言处理基础 19
2.1.1 词向量 19
2.1.2 语言模型 20
2.1.3 自然语言处理中的深度学习 24
2.2 数据预处理 29
2.2.1 .txt文件 29
2.2.2 .ann文件 30
2.2.3 使用Python解析文件 32
3 初赛赛题――实体识别 35
3.1 实体识别任务 35
3.2 传统机器学习方法 36
3.2.1 概率图模型 36
3.2.2 隐马尔可夫模型 38
3.2.3 最大熵马尔可夫模型 39
3.2.4 条件随机场模型 40
3.3 深度学习方法 41
3.3.1 双向循环神经网络 41
3.3.2 双向循环神经网络+条件随机场模型 43
3.4 初赛方案 44
3.4.1 数据集构建 44
3.4.2 特征工程 46
3.4.3 模型构建 47
4 复赛赛题――关系抽取 53
4.1 关系抽取任务 53
4.2 传统方法 53
4.2.1 基于模板的抽取 53
4.2.2 基于依存句法的抽取 54
4.2.3 基于统计机器学习的抽取 55
4.3 深度学习方法 56
4.3.1 监督学习 56
4.3.2 半监督学习 57
4.4 复赛方案 59
4.4.1 数据集构建 59
4.4.2 特征工程 62
4.4.3 模型构建 63
5 Neo4j存储知识图谱 69
5.1 Neo4j介绍 69
5.2 Neo4j配置 70
5.2.1 安装 70
5.2.2 Web管理平台 71
5.2.3 Neo4j-shell 72
5.3 数据库构建 72
5.3.1 准备工作 72
5.3.2 创建数据库 72
5.3.3 事务 73
5.3.4 创建节点 73
5.3.5 创建关系 74
5.3.6 查询 74
5.4 Cypher查询 75
5.4.1 读语句 76
5.4.2 写语句 76
5.4.3 通用语句 78
6 赛题进阶讨论 80
6.1 数据标注方法 80
6.1.1 指针标注 80
6.1.2 片段排列 81
6.2 联合抽取 82
6.2.1 共享参数 82
6.2.2 联合标注 84
6.3 大规模预训练语言模型 86
6.3.1 ELMo模型 86
6.3.2 GPT模型 87
6.3.3 BERT模型 89
6.3.4 使用BERT模型进行实体识别与关系抽取 90
赛题二 阿里巴巴优酷视频增强和超分辨率挑战赛
0 技术背景 95
0.1 业界应用 95
0.2 文娱行业面临的画质问题 95
0.3 实验室介绍和技术手段 96
0.4 重点模块 97
0.5 处理效果 98
1 赛题解读 100
1.1 赛题背景 100
1.2 赛题目标 100
1.3 数据概览 100
1.4 评估指标 101
1.5 解题思路 102
1.6 赛题模型 103
2 数据处理 105
2.1 视频和图像处理 105
2.1.1 图像基本概念 105
2.1.2 视频基本概念 106
2.1.3 视频分帧 107
2.1.4 图像处理 108
2.1.5 图片合成视频 110
2.2 工具包 111
2.2.1 OpenCV库 111
2.2.2 FFmpeg库 112
2.3 数据处理 112
2.3.1 安装工具包 112
2.3.2 导入工具包 112
2.3.3 视频转图片函数 112
2.3.4 读取图片并获取大小 113
2.3.5 读取图片并进行灰度处理 114
2.3.6 分帧后的图片灰度处理 114
2.3.7 图片转视频函数 115
3 传统插值方法 117
3.1 插值方法 117
3.1.1 插值方法的基本概念 117
3.1.2 插值原理 118
3.2 插值算法 118
3.2.1 最近邻插值算法 119
3.2.2 双线性插值算法 119
3.2.3 双三次插值算法 120
3.3 几种传统插值算法结果对比 121
3.4 数据处理 122
3.4.1 导入工具包 122
3.4.2 读取图片 122
3.4.3 最近邻插值算法 122
3.4.4 双线性插值算法 123
3.4.5 基于4px×4px邻域的三次插值算法 123
3.4.6 不同插值函数计算PSNR 123
3.4.7 传统插值方法效果对比 123
3.4.8 Bicubic插值算法 124
4 深度插值方法 126
4.1 深度学习 126
4.1.1 卷积神经网络 126
4.1.2 使用SRCNN实现超清分辨率 132
4.2 赛题实践 132
4.2.1 导入工具包 132
4.2.2 读取图片 133
4.2.3 使用Bicubic插值放大至目标尺寸 133
4.2.4 实现SRCNN 133
4.2.5 SRCNN模型训练 133
4.2.6 SRCNN模型验证 135
4.2.7 SRCNN模型预测 135
4.2.8 保存图片 135
5 深度学习方法改进 136
5.1 FSRCNN实现超清分辨率 136
5.2 ESPCN实现超清分辨率 138
5.3 赛题实践 140
5.3.1 导入工具包 140
5.3.2 读取图片 140
5.3.3 FSRCNN 140
5.3.4 ESPCN 142
6 深度学习方法进阶 145
6.1 GAN基本概念 145
6.1.1 GAN生成手写数字 146
6.1.2 GAN训练 147
6.1.3 GAN算法数学形式 148
6.2 CGAN 149
6.3 VGGNet 150
6.4 ResNet 153
6.5 SRGAN结构 156
6.5.1 SRGAN损失函数 157
6.5.2 SRGAN效果 157
6.6 SRGAN实现超清分辨率 158
6.6.1 导入工具包 158
6.6.2 读取图片 159
6.6.3 实现SRGAN 159
6.6.4 SRGAN模型训练 163
6.6.5 SRGAN模型验证 163
6.6.6 SRGAN模型预测 163
6.6.7 保存图片 163
赛题三 布匹疵点智能识别
(2019广东工业智造创新大赛 赛场一)
0 技术背景 167
0.1 行业背景 167
0.2 实验室产品介绍 168
0.3 赛题背景 170
0.4 初赛数据示例 171
0.5 复赛数据示例 172
1 赛题解析 173
1.1 赛题背景分析 173
1.2 计算机视觉 174
1.2.1 计算机视觉简介 174
1.2.2 计算机视觉发展历史 175
1.2.3 计算机视觉方法 177
1.3 数据集介绍 178
1.4 赛题指标介绍 179
1.5 赛题初步分析 181
2 深度学习基础 182
2.1 感知机 182
2.2 梯度下降法 184
2.3 多层感知机 186
2.4 反向传播 189
2.5 深度神经网络PyTorch实现 189
3 卷积神经网络与数据处理 193
3.1 卷积运算与互相关运算 193
3.2 卷积神经网络 195
3.3 卷积神经网络的反向传播算法 198
3.4 卷积神经网络PyTorch实现 199
3.4.1 卷积神经网络简单实现示例 199
3.4.2 竞赛数据预训练模型 202
4 区域卷积神经网络系列算法 204
4.1 目标检测的基本概念 204
4.2 区域卷积神经网络 205
4.3 Fast R-CNN算法 210
4.4 Faster R-CNN算法 214
4.5 目标检测Faster R-CNN算法实战 218
5 实例分割Mask R-CNN算法 226
5.1 实例分割 226
5.2 Mask R-CNN算法 226
5.3 PyTorch实现实例分割 230
6 赛题最优算法与提升思路 237
6.1 级联区域卷积神经网络 237
6.2 目标检测赛题提升思路 239
6.3 mm-detection框架下的算法实现 241
参考文献 242