
在大众创业,万众创新的时下,有些创业者应该醒醒了,APP开发不是创业成功的捷径。但是,如果作为手机APP开发的您如果不是很熟悉机器学习的话,我想我可以在这里“僭越”地做一些简介。你可以先把机器学习的模型看作一个黑盒函数,你给定一些输入(可能是一段文字,或者一张图片),这个函数会给出特定的输出(比如这段文字中的人名地名,或者图片中出现的商店名牌等)。一开始这个模型可能非常粗糙,完全不能给出正确的结果,但是你可以使用大量已有的数据和正确的结果,来对模型进行训练,甚至改进。在所使用的模型足够优化,以及训练量足够大的情况下,这个黑盒模型将不仅对训练数据有较高的准确率,也往往能对未知的实际输入给出正确的返回。这样的模型就是一个训练好的可以实际使用的模型。
对机器学习模型的训练是一项很重的工作,CoreML所扮演的角色更多的是将已经训练好的模型转换为iOS可以理解的形式,并且将新的数据“喂给”模型,获取输出。抽象问题和创建模型虽然并不难,但是对模型的改进和训练可以说是值得研究一辈子的事情,这篇文章的读者可能也不太会对此感冒。好在Apple提供了一系列的工具用来将各类机器学习模型转换为CoreML可以理解的形式。籍此,你就可以轻松地在你的iOSapp里使用前人训练出的模型。这在以前可能会需要你自己去寻找模型,然后写一些C++的代码来跨平台调用,而且难以利用iOS设备的GPU性能和Metal(除非你自己写一些shader来进行矩阵运算)。CoreML将使用模型的门槛降低了很多。