人工智能

关于深度学习的9个问题

为了进一步了解深度学习、神经网络、重大创新、使用最广泛的范例(深度学习在哪些地方有用,什么没用,甚至只是历史的一部分),我们提出并回答了一些基本问题。

一、到底什么是深度学习?
深度学习是传统神经网络的现代发展。确实,在经典的前馈、全连接、反向传播训练的多层感知器(MLP)中,添加了“更深”的体系结构。更深层意味着更多的隐藏层和一些新的附加神经范例,例如在递归网络和卷积网络中。

二、深度学习和神经网络之间有什么区别?
没有区别。深度学习网络是神经网络,其架构比1990年代可能训练的更为复杂。例如,Hochreiter和Schmidhuber于1997年在循环神经网络(RNN)中引入了长短期记忆(LSTM)单元,但由于需要较长的计算时间和大量的计算资源,因此从未被广泛采用。具有一个以上隐藏层的多层感知器也已经存在很长时间了,其好处显而易见。主要区别在于现代计算资源已使其实现可行。

三、深度学习主要是关于更快,更强大的计算资源吗?
通常,更快、更强大的计算资源已经可以实现和试验更强大、更有前途的神经体系结构。显然,花几天的时间在网络培训上无法与在GPU加速的帮助下在同一网络上花费的几分钟相匹敌。

四、引发深度学习普及的突破性项目是什么?
最大的突破是在2012年,当时基于深度学习的AlexNet网络以前所未有的优势赢得了ImageNet挑战。AlexNet的前五位错误率为15%,而次优的竞争对手则为26%。这次胜利掀开了深度学习网络的热潮,如今最好的模型的错误率低于3%。

如果您认为人为错误率在5%左右,那就尤其令人印象深刻。

五、是什么使深度学习如此强大?
灵活性。一方面,神经网络是通用函数逼近器,这是明智的说法,可以说只要使神经网络足够复杂,就可以使用神经网络近似任何东西。另一方面,您可以使用训练有素的网络权重来初始化执行类似任务的另一个网络的权重。这就是所谓的转移学习,即使乍一看似乎相去甚远,您也会惊讶于它的运作效果如何。

六、什么是最广泛使用的神经网络范例?
有四种非常成功且被广泛采用的深度学习范例:循环神经网络中的LSTM单元,卷积神经网络(CNN)中的卷积层,编码器-解码器结构以及生成对抗网络(GAN)。

RNN是用于处理顺序数据(例如文本(例如,单词或字符序列)或时序数据)的神经网络家族。这个想法是在每个时间步骤应用相同网络的副本,并通过一些状态向量连接不同副本。这使网络可以记住过去的信息。RNN中流行的单元网络结构是门控循环单元(GRU)和LSTM。

CNN图层对于具有空间依赖性(如图像)的数据特别强大。代替将每个神经元连接到新层,而是使用滑动窗口,该滑动窗口的作用类似于过滤器。一些卷积可能检测到边缘或角落,而其他卷积可能检测到图像内的猫,狗或路牌。

另一个经常使用的神经网络结构是编码器-解码器网络。一个简单的例子是自动编码器,其中训练具有瓶颈层的神经网络以将输入重构为输出。编码器-解码器网络的第二个应用是神经机器翻译,其中在RNN中使用编码器-解码器结构。基于LSTM的编码器提取源语言中内容的密集表示,而基于LSTM的解码器生成目标语言中的输出序列。

当然还有生成对抗网络。生成对抗网络由两个深度学习网络(生成器和鉴别器)组成。两个网络都经过交替训练以竞争以提高自身水平。GAN已成功地应用于图像张量,以创建动画,人物甚至是梵高之类的杰作。

七、深度学习是否已经占领了整个机器学习领域?
不是,至少还没有。在某些领域(例如计算机视觉),您将无法再进行深度学习,但事实证明,其他领域(例如表格数据)已成为深度学习的挑战。

对于表格数据(它仍然是存储业务数据的主要格式)而言,深度学习并没有在这方面做得很差。但是,如果您可以使用随机森林或梯度增强树来获得类似的精度,则很难证明在昂贵的GPU服务器上训练数日的深度学习模型是正确的,您可以在一台像样的笔记本电脑上在几分钟内进行训练。

八、我们需要知道如何编码才能使用深度学习吗?
并不是的。确实,TensorFlow和Keras中提供了大多数深度学习范例,并且它们都需要Python技能。但是,在我们的开源KNIME Analytics Platform中,我们提供了一个图形用户界面(GUI),可以在后端使用TensorFlow精确处理那些Keras和深度学习库。您可以通过将适当的节点一个接一个地拖放来构建所需的复杂神经结构。

下面的图1中显示了一个示例,我们在该示例中训练了基于LSTM的RNN以生成自由文本。该模型创建的假名称类似于山名,用于新的户外服装系列。在顶部(棕色节点),您可以看到在哪里构建了神经体系结构,然后使用Keras Network Learner节点对其进行了训练。经过适当修改的经过训练的网络然后以TensorFlow格式保存。


图1.构建和训练基于LSTM的RNN以生成自由文本。在顶部,棕色节点构建网络体系结构。然后,Keras Network Learner节点对网络进行训练,经过适当的后处理后,该网络将保存在TensorFlow文件中。

九、如果使用KNIME Analytics Platform?是否需要在云上托管我的工作?
KNIME Analytics Platform是一个开源应用程序,其集成也是如此,包括Keras和TensorFlow集成。您可以将它们安装在任意位置,例如,在您选择的公共云中或在您的计算机上。但是很明显,机器越强大,执行速度就越快。您甚至可以在KNIME Keras集成中应用GPU加速。您只需要配备装有CUDA的GPU机器,带有Keras以便安装GPU 的Conda环境以及最重要的KNIME Keras集成。

本文由 探界网 作者:行者 发表,转载请注明来源!

关键词:

热评文章