何时使用神经网络?
有关神经网络和深度学习的更详细的解释, 请看这里。其“更深”版本正在图像识别,语音和自然语言处理等诸多领域取得巨大突破。
现在的主要问题是何时使用神经网络?关于这点,你必须记住一些事情:
神经网络需要大量的信息数据来训练
将神经网络想象成一个孩子。它首先观察父母如何走路。然后它才会独立行走,并且每走一步,孩子都会学习如何执行特定的任务。如果你不让它走,它可能永远不会学习如何走路。你可以提供给孩子的“数据”越多,效果就越好。
当你有适当类型的神经网络来解决问题时
每个问题都有自己的难点。数据决定了你解决问题的方式。例如,如果问题是序列生成,递归神经网络更适合,而如果它是一个图像相关的问题,你可能会采取卷积神经网络。
硬件要求对于运行深度神经网络模型是至关重要的
神经网络很早以前就被“发现”了,但是近年来,神经网络一直在发光,这是因为计算能力的强大。如果你想用这些网络解决现实生活中的问题,准备购买一些高性能硬件吧!
如何解决神经网络问题
神经网络是一种特殊类型的机器学习(ML)算法。因此,与每个ML算法一样,它遵循数据预处理,模型构建和模型评估等常规ML工作流程。我列出了一个如何处理神经网络问题的待办事项清单:
- 检查神经网络是否可以提升传统算法。
- 做一个调查,哪个神经网络架构最适合即将解决的问题。
- 通过你选择的语言/库来定义神经网络架构。
- 将数据转换为正确的格式,并将其分成批。
- 根据你的需要预处理数据。
- 增加数据以增加规模并制作更好的训练模型。
- 将数据批次送入神经网络。
- 训练和监测训练集和验证数据集的变化。
- 测试你的模型,并保存以备将来使用。
在TensorFlow中实现神经网络
注意:我们可以使用不同的神经网络体系结构来解决这个问题,但是为了简单起见,我们需要实现前馈多层感知器。神经网络的常见的实现如下:
- 定义要编译的神经网络体系结构。
- 将数据传输到你的模型。
- 将数据首先分成批次,然后进行预处理。
- 然后将其加入神经网络进行训练。
- 显示特定的时间步数的准确度。
- 训练结束后保存模型以供将来使用。