Keras 深度学习和神经网络简介
已发表: 2019-12-16目录
什么是深度学习?
深度学习是属于机器学习的一个领域,与人工神经网络中算法的使用有关。 它主要用于创建预测模型,只需几行编码即可解决问题。 深度学习系统是一个广泛的神经网络,其灵感来自大脑的功能和结构。 深度学习至关重要,尤其是在涉及大量数据时。
它创建了一个广泛的神经网络,在大量数据的帮助下,它变得可扩展,并反过来提高了性能。 这在非结构化数据或未标记数据的情况下尤其有用。 深度学习可以通过监督学习或从标记数据中学习来提供出色的结果。
由于互联网上每天都会生成大量可用数据,而且其中大部分数据都是非结构化的,因此深度学习正在成为解决和处理此类问题的下一个大事件。
另一方面,在海量数据成为处理和分析问题的情况下,随着数据的增加,深度学习变得越来越好。 当更多的数据以多种方式连接起来创建更大的模型和更多的计算处理时,它会创建一个更大更好的神经网络。 它还为更好和改进的算法、新见解和增强技术提供了空间。
什么是 Keras?
到目前为止,您已经知道神经网络在深度学习中的重要性。 有许多框架用于创建神经网络。 但与此同时,许多框架的复杂性正在成为开发人员的障碍。 已经提出了许多建议来简化和改进用于构建神经网络模型的高级 API,但经过仔细检查,没有一个是非常成功的。 要了解有关 Keras 的更多信息,请查看有关 Keras 和 Tenserflow 的文章。
这就是 Keras 框架的进入在深度学习领域产生了巨大影响的时候。 Keras 是用 Python 编程语言编写的,是高级神经网络的领先 API 之一。 Keras 支持许多神经网络的后端计算引擎。

它也是对低级深度学习 API 的改进。 TensorFlow 是一个开源的人工智能库,允许开发人员创建具有多层的大规模神经网络。 TensorFlow 2.0 已采用 Keras 作为其高级 API。 这使得 Keras 在所有其他深度学习 API 中成为明显的赢家。
Keras 的原理
创建 Keras 的主要目的是使其用户友好且易于扩展。 它与 Python 一起工作,不是为机器设计的,而是为人类设计的。

它通过遵循最佳实践来减少开发人员的认知负担。 通过使用诸如正则化方案、激活函数、初始化方案、优化器、成本函数和神经层等独立模块,可以轻松地使用 Keras 创建新模型。 新函数、类和模块可以直接添加。 Keras 的模型不需要单独的模型配置文件,并且在 Python 代码中定义。
Keras 中的模型
Keras 的核心数据结构是模型,Keras 中主要有两类模型,分别是函数式 API 模型类和顺序模型。

- 顺序模型:它是一种具有线性堆叠的模型,描述起来非常简单。 在顺序模型中,模型定义了两个密集层。 这使得顺序模型在编码方面非常不复杂。 每一层的定义只要一行代码就足够了,例如训练模型输出预测、度量和损失的评估和计算、训练和拟合、学习过程定义和编译。 Keras 的顺序模型使用简单,但仅限于模型拓扑。
- 具有功能 API 的模型类:具有有用 API 的 Keras 模型类主要用于创建具有高度复杂性的模型。 这些包括具有共享层的模型、有向无环图 (DAG)、多输入和多输出模型等。功能性 API 通过首先定义层、创建模型、编译它来组合它比顺序模型提供更多的灵活性最后,安装或训练它。 预测和评估与序列模型中的类似。
Keras 数据集和应用程序
通常可以通过“keras.datasets”类找到 7 个深度学习示例数据集。 这些数据集包括波士顿房价、MNIST 时尚图像、MNIST 手写数字、路透社新闻专线主题、IMDB 电影评论以及 cifar100 和 cifar10 小型彩色图像。
有 10 个 Keras 应用程序已经针对 MobileNetV2TK、NASNet、DenseNet、MobileNet、InceptionResNetV2、InceptionV3、ResNet50、VGG19、VGG16、Xception 进行了预训练。 任何初学者开发人员都可以使用这些应用程序模型在不同的类集上微调模型,提取特征并预测图像的分类。
Keras 的好处
- 用户友好:Keras 成为高级神经网络 API 领导者的主要原因之一是用户友好。
- 易于模型构建和学习:Keras 的其他好处是易于构建模型和易于学习。 它还为分布式训练和多个 GPU 提供了强大的支持。
- 轻松与后端引擎集成:可与 PlaidML、MXNet、Theano、CNTK、TensorFlow 等至少五种后端引擎集成。
- 广泛的广泛采用和生产部署选项:它支持广泛的生产部署选项,并提供广泛采用的优势。
- 更大的灵活性:它还可以轻松与较低级别的深度学习语言集成,使开发人员能够快速实现他在基础语言中构建的任何内容。 通过这种方式,Keras 为机器学习的开发者提供了极大的灵活性。
- 大公司、初创公司和研究人员的采用: Keras 被许多大公司使用,例如 Uber、Nvidia、Apple、Amazon、Microsoft、Square、Zocdoc、Instacart、Yelp、Netflix 和 Google 等。 NASA 和 CERN 的研究人员也采用 Keras 作为他们的深度学习框架。 它在使用深度学习作为其产品核心的初创公司中也很普遍。
- 易于将模型转化为产品:开发人员可以快速将他的模型转化为产品,因为 Keras 支持的平台范围比任何其他深度学习框架(包括 Google Cloud)都更出色。 它是通过 TensorFlow-Serving 在浏览器中通过 GPU 加速的 JavaScript 运行时(例如 WebDNN 和 Keras.js)实现的,在 Android 上通过 TensorFlow Android 运行时(例如通过 Apple 的 CoreML 在 iOS 上的 Not Hotdog 应用程序)实现。 Apple 的 CoreML 也为 Keras 提供了官方支持。
结论
这篇文章是关于 Keras 以及它是如何被用于深度学习的。 我们希望这篇文章对 Keras 的原理、Keras 中的模型以及使用 Keras 的好处有所启发。 如果您想了解有关机器学习和人工智能的更多信息,请查看 IIT Madras 和 upGrad 的机器学习和云高级认证。