神经网络的典型工作流程

无论使用何种库,训练和使用神经网络的典型工作流程如下:

培训数据

  1. 获取训练数据:X 变量是输入,Y 变量是输出。最简单的方法是学习一个逻辑门,其中 X 是一个向量或两个数字,Y 是一个数字的向量。通常,输入和输出值是浮点数,因此如果是单词,则可以将每个单词与不同的神经元相关联。你也可以直接使用字符,然后使用较少的神经元而不是保留整个字典。

建筑

  1. 定义神经网络的架构:这是通过指定神经元如何链接在一起以及使用哪种算法训练和改变神经元之间的连接来完成的。例如,处理文本是使用递归神经网络完成的,该神经网络在每个时间步长接收新输入,并且神经元在时间上参考其早期值以进行有效的计算。通常,使用神经元层,它们通常从输入到输出一个堆叠在另一个上。神经元从一个层连接到另一个层的方式变化很大。一些计算机视觉架构使用深度神经网络(堆叠了许多专用层)。

评估

  1. 接下来,通常对尚未直接训练的数据评估神经网络。这包括将 X 部分的数据呈现给神经网络,然后将它预测的 Y 与真实的 Y 进行比较。存在许多度量来评估所执行学习的质量。

起色

  1. 通常再次使用神经网络的架构来改善其性能。神经网络必须不是太聪明而不是太愚蠢,因为两种情况都会产生问题。在第一种情况下,神经网络可能对于数据来说太大,完全记住它,并且它可能无法概括为新的看不见的例子。在第二种情况下,如果神经网络太笨(小),它也将无法学习。

真实世界的使用

  1. 在新数据上使用它来预测输出。实际上,神经网络非常有用,自动文本翻译或对文本问题的响应都是很好的例子。在这个阶段用于改进神经网络的技术之一是在线学习,这意味着如果网络能够对他的输出得到建设性的反馈,那么仍然可以继续学习过程。例如,谷歌翻译可能会询问用户对翻译的反馈。