《跟李沐学 AI》AlexNet论文逐段精读学习心得 | PyTorch 深度学习实战

devtools/2025/2/24 22:46:04/

前一篇文章,使用 AlexNet 实现图片分类 | PyTorch 深度学习实战

本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started

本篇文章内容来自于学习 9年后重读深度学习奠基作之一:AlexNet【下】【论文精读】】的心得。

《跟李沐学 AI》AlexNet论文逐段精读学习心得

  • ImageNet Classification with Deep Convolutional Neural Networks
  • 视频学习感悟
  • 视频学习知识经验

ImageNet Classification with Deep Convolutional Neural Networks

https://proceedings.neurips.cc/paper_files/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf

在这里插入图片描述

关于 AlexNet 工作原理的博客: https://readmedium.com/alexnet-explained-a-step-by-step-guide-93870b45126b

视频学习感悟

  • 没有必要学习前人的太多东西,因为很多东西是错误的,学习它们反而限制了自己的思路1
  • 工程能力很强才能验证自己的猜想,验证自己的猜想才能创新;光有猜想而没有能力验证等于空谈
  • 只要你的东西足够新,即使有很多说法是错误的,别人也会相信,关键是能 work,方法就是好过现在的,至于为什么可以慢慢等待时间,这个和牛顿莱布尼茨使用微积分,而微积分的严谨要一百多年后由柯西补充是一样的
  • 不要害怕学术工作,学术工作需要你:学习数学2,掌握编程,并且要勤奋。

视频学习知识经验

  • 经过了 2012 ~ 2021 年的探索,人们最终发现,主要的贡献在于大规模的数据集和算力本身,一些技巧证明不是大模型可训练的关键因素。
  • 正则化手段去处理过拟合,不是最关键的,最关键的是网络的架构设计,网络的架构好,就会让模型更容易训练
  • 首先要说自己实现了什么东西,比如在哪些地方超过了其它的模型和方法。然后,再说自己是怎么做的。
  • 论文前面的内容要高屋建瓴,细节放在第 3、4 章去写。
  • 论文的核心观点是:用 CNN 来做图像分类,然后经验是如何将 CNN 做的特别大。
    • 使用多 GPU,论文仲使用的显卡是 GTX 580 3GB, 两张。所以,该显卡在当时也不是很先进,而且要将模型切开,放在两张卡,所以,该论文的研发还是工作量很大 3
    • 使用一些技术来降低过拟合
    • 结果好只是一些方面,一些工程上的劳动也可能做出好结果,但是这意味着没有算法上的创新,学术主要看算法的创新
    • 使用 RGB 做成向量,进入模型,被称为 RAW 模式 4 。还有一种模式,是把图片提取特征,常见算法是 SIFT。一些研究方向,https://github.com/christiansafka/img2vec, https://scikit-image.org/docs/stable/auto_examples/features_detection/plot_sift.html
  • 这个项目 Alex 对比了 ILSVRC-2010 和 ILSVRC-2012 两个数据集的成绩。
  • 论文中,重点强调了使用 ReLU 作为激活函数,Hinton 在一次访谈中 5 ,坦陈挑选到 ReLU 花了十年的时间
  • 论文中的参考文章并不多,这个文章的写作团队很牛,作为一个创新的团队,没有必要研究前人的很多东西,因为前人的很多东西也是错误的,研究了很多以后自己反而被限制,那么灵感来源于哪里?灵感来源于对周围世界的观察和一些更为成熟的行业,比如人工智能领域内的很多发明来自于更成熟的通信行业6

  1. 自然界的宝库和秘密,就在我们眼前,需要我们多问问题。用好奇心探索,就像达芬奇,并没有学习他所在时代的前人精华太多,主要靠自学,从观察身边的事物开始。https://www.bilibili.com/video/BV1iG411K7ma/ ↩︎

  2. 主要是微积分、概率论、线性代数。 ↩︎

  3. 实现一篇高质量的论文,还是需要通过工程手段验证猜想,无论结果是证实还是证伪,都是有价值的,关键是猜想本身是一个好的猜想,有新意。首先是好的猜想,然后工程能力是必不可少的。如果有很好的猜想,却无法证实或证伪,这个就是玄学,玄学不是科学。 ↩︎

  4. 不做任何特征提取,直接将原始的图片、文本作为训练模型的输入,被称为 End to end 训练。 ↩︎

  5. Hinton 回顾与 Ilya 的初次见面和合作,https://www.bilibili.com/video/BV1xM4m1k7ZJ ↩︎

  6. 很多论文发布,只是作为一些经典论文的陪衬,因为它们的作者是通过一些经典论文,并研究其中的不足之处,然后发布的。真正的有价值的论文其实不多,这些论文的灵感是来自于作者的好奇心或者从别的行业汲取的宝贵经验。 ↩︎


http://www.ppmy.cn/devtools/161445.html

相关文章

Unity 位图字体

下载Bitmap Font Generator BMFont - AngelCode.com 解压后不用安装直接双击使用 提前设置 1、设置Bit depth为32 Options->Export options 2、清空所选字符 因为我们将在后边导入需要的字符。 Edit->Select all chars 先选择所有字符 Edit->Clear all chars i…

Web项目测试专题(七)安全性测试

概述: 安全性测试旨在确保Web应用在设计和实现过程中能够抵御各种安全威胁,保护用户数据和系统资源。 步骤: 身份验证和授权:测试用户登录、权限管理和会话管理机制,确保只有授权用户能够访问特定资源。 数据加密…

Java 阻塞队列:让并发更“懂事”

阻塞队列的常见方法 阻塞队列的一些常用方法就是让你在多线程操作时轻松控制数据流。让我们看几个经典的方法: put(E e) 这个方法会将元素 e 放入队列中。如果队列已满,它会阻塞当前线程直到队列有空间可用。 大家好,今天我们来聊一聊 Jav…

【落羽的落羽 数据结构篇】栈和队列

文章目录 一、栈1. 概念2. 栈操作2.1 定义栈结构2.2 栈的初始化2.3 入栈2.4 出栈2.5 取栈顶元素 3. 栈的使用实例 二、队列1. 概念2. 队列操作2.1 定义队列结构2.2 入队列2.3 出队列2.4 销毁队列 三、用队列实现栈四、用栈实现队列 一、栈 1. 概念 栈(stack&#…

flink operator v1.10部署flink v1.19.2

1 概述 flink集群能对接kubernetes、yarn等集群管系统,本文介绍flink对接kubernetes。 flink kubernetes operator(网址:https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-release-1.10/docs/concepts/overview/&#xf…

骁勇善战的量化利器:多因子模型【量化理论】

我叫补三补四,很高兴见到大家,欢迎一起学习交流和进步 今天来讲一讲alpha策略制定后的测试问题 风险模型雏形 股票因子受多种因素影响,其价格由多种因素决定,所谓的多因子策略就是要发掘诸如此类的因子,以一种合理的方…

鸿蒙-状态管理V1

目录 前言状态管理V1State装饰器初始化观察能力小坑 Prop装饰器 和 Link装饰器Observed装饰器和ObjectLink装饰器使用示例小结 前言 随着鸿蒙Next的推广,做鸿蒙开发的人是越来越多,提问和寻求帮助的人也是越来越多,就我自己回答的问题而言&a…

C#中级教程(1)——解锁 C# 编程的调试与错误处理秘籍

一、认识错误:编程路上的 “绊脚石” 在 C# 编程中,错误大致可分为两类:语法错误和语义错误(逻辑错误)。语法错误就像是写作文时的错别字和病句,编译器一眼就能识别出来,比如变量名拼写错误、符…