分类目录归档:深度学习基础

深度学习入门九-----循环神经网络


Recurrent Neural Networks

如果你想进入机器学习领域,循环神经网络是一种很重要的技术,需要理解。如果你使用智能手机或经常上网,你很有可能接触过利用 RNN 的应用程序。循环神经网络用于语音识别、语言翻译、股票预测;它甚至用于图像识别以描述图片中的内容。

Sequence Data

RNN 是擅长对序列数据建模的神经网络。为了理解这句话的含义,我们来看一个小实验。假设你拍摄了一个及时移动的球的静止快照。 图1 假设你想预测球移动的方向。那么只有你在屏幕上看到的信息,你会怎么做?你可以猜测一下,但你想出的任何答案都是随机猜测。如果不知道球的位置,就没有足够的数据来预测球的

Read more

深度学习入门八----卷积神经网络


人工神经网络是一门机器学习学科,已成功应用于模式分类、聚类、回归、关联、时间序列预测、优化等问题。随着过去十年社交媒体的日益普及,图像和视频处理任务变得非常重要。以前的神经网络架构(例如前馈神经网络)无法扩展用以处理图像和视频任务。这加速了专门为图像和视频处理任务量身定制的卷积神经网络的出现。在本篇文章中,我们将解释什么是卷积神经网络,讨论它们的架构,并用代码实现一两个简单模型。

Limitations of feedforward neural networks (FNN) for image processing

在全连接 FNN(如下图所示结构)中,一层中的所有节点都连接到下一层中的所有

Read more

深度学习入门六----分类问题


到目前为止,在本系列文章中,我们已经了解了神经网络如何解决回归问题。现在我们要将神经网络应用于另一个常见的机器学习问题:分类。就目前我们学到过的内容,大部分内容仍然适用。主要区别在于我们使用的损失函数以及我们希望最后一层产生什么样的输出。

Binary Classification

二分类是一个常见的机器学习问题。您可能想要预测客户是否有可能进行购买、信用卡交易是否存在欺诈、深空信号是否显示出新行星的证据等等,这些都是二分类问题。 在您的原始数据中,类可能由诸如“是”和“否”或“狗”和“猫”之类的字符串表示。在使用这些数据之前,我们将分配一个类别标签:一个类别为 0,另一个类别为 1。分配数字

Read more

深度学习入门五----Dropout and Batch Normalization


深度学习的世界不仅仅是dense层。您可以向模型添加数十种图层。(尝试浏览 [Keras]文档以获取示例!)有些类似于dense层并定义神经元之间的连接,而有些则可以进行其他类型的预处理或转换。 在本文章中,我们将了解两种特殊层,它们本身不包含任何神经元,但会添加一些功能,有时可以以各种方式使模型受益。两者都常用于现代模型结构中。

Dropout

其中第一个是“dropout 层”,它可以帮助纠正过拟合。 在上一篇文章中,我们讨论了网络学习训练数据中的虚假模式如何导致过度拟合。为了识别这些虚假模式,网络通常会依赖于非常特定的权重组合,一种权重的“阴谋”。但是,它们往往很脆弱:删除一个,阴谋就会

Read more

深度学习入门四----过拟合与欠拟合


回想一下上一篇文章中的示例,Keras 能保留它训练模型过程中训练和验证损失的历史记录,并且可以画出来。在本文中,我们将学习如何解释这些学习曲线以及如何使用它们来指导模型开发。特别是,我们将在学习曲线上寻找模型欠拟合(underfittiing)或者过拟合(overfitting)的证据,并查看几种防止过拟合或者欠拟合的策略。

Interpreting the Learning Curves

我们可能认为训练数据中的信息有两种:信号(signal)和噪声(noise)。信号是概括的部分,即可以帮助我们的模型根据新数据进行预测的部分。噪声是仅适用于训练数据的那部分;噪声是来自现实世界中的数据的所

Read more

深度学习入门三----梯度下降


在前两篇文章中,我们学习了如何从密集层(dense)的堆栈中构建完全连接的网络。首次创建时,网络的所有权重都是随机设置的——网络尚不“知道”任何事情。在本节中,我们将了解如何训练神经网络;我们将看到神经网络是如何学习的。 与所有机器学习任务一样,我们从一组训练数据开始。训练数据中的每个示例都包含一些特征(输入)和一个预期目标(输出)。训练网络意味着以一种可以将特征转换为目标的方式调整其权重。例如,在 80 Cereals 数据集中,我们想要一个网络,它可以获取每种谷物的“糖”、“纤维”和“蛋白质”含量,并预测该谷物的“卡路里”。如果我们能成功地训练一个网络来做到这一点,它的权重必须以某种方式表

Read more

深度学习入门二----深度神经网络


在本节中,我们将了解如何构建能够学习复杂关系的神经网络。 这里的关键思想是模块化(modularity),从简单的功能单元构建一个复杂的网络。我们已经看到了线性单元如何计算线性函数——现在我们将看到如何组合和修改这些单个的单元来模拟更复杂的关系。

Layers

神经网络通常将它们的神经元组织成层。当我们将具有一组公共输入的线性单元收集在一起时,我们会得到一个密集层(dense layer)。

你可以将神经网络中的每一层视为执行某种相对简单的变换。通过一层很深的堆栈,神经网络可以以越来越复杂的方式转换其输入。在训练有素的神经网络中,每一层都是一个转换,使我们更接近目标结果。

The Activ

Read more

深度学习入门一----一个神经元


 What is Deep Learning?

近年来,人工智能领域一些最令人印象深刻的进步是在深度学习领域。自然语言翻译、图像识别等任务,应用深度学习模型已经接近甚至超过人类的水平了。 那么什么是深度学习?深度学习是一种以深度计算为特征的机器学习方法。这种计算深度使深度学习模型能够理清在复杂数据集中发现的各种复杂模式。 通过其强大的功能和可扩展性,神经网络(neural networks)已成为深度学习的基础模型。神经网络由神经元组成,其中每个神经元单独执行一个简单的计算。事实上,神经网络的力量正是来自于这些神经元之间形成的复杂链接。

The Linear Unit

我们从神经网络的基本组成

Read more