| 作者 |
| 刘宇 崔燕红 郭师光 党习歌兜哥 |
| 丛书名 |
| 智能系统与技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9781911051011 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------聊天机器人:入门、进阶与实战--------------------------- 本书是一本建立在零基础的,以介绍对话机器人领域为目的,通过书中的内容介绍让更多对对话机器人感兴趣的初级读者,可以由浅入深,了解和学习对话机器人的发展现状,用途,原理和技术。 主要内容: 第一部分 数学与统计学基础 数学与统计学是现代机器学习理论的基础,本书会对机器学习中重点涉及的数学与统计学知识做一下整理,方便读者了解和掌握,以便可以顺利的过渡到后面专业知识的理解。 第二部分 自然语言处理模型与技术 对话机器人是以自然语言处理为发展的一个专业领域,基础的自然语言处理模型与技术对于学习后面的专业知识是必要的。本书通过先介绍自然语言处理模型,然后对依赖这个模型所扩展出的自然语言处理技术做详细介绍。使得初学者可以从数学理论到模型,从模型到技术的理论结合实际的方式,学好本书的内容 第三部分 对话机器人的核心技术 在对话机器人的核心技术章节,我们先介绍 1.对话机器人的发展综述。 2.自然语言理解NLU的部分,让读者可以更加清晰的认识到Intent (目的)识别和 Entities (命名实体)识别的重要性。为了更加了解一句话中各个实体间的形容和被形容关系,我们引入句法树和依存句法分析的概念。这样机器人就可以简单的弄清一句话说的是什么,和各个实体间的关系。 3.为了让机器像人类一样可以有更多的知识积累和进行简单的逻辑推理,我们接下来要介绍知识图谱。这里我们重点介绍知识图谱的模型,知识抽取,知识图谱数据库的搭建和存储,以及在简单的了解到Intent和各个实体间关系后,如何根据知识图谱进行推理计算和理解 4.在对句子有了一定的深入理解后,我们需要介绍预测会话和答复生成。在机器理解了问题的内容后,如何给出精确的答复。这里会介绍用于客服机器人的Question to Question 的匹配来得到预先准备好的标准答案。也会介绍通话自然语言理解利用知识图谱得到生成答案,以及通过互联网检索的方式,得到置信度较高的问题答案。最后还会了解如何存储我们学到的问题和答案的配对。 5.在机器学会了一问一答后,我们需要介绍 1.根据上下文理解的对话生成。 . 2.多轮对话的控制和生成。 3.多主题多轮对话的切换。 6.人机对话过程中的情感计算 1.设计情感计算的对话场景 2.情感计算的建模与识别 3.根据情感计算生成带情感色彩的回复 第四部分 对话机器人实战 本书的第四个部分会详细分以下三个方面阐述 1.实战对话机器人的架构 2.对话机器人的开发流程和方案 3.对话机器人的开发案例 在对话机器人的开发案例里面,我们会介绍: 1.垂直领域的客服机器人 2.开放领域的知识问答类型机器人 3.闲聊型的情感机器人 第五部分 附录 附录里会有我们总结的机器学习的模型列表,自然语言模型列表,深度学习的模型列表以及每一章的实战代码 ---------------------------AI安全之对抗样本入门--------------------------- 第1章介绍了深度学习的基础知识,重点介绍了与对抗样本相关的梯度、优化器、反向传递等知识点。 第2章介绍了如何搭建学习对抗样本的软硬件环境,虽然GPU不是必需的,但是使用GPU可以更加快速地验证你的想法。 第3章概括介绍了常见的深度学习框架,从TensorFlow、Keras、PyTorch到MXNet。 第4章介绍了图像处理领域的基础知识,这部分知识对于理解对抗样本领域的一些常见图像处理技巧非常有帮助。 第5章介绍了常见的白盒攻击算法,从基础的FGSM、DeepFool到经典的JSMA和CW。 第6章介绍了常见的黑盒攻击算法。 第7章介绍了对抗样本在目标识别领域的应用。 第8章介绍了对抗样本的常见抵御算法,与对抗样本一样,抵御对抗样本的技术也非常有趣。 第9章介绍了常见的对抗样本工具以及如何搭建NIPS 2017对抗防御环境和轻量级攻防对抗环境robust-ml,通过这章读者可以了解如何站在巨人的肩膀上,快速生成自己的对抗样本,进行攻防对抗。 |
| 目录 |
---------------------------聊天机器人:入门、进阶与实战--------------------------- 推荐序一 推荐序二 前言 第1章概率统计与应用数学的基础知识 1.1概率的定义 1.2条件概率与贝叶斯公式 1.3随机变量与分布函数 1.4概率分布与参数估计 1.5随机过程与马尔可夫模型 1.6信息熵 1.7本章小结 第2章语言模型与多元文法 2.1词袋模型 2.2N-Gram模型 2.2.1N-Gram简介 2.2.2N-Gram算法 2.2.3N-Gram用途 2.3数据平滑 2.3.1加法平滑方法 2.3.2Good-Turing估计法 2.3.3组合平滑方法 第3章序列标注模型 3.1中文分词 3.1.1条件随机场 3.1.2条件随机场进行中文分词 3.2词性标注 3.2.1词性标注的标准 3.2.2利用隐马尔可夫进行词性标注 3.3命名实体识别 3.3.1利用条件随机场模型进行命名实体识别 3.3.2命名实体识别在对话系统中的作用 3.4序列标注模型 3.5本章小结 第4章文本分析 4.1关键词抽取 4.1.1词频-逆文档频次算法 4.1.2Text Rank 4.2文本分类 4.2.1贝叶斯文本分类模型 4.2.2决策树文本分类模型 4.2.3SVM文本分类模型 4.3主题模型 4.3.1基础知识回顾 4.3.2吉布斯采样 4.3.3隐狄利克雷分配模型 4.4本章小结 第5章深度学习模型 5.1基于深度学习的自然语言模型 5.1.1神经网络自然语言模型与词向量 5.1.2A Neural Probabilistic Language Model 5.1.3CBOW和Skip-Gram 5.1.4Huffman编码与Huffman tree 5.1.5CBOW-Hierarchical Softmax 5.1.6Skip-Gram-Hierarchical Softmax 5.1.7FastText 5.1.8词的全局向量表示 5.2卷积网络CNN 5.2.1卷积网络CNN理论 5.2.2利用CNN进行文本分类 5.3循环网络RNN 5.3.1循环网络RNN(LSTM,GRU)理论 5.3.2利用RNN 进行情感分析 5.3.3Sequence-to-Sequence with Attention Model 5.4Transformer 5.4.1ResNet(Residual Network)残差网络模型 5.4.2Attention is all you need(Transformer) 5.5预训练模型 5.5.1Embeddings from Language Models(ELMo) 5.5.2BERT 第6章对话机器人的发展综述 6.1对话机器人发展史 6.1.1对话机器人的近况 6.1.2开放域 6.1.3垂直领域 6.1.4对话机器人的未来发展趋势 6.2人工智能在对话机器人中的应用 6.2.1深度学习在机器人方面的应用 6.2.2强化学习在机器人方面的应用 6.2.3知识图谱在机器人方面的应用 第7章自然语言理解与知识图谱 7.1知识图谱的表示:三元组模型 7.2知识抽取 7.2.1知识抽取-命名实体识别 7.2.2利用CRF模型识别 NER 7.2.3利用BiLSTM+CRF模型进行命名实体识别 7.3知识抽取-实体关系抽取:Relation Extraction 7.4知识图谱的构建 第8章答案生成与多轮对话 8.1预测会话与答案生成 8.1.1信息检索:利用搜索来预测答案 8.1.2句型模板匹配标准问题生成答案 8.1.3根据知识图谱推理得到答案 8.2多轮对话 8.2.1多轮对话概述 8.2.2任务型多轮对话的控制和生成 8.2.3多主题多轮对话 第9章对话系统的工程架构 9.1对话系统的工程技术 9.1.1常用技术 9.1.2对话系统的分类 9.1.3主要系统软件介绍 9.1.4系统运维相关 9.2对话系统的架构实现 9.2.1阿里小蜜 9.2.2百度对话系统 9.2.3垂直领域对话系统的架构 9.2.4开放领域对话系统的架构 9.3本章小结 第10章实战场景之一——客服机器人 10.1客服机器人架构 10.1.1功能需求 10.1.2系统逻辑架构图 10.2客服机器人设计 10.2.1FAQ的设计 10.2.2导购机器人的设计 10.2.3实例分析 10.3本章小结 第11章实战场景之二——开放域的QA问答 11.1开放领域问答机器人的架构 11.2开放领域问答机器人的开发流程和方案 11.3开放领域问答机器人的开发案例 第12章实战场景之三——聊天机器人 12.1Seq2Seq以及Attention机制 12.2Beam Search 12.3基于Seq2Seq的聊天机器人开发流程 12.3.1语料准备 12.3.2定义Encoder和Decoder 12.3.3模型训练和评估模块 12.3.4模型预测和Beam Search模块 12.4本章小结 ---------------------------AI安全之对抗样本入门--------------------------- 对本书的赞誉 序一 序二 自序 前言 第1章 深度学习基础知识 1 1.1 深度学习的基本过程及相关概念 1 1.1.1 数据预处理 1 1.1.2 定义网络结构 2 1.1.3 定义损失函数 6 1.1.4 反向传递与优化器 7 1.1.5 范数 12 1.2 传统的图像分类算法 13 1.3 基于CNN的图像分类 14 1.3.1 局部连接 14 1.3.2 参数共享 15 1.3.3 池化 17 1.3.4 典型的CNN结构 18 1.3.5 AlexNet的结构 19 1.3.6 VGG的结构 19 1.3.7 ResNet50 20 1.3.8 InceptionV3 20 1.3.9 可视化CNN 20 1.4 常见性能衡量指标 30 1.4.1 测试数据 30 1.4.2 混淆矩阵 31 1.4.3 准确率与召回率 31 1.4.4 准确度与F1-Score 32 1.4.5 ROC与AUC 33 1.5 集成学习 34 1.5.1 Boosting算法 35 1.5.2 Bagging算法 37 1.6 本章小结 39 第2章 打造对抗样本工具箱 40 2.1 Anaconda 41 2.2 APT更新源 45 2.3 Python更新源 45 2.4 Jupyter notebook 45 2.5 TensorFlow 49 2.6 Keras 50 2.7 PyTorch 51 2.8 PaddlePaddle 52 2.9 AdvBox 52 2.10 GPU服务器 52 2.11 本章小结 55 第3章 常见深度学习平台简介 56 3.1 张量与计算图 56 3.2 TensorFlow 58 3.3 Keras 62 3.4 PyTorch 64 3.5 MXNet 67 3.6 使用预训练模型 70 3.7 本章小结 76 第4章 图像处理基础知识 77 4.1 图像格式 77 4.1.1 通道数与像素深度 77 4.1.2 BMP格式 80 4.1.3 JPEG格式 81 4.1.4 GIF格式 81 4.1.5 PNG格式 81 4.2 图像转换 81 4.2.1 仿射变换 81 4.2.2 图像缩放 83 4.2.3 图像旋转 85 4.2.4 图像平移 85 4.2.5 图像剪切 86 4.2.6 图像翻转 87 4.2.7 亮度与对比度 88 4.3 图像去噪 89 4.3.1 高斯噪声和椒盐噪声 90 4.3.2 中值滤波 91 4.3.3 均值滤波 93 4.3.4 高斯滤波 93 4.3.5 高斯双边滤波 94 4.4 本章小结 96 第5章 白盒攻击算法 97 5.1 对抗样本的基本原理 97 5.2 基于优化的对抗样本生成算法 100 5.2.1 使用PyTorch生成对抗样本 102 5.2.5 使用TensorFlow生成对抗样本 106 5.3 基于梯度的对抗样本生成算法 109 5.4 FGM/FGSM算法 110 5.4.1 FGM/FGSM基本原理 110 5.4.2 使用PyTorch实现FGM 111 5.4.3 使用TensorFlow实现FGM 112 5.5 DeepFool算法 115 5.5.1 DeepFool基本原理 115 5.5.2 使用PyTorch实现DeepFool 117 5.5.3 使用TensorFlow实现DeepFool 122 5.6 JSMA算法 124 5.6.1 JSMA基本原理 124 5.6.2 使用PyTorch实现JSMA 126 5.6.3 使用TensorFlow实现JSMA 129 5.7 CW算法 132 5.7.1 CW基本原理 132 5.7.2 使用TensorFlow实现CW 135 5.7.3 使用PyTorch实现CW 140 5.8 本章小结 142 第6章 黑盒攻击算法 143 6.1 单像素攻击算法 143 6.2 单像素攻击MNIST识别模型 146 6.3 本地搜索攻击算法 148 6.4 本地搜索攻击ResNet模型 151 6.5 迁移学习攻击算法 153 6.6 通用对抗样本 157 6.7 针对MNIST生成通用对抗样本 160 6.8 本章小结 163 第7章 对抗样本在目标检测领域的应用 164 7.1 目标检测的概念 164 7.2 目标检测在智能驾驶领域的应用 166 7.2.1 车道偏离预警 166 7.2.2 前向防碰撞预警 167 7.2.3 交通标志识别 167 7.2.4 行人防碰撞预警系统 167 7.2.5 驾驶员疲劳监测预警 168 7.2.6 自动泊车 169 7.3 目标检测在智能安防领域的应用 169 7.3.1 人脸检索 169 7.3.2 行为识别 170 7.4 边缘检测算法 171 7.4.1 Soble边缘检测 171 7.4.2 拉普拉斯边缘检测 174 7.4.3 Canny边缘检测 175 7.5 直线检测算法 176 7.6 圆形检测算法 181 7.7 RCNN系列算法 183 7.7.1 RCNN 183 7.7.2 Fast RCNN 185 7.7.3 Faster RCNN 185 7.7.4 TensorFlow目标检测库 187 7.7.5 Faster RCNN使用示例 191 7.8 YOLO算法 196 7.8.1 YOLO概述 196 7.8.2 YOLO使用示例 199 7.9 SSD算法 201 7.9.1 SSD概述 201 7.9.2 SSD使用示例 201 7.10 白盒攻击Faster RCNN 203 7.11 物理攻击YOLO概述 210 7.12 本章小结 213 第8章 对抗样本常见防御算法 214 8.1 对抗样本的鲁棒性 214 8.1.1 图像旋转对鲁棒性的影响 214 8.1.2 滤波器对鲁棒性的影响 220 8.1.3 对比度和亮度对鲁棒性的影响 225 8.1.4 噪声对鲁棒性的影响 230 8.2 抵御对抗样本攻击的常见方法 237 8.2.1 图像预处理 237 8.2.2 对抗训练 238 8.2.3 高斯数据增强 238 8.2.4 自编码器去噪 240 8.2.5 ICLR 2018提出的对抗样本抵御方法 245 8.3 本章小结 247 第9章 常见对抗样本工具箱简介 248 9.1 对抗样本常见衡量指标 248 9.1.1 l0范数 248 9.1.2 l2范数 249 9.1.3 linf范数 250 9.2 AdvBox 250 9.2.1 AdvBox简介 250 9.2.2 在AdvBox中使用FGSM算法 250 9.2.3 在AdvBox中使用DeepFool算法 252 9.2.4 在AdvBox中使用黑盒攻击算法 255 9.3 ART 257 9.3.1 ART简介 257 9.3.2 在ART中使用FGSM算法 258 9.3.3 ART下使用CW算法 260 9.4 FoolBox 262 9.4.1 FoolBox简介 262 9.4.2 在FoolBox中使用JSMA算法 263 9.4.3 在FoolBox中使用CW算法 264 9.5 Cleverhans 266 9.5.1 Cleverhans简介 266 9.5.2 在Cleverhans中使用FGSM算法 267 9.5.3 在Cleverhans中进行对抗训练 269 9.6 NIPS对抗攻击防御环境搭建 270 9.6.1 NIPS对抗攻击防御赛简介 270 9.6.2 环境搭建方法 270 9.6.3 运行测试代码 271 9.7 轻量级攻防对抗环境robust-ml 275 9.7.1 robust-ml简介 275 9.7.2 运行测试代码 276 9.8 本章小结 279 |