人工智能 && 机器学习
人工智能就是让机器拥有和人一样的智慧,它不仅仅限于机器学习,它还包括其他部分,比如:自然语言处理、计算机视觉等。关系就如图:
其中简单提示一下:
机
器学习:数据预处理、线性回归、监督学习、加强学习等
Deep Learning:人工神经网络、主成分分析、线性判别分析、模型选择等
还是一脸懵逼?never mind,不要在意这些细节
什么是机器学习
- 机器学习原理:
主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法 —— “维基百科”
在相当一段时间里,我们都是生产数据,然后交付机器使用。但是随着时间的推移,我们发现数据的量已经变得无比庞大且无处不在——图片、音视频、文字等等。而机器学习的过程就是从这些数据中找出规律并加以利用的过程。
通俗一点说就是:计算机从历史数据中找出规律,并且把这些规律用到对未来不确定的场景对策上。简言之:“使用数据解决问题”
使用案例:Google搜索引擎、Siri、相册等
- 机器学习的过程:
step1: 使用数据:即“训练”
step2: 解决问题:即“预测”
友情提示:数据才是核心!
说完原理,咱们先来玩一个Google推出的用于讲述AI原理的小实验Teachable Machine
CoreML入门
苹果的人工智能举措:
- iOS5 推出NSLinguisticTagger用来分析自然语言
- iOS8 推出Metal对底层GPU进行访问
- iOS10 推出BNNS(神经网络子程序) 和 MPSCNN(Metal渲染) 是开发者可以构建用于推理的神经网络。
- iOS11 推出CoreML和Vision
什么是CoreML和Vision:
Core ML: 是基于底层基本类型而建立的,它包括 Accelerate、BNNS 以及 Metal Performance Shaders 等。是开发者更专注于模型的使用而不是将大量的时间纠结在模型的训练和算法上。 即可以直接在app中使用训练好的模型。(这也秉承了类似苹果一贯不开源的作风。你永远不知道它里面到底做了什么)
Vision:对CoreML中图像分析的模型进行了更高层次的封装。
接下来,我们通过几个Demo来体验一把苹果带给我们那些可玩的东西:
01 体验:
1、利用iOS训练好的ResNet50来入门一个可以识别物件的一个训练好的模型。类似的效果就是(code01):
2、利用Inceptionv3 识别照片中的人脸数量(code02):
这里稍微解释一下Core ML 在代码中的使用情况:
最简单如果不用Vision的话(即不涉及音视频的情况),那Coremkl 就有两个部分组成:Input 、output;
玩了这两个demo之后,我们是不是发现苹果给我们的model类型真的是太少了,而且有的还不准。这时候我们就想到说用除苹果之外的Model。例如caffe、Keras,TensorFlow, 和SciKit-learn等。OK,接下来,我们去下载一个caffemodel,然后将其转换成.mlmodel。
02 转换别人的模型:
转换工具——Core ML Tools:它是一个可以把模型从机器学习工具箱转换成Core ML格式的Python包。
1、下载安装anaconda,完成后可以使用conda命令确认
2、使用conda安装Python,建议2.7.13
conda install python=2.7.13
3、开辟空间: