在讲深度学习之前,我想问一个问题。对于深度学习来说,是数据重要还是算法重要?
很多学数学的人给出的答案是,算法重要。但是很多真正做工程的人给出的答案却不同——数据更重要。数据决定了训练结果的上限,算法决定了训练结果的下限。
那为什么我们相对于数据来说,更关注算法呢?因为关注数据有几个缺点:
- 数据必然是有噪点的。噪点越多,训练的结果也就越差。
- 数据是有多样性的,不可能规定数据的类型。
- 好的数据的成本太高了。
- 提高数据质量的难度远远高于提高算法的难度。
换句话说,我们没办法提高数据的质量,就只能提高算法的质量。但是在整个的训练过程中,数据的质量是重中之重,直接影响了最后的训练结果。
那么应该如何通过pytorch做训练呢?我们分为三步:
- 数据处理
- 算法选择(嵌套选择)
- 训练
我们将在后面的文章中,对这三步分别进行代码拆解。