批量(重新)规范化复习

这篇文章假设您对神经网络有CS231n的理解水平(又名您已经学习了大学级别的深度学习入门课程)。 如果您是神经网络的新手,我强烈建议您将完全正确说的 课程 作为快速入门的理想资源。 老实说,正是在听完这些讲座后,我才开发出了大部分关于CNN的直觉,这些直觉是我每天仍然依赖的-谢谢Andrej! 谢谢贾斯汀!) 如果您像我一样,则喜欢将CNN扔在途中遇到的所有图形问题上。 您可以自信地向MBA朋友解释神经网络的工作原理,并且您想与CS²朋友一起抱怨Nvidia新型GPU的价格。 如果您像我,那么您就听说过BatchNorm。 您可能已经使用过³,在Google上解释了内部协变量移位的含义,并且对重新调整一些超参数的日常工作感到有些满意。 现在,您可能还没有听说过Ioffe的后续论文《批量重新归一化》。 tl;博士 对大多数人来说 读取如下内容: BatchRenorm优于在TensorFlow中实现的BatchNorm,但代价是需要调整一些额外的超参数。 如果批处理量很小(例如2或4,最有可能是由于GPU内存受限制),则应该使用它。 下面,我将尝试让您重温BatchNorm与转学的关系,为什么使用BatchNorm时您应该有点偏执(即它如何以意想不到的方式分解)以及BatchRenorm如何帮助您返回可以像婴儿一样睡觉,但前提是要稍微舒展些比喻,前提是您愿意在睡觉前多做一些俯卧撑。 转移学习…

训练神经网络进行股票价格预测

介绍 在上一篇“用于预测股价的神经网络的工作”中,我们已经了解了神经网络的工作。 在本文中,我们将研究模型如何进行自我训练以进行预测。 一旦了解了培训过程,就可以编写自己的神经网络了。 训练神经网络 有两种方法可以对用于执行特定任务的程序进行编码。 一种是在给程序一些输入的情况下定义程序计算结果所需的所有规则。 另一种方法是开发一个框架,在该框架上,通过调整数据集的计算结果使其接近已观察到的实际结果,可以通过在数据集上对其自身进行训练来学习执行特定任务。 这个过程称为训练模型,现在我们将看看我们的神经网络如何训练自己以预测股票价格。 将为神经网络提供数据集,该数据集由OHLCV数据作为输入和输出,我们还将为模型提供第二天的收盘价,这是我们希望模型学习预测的值。 输出的实际值将由“ y”表示,而预测值将由y表示。 模型的训练涉及为神经网络中存在的所有不同神经元调整变量的权重。 这是通过最小化“成本函数”来完成的。 顾名思义,成本函数是使用神经网络进行预测的成本。 它是对预测值y ^与实际值或观测值y的距离的度量。 在实践中有许多成本函数,最流行的一个是作为训练数据集实际值和预测值的平方差之和的一半来计算的。…

介绍神经梦想视频

在过去的几周中,我一直在研究一种将两种深度学习架构(一种变体自动编码器和一个递归神经网络)相结合的方法,以生成所谓的“ 神经梦想视频” 。 这些视频捕获给定源视频的空间和时间特性,并以致幻的方式在视频本身的实质上产生潜在的无尽新变化。 以下是我从经典视频游戏中生成的《神经梦想》视频的几个示例(有关真人视频,请参见下文)。 变体自动编码器(VAE)已被用作允许神经网络创建图像新示例的方法。 他们通过学习成千上万张训练图像的空间特征的有效表示来做到这一点。 例如,给VAE提供数千张马的照片,它将学习一种表示形式,使其能够根据自己的表示形式制作新颖的马照片。 像人类一样,这可以被认为是一种工作中的想象力。 尽管它们对于静止图像效果很好,但视频却过于复杂,无法使用VAE捕获,这就是当前网络发挥作用的地方。 递归神经网络(RNN)用于学习数据中的时间模式,并根据旧模式创建新模式。 最近引起人们关注的RNN的常见用例是语言建模。 例如,在接受莎士比亚作品集的训练后,RNN学会制作一段文字,例如一部新的莎士比亚戏剧。 RNN本身的问题在于它们太简单了,无法理解包含数千个数字和复杂空间关系的视频帧之间的关系。 通过将VAE和RNN结合起来,我们可以训练VAE来学习视频帧的紧凑且有意义的语义表示,然后训练RNN来学习如何对那些潜在表示的时间模式进行建模。 一旦有了新生成的潜在表示序列,我们就可以通过训练有素的VAE运行它们,以生成一组新的完整视频帧。 将它们缝回到视频中,就这样! 以下是根据实景镜头制作的一些视频。…