深度学习部门内部分享

这是昨天在部门内部培训的 PPT,给部门内的同事介绍了下深度学习的一些原理。
将之前还怕这个东西过于枯燥,所以在自己的理解的基础上,尽可能的通俗易懂化。
最后的效果还不错,至少大家都听进去了,而不是像以往的培训那样,大部分人都低头玩手机之类的。
把 PPT 转成了 jpg,放在 blog 和大家分享一下(虽然知道并么有几个人会看到。。。

同时分享两个有趣的网站

在线的 tensorflow 测试 :http://playground.tensorflow.org/
在线的 CNN 网络演示:http://scs.ryerson.ca/~aharley/vis/conv/

几篇相当不错的文章:
http://www.omegaxy.com/blog/2016-01-14/cnn/
https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner’s-Guide-To-Understanding-Convolutional-Neural-Networks/
https://mp.weixin.qq.com/s?__biz=MjM5NDYxNjc5Ng==&mid=2649704078&idx=1&sn=3309b203f4c9839981265def2cc724cc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

下面是 PPT 的讲稿笔记 可能比较跳跃。。。。
深度学习的介绍
在手机上的应用 – android / iOS
起因:
做这个原因
一篇翻译
图像识别
AI 是什么?
人工智能(Artificial Intelligence)
人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
AI 的三大趋势
模式识别
机器学习 x- > y 的映射
深度学习

深度学习
强调的是不同的模型
不同的神经网络 不同的结构

人类的神经网络

神经单元 对 某个刺激反应明显 对红绿 对直线 敏感 收到刺激

最有名的 CNN
最典型的例子

在社交中的应用

Google 照片搜索
FaceBook 图片自动 tag
Amazon 商品推荐

a1~an为输入向量,当然,也常用x1~xn表示输入w1~wn为权重b为偏置biasf 为激活函数t 为输出
f(x) = g( w1x1 + w2x2 + w3x3 + b )
举个例子,这周末北京有一草莓音乐节,那去不去呢?决定你是否去有3个因素,这三个因素可以对应三个输入,分别用x1、x2、x3表示,此外,这三个因素对做决策的影响程度不一样,各自的影响程度用权重w1、w2、w3表示。一般来说,音乐节的演唱嘉宾会非常影响你去不去,唱得好的前提下 即便天气不好、没人陪同都可忍受,但如果唱得不好还不如你上台唱呢。所以,我们可以如下表示:
x1:是否有喜欢的演唱嘉宾。x1 = 1 你喜欢这些嘉宾,x1 = 0 你不喜欢这些嘉宾。嘉宾因素的权重w1 = 5×2:天气好坏。x2 = 1 天气好,x2 = 0 天气不好。天气权重w2 = 2。x3:是否有人陪你同去。x3 = 1 有人陪你同去,x2 = 0 没人陪你同去。是否有陪同的权重w3 = 3。
这样,咱们的决策模型函数便建立起来了:f(x) = g( w1
x1 + w2x2 + w3x3 + b ),g表示激活函数。不同的输入会得到不一样的决策结果。

Convolutional Neural Networks 卷积网络
图像识别

引入一些数学思想
卷积
池化
池化,简言之,即取区域平均或最大 【将特征再一步明显话】

它就是将输入图像进行缩小,减少像素信息,只保留重要信息。

卷积网络就是 许多卷积层 和 池化层的 连接

先来一张图

这是啥?

计算机看到的是什么样的
一定分辨率的图片 数组 / RGB 的数字

比如一个图片是 480 * 480 * 3

得的是输出
比如 可能有个狗 ? 可能有个猫?
三通道
卷积层

第一层 识别 曲线
第二层 识别 什么曲线?腿?头?
第三层 识别 什么的腿?狗?猫?
第四层 识别 什么东西? 狗? 猫? 得到一些高等的特征

最重要的部分

训练

以人为参考

小时候 看到一只狗 看到一只猫 你也不知道他是啥
可能是 四只脚的是猫和狗 ,两只脚的是鸟
学习的过程是你爸妈告诉你,这是猫,这是狗。

反向训练
过滤器不知道什么是猫?什么是狗?什么是鸟?
卷积有一个权重
初始化都是 1,1,1,1
高层级的过滤器不知道什么是腿 耳朵 等

某个区域的特征过多 或者 特征过于不明显

这也就意味着它不会具体关注窗口内到底是哪一个地方匹配了,而只关注是不是有某个地方匹配上了。

大量的训练集 不断调整 识别

大量的训练集合 -> 越高的计算精度 -> 越大的计算量

深度学习和我们移动端有什么关系呢?

第一是存储。为了解决这个问题,在DL领域有相当一部分人在做相关的问题,比如二值网络、网络压缩。其目的就是减少模型的参数规模利于存储。将权重怎么存可能也需要各种技巧吧。第二是计算。这个跟存储和平台也有一定的关系。以上我提到的这两个工作是object detection领域比较新的且能实时处理的工作。在mobile设备上不可能拿模型直接用,要做一下简化和妥协。另外可行的方案是在服务器端跑模型。

YOLO

更强大的 CPU & GPU 的支持

https://ai.google/tools/

Google iO – > TensorFlow

全新的计算单元 TPU

WWDC -> Core ML

深度学习的未来

深度学习本身的并没有特别大的难度
网上的任意一个教程都能够按步骤慢慢跑起来

真正的难的地方是“脑洞”
当深度学习的技术和思想到达一定境界的时候
把深度学习应用到一些领域中

金融量化领域 – 自动交易机器人
自动编程

一些重复性工作
自动驾驶

发表评论

电子邮件地址不会被公开。