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

简介: 不愿意看那一堆公式符号,却想知道卷积神经网络(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)

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

目录
相关文章
|
1天前
|
机器学习/深度学习 计算机视觉 Python
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力本文提出了一种简单且高效的卷积神经网络(ConvNets)注意力模块——SimAM。与现有模块不同,SimAM通过优化能量函数推断特征图的3D注意力权重,无需添加额外参数。SimAM基于空间抑制理论设计,通过简单的解决方案实现高效计算,提升卷积神经网络的表征能力。代码已在Pytorch-SimAM开源。
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
|
4天前
|
机器学习/深度学习 监控 自动驾驶
卷积神经网络有什么应用场景
【10月更文挑战第23天】卷积神经网络有什么应用场景
6 2
|
4天前
|
机器学习/深度学习 自然语言处理 算法
什么是卷积神经网络
【10月更文挑战第23天】什么是卷积神经网络
10 1
|
7天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
19 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
8天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的卷积神经网络(CNN)及其应用
【10月更文挑战第21天】本文旨在深入探讨深度学习领域的核心组成部分——卷积神经网络(CNN)。通过分析CNN的基本结构、工作原理以及在图像识别、语音处理等领域的广泛应用,我们不仅能够理解其背后的技术原理,还能把握其在现实世界问题解决中的强大能力。文章将用浅显的语言和生动的例子带领读者一步步走进CNN的世界,揭示这一技术如何改变我们的生活和工作方式。
|
15天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
49 1
|
3天前
|
机器学习/深度学习 自然语言处理 TensorFlow
深度学习中的卷积神经网络(CNN)及其应用
【10月更文挑战第26天】在这篇文章中,我们将深入探讨卷积神经网络(CNN)的基本原理、结构和应用。CNN是深度学习领域的一个重要分支,广泛应用于图像识别、语音处理等领域。我们将通过代码示例和实际应用案例,帮助读者更好地理解CNN的概念和应用。
|
5天前
|
机器学习/深度学习 算法 计算机视觉
深度学习与生活:如何利用卷积神经网络识别日常物品
【10月更文挑战第24天】在这篇文章中,我们将探索深度学习如何从理论走向实践,特别是卷积神经网络(CNN)在图像识别中的应用。通过一个简单的示例,我们将了解如何使用CNN来识别日常生活中的物体,如水果和家具。这不仅是对深度学习概念的一次直观体验,也是对技术如何融入日常生活的一次深刻反思。文章将引导读者思考技术背后的哲理,以及它如何影响我们的生活和思维方式。
|
11天前
|
机器学习/深度学习 人工智能 自动驾驶
深入理解深度学习中的卷积神经网络(CNN)
【10月更文挑战第18天】深入理解深度学习中的卷积神经网络(CNN)
22 0
|
14天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化卷积神经网络(Bayes-CNN)的多因子数据分类识别算法matlab仿真
本项目展示了贝叶斯优化在CNN中的应用,包括优化过程、训练与识别效果对比,以及标准CNN的识别结果。使用Matlab2022a开发,提供完整代码及视频教程。贝叶斯优化通过构建代理模型指导超参数优化,显著提升模型性能,适用于复杂数据分类任务。