用高中数学理解 AI “深度学习”的基本原理

2018-12-20 20:22:36 +08:00
 olindk

感觉 V2EX 里关于机器学习的讨论好少,不知道有没有人感兴趣呢。写了篇硬核科普,感兴趣的朋友可以看看,一起交流啊!

这是文章链接

5532 次点击
所在节点    分享创造
52 条回复
qihuandaxia
2018-12-21 15:17:50 +08:00
可以授权转发么?

也可以看一下我们网站 提些意见: https://www.flyai.com
olindk
2018-12-21 15:47:16 +08:00
@yushiro 我的理解是,线性回归问题离一般的神经网络模型隔了 2 个步。你理解线性回归后,我们再加一层非线性函数例如 sigmoid,我们就得到一个二选一的分类识别器。但是如果这样的模型表达力太弱了,你可以想象一下,猫照片的 4 万个像素跟“猫”这个概念之间肯定不是什么线性关系,而是某种超级复杂的关系。假设这种关系可以用数学的多次方程表达(实际上也确实可以),那么用神经网络来做,从目前来看,是算力上最高效的选择。至于你说要选择多少层,首选是参考大牛们模型,如果没有现成的模型,就要靠自己慢慢调参了。
olindk
2018-12-21 15:48:20 +08:00
@bokchoys 是啊我也很纳闷,怎么找不到热闹的社群,自学真的很寂寞啊!尤其是我这种不是做技术的,一边上班一边自学。
olindk
2018-12-21 15:52:54 +08:00
@CommandZi 哈哈,应该都是假的。原视频链接: <amp-youtube data-videoid="9Yq67CjDqvw" layout="responsive" width="480" height="270"></amp-youtube>&t=2s
muffin
2018-12-21 16:25:49 +08:00
很好!期待新文章
bokchoys
2018-12-21 16:43:47 +08:00
@olindk #23 我也不懂怎么去宣传论坛。或许有更好的平台……
yushiro
2018-12-21 17:51:29 +08:00
@adrianyoung 你说的这些, 在书上都看到过, 但还是不明白为啥这样可以获得想要的结果。
比如我在看 Google Tensonflow 的书, 第一个例子就是手写体识别, 按照 Sample 跑一下, 的确可以出结果,但不明白为啥这么简单的代码可以出结果, 如果我要换一批验证码, 是否需要重新调整神经网络?
就是在这样的地方卡住了,我觉得如果囫囵吞枣一样的去看, 并不能应用到实际场景中。
olindk
2018-12-21 17:56:50 +08:00
@yushiro 想要系统地学习的话,推荐看看吴恩达的课程,在论坛上确实很难三言两语说清楚。不过以你举的例子来说,我建议你先在不改变模型的情况下把输入输出换掉,看看效果,然后调整下参数再看看效果。深度学习就像炼金术,多实验会有比较大收获。
watermelon92
2018-12-21 18:06:41 +08:00
@olindk 好文章啊~是否可以推荐一些自学的路径?
yushiro
2018-12-21 18:10:05 +08:00
@olindk 果然,ML 到最后还是调参员,大部分需求都是调整参数。
adrianyoung
2018-12-21 18:35:36 +08:00
@yushiro 过程上是得到一组参数使得数据拟合成我们想要的数据分布,也就是说从原始数据中抽取特征来适应真实标签(抽取这个过程实际上就是各式各样的数学变换,经验上讲都会说网络结构深而窄效果会更好,不同的任务可能会有不同的网络结构),然后用一个合适 loss 来监督这个拟合过程( loss 用来衡量标签和模型拟合出来的数据分布之间的差异,降 loss 的方法有梯度下降,牛顿法等方法),那么第二个问题可以抽象理解一下就是手写体的数据分布和验证码数据分布之间的差异有多大,能不能用相同的参数对不同的数据拟合出相同的结果或者说是合适的结果,这可能更多涉及到数据域适应的问题,我没做过图像的东西,但我了解到的图像这一块很多时候是会用预训练的网络先学最基础通识的东西,然后应对不同数据任务是要单独做有监督 fine-tune 的,这算是迁移学习了,所以如果数据源分布差异很大,那么从理论上讲模型得到的参数在 fine-tune 过后是不大一样的。
leoleoasd
2018-12-21 18:37:03 +08:00
最上面那一块 书的价格那个 用高中数学 统计概率 中的 线性回归方程来解释就可以
^ ^
y = ax +b
olindk
2018-12-21 20:44:08 +08:00
@leoleoasd 我想尽可能减少数学概念,我连“斜率”和“截距”这俩词都没用……导数方程我也没写,用图来表示来。这篇文章的目的是建立一种数学直觉。即使我写成这样,依然有朋友表示看不懂…数学全忘光了…
olindk
2018-12-21 20:50:01 +08:00
@watermelon92 如果你英文阅读无障碍的话,我强烈推荐 keras 作者的书《 Deep Learning with Python 》。我觉得入门完美啊,抽象程度刚刚好,既不会陷入底层数学,又不会太“实战”(以至于只会调参不懂原理)。如果你想硬核一点,我建议先看吴恩达的 ML 课前三章,打好基础,然后就开始看他的 DL 课。基础知识应该差不多了,然后就赶紧去实践吧!
dyxang
2018-12-21 20:50:27 +08:00
可惜这文章晚了些,刚在班上讲完人工智能演讲。
人工智能在中国青少年群体里太需要科普了,中国在编程教育这块很差
olindk
2018-12-21 20:53:23 +08:00
@dyxang wow,你是 AI 学科的老师吗?
leoleoasd
2018-12-21 20:54:29 +08:00
@olindk #33 我高中 但是写过 ML 有关论文 看起来完全没压力
我同学清北水平 没接触过任何计算机 看这个也没任何压力 我又补充了几句他就能理解 RNN 了
olindk
2018-12-21 20:58:31 +08:00
@leoleoasd 哇塞,专业玩家啊!你是教什么学科啊?高中就给学生讲这个,真的很棒啊!非常开拓学生视野了,可惜我读书那会儿没有你这样的老师啊。
leoleoasd
2018-12-21 21:02:56 +08:00
@leoleoasd #37 我高中学生 大哥了...
t6attack
2018-12-21 21:11:19 +08:00
如果把机器学习分为 科研 和 应用,那么,在应用层面,从企业到民间,私下研究的人非常多。
交流少是因为:认真研究的人,都在埋头研究,不是整天上网闲逛。
资料少是因为:只要自认为研究的东西有价值,就不会公开。在应用层面,大家彼此是竞争关系。

在科研层面,知识 /论文、基础框架是公开的。但想投身科研的话,先一头扎紧数学的海洋里修炼五年再说。
深度学习之父:Geoffrey Hinton 25 岁读博,开始从事 AI 相关研究。然后就是 30 年沉闷的科学家生涯,经验和微小的成果默默积累。直到 59 岁,终于提出了震动世界的新模型。。紧接着,研究成果大爆发,桃李满天下,这些都是 60 岁以后的事。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/519518

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX