漫谈机器学习

158 阅读4分钟

随便聊聊

  大家好,我就是那个在家办公半个月,又要居家办公七天的那个人。在家办公真是枯燥,真是想念在公司办公的日子。想想也可笑的,上班的时候想在家,在家的时候想上班。我们这代人被pua久了已经闲不下来了。这几天北京这边很多小区闹得挺厉害的,所有人都想解封,很好奇难道只有我担心家里的老人、孩子吗?今天跟大家聊点啥呢?我想了想就跟大家聊聊这两天的一些思考以及在看的一些技术!

  从一个技术视角来看,商业实际一直在追逐技术,于此同时商业也成就了技术。 因为一直在做移动端技术和前端技术管理,所以会关注移动端的一些前沿技术,同时也会经常思考哪些技术有可能成为移动端或者核心竞争力。正好突然想起来以前调研过一个跳绳app,还记得它的实现是采用机器学习的方式实现的,隐约还记得它的的模型文件是.nb结尾的,一直也没仔细研究过这个东西是个啥。再者还记得公司有个拍照批改作业的产品,也一直没人维护了,据说成本还挺高。想着为啥不试试学习一下机器学习相关的东西,咱也试试搞搞”端智能“。如果可以通过端智能把这个实现了,不止能降低几下成本,还能学习一下相关的技术。说干就干!先看看一些基础的东西。

什么是机器学习?

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

有哪些成熟的常用的机器学习框架?

ncnn(用过):

  ncnn是一个为手机端极致优化的高性能神经网络前向计算框架。这个在当时我开发手写识别功能的时候用过,当时的用法是采用caffe训练出模型之后,转成ncnn的。还记得这个对移动端适配的特别好。

Caffe(用过):

  Caffe(全称Convolutional Architecture for Fast Feature Embedding)是一个兼具表达性、速度和思维模块化的深度学习框架,由伯克利人工智能研究小组和伯克利视觉和学习中心开发。上边说过,当时用这个框架训练了mnist数据集。还记得准确率大概在98%左右。

Tensorflow:

  Google搞的,大名鼎鼎。生态好,适合初学者,有服务端的实现。聊到这个顺便就聊聊keras。keras名为号角。它是tensorflow的python官方前端框架,但它有不仅局限于tensorflow生态。使用它可以快速的开始机器学习开发。地址为:keras.io/zh/。还没用过,但感觉用起来应该会很爽。

Pytorch:

  这个是Facebook搞的,是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。有很多很牛的库就是基于这个来实现的。提到这个我还想提提这两天看的yolov5。两年前有一场Kaggle 全球小麦检测(Global Wheat Detection)比赛,比赛本身不说,但比赛之后有一件事引起了一场争议,就是yolov5被禁止使用了。这场比赛是在当年的额五月份举行的一开始很多参赛的选手还是采用一些知名的项目来做他们的基础解决方案,但是在五月底yolov5在五月底发布了,于是就有人使用了这个,结果性能非常优秀,结果就是大量的人开始使用这个,以至于这个模型霸榜了。现在来看这个项目仍然是非常优秀的项目。

PaddlePaddle:

  最后说一下这个百度的机器学习框架,也是比较流行的框架。中文名字是:飞桨。前文提到的跳绳那个app最终应用的就是这个框架的模型。感受一下,还是很牛的。我感觉缺点也是比较明显,就是用这个生成的模型好像很难转到其它框架上去(也可能是我不会,欢迎赐教),另外的就是他的模型要转成移动端能用的模型太费劲了,中间过程真是一言难尽。

写在后头

  行吧,今天就说这点。要多少是多?先看看阅读量,如果有人感兴趣,我下篇文章跟大家继续聊聊怎么把这个模型相互切换?或者聊聊怎么来实现一个自动ocr批改口算作业的功能怎么做?

你是否对机器学习相关技术感兴趣呢?欢迎关注我的公众号(闲坐说)并留言给我。感谢观看。 qrcode_for_gh_811aa7545ceb_258.jpg