前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >几个入门移动端AI的基础知识

几个入门移动端AI的基础知识

作者头像
PhoenixZheng
发布2019-05-17 14:32:35
1K0
发布2019-05-17 14:32:35
举报

昨天的文章很多人反馈说太水了,真正的干货没有,水文一篇。

AI的知识面实在太广了,想要一篇几百字的文章就能入门其实很难,而且很多知识其实都需要数学基础,要是跟大家说上一天怎么计算函数的导函数,估计能劝退一大波人。

所以“AI学习大纲”这个的重点在于里面每个Step提到的概念,关键字。

像 卷积网络,激励函数,SoftMax,矩阵运算。

如果你是一个自学能力非常强的人,基本靠着这些关键字按图索骥就可以学会AI。

当然如果想看点干货,那么就得从MNIST开始。

先熟悉几个名词,几个新概念,这些是学习AI的基础入门知识。

为了方便还可以有视频可以看,这个视频前两节是免费的,想熟悉一些基本知识的可以参考。

http://www.ai-course.cn/course/13

MNIST

MNIST是由六万多张图片组成的一个数据集。图片都是24*24像素的 0~9 的单个手写数字。 除了数字图片之外,还有跟图片对应的标签,表示这张图片上的数字是多少。

这些图片比较特殊,都只有单通道,所有的像素只有1和0两个数字其中一个构成,所以他们其实是一堆黑白图片。

AI的入门教程都是用MNIST来做学习,因为MNIST足够简单,也能满足整个AI开发的所有需要。

Tensorflow

Tensorflow 其实是一个框架,就跟Android,Cocoa,Spring一样,它的底层是用C++写的推理框架,上层则提供了 python 接口用来开发。

像Tensorflow这样的框架还有很多,Pytorch, Keras, Caffee,在AI领域都是常用的框架。Tensorflow 因为推出的时间久,稳定性和兼容性各方面都比较优秀,所以最常使用。

关键在于我们移动端开发它也支持,Tensorflow推出了 Tensorflow-Lite,专门为移动端AI开发。可以在Github上找到Tensorflow项目的 lite 目录,就是现在Android上用的AI推理框架。

第一个简单的AI

我们设计的第一个AI其实非常简单,它只能达到89%的准确率,因为仅仅使用一些非常基础的单层网络结构进行识别。

首先我们从MNIST里拿一个图片,然后对它进行全连接运算,然后跟这个图片的标签比较,拿到比较的误差结果后去调整全连接层的参数。不断迭代这个流程直到全连接层能够达到89%的识别精度。

上面的Wn,m + Bn 就是全连接层。

一个24x24的图片,在MNIST的存储方式其实并不是jpg或者png,它是一串二进制数据,结构是 1 x 784,就是把24x24给拉成了一维数组。

MNIST的标签则是 1 x 10的数组,每一位也只有1或者0两个值,用来标识这个图片的数字是什么。

下面要开始彪数学了。

全连接层是一个矩阵运算层,它需要把 1x784 映射到 1x10 的预测结果上。这是一个矩阵乘法。

在矩阵乘法里 [1x784] * [m x n] = [1 x 10],那么m和n分别需要是多少? m和n的值就是全连接层的维度取值。

维度确定了,还需要确定全连接层里的每个W值的具体大小。这个确定的过程就是一个反向传播算法的过程。

想学AI必须要搞明白反向传播算法是怎么回事,跟反向传播相关的还有损失函数。 在CSDN上有不少关于这两个知识点的资料,为了方便学习也可以看上面连接里的视频,视频里还提供了代码样例可以参考。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Android每日一讲 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MNIST
  • Tensorflow
  • 第一个简单的AI
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档