文科生如何理解卷积神经网络?-阿里云开发者社区

开发者社区> 王树义> 正文

文科生如何理解卷积神经网络?

简介: 不愿意看那一堆公式符号,却想知道卷积神经网络(Convolutional Neural Network)如何做图像分辨?分享一段我给自己研究生的讲解答疑视频,希望对你有帮助。
+关注继续查看
img_6b754c754930e215728855c515593896.png

不愿意看那一堆公式符号,却想知道卷积神经网络(Convolutional Neural Network)如何做图像分辨?分享一段我给自己研究生的讲解答疑视频,希望对你有帮助。

茫然

常有朋友问,我的Python和数据科学课程开在哪个学期,他们想过来蹭课。

不好意思,这个真没有。

我写了一系列的数据科学教程。但原本只是给我自己的研究生赋能,并非课程讲义。

img_6a280584c32c9f32f0c5154f016c3d85.png

他们有的人,本科学的专业,与技术毫不沾边。

但是情报学是个交叉学科。尤其是近几年,与数据科学融合愈发深入。

往周围看看,其他社会科学专业,例如新闻学、心理学、社会学、政治学等,都在利用开放互联网数据集,做以往无法想象的大规模信息分析。

在这种情况下,你一个情报学研究生,处在原本就有数据分析优势的学科,却一点儿也不掌握数据科学技能,出门好意思跟其他同学打招呼吗?

于是我给他们写教程,写尽量让文科生能看懂的教程。

事实证明,他们能跟着教程,做出来结果。

img_cc682b39003d39f86ee423b8187e4e55.png

但是,我在《Python编程遇问题,文科生怎么办?》中说过,“照葫芦画葫芦”,只是你入门数据科学的第一步。

你需要理解技术应用的前提和方法,这样才能应对自己的研究问题,利用适当工具,加以解决。

本周的组会上,我听一年级研究生论文翻译展示,明显感觉他们对于卷积神经网络结构与原理,依然不清楚。

img_9e9b0fe5a7c2180c744d2d9864c2edca.png

我很奇怪。

因为我专门为他们写过至少2篇文章,都是讲如何利用卷积神经网络做图像处理的。

而且,他们还用自己的数据集,重新做过训练与测试。

在文章里,我还给他们介绍了深度学习模型的基本原理,并且在文末详细列出了参考资料,供延伸阅读。

这么长时间过去了,怎么还是懵懵懂懂?

倘在从前,我肯定要训人了。

因为怎么看,这都是学习态度不端正的问题。

但是,有了同理心训练基础,我突然能够理解他们的茫然与苦恼了。

同理

他们看到的延伸阅读材料,像一个黑洞。

这个黑洞吸收他们的时间和工作量,却看不到任何正反馈。

因为他们缺乏基础。

要学好深度神经网络,并不需要多么高人一等的智慧。但是一些基础要件却很重要。这些基础包括:

  • 编程
  • 数学
  • 英语

如果有这3个基础,你根本无需导师帮助。自修 Coursera 上 Andrew Ng 《深度学习》这样的精品MOOC课程,就会让你成长迅速,大呼过瘾。

img_018a8d7a41b831b7e198fbe083249402.png

可是对国内的文科生来说,上面列出的几个基础要件,可谓是“三座大山”,能压得他们寸步难行。

编程没学过,数学早忘了,英语不过关。

你让他们一点一滴从头学起,全部补齐?

即便真补完整了,也该毕业了。

还做什么研究?

诚然,老师可以帮助他们精简学习模块。

编程不好,没关系。

不要去碰 Tensorflow 的神经网络结构搭建细节语句�,只要会用最简单的 TuriCreate 调用迁移学习工具,几行代码搞定图像识别。

英语不好,没事儿。

我把教程给你用中文写出来。你直接照着做,就能出结果。

但是数学不好,理解不了神经网络模型的原理,怎么办?

从前我也是束手无策。

要么把整个工具当作黑箱,只知道输入输出,就能做出结果来。

img_52d808336de75f346d8766180656ba8b.png

但这是用户的态度,不是研究者的态度。

这种低水准认知,可能让你有机会充分实践什么叫“垃圾进,垃圾出”。

很多对统计学一无所知的学生,不就是这么玩儿SPSS的吗?

想到这里,我突然灵光一闪。

借鉴

统计学对很多文科生,也很难学。

他们是通过什么途径学会的呢?

是一种“有限度拆解”。

只学会导入数据,点按钮出图表,显然不够用。

但是从头推各种分布的公式,讲解阈值设定(例如那个神奇的0.7)的原理……人早就跑掉了。

怎么办?

我想起来了李连江教授的这本书。

img_2a5b172377aca1bf068a5bbeeccfe232.png

李老师的态度,是原理要讲清楚,不能让学生随便“拷打”数据。

但是又不能深入到底层数学原理,那样很多文科生根本就看不懂,甚至会很快丧失掉兴趣。

他的办法,简单而实际。

就是举例子和打比方。

用一个SPSS自带的雇员例子,他解释了好几章的内容。从数据的类型,一直到多元回归。

因为有了实际样例,学生充分代入,就好理解。

讲到因子分析,做旋转。这个怎么讲?

他用了两个比喻。

一个是三大男高音,代表3个因子。

三大男高音同台的演唱会,观众如潮。

img_1c43b5bf6eb0c97a9b06196983a518e7.png

有的观众爱听多明哥,有的爱听卡雷拉斯,有的是冲着帕瓦罗蒂来的。

但是观众们都坐在一起,你分不清哪个观众究竟是哪位歌唱家的粉丝。

怎么办?

让男高音们分开唱,唱对台戏

这是第二个比喻。

一旦有对台戏,观众选择的座位,就明确代表了态度。

某个问项,归属于哪个因子,也同样可以通过因子唱对台戏(旋转)来分辨。

读了《戏说统计》,我觉得讲得真好。

但是我后来看了李老师的课程视频,觉得收获更大。

因为视频的信息传播更加丰富。

同样是刚才的例子,因为有了图像化解读,学生可以理解得更加透彻而深刻。

img_003870b820aaf11098ca5b3ac92e8bbc.png

尤其是,每当讲到研究中统计结果出来,需要一些“不足为外人道”、“社会科学界有共识”的操作手法,李老师的笑容,总能让人跟着忍俊不禁。

讲解

有了李连江老师的例子做参考,我用组会的剩余时间,以板书的形式,一步步为研究生们讲解了以下内容:

  • 深度神经网络的基本结构;
  • 神经元的计算功能实现;
  • 如何对深度神经网络做训练;
  • 如何选择最优的模型(超参数调整);
  • 卷积神经网络基本原理;
  • 迁移学习的实现;
  • 疑问解答。

我没有追求最大化的严谨,也没有对例子的通用性和实用性做更多的要求,只是从头到尾,把一个简化到极致的图像识别模型,与客户流失预判模型进行了对比讲解。

同样的,我用了样例,也用了打比方,尽力把听讲的认知负荷,降到最低。

过程中,我要求学生随时提问。因此交互很密切。

讲解完毕后,他们几个表示,这下终于弄懂了卷积神经网络的基础知识。

img_2204d6b9f3152f8de9015a3bd260851f.png

由于最近阎教练的工作坊训练了视觉记录行为,我讲了几分钟后,突然觉察到这一段可以录下来,分享给更多人。

于是我让坐在前排的杨文同学,帮我录制了视频。

视频中没有能包含最初的几分钟内容,即刚才列表的前两个部分。颇为遗憾。

不过没关系,过一段时间后,我准备组会时让研究生上讲台,把这一段复述一遍,作为学习效果检查。

如果他们做得好,我会录下来,分享给大家。

他们还不知道我的打算。

所以你看见后,别告诉他们。嘘!

这段视频时长接近30分钟,不算短。

如果你和他们一样,读过了我的《如何用Python和深度神经网络锁定即将流失的客户?》、《如何用Python和深度神经网络识别图像?》和《如何用Python和深度神经网络寻找近似图片?》这几篇文章,但是对于深度神经网络的原理构造还是迷茫,建议你从头看到尾,可能会有一些收获。

欢迎点击这个链接,观看视频。

有言在先,因为是即兴讲解,没有任何准备。内容如有疏漏,在所难免。

欢迎各位高手帮助指出纰漏,我会在将来的讲解中,迭代改进。

提前谢过!

讨论

你是如何学会卷积神经网络工作原理的?对于研究中遇到的数学公式,你有没有什么更好的办法理解和掌握呢?欢迎留言,把你的经验和思考分享给大家,我们一起交流讨论。

喜欢请点赞。还可以微信关注和置顶我的公众号“玉树芝兰”(nkwangshuyi)

如果你对数据科学感兴趣,不妨阅读我的系列教程索引贴《如何高效入门数据科学?》,里面还有更多的有趣问题及解法。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26156 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
10495 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
9865 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
11757 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
11629 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
8376 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
3237 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
21222 0
+关注
王树义
终身学习者、大学教师。稍微懂一点儿写作、演讲、Python和机器学习。公众号“玉树芝兰”(nkwangshuyi)。
119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载