/fanfan-deep-learning-note

《繁凡的深度学习笔记》代码、PDF文件仓库

Primary LanguageJupyter Notebook

这里是《繁凡的深度学习笔记》官方代码、PDF文件仓库如果觉得还不错的话,欢迎 ⭐ Starred !谢谢^q^

《繁凡的深度学习笔记》前言、目录大纲 (DL笔记整理系列)

一文弄懂深度学习所有基础 !

3043331995@qq.com

https://fanfansann.blog.csdn.net/

https://github.com/fanfansann/fanfan-deep-learning-note

作者:繁凡

version 1.0  2022-1-20

 

声明:

1)《繁凡的深度学习笔记》是我自学完成深度学习相关的教材、课程、论文、项目实战等内容之后,自我总结整理创作的学习笔记。写文章就图一乐,大家能看得开心,能学到些许知识,对我而言就已经足够了 ^q^ 。这是我写的第二本书! (第一本: 《算法竞赛中的初等数论》)现在竞赛退役的我更希望先沉淀,再输出,所以更新速度相较以前会稍慢一些,但相信质量也会更高,请大家见谅。

2)因个人时间、能力和水平有限,本文并非由我个人完全原创,文章部分内容整理自互联网上的各种资源,引用内容标注在每章末的参考资料之中。

3)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除,非常感谢各位为知识传播做出的贡献!

4)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。

5)本文由我个人( CSDN 博主 「繁凡さん」(博客) , 知乎答主 「繁凡」(专栏), Github 「fanfansann」(全部源码) , 微信公众号 「繁凡的小岛来信」(文章 P D F 下载))整理创作而成,且仅发布于这四个平台,仅做交流学习使用,无任何商业用途。

6)「我希望能够创作出一本清晰易懂、可爱有趣、内容详实的深度学习笔记,而不仅仅只是知识的简单堆砌。」

7)本文《繁凡的深度学习笔记》全汇总链接:《繁凡的深度学习笔记》前言、目录大纲 https://fanfansann.blog.csdn.net/article/details/121702108

8)本文的Github 地址:https://github.com/fanfansann/fanfan-deep-learning-note/ 孩子的第一个 『Github』!给我个 ⭐ Starred 嘛!谢谢!!o(〃^▽^〃)o

9)此属 version 1.0 ,若有错误,还需继续修正与增删,还望大家多多指点。本文会随着我的深入学习不断地进行完善更新,Github 中的 P D F 版也会尽量每月进行一次更新,所以建议点赞收藏分享加关注,以便经常过来回看!

10)本文同步于 CSDN「繁凡さん」知乎「繁凡」微信公众号 「繁凡的小岛来信」

更好的阅读体验!(我光排版就排了一个多小时!)

前言

  这是一本面向深度学习初学者的 深度学习笔记 。相信大家在入门深度学习的时候都有一种感觉,各种好评如潮的深度学习课程,各种深入浅出的深度学习书籍,虽然都能很容易理解,但是学完之后会有一种 “我到底学了什么” 的空虚感。特别是在你完成了大量资料的学习,想要复习的时候,需要翻阅大量博客与听课笔记、读书笔记等,很是麻烦。如果大家阅读过花书《深度学习》这类人类圣经,往往会有一种晦涩难懂的感觉。这类书籍尽管比较全面,但是并不适合完全零基础的初学者阅读。此外,深度学习课程与书籍往往会因为篇幅限制而省略掉很多知识讲解,大多内容只是一概而论,并没有深入探讨。而本书以网络博客为载体,就不会有这方面问题的限制。因此本文旨在使用 简明清晰、通俗易懂 的语言帮助大家构建起 全面 的深度学习 完整 知识框架,轻松学懂学会深度学习。本书中对于深度学习的各个研究方向进行了详细讲解,同时各种知识拓展组成了每章的万字长文综述,也使得本文可以作为一本资料书进行使用。书中代码均使用 TensorFlow2.0 以及 Pytorch 双料实现,实用性强。

本书暂时共有 18 章,分为四个部分,后期将会慢慢继续拓展,敬请期待。

第一部分 第 1 章 ~ 第 3 章 为深度学习基础认知

第 1 章 深度学习综述 学习一个新的领域最好的入门方法就是阅读一篇综述。本章通过对深度学习几十年来的发展进行简要综述,帮助大家快速对深度学习这一领域建立起一个基础的认知,搭建起大致的知识体系框架。本章综述中讲到的大多数深度学习的研究方向内容在本书中相应章节均有详细讲解,帮助大家扎实深度学习基础。

第 2 章 回归问题与神经元模型 回归问题是机器学习中较早就开始应用的学习模型,多用来预测一个具体的数值。在深度学习中,可以使用大量方法予以解决。作为深度学习入门要解决的第一个问题,本章引入对于深度学习非常重要的神经元模型,并利用神经元模型解决回归问题。最后探讨了非线性模型,并直观地展示了激活函数的作用。

第 3 章 分类问题 回归问题是对真实值的一种逼近预测,而分类问题则是为事物打上标签,得到一个离散的值。回归模型与分类模型在本质上是相同的:分类模型可将回归模型的输出离散化,回归模型也可将分类模型的输出连续化。本章通过实战引入了分类问题,详细讲解了逻辑回归、 softmax 回归以及信息论基础的相关内容,并探讨了逻辑回归与 softmax 回归的关系。

第二部分 第 4 章 ~ 第 5 章 为深度学习框架讲解

第 4 章 TensorFlow2.0从入门到升天 TensorFlow 是谷歌开源的一款深度学习框架,首发于 2015 年,采用静态图的TensorFlow1.x 尽管在性能方面较为强劲,但是由于实现以及调试方面的困难一直令人诟病。2019 年谷歌发布了TensorFlow2.0,采用动态图优先模式运行,避免 TensorFlow 1.x 版本的诸多缺陷,获得了业界的广泛认可,在工业界的部署应用最为广泛。本章从零开始讲解TensorFlow的使用、API、部署等全方位的知识,从零基础开始入门 TensorFlow2.0 直至升天。

第 5 章 PyTorch 从入门到升天 PyTorch 是 Facebook (Meta) 于 2017 年发布的一款深度学习框架,凭借其简洁优雅的设计、统一易用的接口、追风逐电的速度和变化无方的灵活性受到业界的一致好评。经过数年的发展,在学术界中逐渐占据主导地位。本章将详细讲解 PyTorch 框架的基础知识和使用方法,从零基础开始入门 Pytorch 直至升天。

第三部分 第 6 章 ~ 第 7 章 为深度学习基础

第 6 章 神经网络与反向传播算法 神经网络(Neural Network,NN),在机器学习和认知科学领域,是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。近年来人们应用深层神经网络技术在计算机视觉、自然语言处理、机器人等领域取得了重大突破,部分任务上甚至超越了人类智能水平,引领了以深层神经网络为代表的第三次人工智能复兴。而深层神经网络也有另一个名字:深度学习。反向传播算法(Backpropagation,BP),是一种与最优化方法结合使用的,用来训练人工神经网络的常见方法。本章从感知机模型出发,引入神经网络模型,并介绍了十数种常用激活函数,通过数次实战扎实基础,最后详细地全流程推导了反向传播算法。

第 7 章 过拟合、优化算法与参数优化 在深度学习实战训练中,我们往往会遇到各种问题。本章对这些问题进行总结,并给出一些训练常用技巧,引入过拟合概念并详细介绍了如何避免。通过前面的学习,我们知道深度学习训练中最常用的反向传播算法是一种与最优化方法相结合的算法,因此本章介绍了一些常用的优化算法,最后对参数优化进行了一些探讨。

第四部分 第 8 章 ~ 第 17 章 为深度学习研究方向综述

第 8 章 卷积神经网络 (CNN) 从入门到升天 卷积神经网络(Convolutional Neural Network, CNN),一种前馈神经网络,由若干卷积层和池化层组成,尤其在图像处理方面表现十分出色。卷积神经网络作为一种非常重要的主流深度学习模型,需要大家理解掌握。本章详细讲解了卷积神经网络的原理、实现、变种以及各种应用,从零基础开始入门卷积神经网络直至升天。

第 9 章 循环神经网络 (RNN) 从入门到升天 循环神经网络(Recurrent Neural Network, RNN),一类以序列数据为输入,在序列的演进方向进行递归且所有节点按链式连接的递归神经网络。其特有的循环概念及其最重要的结构 “长短时记忆网络” 使得它在处理和预测序列数据的问题上有着良好的表现。循环神经网络作为一种非常重要的主流深度学习模型,需要大家理解掌握。本章详细讲解了循环神经网络的原理、实现、变种以及各种应用,从零基础开始入门循环神经网络直至升天。

第 10 章 注意力机制与Transformer 注意力机制(Attention Mechanism),人们在机器学习模型中嵌入的一种特殊结构,用来自动学习和计算输入数据对输出数据的贡献大小。Transformer 是一种采用 self-attention 的深度学习模型,对输入数据的每个部分的重要性进行差分加权。在自然语言处理和计算机视觉领域有着非常广泛的应用。Attention Is All You Need!本章对注意力机制与 Transformer 的原理、实现、常用变种与应用进行了清晰易懂的综述详解,适合零基础入门研究学习。

第 11 章 图神经网络(万字综述) 图神经网络(Graph Neural Networks,GNN),一种基于图结构的深度学习方法,从其定义中可以看出图神经网络主要由两部分组成,即图论中的图数据结构与深度学习中的神经网络(正巧我大学在 ACM 竞赛中就专门研究图论 x )。GNN 在处理非结构化数据时的出色能力使其在网络数据分析、推荐系统、物理建模、自然语言处理和图上的组合优化问题方面都取得了新的突破,成为各大深度学习顶会的研究热点。本章从图这一数据结构开始讲解,对图神经网络的原理、实现、常用变种与应用进行了清晰易懂的综述详解,适合零基础入门研究学习。

第 12 章 自编码器(万字综述) 自编码器(autoencoder, AE),一类在半监督学习和非监督学习中使用的人工神经网络,其功能是通过将输入信息作为学习目标,对输入信息进行表征学习。自编码器具有一般意义上表征学习算法的功能,被应用于降维和异常值检测。包含卷积层构筑的自编码器可被应用于计算机视觉问题,包括图像降噪 、神经风格迁移等。本章对自编码器的原理、实现、常用变种与应用进行了清晰易懂的综述详解,适合零基础入门研究学习。

第 13 章 生成对抗网络(万字综述) 生成对抗网络(Generative Adversarial Network,GAN),一种非监督式学习的方法,通过让两个神经网络相互博弈的方式进行学习,是近年来复杂分布上无监督学习最具前景的方法之一。GAN 在图像生成,如超分辨率任务,语义分割等方面有着非常出色的表现。本章从动漫头像生成实战入手,对生成对抗网络的训练公式以及纳什均衡进行了详细的推导证明,分析了GAN的训练难题,并给出了相应的解决办法,然后对 WGAN 的原理和实现进行了详细讲解,最后探讨了 GAN 的应用,适合零基础入门研究学习。

第 14 章 强化学习(万字综述) 强化学习(Reinforcement learning,RL),机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。强化学习是除了监督学习和非监督学习之外的第三种基本的机器学习方法。深度强化学习(Deep Reinforcement Learning,DRL)是深度学习与强化学习相结合的产物,它集成了深度学习在视觉等感知问题上强大的理解能力,以及强化学习的决策能力,实现了端到端学习。深度强化学习的出现使得强化学习技术真正走向实用,得以解决现实场景中的复杂问题。本章对强化学习的原理、实现、常用变种与应用进行了清晰易懂的综述,适合零基础入门研究学习。

第 15 章 元学习(万字综述) 元学习(Meta Learing),一种全新的机器学习方法,尝试学习如何学习。元学习的诞生可以追溯到上世纪八十年代,随着深度学习逐渐火热,元学习也回到了大众的视野当中。元学习与强化学习的结合更是借着深度学习的大潮,在各个领域扩展到了极致(例如人脸识别领域等,均可用元学习来加以强化 cross domain 的性能)。本章综述首先给出元学习相关的术语,并尝试对元学习进行一个定义,给出了一个简单示例去帮助理解元学习这一概念。按照实现方法将元学习分为了三种,并对每种方法的经典算法进行了详细的剖析。最后探讨了元学习的一些应用以及未来展望。

第 16 章 对抗攻击与防御(万字综述) 对抗攻击(Adversarial Attack),对目标机器学习模型的原输入施加轻微扰动以生成对抗样本(Adversarial Example)来欺骗目标模型的过程。在深度学习算法驱动的数据计算时代,确保算法的安全性和健壮性至关重要。研究者发现深度学习算法无法有效地处理对抗样本。这些伪造的样本对人类的判断没有太大影响,但会使深度学习模型输出意想不到的结果。自 2013 年发现这一现象以来,它引起了人工智能多个子领域研究人员的极大关注,也是我目前研究的方向。本章综述首先讲解对抗攻击的概念以及如何简单地实现对抗攻击。然后给出对抗攻击相关的术语及其定义,对第一代最简单的对抗攻击的原理及实现进行详细介绍,然后分类探讨不同的对抗攻击,接着对对抗攻击的防御进行讲解。最后尝试对对抗攻击的理论原理以及机器学习的可解释性进行简单讨论。

第 17 章 迁移学习 迁移学习(Transfer Learning),一种机器学习方法,把一个领域(即源领域)的知识,迁移到另外一个领域(即目标领域),使得目标领域能够取得更好的学习效果。在许多机器学习和数据挖掘算法中,一个重要的假设就是目前的训练数据和将来的训练数据,一定要在相同的特征空间并且具有相同的分布。然而,在许多现实的应用案例中,这个假设可能不会成立。比如,我们有时候在某个感兴趣的领域有分类任务,但是我们只有另一个感兴趣领域的足够训练数据,并且后者的数据可能处于与之前领域不同的特征空间或者遵循不同的数据分布。这类情况下,如果知识的迁移做的成功,我们将会通过避免花费大量昂贵的标记样本数据的代价,使得学习性能取得显著的提升。近年来,为了解决这类问题,迁移学习作为一个新的学习框架出现在人们面前。本章对迁移学习的原理、实现、常用变种与应用进行了清晰易懂的综述详解,适合零基础入门研究学习。

  深度学习作为国家人工智能战略发展的重要一环,是一个非常前沿且广袤的研究领域。而自古以来,我国知识分子素有 “为天地立心,为生民立命,为往圣继绝学,为万世开太平” 的志向和传统。作为新一代青年,自当立时代之潮头。笔者希望通过这份学习笔记,分享和传播更多的知识。如能帮助各位读者搭建深度学习知识体系,在自己的研究领域发光发热,那便是笔者最大的荣幸。

繁凡

2021 年 12 月 20 日

fanfansann.blog.csdn.net

zhihu.com/people/fanfansann


请注意:这里仅是《繁凡的深度学习笔记》的前言、目录大纲,文章的正文还未正式发布。如果对本文感兴趣想让我更新的话,可以给在点赞后移步评论区文明催更,我将视情况 (看心情 ) 进行更新 o(〃^▽^〃)o 同时也请给本文的 Github项目 点一个 ⭐ Starred ,这样我才有更新下去的动力!更新将以每章一篇文章为单位进行发布,届时将会把文章链接更新至本文目录中,点击目录对应章节标题即可进行跳转。所以也请给我一个关注,防止错过更新 ^q^


谢谢!!!

请注意:这里仅是《繁凡的深度学习笔记》的目录大纲,文章的正文还未正式发布。如果对本文感兴趣想让我更新的话,可以给在点赞后移步评论区文明催更,我将视情况 (看心情 ) 进行更新 o(〃^▽^〃)o 同时也请给本文的 Github项目 点一个 ⭐ Starred ,这样我才有更新下去的动力!更新将以每章一篇文章为单位发布,届时将在将文章链接更新至本文目录中,点击目录对应章节标题即可进行跳转。所以也请给我一个关注,防止错过更新 ^q^


谢谢!