任何一个机器学习算法包含两大步骤:
(1)训练(training): 给定训练数据, 选择一个机器学习模型, 利用机器学习算法, 结合训练数据, 学习到模型参数。 学习参数需要选择一个objective funcion(有称为cost function), 目的就是找出使得这个目标函数的值达到最小的参数。
(2)测试(testing): 利用学习到的模型, 进行预测。
机器学习以及深度学习面临的一些挑战:
(1) one short learning: 如下图, 虽然你从没有见过tufa, 但是一旦告诉你tufa是哪一个, 你就能找出图中那些是tufa。 如何让机器做到这一点, 这是一个challenge.
(2)multitask & transfer Learning(gereralizing):
你的网络是用于做一件事情的, 你已经训练好了, 比如说检测一个人是男人的, 现在改变了你的网络的任务, 让其去检测女人, 该网络还能否适用。 这就是transfer learning, 即从一个任务转向去完成另一个任务, 而不需要对网络做出很大的变动。
(3)Scaling and energy efficiency: 当今的神经网络能够实现一些任务, 但是普遍的消耗的功率太大了, 也就是消耗了大量的资源, 能否像人一样那样高效的运转。
(4) ability to generate data: 这或许是LSTM最近比较火的原因吧。 我们的网络能否具有前瞻意识。