内容简介
本书首先展示如何在系统上安装和配置Java和DL4J,然后深入讲解了深度学知识,并创建了一个深度神经网行二元分类。其次,本书介绍了如何在DL4J中构建卷积神经网络(N),以及如何用文本构建数字向量,还介绍了对非监督数据的异常检测,以及如何有效地在分布式系统中建立神经网络。除此之外,讲解了如何从Keras导入模型以及如何在预训练的DL4J模型中更改配置。后,介绍了DL4J中的基准测试并优化神经网络以获得佳结果。 本书适合想要在Java中使用DL4J构建健壮的深度学程序的读者,阅读本书需要具备深度学知识和的编程基础。
目录
目录前言第1章 Java深度学 11.1 技术要求 11.2 初识深度学1.2.1 反向传播 21.2.2 多层感知器 31.2.3 卷积神经网络 31.2.4 递归神经网络 31.2.5 为什么DL4J对深度学要? 41.3 确定正确的网络类型来解决深度学 41.3.1 实现过程 41.3.2 工作原理 41.3.3 相关内容 71.4 确定正确的激活函数 91.4.1 实现过程 91.4.2 工作原理 91.4.3 相关内容 101.5 解决过度拟合问题 101.5.1 实现过程 111.5.2 工作原理 111.5.3 相关内容 111.6 确定正确的批次大速率 121.6.1 实现过程 121.6.2 工作原理 121.6.3 相关内容 131.7 为DL4J配置 Maven 141.7.1 准备工作 141.7.2 实现过程 141.7.3 工作原理 151.8 为DL4J配置GPU加速环境 161.8.1 准备工作 161.8.2 实现过程 161.8.3 工作原理 171.8.4 相关内容 181.9 安装问题疑难解答 181.9.1 准备工作 191.9.2 实现过程 191.9.3 工作原理 191.9.4 相关内容 20第2章 数据提取、转换和加载 232.1 技术要求 232.2 读取并迭代数据 242.2.1 准备工作 242.2.2 实现过程 242.2.3 工作原理 282.2.4 相关内容 322.3 执行模式转换 332.3.1 实现过程 332.3.2 工作原理 342.3.3 相关内容 342.4 构建转换过程 352.4.1 实现过程 352.4.2 工作原理 362.4.3 相关内容 362.5 序列化转换 372.5.1 实现过程 382.5.2 工作原理 382.6 执行转换过程 392.6.1 实现过程 392.6.2 工作原理 392.6.3 相关内容 402.7 规范化数据以提率 402.7.1 实现过程 402.7.2 工作原理 412.7.3 相关内容 42第3章 二元分类的深层神经网络构建 433.1 技术要求 433.2 从CSV输入中提取数据 443.2.1 实现过程 443.2.2 工作原理 443.3 从数据中删除异常 453.3.1 实现过程 453.3.2 工作原理 463.3.3 相关内容 483.4 将转换应用于数据 493.4.1 实现过程 493.4.2 工作原理 503.5 为神经网络模型设计输入层 523.5.1 准备工作 523.5.2 实现过程 533.5.3 工作原理 533.6 为神经网络模型设计隐藏层 543.6.1 实现过程 543.6.2 工作原理 543.7 为神经网络模型设计输出层 543.7.1 实现过程 543.7.2 工作原理 553.8 训练和评估CSV数据的神经网络模型 553.8.1 实现过程 553.8.2 工作原理 573.8.3 相关内容 623.9 部署神经网络模型并将其用作API 633.9.1 准备工作 633.9.2 实现过程 643.9.3 工作原理 68第4章 建立卷积神经网络 704.1 技术要求 704.2 从磁盘提取图像 714.2.1 实现过程 714.2.2 工作原理 724.3 为训练数据创建图像变体 734.3.1 实现过程 734.3.2 工作原理 734.3.3 相关内容 754.4 图像预处理和输入层设计 754.4.1 实现过程 754.4.2 工作原理 764.5 为N构造隐藏层 774.5.1 实现过程 774.5.2 工作原理 784.6 构建输出层行输出分类 784.6.1 实现过程 784.6.2 工作原理 784.7 训练图像并评估N输出 794.7.1 实现过程 794.7.2 工作原理 814.7.3 相关内容 814.8 为图像分类器创建API端点 824.8.1 实现过程 824.8.2 工作原理 87第5章 实现自然语言处理 885.1 技术要求 895.2 数据要求 895.3 读取和加载文本数据 905.3.1 准备工作 905.3.2 实现过程 905.3.3 工作原理 925.3.4 相关内容 925.3.5 参考资料 925.4 分析词数据并训练模型 935.4.1 实现过程 935.4.2 工作原理 935.4.3 相关内容 945.5 评估模型 955.5.1 实现过程 955.5.2 工作原理 955.5.3 相关内容 965.6 从模型中生成图谱 965.6.1 准备工作 965.6.2 实现过程 965.6.3 工作原理 975.7 保存和重新加载模型 985.7.1 实现过程 995.7.2 工作原理 995.8 导入GoogleNews向量 995.8.1 实现过程 995.8.2 工作原理 1005.8.3 相关内容 1005.9 Word2Vec模型的故障诊断和调整 1015.9.1 实现过程 1015.9.2 工作原理 1025.9.3 参考资料 1035.10 使用Ns使用 Word2Ve行句子分类 1035.10.1 准备工作 1045.10.2 实现过程 1055.10.3 工作原理 1075.10.4 相关内容 1075.11 使用Doc2Ve行文档分类 1095.11.1 实现过程 1095.11.2 工作原理 111第6章 构建时间序列的LSTM神经网络 1146.1 技术要求 1146.2 提取和读取临床数据 1156.2.1 实现过程 1156.2.2 工作原理 1166.3 加载和转换数据 1176.3.1 准备工作 1176.3.2 实现过程 1186.3.3 工作原理 1186.4 构建网络输入层 1196.4.1 实现过程 1196.4.2 工作原理 1206.5 构建网络输出层 1216.5.1 实现过程 1216.5.2 工作原理 1216.6 训练时间序列数据 1226.6.1 实现过程 1226.6.2 工作原理 1236.7 评估LSTM网络的效率 1236.7.1 实现过程 1236.7.2 工作原理 124第7章 构建LSTM神经网络序列分类 1257.1 技术要求 1257.2 提取时间序列数据 1277.2.1 实现过程 1277.2.2 工作原理 1287.3 加载训练数据 1297.3.1 实现过程 1307.3.2 工作原理 1317.4 规范化训练数据 1327.4.1 实现过程 1327.4.2 工作原理 1327.5 为网络构建输入层 1337.5.1 实现过程 1337.5.2 工作原理 1347.6 为网络构建输出层 1347.6.1 实现过程 1347.6.2 工作原理 1357.7 LSTM网络分类输出的评估 1357.7.1 实现过程 1357.7.2 工作原理 136第8章 对非监督数据执行异常检测 1398.1 技术要求 1398.2 提取和准备 MNIST数据 1408.2.1 实现过程 1408.2.2 工作原理 1418.3 为输入构造密集层 1428.3.1 实现过程 1428.3.2 工作原理 1428.4 构造输出层 1438.4.1 实现过程 1438.4.2 工作原理 1438.5 MNIST图像训练 1448.5.1 实现过程 1448.5.2 工作原理 1448.6 根据异常得分评估和排序结果 1458.6.1 实现过程 1458.6.2 工作原理 1468.7 保存结果模型 1488.7.1 实现过程 1488.7.2 工作原理 1488.7.3 相关内容 148第9章 使用RL4行强化学1499.1 技术要求 1499.2 设置 Malmo环境和各自的依赖项 1529.2.1 准备工作 1529.2.2 实现过程 1529.2.3 工作原理 1539.3 设置数据要求 1539.3.1 实现过程 1539.3.2 工作原理 1579.3.3 参考资料 1589.4 配置和训练DQN智能体 1589.4.1 准备工作 1589.4.2 实现过程 1589.4.3 工作原理 1609.4.4 相关内容 1629.5 评估 Malmo智能体 1629.5.1 准备工作 1629.5.2 实现过程 1639.5.3 工作原理 163第10章 在分布式环境中开发应用程序 16510.1 技术要求 16510.2 设置DL4J和所需的依赖项 16610.2.1 准备工作 16610.2.2 实现过程 16710.2.3 工作原理 17310.3 创建用于训练的uber-JAR 17410.3.1 实现过程 17410.3.2 工作原理 17510.4 训练用的CPU/GPU特定配置 17610.4.1 实现过程 17610.4.2 工作原理 17610.4.3 更多内容 17710.5 Spark的内存设置和垃圾回收 17710.5.1 实现过程 17710.5.2 工作原理 17810.5.3 更多内容 17910.6 配置编码阈值 18110.6.1 实现过程 18110.6.2 工作原理 18110.6.3 更多内容 18210.7 执行分布式测试集评估 18210.7.1 实现过程 18210.7.2 工作原理 18610.8 保存和加载训练过的神经网络模型 18710.8.1 实现过程 18710.8.2 工作原理 18810.8.3 更多内容 18810.9 执行分布式推理 18810.9.1 实现过程 18810.9.2 工作原理 189第11章 迁移学络模型中的应用 19011.1 技术要求 19011.2 修改当前的客户保留模型 19011.2.1 实现过程 19111.2.2 工作原理 19211.2.3 更多内容 19511.3 微调学 19611.3.1 实现过程 19611.3.2 工作原理 19711.4 冻结层的实现 19711.4.1 实现过程 19811.4.2 工作原理 19811.5 导入和加载Keras模型和层 19811.5.1 准备工作 19811.5.2 实现过程 19911.5.3 工作原理 199第12章 基准测试和神经网络优化 20112.1 技术要求 20112.2 DL4J/ND4J特定的配置 20312.2.1 准备工作 230 '20312.2.2 实现过程 20312.2.3 工作原理 20412.2.4 更多内容 20612.3 设置堆空间和垃圾回收 20712.3.1 实现过程 20712.3.2 工作原理 20912.3.3 更多内容 21012.3.4 其他参阅 21012.4 使用异步ETL 21012.4.1 实现过程 21012.4.2 工作原理 21112.4.3 更多内容 21112.5 利用仲裁器监测神经网络行为 21212.5.1 实现过程 21212.5.2 工作原理 21312.6 执行超参数调整 21312.6.1 实现过程 21412.6.2 工作原理 217
摘要与插图
第pan style="font-family:宋体">章Java深度学
让我们来讨论一下各种各样的深度学以便根据当前的目标挑选好的库。这是一个视情况而定的决策,并且会根据情况而变化。在本章中,我们将首先简要介绍深度学探讨DL4J如何成为解决深度学的佳选择。我们还将讨论如何在你的工作区中设
置DL4J。
在本章中,我们将介绍以下方法:
·初步了解深度学/span>
·确定正确的网络类型来解决深度学。确定正确的激活函数
·应对过度拟合问题。
·确定正确的批次大建率
·为DLAIJ配置GPU加速环境。解决安装疑难问题。
1.pan style="font-family:宋体">技术要求
你需要完成以下内容才能充分利用本书
·已安装JavaSE7或更高版本。
·了解Java基本核心知识。
.了解DLJ基础知识。
·了解Maven基础知识
·具备基本数据分析技能
·具备深度学span>/机器学。
·了解操作系统命令基础知识(Linux.Windows).
·了解IntellJIDEAIDE(这是一种简单且轻松的代码管理方式,但你可以尝试使
用其他IDE,例如 Eclipse)
·了解Spring Boot基础知识(将DLAJ与Spring Boot集成以用于Web应用程序)
1.2.2多层感知器
多层感知器(multilayer perceptron,MLP)是一个标准的前馈神经网络,少有三层:输入层、隐藏层和输出层。隐藏层位于结构中的输入层之后。深层神经网络在结构中有两个或多个隐藏层,而MLP只有一个。
1.2.3卷积神经网络
卷积神经网络(convolutional neural work,N)通常用于图像分类问题,但也可以在自然语言处理(natural language processing,NLP)中与单词向量一起使用,因为它们的结果已得到证实。与常规的神经网络不同,N有额外的层,如卷积层和子采样层。卷积层获取输人数据(如图像)并在其上应用卷积可以将其视为将函数应用于输入。卷积层充当将感兴趣的特征传递给即将到来的子采样层的滤波器。感兴趣的特征可以是任何可用于识别图像的内容(例如,图像中的毛发、阴影等)。在子采样层中一滑来自卷积层的输入。因此,我们终得到的是更小的图像分辨率和更低的颜色对比度,只保留了重要的信息。然后将输入传递给连接的层。连接的层类似于常规的前馈神经网络。
1.2.4递归神经网络
递归神经网络(recurrent neural work,RNN)是一种能够处理顺序数据的神经网络。在常规的前馈神经网络中,考虑下一层神经元的当前输入。另外,RNN也可以接受先前接收到的输入。它还可以使用内存来存储以前的输入。因此,它能够在整个训练过程中保留……


